必须严格遵循四步闭环:结构化输入、多agent协同、人工干预点确认、安全校验。第一步启用ai agent模式;第二步用spec五段式输入;第三步确认并修正任务清单;第四步分模块人工校验;第五步安全检测后打包。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Agent Space中完成从自然语言需求到可运行代码的完整交付,必须绕过“直接丢需求→等代码”的误区,严格走通结构化输入、多Agent协同、人工干预点确认、安全校验四步闭环。
第一步:创建项目并启用Agent Space工作区
打开Agent Space平台,点击左上角【新建项目】→选择“Java SpringBoot”模板→填写项目名称(如OrderSystem)→勾选“启用AI Agent协同开发模式”。【必须勾选该选项,否则后续所有Agent不会自动激活】
等待3~5秒,系统自动生成基础工程骨架,包含标准Maven结构、application.yml占位文件、以及一个空的src/main/java/com/example目录。
第二步:用SPEC五段式输入需求
在项目首页的“需求输入框”中,粘贴符合SPEC规范的结构化文本,格式必须严格为:
【角色设定】你是资深SpringBoot后端工程师,熟悉MyBatis-Plus 4.3+和JWT鉴权流程,禁止使用Lombok。
【项目全局上下文】数据库为MySQL 8.0,主键策略为自增;用户实体类已存在(com.example.entity.User),包路径根目录为com.example;统一返回体为com.example.common.Result。
【本次任务功能需求】开发订单创建接口:接收用户ID、商品ID、数量,校验库存是否充足;库存不足时返回错误码40001;创建成功后返回订单号与创建时间。
【硬性约束】不允许使用@Valid注解做参数校验;必须用Redis实现库存预扣减;SQL语句需显式写出INSERT INTO order表的完整字段列表,不可用*。
【交付清单 + 验收标准】生成OrderController.java、OrderService.java、OrderMapper.java、Order实体类、对应XML映射文件、Redis库存操作工具类;所有方法必须有Javadoc,且单元测试覆盖率≥85%。
第三步:确认Agent拆解的任务清单
提交后,系统暂停并弹出“任务规划看板”,显示AI自动拆解出的6个子任务:
① 创建Order实体类(含@Table、@Id注解,字段名与数据库order表完全一致)
② 编写OrderMapper接口及OrderMapper.xml,INSERT语句显式列出id、user_id、product_id、quantity、status、create_time字段
③ 实现Redis库存预扣减逻辑(key格式:stock:{productId},失败时抛CustomException)
④ 编写OrderService.createOrder()方法,按“查库存→预扣减→插入订单→返回结果”顺序执行
⑤ 编写OrderController.postCreateOrder(),接收JSON参数,调用Service,封装Result.success()
⑥ 补充OrderServiceTest,覆盖库存充足/不足两种场景,Mock RedisTemplate
逐项核对,发现第③项未明确异常类全限定名——点击右侧【编辑】按钮,在描述中追加“异常类为com.example.exception.CustomException”。修改后点击【确认执行】。
第四步:分模块交付与人工干预
Agent开始分阶段生成代码,每个模块生成后自动进入“待确认”状态:
方法一:查看Order实体类生成结果,确认@Table(name = "order")已加引号(MySQL关键字必须转义),否则会报语法错误——这一步必须手动修正,AI默认不加引号。
方法二:打开OrderMapper.xml,检查INSERT语句末尾是否有分号——【有分号则立即删除,MyBatis XML中SQL末尾严禁分号,否则运行时报错】
方法三:在OrderService.createOrder()中,发现AI生成了try-catch包裹整个方法体——删除该包裹,改为仅对Redis操作块做catch,保持业务逻辑清晰可测。
第五步:触发安全检测与一键打包
全部模块确认完毕后,点击右上角【运行安全检测】按钮。系统调用内置SAST引擎扫描以下风险点:硬编码密码、SQL拼接、Redis Key未参数化、JWT密钥明文写死。扫描耗时约12秒。
检测通过后,点击【生成可部署包】→选择“Jar包 + 初始化SQL脚本”→下载zip压缩包。解压后得到order-system-1.0.0.jar和init-order-tables.sql两个文件。











