面向模糊需求:基于/goal命令的需求精化与闭环开发实践
在AI辅助编程的实际应用中,用户初始需求通常较为宽泛、模糊,例如“写一个坦克大战游戏”。这类需求缺乏明确的技术栈约束、功能边界以及可量化的验收标准,AI在理解开发意图、设计工程结构及验证代码可用性方面存在较高的不确定性。需求模糊容易造成生成的代码功能缺失、运行异常、交付结果偏离预期等问题,用户需要耗费大量精力通过多轮对话持续引导并手动调试修正。
本实践以码道IDE为例,介绍基于/goal命令的需求精化机制,可在用户输入模糊目标后,通过交互式问答引导用户细化需求,将原始意图转化为包含开发范围、功能特性、约束条件与验收标准的结构化目标;在开发任务完成后,由后台评估智能体自动校验目标达成情况,驱动主智能体迭代修复缺陷,最终实现“坦克大战”网页游戏高可靠的端到端开发闭环。
准备工作
在使用华为云码道代码智能体前,您需要先创建一个项目,用于集中存放工程中的各类文件。项目创建完成后,建议开启自动审批功能,AI将自动处理相关操作,无需人工干预。
- 参考快速启动中操作,登录华为云码道代码智能体。
- 创建一个项目,用于存放工程中的文件。
- 在工具顶部菜单栏中,单击“文件(F)”,选择,进入新建项目页面。
- 选择项目存放位置,输入项目名称(例如game),单击“确定”。
项目名称必须以字母开头,可包含字母、数字、中划线或下划线,且总长度不能超过64个字符。
项目创建完成后,在“资源管理器”中可以查看到已创建的GAME项目。
- 在聊天界面的输入框下方,选择“自动审批”。
自动审批表示任务在沙箱环境内运行,AI的高风险操作将被拦截,重要操作由AI自动审批执行。
步骤一:模糊需求交互式精化与结构化输出
当需求尚不明确时,使用/goal命令可以触发智能体的目标引导机制,通过结构化提问帮助用户明确开发边界与验收标准。
- 在华为云码道代码智能体聊天界面的输入框中,输入如下提示词,单击发送图标
。 /goal 开发一个坦克大战游戏
- 智能体识别到该初始需求较为宽泛,自动生成以下关键维度的问题,引导用户明确技术选型、功能特性和交付标准。
- 用户完成上述选项后,智能体将原本模糊的“开发一个坦克大战游戏”转化为一份包含Objective(核心目标)、Scope(文件范围)、Constraints(约束条件)、Done when(完成标准)和Stop if(中止条件)的可量化目标清单,并向用户发起确认。选择“同意,按此执行”,智能体将按照精化后的目标开发坦克大战游戏。
步骤二:目标达成核验与迭代修复闭环
当主智能体判定任务已完成时,系统不会立即结束任务,而是在后台自动唤起评估智能体(Evaluator Agent),对照Done when中的各项指标对产出结果开展独立核验。
- 代码开发完成后,评估智能体自动启动核验。若检测到Done when条件存在未满足项,则判定目标未达成,并向主智能体反馈评估结果,驱动其基于目标要求迭代修正。主智能体完成缺陷修复后,评估智能体将重新执行校验,确认所有目标条件均已达成,任务方可正式闭环。
达成目标后,主智能体返回如下信息。
目标已达成 -- 独立评估器确认:satisfied,7/7 项验收标准全部有真实运行证据。
- 执行完成后,会在资源管理器目录下生成一个名为“index.html”的文件。在该文件上单击鼠标右键选择“在浏览器中预览”,查看并体验游戏。
当前展示的效果图仅是示例,请以最终实际生成的效果为准。
图1 坦克大战
总结
从本实践可见,针对初始需求宽泛的复杂开发任务,/goal命令具备突出优势:可实现前置目标精化与后置闭环评估。/goal命令与常规对话模式的差异对比如表1所示。
| 对比维度 | /goal命令 | 常规对话模式 |
|---|---|---|
| 需求处理方式 | 先通过交互式问答引导用户澄清技术栈、功能特性与交付标准,生成结构化目标并经用户确认后,再启动开发执行。 | 直接基于用户原始提示词完成推理与内容生成,对需求中的模糊信息自行补全假设。 |
| 验收标准 | 明确制定可量化的Done when(完成标准)与Stop if(中止条件),以此作为刚性验收基线。 | 缺乏可量化的验收基线,通常以代码生成完毕作为单轮对话的结束标志。 |
| 验证机制 | 内置后台评估智能体(Evaluator Agent)自动核验目标达成度;若未达标则自动驱动主智能体迭代修复,形成自主闭环。 | 依赖用户手动运行、检查代码;若存在缺陷或bug,需要用户重新输入提示词发起修复。 |
| 适用场景 | 初始需求模糊、多模块与多特性协同,且对交付完整性、可运行性要求较高的端到端开发任务。 | 需求明确的单点问题解答、代码片段生成、小规模局部修改等。 |