在这个项目中,Anthropic 并没有发明新的软件工程理论,而是将传统的分布式系统设计和测试驱动开发(TDD)应用到了极致。以下是针对 SDE/SDD 的核心技巧拆解。
最大的挑战是如何让 16 个“初级工程师”(Agent)并行工作而不把代码库搞炸。他们采用了极端颗粒度的拆解策略。
传统的任务分配往往通过 Jira 或看板,但在高频 AI 开发中,这太慢了。
current_tasks/ 目录下创建锁文件(如 lock_parser_utils.txt)。当 Linux 内核编译失败时,问题可能出在数千个文件中的任何一个。16 个 Agent 像无头苍蝇一样乱撞是无效的。
在传统的 SDD 中,Spec 是一份文档。但在 AI 时代,文档是不可靠的(AI 会误读)。在这个项目中,Spec 变成了可执行的代码行为。
| 工程维度 | 传统 SDE/SDD 模式 | AI Agent 团队模式 (本案例) |
|---|---|---|
| 需求定义 (Spec) | 静态文档 (PRD, RFC) | 动态行为 (Oracle, Test Suite) |
| 任务分配 | Tech Lead 分配,Scrum 会议 | 抢占式锁 (Lock Files),自我驱动 |
| 代码审查 (Review) | 人工 Code Review,关注逻辑 | 自动化测试,关注“能否跑通” (黑盒) |
| 调试方法 | 打断点,读日志,推理 | 差分对比,暴力试错,依赖 grep |
| 开发环境 | 持久化 IDE,本地环境 | 瞬时容器 (Ephemeral Containers),用完即毁 |
如果你想在现有的工程体系中引入这种 Agent 模式,以下是必须建设的基础设施:
在让 AI 写一行代码之前,先构建一个能自动给出反馈的框架(Harness)。如果 AI 写错了,Harness 必须能在 10 秒内告诉它“错在哪”,而不是让人去看。
文章特别提到,不能把 5000 行报错日志给 AI。需要写脚本(使用 grep 或正则)提取关键错误行。这是“降低上下文噪音”的关键工程手段。
CI 不再是代码提交后的检查,而是开发过程本身。Agent 的每一次尝试都在跑 CI。这意味着你的 CI 速度必须极快(文中提到使用了 --fast 采样模式)。
对于非核心逻辑或迁移任务,只要通过了 Oracle 验证,SDE 需要学会接受“我也许看不懂这几行优化,但它和旧系统输出一致”的现实。