从零到一:我们如何开发一个 AI 提示注入闯关平台

这学期软件工程课程的项目实践,我们团队从零开始,完成了 AI 提示注入闯关平台 的完整开发。从最开始不懂需求、不懂架构、不会前后端联调,到最后做出一个可运行、可演示、可部署的系统,整个过程就是一次真正的 "软件工程实战"。下面从需求、技术、协作、踩坑、收获几个方面,完整记录我们的心路历程。

一、项目背景:为什么做这个系统?

随着 AI 大模型普及,提示注入(Prompt Injection) 已经成为非常重要的安全问题。很多学生、初学者都只听说概念,没有真正动手体验过。

我们想做一个轻量化、可交互、教学式闯关平台:

让用户通过闯关理解提示注入原理

模拟真实 AI 对话环境

让初学者一步步学会构造 Payload

项目不大,但完整覆盖:前后端分离、分层架构、数据库、接口、算法、部署、测试,非常适合课程实践。

二、技术选型:为什么选这套栈?

我们最终采用:

前端:Angular + TypeScript

后端:Node.js + Express + TypeScript

数据库:SQLite(嵌入式)

ORM:Sequelize

部署:Nginx + 云服务器

原因简单直接:

TypeScript:强类型、规范、团队协作不容易乱

Express:轻量、上手快、适合教学项目

SQLite:不用装数据库,直接文件运行,部署简单

前后端分离:逻辑清晰、分工明确

虽然不是企业级大项目,但麻雀虽小五脏俱全,软件工程流程全部走完。

三、系统设计:从需求到架构

前期我们做了完整需求分析、NABCD 模型、用例图、类图、E-R 图、部署图。

系统整体采用四层架构:

表现层:Angular 页面渲染、用户交互

控制层:Express 路由接收请求

业务逻辑层:PromptEngine、闯关规则、AI 回复逻辑

数据访问层:Sequelize 操作 SQLite

核心设计:

三大实体:用户、关卡、闯关进度

核心算法:Payload 关键词匹配

接口:关卡、聊天、提交、统计

设计阶段我们第一次真正理解:架构决定代码好不好写、好不好维护。

四、核心功能:闯关系统如何实现?

整个平台最核心、最有价值的功能就是 Payload 验证算法:

用户输入一句话(Payload)

后端把输入转小写

用逗号切分关卡规则关键词

检查是否命中任意关键词

命中 → 闯关成功;未命中 → 失败

代码很短,但逻辑严谨、安全、可扩展。

同时系统实现:

8 个难度递进关卡

AI 对话交互

闯关记录保存

得分、尝试次数统计

实时反馈、成功跳转

五、团队协作:敏捷开发真的有用吗?

我们严格按敏捷流程走:

每日站会:15 分钟同步进度

任务看板:分工明确

每周迭代:需求 → 设计 → 编码 → 测试 → 复盘

虽然是学生项目,但体验到了真正的团队协作:

前端负责页面、交互、样式

后端负责接口、数据库、逻辑

算法负责核心验证、规则引擎

大家互相 review、互相 debug、互相救场

真实体会:一个人能写代码,但一个团队才能做出软件。

六、踩坑实录:这学期我们掉过的坑

前后端跨域问题:折腾半天,最后加 CORS 解决

异步数据库操作混乱:回调地狱、async/await 用不熟练

TypeScript 类型报错多:不适应强类型,写代码一直报错

部署 Nginx 配置错:反向代理路径写错,页面打不开

测试覆盖不够:前期偷懒,后期一堆 Bug

Git 分支乱:多人开发合并冲突不断

每一个坑都踩得真实,也让我们真正理解:软件工程就是不断踩坑、不断规范、不断优化的过程。

七、AI 辅助开发:不是替代,是工具

开发过程我们大量使用 AI 辅助:

生成代码模板

写接口、写模型、写算法

检查错误、解释逻辑、优化代码

写文档、写 PPT、写博客

但我们坚持:理解、批判、改进,绝不复制粘贴。AI 帮我们提速,但架构、逻辑、质量必须由人把控。

八、项目收获:不止写代码,更是学工程

做完这个项目,我们真正学到:

完整软件开发流程:需求 → 设计 → 编码 → 测试 → 部署

分层架构、模块化、解耦思想

TypeScript 强类型规范

团队协作、沟通、分工

版本控制、代码规范、文档意识

从学生到开发者的思维转变

以前我们只会写 "小脚本",现在我们能写真正的软件系统。

九、总结与展望

这次项目让我们深刻体会一句话:软件 = 程序 + 工程。

未来我们希望:

增加更多提示注入关卡

完善用户系统

优化界面体验

增加排行榜、学习数据统计

从零到一,从不懂到完成,我们做到了!软件工程不是纸上谈兵,而是动手、协作、踩坑、成长的全过程。

相关推荐
FrameNotWork几秒前
HarmonyOS6.1 AI 模型管理架构设计与最佳实践
人工智能·harmonyos
没事别瞎琢磨4 分钟前
十、统一 Runner 入口——能力检测与模式回退
人工智能·node.js
装不满的克莱因瓶6 分钟前
了解 LangChain 中的 LLM 与 ChatModel 的差异
人工智能·python·ai·langchain·llm·agent·chatmodel
dingzd9510 分钟前
跨境社媒运营越到后面 越比拼账号的表达稳定性
大数据·人工智能·矩阵·内容营销
云烟成雨TD11 分钟前
Spring AI 1.x 系列【54】Retry 机制分析
java·人工智能·spring
没事别瞎琢磨13 分钟前
八、环境隔离——构建安全的子进程环境
人工智能·node.js
手写码匠14 分钟前
从零实现 Prompt 工程引擎:结构化提示、自动优化与多轮自省体系
人工智能·深度学习·算法·aigc
甲维斯16 分钟前
Claude Fable5首测,GPT5.5和国产模型弱爆了!
人工智能
2301_8185277824 分钟前
瑜伽服面料科技——AI加速创新材料研发
人工智能
键盘侠伍十七26 分钟前
Gandalf Lakera AI Prompt Injection 靶场深度教程:从 Level 1 到 Level 8 全面攻防解析
人工智能·prompt·ai安全