Compound Engineering(复合工程)
核心理念:每个编码项目以回顾结束,记录有效内容用于未来的 Agent 运行
定义
Compound Engineering 是 Every (Dan Shipper & Kieran Klaassen) 提出的模式,描述与编码助手持续改进的工作方式:
项目完成 → Compound Step(回顾)→ 记录有效做法 → 未来运行使用
核心循环
1. 执行项目
使用编码助手完成开发任务。
2. Compound Step
项目结束时的回顾环节:
- 什么做法有效?
- 什么指令帮助最大?
- 遇到什么问题?
- 如何避免未来问题?
3. 记录沉淀
将学习内容记录到:
- CLAUDE.md 或类似配置文件
- 自定义指令
- 工具文档
4. 未来复用
下次运行时,Agent 可以访问这些积累的知识。
关键洞察
复合效应
小改进会复合。曾经耗时的质量增强现在成本已降至没有借口不投资质量。
编码助手意味着我们终于可以两者兼得:新功能 + 高质量。
与传统开发的区别
| 维度 | 传统开发 | Compound Engineering |
|---|---|---|
| 学习沉淀 | 个人经验 | 可复用指令 |
| 知识传递 | 文档/培训 | Agent 配置 |
| 迭代速度 | 手动改进 | 自动应用 |
| 知识累积 | 线性 | 复合增长 |
实践建议
- 每个 PR 后:记录什么提示有效
- 遇到问题时:更新指令避免重复
- 成功模式:标准化为可复用模板
- 工具文档:持续优化 Agent-Computer Interface
关联概念
- Agentic-Engineering - 基础工程范式
- ACI-Agent-Computer-Interface - 工具接口设计
- Technical-Debt-Avoidance - 复合工程帮助避免技术债务
关键数据点
- 由 Dan Shipper 和 Kieran Klaassen (Every) 提出
- 每个编码项目以回顾结束,称为"compound step"
- 小改进会复合,曾经耗时的质量增强现在成本已降至没有借口不投资
- 编码助手意味着可以两者兼得:新功能 + 高质量
前提与局限性
- 依赖前提:编码助手能够理解并遵循积累的指令和配置
- 适用边界:适用于使用 AI 编码助手的软件开发流程
- 局限性:指令迭代可能有天花板,过度定制可能丧失通用性
- 需要人类主动记录:Agent 不会自动学习,需要人类刻意更新指令
- 知识沉淀依赖团队纪律性:需要每个项目后坚持做 compound step
来源:Simon Willison, "AI should help us produce better code" (Agentic Engineering Patterns, 2026)