第8部分:功能实现
实现仅在功能规格说明经过审查并提交后才开始。在此阶段,你需要改变智能体的工作模式:它不再是采访者或产品编辑,而是具体计划的执行者。
核心规则:不要在没有引用规格说明的情况下要求「实现功能」。要求实现具体的任务组。
会话准备
检查分支:
git branch --show-current
git status --short
启动 Qwen Code:
qwen
清除上下文:
/clear
然后提供精确输入:
阅读 @QWEN.md、@specs/mission.md、@specs/tech-stack.md、
@specs/2026-05-01-hello-hono/requirements.md、
@specs/2026-05-01-hello-hono/plan.md,
以及 @specs/2026-05-01-hello-hono/validation.md。
实现计划中剩余的任务组。
保持实现最小化。
不要添加超出边界的功能。
修改完成后报告修改的文件和验证命令。
何时拆分实现
如果任务组涉及数据库、认证、支付、迁移或安全,请逐个实现:
仅实现 @specs/2026-05-01-hello-hono/plan.md 中的第1组。
在列出修改的文件后停止。
不要进入第2组。
对于简单的 Hello Hono 阶段,可以一次性实现所有组。对于复杂阶段,只能以小模块实现。
智能体工作期间需要关注什么
不要被动等待结束。注意偏离的迹象:
- 智能体添加了
tech-stack.md中未指定的新依赖; - 智能体修改了任务边界之外的文件;
- 智能体实现了路线图的未来阶段;
- 智能体在没有理由的情况下重写 README 或样式;
- 智能体跳过了验证命令。
如果发生这种情况,请停止:
停止。此更改超出功能规格说明的范围。
重新阅读 @specs/2026-05-01-hello-hono/requirements.md。
在修改前解释为什么需要额外的更改。
需要准备的智能体典型故障
并非每次实现会话都能顺利进行。以下是学生最常遇到的几种重复性故障:
- 文件幻觉。 智能体说「已修复
src/utils/format.ts」,但仓库中根本没有这个文件。对策:提交前运行git diff --stat,将智能体回答中的每个文件与实际情况核对。
- 错误的库版本。 智能体使用的 API 出现在比
package.json中安装的 Hono 版本更高的版本中。对策:在第一次出现tsc或运行时错误时,检查npm list <package>并要求智能体核对版本。 - **悄悄修改
tsconfig.json。** 为了「修复类型错误」,智能体放宽strict或添加// @ts-ignore。对策:在第5部分的实践中,严格模式已固定——将任何tsconfig.json的更改视为边界违规。 - 进入下一阶段。 实现阶段1时,智能体习惯性地添加了阶段2的表格。对策:实现完成后立即要求「列出已实现的文件并与任务组核对」。
- 替换验证。 智能体说「一切正常,已用
curl验证」,但实际上没有运行curl。对策:自己重新验证validation.md中的命令;如果会话中没有运行工具,智能体无法验证。
这些故障不是放弃智能体的理由,而是不要轻信其言、并随时准备好 validation.md 和 git diff 中的事实命令的理由。
最小化实现示例
Hello Hono 的预期更改:
package.json
package-lock.json
src/index.tsx
src/pages/Home.tsx
src/components/Layout.tsx
static/style.css
tsconfig.json
如果智能体添加了数据库、认证、多个页面或测试框架,这就是任务边界违规。
实现后验证
自己运行命令,不要只相信智能体:
npm run typecheck
npm run dev
在另一个终端中:
curl -s http://localhost:3000 | head
curl -s http://localhost:3000 | rg "AgentClinic"
如果服务器启动但类型检查失败,功能未完成。如果类型检查通过但 HTML 不符合 validation.md 中的验证,功能未完成。
实现提交
提交前:
git diff --stat
git diff
要求 Qwen Code 简要解释更改:
简要解释当前分支相对于 main 的差异。
按规格说明中的任务组对更改进行分组。
不要修改文件。
然后:
git add .
git commit -m "Implement Hello Hono baseline"
实践
- [ ] 清除 Qwen 的上下文。
- [ ] 只向智能体提供必要的规格说明。
- [ ] 实现任务组。
- [ ] 检查类型和手动
curl。 - [ ] 审查更改。
- [ ] 进行提交。
自测问题
- 为什么最好在
/clear之后开始实现? - 什么时候可以一次性实现所有任务组,什么时候需要逐个实现?
- 如何判断智能体开始实现未来阶段?