导读:从单 Agent 到多 Agent,从混乱到有序。Cursor 的"自动驾驶代码库"研究项目,揭示了多 Agent 协作的哪些真相?
一个激进的实验
2025 年,知名代码编辑器 Cursor 启动了一个大胆的研究项目:
构建一个完全由 AI Agent 自主维护和演进的代码库。
这个项目被称为"Autopilot Codebase"(自动驾驶代码库)。
目标很疯狂:
结果更疯狂:他们做到了。
实验背景
为什么做这个实验?
Cursor 团队的初衷:
"我们想知道,如果给 Agent 足够的工具和自由,它能走多远?"
具体问题:
实验设置
代码库规模:
Agent 配置:
监控指标:
架构演进之路
第一阶段:单 Agent 尝试
初始方案(第 1-2 周):
单个全能 Agent负责所有任务编码、测试、审查一把抓
结果:❌ 失败
问题:
教训:
"一个 Agent 想包揽一切,就像一个人同时下十盘棋,必输无疑。"
第二阶段:简单分工
改进方案(第 3-4 周):
Coder Agent(编码)Tester Agent(测试) Reviewer Agent(审查) 顺序工作流
结果:⚠️ 部分成功
进步:
新问题:
教训:
"简单分工解决了部分问题,但效率仍然低下。"
第三阶段:多 Agent 并行
激进方案(第 5-6 周):
多个 Coder Agent 并行工作共享代码库异步提交
结果:❌ 灾难
问题大爆发:
一位研究员描述:
"就像让十个天才程序员不加协调地改同一个项目,简直是灾难现场。"
第四阶段:分层协作
成熟方案(第 7-8 周):
Architect Agent(架构师) 分配任务Module Agents(模块负责人) 具体执行Coder Agents(编码人员) 实施Tester Agents(测试人员)
结果:✅ 成功!
关键改进:
第五阶段:动态组织
最终形态(第 9-12 周):
动态任务池Agent 根据能力认领临时组建团队任务完成后解散
特点:
效果:
关键技术突破
突破一:上下文管理
问题:多 Agent 如何共享信息?
解决方案:
全局上下文(共享信息) - 项目目标 - 架构决策 - 公共知识局部上下文(私有信息) - 当前任务详情 - 个人决策过程 - 临时变量
实现机制:
突破二:冲突检测与解决
预防机制:
解决机制:
检测到冲突自动合并尝试成功 继续失败 回滚 + 通知相关 Agent
统计:
突破三:质量保证
多层检查体系:
L1:自我检查(每个 Agent)
L2:同行审查(其他 Agent)
L3:自动化测试
L4:架构审计(Architect Agent)
突破四:学习机制
个体学习:
集体学习:
制度化学习:
数据洞察
生产力数据
提交频率:
代码产出:
质量数据
Bug 趋势:
代码质量指标:
架构健康度
技术债务变化:
第 1 周:高( inherited from humans)第 4 周:升高(快速迭代的代价)第 8 周:稳定(开始主动还债)第 12 周:降低(优于初始状态)
架构演化:
意外发现
发现一:Agent 也有"个性"
研究员观察到:
"不同的 Agent 实例,即使使用相同的模型,也会发展出不同的' coding style'。"
表现:
启示:
"也许我们应该把 Agent 当成员工,而不是工具。"
发现二:涌现行为
什么是涌现行为?
个体没有的能力,在群体层面出现。
观察到的涌现行为:
发现三:需要"休息"
意外发现:
"连续运行的 Agent,效率会逐渐下降。定期重启,表现更好。"
解释:
实践:
Harness 设计要点
核心原则
1. 最小约束
2. 快速反馈
3. 透明决策
4. 渐进改进
关键机制
任务分解机制:
优先级排序:
资源分配:
对其他团队的启示
可以借鉴的
方法论:
技术实践:
需要谨慎的
不要盲目模仿:
建议做法:
挑战与局限
当前局限
1. 领域限制
2. 复杂度上限
3. 创新局限
待解决问题
1. 安全性
2. 可解释性
3. 人机协作
未来方向
短期(1 年内)
中期(2-3 年)
长期(5 年+)
结语
Cursor 的自动驾驶代码库实验,是 Harness Engineering 领域的一次重要探索。
它证明了:
同时也提醒我们:
正如项目负责人所说:
"我们不是要取代人类工程师,而是要探索人机协作的新可能性。"
思考题:你觉得多 Agent 协作最大的挑战是什么?如果是你,会如何设计协作机制?欢迎在评论区分享你的想法!
下期预告:《单人如何管理多个 Agent?个人开发者的高效实践》