Inside the Scaffold: A Source-Code Taxonomy of Coding Agent Architectures
本文通过对 13 个开源编码代理脚手架的源代码进行细粒度分析,提出了一种包含控制架构、工具环境接口和资源管理三个层面的新分类法,揭示了现有代理系统并非遵循单一模式,而是由五种可组合的循环原语以不同方式构建而成的复杂架构。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
这篇论文就像是一份**“智能编程助手(Coding Agent)的解剖报告”**。
想象一下,现在的 AI 编程助手(比如 GitHub Copilot 的进阶版、SWE-agent 等)非常厉害,它们能自己找 Bug、写代码、跑测试,甚至不需要人类一直盯着。大家通常只关注这些助手的“大脑”(也就是大语言模型,LLM)有多聪明。
但这篇论文的作者 Benjamin Rombaut 却把目光投向了**“大脑”外面的“骨架”和“神经系统”。他称之为“脚手架”(Scaffold)**。
如果把 AI 编程助手比作一个**“超级实习生”**:
- 大语言模型(LLM)是实习生的“大脑”,负责思考。
- 脚手架(Scaffold)则是“经理、工具箱、办公桌和规章制度”。它决定实习生怎么思考、能用什么工具、遇到错误怎么办、怎么记住之前的对话。
这篇论文分析了 13 个开源的“超级实习生”项目,发现大家以前对它们的分类太粗糙了(比如只说“它会用工具”或“它会规划”),就像把“开法拉利的人”和“开卡车的人”都简单称为“司机”一样,忽略了他们驾驶方式、车辆结构和路线规划的巨大差异。
作者通过深入代码细节,建立了一个新的**“分类地图”**,把脚手架分成了三层,就像盖房子的三层结构:
第一层:控制架构(怎么指挥?——“大脑的指挥棒”)
这是决定实习生“下一步做什么”的逻辑。
- 以前的看法:大家以为只有两种模式:要么是按部就班的流水线(像工厂流水线),要么是像人一样思考 - 行动 - 观察(ReAct 模式)。
- 论文发现:其实这是一个连续的光谱。
- 有的像**“死板的流水线”**(Agentless):第一步找代码,第二步改代码,第三步提交,中间没有回头路。
- 有的像**“疯狂的探险家”(Moatless Tools):它使用蒙特卡洛树搜索(MCTS)**,就像下围棋的 AlphaGo。它会同时尝试几十种改法,如果某条路走不通就退回来,换一条路再试,直到找到最优解。
- 关键点:大多数聪明的助手不是只用一种模式,而是**“乐高积木式”的。它们把“思考 - 行动”、“生成 - 测试 - 修复”、“多轮重试”这些基础积木**拼在一起,组合出复杂的策略。
第二层:工具与环境接口(用什么干活?——“工具箱”)
这是实习生能拿到的工具,以及它怎么和电脑交互。
- 工具数量大不同:有的实习生手里空空如也(Aider),全靠用户告诉它改哪个文件;有的实习生手里有37 种工具(Moatless Tools),从搜索代码到运行测试无所不能。
- 核心发现:虽然工具数量差异巨大,但核心能力其实是一样的:读代码、搜代码、改代码、运行代码。
- 有趣的细节:
- 有的助手(如 Aider)完全依赖用户来导航,它自己不会主动去“找”文件。
- 有的助手(如 Prometheus)会像侦探一样,先建一个**“知识图谱”**(把代码里的关系画成地图),再顺着地图找线索,而不是像其他人那样拿着放大镜(grep 命令)瞎找。
- 安全机制:有的助手在**沙盒(Docker 容器)**里干活,怕它乱删文件;有的助手(如 Cline)直接在你的 IDE(编辑器)里干活,能直接看到你的报错信息,但风险也更大。
第三层:资源管理(怎么记事儿和省钱?——“记忆与预算”)
这是最现实的问题:AI 的“记忆”(上下文窗口)是有限的,而且每次调用都要花钱。
- 记忆策略:
- 暴力派:不管记多少,全塞进去,直到内存爆了(mini-swe-agent)。
- 总结派:对话太长时,让 AI 自己总结:“刚才我们聊了 100 句,现在我只记住前 10 句和后 10 句,中间忘了。”
- 事件派:像写日记一样,只记录“发生了什么”,不记录“说了什么”,需要时再重新计算(OpenHands)。
- 多模型路由(省钱小能手):
- 有些助手很聪明,它们**“看人下菜碟”。简单的任务(比如运行测试)用便宜的小模型**;复杂的任务(比如写核心算法)用昂贵的大模型。这就像你让实习生做杂事用普通员工,做设计图用资深专家。
论文的核心启示(用大白话总结)
没有“标准答案”:
以前大家喜欢给 AI 贴标签(这是“规划型”,那是“工具型”)。但这篇论文说,别贴标签了,要看“光谱”。就像人一样,有的偏内向,有的偏外向,大多数人是中间态。不同的任务需要不同的“骨架”设计。积木可以随便拼:
最聪明的设计不是发明一种全新的“超级大脑”,而是把现有的**“思考 - 行动”、“重试”、“树搜索”**这些基础积木灵活组合。比如,Moatless Tools 就是在一个普通的“行动者”外面,套了一个“树搜索”的控制器,瞬间让它变得像围棋大师一样。收敛与分歧:
- 收敛(大家做法差不多):在“怎么改代码”(字符串替换)和“怎么保证安全”(用 Docker 容器)这些硬性约束上,大家殊途同归,因为这是物理限制。
- 分歧(大家还在摸索):在“怎么管理记忆”和“怎么分配不同的大脑”这些开放问题上,大家还在疯狂尝试,因为还没有找到完美的方案。
为什么这很重要?
- 对研究人员:别再只比谁跑分高了。现在的比赛里,有的 AI 用了好几个模型,有的用了复杂的树搜索,有的只是单纯的大模型。如果不把“脚手架”拆开看,你就不知道它到底是因为“大脑”聪明,还是因为“骨架”设计得好。
- 对开发者:如果你想造一个新的 AI 助手,这篇论文就是你的**“设计图纸库”**。它告诉你:如果你想做自动修 Bug 的工具,参考 Prometheus 的“知识图谱”;如果你想做交互式助手,参考 Cline 的"IDE 集成”;如果你想省钱,参考 Gemini CLI 的“多模型路由”。
一句话总结:
这篇论文告诉我们,AI 编程助手的强大,不仅仅取决于它背后的“大脑”有多聪明,更取决于给它搭建的**“脚手架”有多精巧**。就像给一个天才孩子(大模型)配一个什么样的班主任、课表和工具箱,决定了他是能考上清华,还是只能考个大专。这篇论文就是那本**“顶级班主任的教案集”**。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。