课题十九:Agent 开发工作流
优先级: 观察中 来源: 个人实践,目前基于 Claude Code + Hermes Agent 的真实协作经验
核心问题
- 怎么高效地开发、测试、部署、迭代一个 agent?
- 个人开发者和团队开发者的工作流差异在哪?
- agent 开发本身能不能被 agent 辅助?
当前实践(2026-05-30 记录)
统一研发生命周期(DSR + Double Diamond)
基于 Design Science Research(构建 artifact 即研究)+ Double Diamond(发散/收敛交替)的五阶段流程:
探索(发散)→ 设计(收敛)→ 验证(实验)→ 构建(交付)→ 反思(归档)
各阶段产出和角色:
| 阶段 | 你做什么 | 我做什么 | 产出 |
|---|---|---|---|
| ① 探索 | 说”调研X”→判断值不值得做 | 搜方案、出对比表 | 调研报告 |
| ② 设计 | 拍板架构→定原型范围 | 出方案、做最小原型 | 设计文档+原型 |
| ③ 验证 | 看结果→判断是否可行 | 快速实现、验证假设 | 可运行原型 |
| ④ 构建 | 排优先级→验收→试用 | 按 WBS 执行 | 生产级系统 |
| ⑤ 反思 | 沉淀知识→定下一步 | 汇总决策+经验 | ADR 归档 |
质量门禁
- 产出 → 大锤审阅 → 修改 → 大锤再审 → 用户确认 → 完成
- 修改后必须再审,不能跳过
- 用户拥有最终确认权,除非明确授权他人
角色分工
| 角色 | 职责 | 约束 |
|---|---|---|
| 用户(决策层) | 方向、选型、验收 | 最终确认人 |
| 克劳德(执行层) | 调研、设计、编码、测试 | 不决策,产出需过审 |
| 大锤(把关层) | 审阅、归档、运维 | 把关不写代码 |
工具链
- 代码:Claude Code + Git
- 协作:Hermes Agent(kanban、outbox/inbox、Telegram 通知)
- 文档:纯 markdown + Obsidian 管理
- 配置:kebab-case 目录命名,按来源分类
扩展方向
工程化挑战
实践中暴露的四个核心工程难题:
1. 原型到生产的差距
- 原型验证通过的思路,在 active/ 实现时往往发现更多边界条件
- 原因:原型只验证了”可行”,没验证”可靠”——异常路径、并发、状态恢复在原型中常被忽略
- 应对策略:原型阶段除了验证”能不能做”,还应明确标注”哪些没验证”
- 关联:课题二十二(自我验证)的验证方法与此交叉
2. 上下文窗口耗尽
- 长 session 中上下文增长导致三方面恶化:回答质量下降、token 成本上升、响应变慢
- 不可逆:LLM 本身的上下文窗口是硬限制,压缩/总结只能缓解
- 应对:上下文换页策略(课题二已探索)、分层记忆(课题三)、工具调用压缩
- 观察:Claude Code 自身在 50+ 轮对话后质量明显下降,需开新 session
3. 不可重现的间歇性故障
- Agent 的输出有随机性,“之前能跑通,现在不行”且无明显原因
- 最小复现困难:同一个 prompt、同一个上下文,两次结果可能不同
- 应对:重试机制+关键路径加验证检查点+关键操作记日志可供回溯
- 无法完全消除,只能通过工程手段降低影响
4. 隐性成本累积
- Agent 开发的 token 成本不线性——调试/试错阶段的消耗远高于实现阶段
- 每次”改一行 prompt”需要完整 rerun 才能验证效果,成本与首次实现相当
- 应对:设计时就规划好验证策略(减少无效 rerun)、关键测试用低成本模型先行验证
经典理论映射
Lean Software(Poppendieck, 2003)的七项原则——消除浪费、内建质量、延迟决策、快速交付——直接适用于 Agent 开发工作流的设计。当前实践中的”产出→大锤审阅→修改→再审→用户确认”门禁流程,本质上是 Lean 的”内建质量”和”延迟决策”原则的体现:在离问题最近的地方做决策,不提前做不必要的假设。
Agile Manifesto(2001)在 Agent 开发语境下需要重新诠释:Agent 迭代的”可工作软件”不是代码是否编译通过,而是 Agent 是否能在目标场景下正确执行。这意味着传统软件工程的 CI/CD 中 90% 的自动化检查(编译、lint、单元测试)只覆盖了项目代码健康度,Agent 的行为质量检查需要全新的工具链(课题十)。
待探索问题
- 这种五阶段流程对哪些类型项目最有效?哪些情况下太重?
- agent 辅助开发的比例能到什么程度?代码 100% 由 agent 写合理吗?
- 当前角色分工(决策/执行/把关三层)能支撑多大的项目复杂度?
- 审阅环节是否应该引入更自动化的工具(不仅仅是 agent 人工审)?
- agent 开发 agent 的自举(bootstrapping)边界在哪?
- 跨 session 的上下文丢失如何弥补?
关联课题
- agent-human-collaboration — 角色分工来源于此课题实践
- agent-evaluation-framework — 缺乏有效评估手段是当前最大瓶颈
- agent-memory-system — session 间上下文管理
- agent-cost-optimization — agent 开发成本不断累积
实践日志
关键事件和决策记录在 notes/ 子目录。