【免费下载链接】Awesome-Code-as-Agent-Harness-Papers
A curated list of papers and resources based on the survey "Code as Agent Harness"
Awesome-Code-as-Agent-Harness-Papers是基于综述《Code as Agent Harness》精选维护的论文清单仓库,按"接口—机制—扩展"三层组织了大量代码智能体(Code Agent)研究。本文作为进阶篇,聚焦其中最重要的Code Agent 规划机制(Planning for Code Agents),从最基础的线性分解规划,一路讲到蒙特卡洛树搜索(MCTS),帮你快速理清代码智能体究竟是如何把复杂任务拆解、搜索并编排成可执行步骤的。
🧭 规划机制在 Code Agent 中的位置
要理解规划机制,先要明白Harness(执行外壳)这个概念。在这个仓库里,代码不再只是模型"吐出来的产物",而是智能体用来推理、行动、建模环境、接收反馈、协同工作的可执行外壳。
整个框架分为三层:
- Harness Interface(接口层):让代码可推理、可行动、可建模环境
- Harness Mechanisms(机制层):决定"下一步执行什么、保留什么状态、调用什么工具、如何把失败变成修正"——规划机制就属于这一层
- Scaling the Harness(扩展层):多智能体如何在共享外壳上分工协作
下图的左上角正是本文的主角——Planning for Agent Harness,它被细分为四种规划范式:线性单路径规划、带显式结构的规划、多路径搜索规划、系统编排规划。
📖 规划机制的完整论文清单,可在仓库根目录的 README.md 中"🗺️ Planning for Code Agents"小节找到。
📐 一、线性分解规划:把任务切成一串步骤
线性分解规划(Linear Decomposition Planning)是最直觉的一种方式:把大目标自上而下拆成一条单一路径的小步骤,然后逐步执行。它简单、可解释,也是绝大多数智能体的默认思路。
- 单路径、逐步推进:适合流程清晰、分支少的任务,比如"先读需求 → 再写函数 → 最后跑测试"。
- 推理与行动交织:代表工作 ReAct 让"想一步、做一步"交替进行,成为许多代码智能体的基础范式。
- 计划后重试:PaT(Planning-after-Trial)等研究关注如何在测试时更高效地重新组织规划。
这类方法的优势是上手快、成本低,但一旦任务分支复杂,单一路径就容易"走错一步满盘皆错"——这也正是下面几类方法要解决的问题。
🏗️ 二、结构引导规划:让规划"有据可依"
当任务规模上升到整个代码仓库(Repository-level)时,光靠"一句话拆步骤"就不够了。结构引导规划(Structure-Grounded Planning)会借助代码依赖图、程序结构、知识图谱等显式结构来指导规划,让每一步都有明确的落点。
- 仓库规划图(Repository Planning Graph):把整个代码库建模成图,统一且可扩展地组织生成顺序。
- 代码图 / AST 结构:Code Graph Model、VerilogCoder 等利用调用关系、抽象语法树做"图引导"定位与规划。
- 代码库级编码:CodePlan 这类工作用规划来协调跨文件的修改。
一句话总结:从"拆句子"升级为"读地图",规划从此有了结构支撑,更稳定、更可复用。
🔍 三、搜索式规划:从单路径到蒙特卡洛树搜索
搜索式规划(Search-Based Planning)是本文的重头戏,也是标题中"从线性分解到蒙特卡洛树搜索"的落点。它的核心思想是:不要只赌一条路,而是在解空间里开多个分支去"探索 + 利用"。
| 思路 | 特点 |
|---|---|
| 多路径搜索 | 不再单线推进,而是并行尝试多条候选路径 |
| 局部搜索(Local Search) | 在已有方案附近"小步修正",逐步逼近更优解 |
| 动态重采样 | 根据执行反馈动态决定重新采样哪些动作 |
| 蒙特卡洛树搜索(MCTS) | 用"选择—扩展—模拟—回溯"四步,在代码解空间上平衡探索与利用 |
💡 什么是蒙特卡洛树搜索(MCTS)?
蒙特卡洛树搜索(MCTS)原本是国际象棋、围棋等博弈领域的经典算法,如今被大量引入代码生成:
- 选择(Select):在已有的代码/思路树上,挑一个"最值得扩展"的节点;
- 扩展(Expand):从该节点长出一个新的代码分支;
- 模拟(Simulate):对新分支做执行或打分,估计其前景;
- 回溯(Backpropagate):把结果反馈回路径,更新各节点价值。
在仓库中,RethinkMCTS(专门修正 MCTS 中的错误思路)、CodeTree(引导式树搜索)、Tree-of-Code(自增长树框架)等工作,正是在"代码 + 树搜索"这个交叉点上展开的。它的价值在于:把"试错"从盲目尝试变成有方向的结构化搜索,尤其适合长链路、多分支的复杂编程任务。
🎭 四、编排式规划:多智能体分工协作
当单个智能体"不够用"时,规划的重心就从"拆步骤"转移到"分角色"。编排式规划(Orchestration-Based Planning)由多个智能体组成一条流水线,各自负责规划、编码、测试、评审、优化等环节,通过迭代测试与修复不断收敛。
- 角色分工:如 MetaGPT、ChatDev、AgentCoder 等,把"产品经理 / 架构师 / 编码 / 测试"等角色拆给不同智能体。
- 迭代测试 + 优化:编码智能体出方案,测试智能体跑用例,反馈驱动下一轮修订。
- 收敛判据:以测试通过、静态分析通过、性能达标等作为"何时停止"的信号。
这一层正好衔接了仓库的Scaling the Harness章节,适合想在"多智能体代码系统"方向深入的读者。
🚀 新手速查:如何在仓库里定位规划论文
下面是一份"规划机制阅读路线图",按由浅入深排列,配合仓库目录即可快速上手:
| 想解决的问题 | 规划范式 | 建议先看的方向 |
|---|---|---|
| 任务简单、流程清晰 | 线性分解规划 | ReAct、单路径逐步执行 |
| 跨文件、整仓库任务 | 结构引导规划 | 代码依赖图 / 规划图 / AST |
| 分支多、易走错 | 搜索式规划 | 多路径搜索、蒙特卡洛树搜索(MCTS) |
| 任务体量大、要分工 | 编排式规划 | 多智能体流水线、迭代测试 |
📍 快速定位入口:
- 全部规划论文:README.md →🗺️ Planning for Code Agents小节
- 整体框架图:figs/overview.png
- 机制层详解图:figs/harness_mechanism.png
- 多智能体扩展图:figs/scaling_harness.png
- 贡献与分类规范:CONTRIBUTING.md
📝 小结
Code Agent 规划机制是代码智能体从"能写代码"走向"可靠地完成任务"的关键一环。从线性分解的简单直觉,到结构引导的地图化支撑,再到搜索式规划(尤其是蒙特卡洛树搜索 MCTS)的结构化试错,最后到编排式规划的多智能体协作——这条演进路线,恰好对应了任务复杂度不断上升的过程。
希望这份进阶解析能帮你建立清晰的坐标系:下次面对具体问题时,先判断它属于哪一类规划场景,再去仓库对应小节精读论文,会高效得多。
⭐ 本仓库持续更新,欢迎按 CONTRIBUTING.md 中的规范,为相关规划机制方向的论文提出补充建议。
【免费下载链接】Awesome-Code-as-Agent-Harness-Papers
A curated list of papers and resources based on the survey "Code as Agent Harness"
相关推荐
instagram-private-api 位置 Story 数据模型解析:LocationRepositoryStoryResponseItemsItem 接口全字段指南
instagram private api 位置 Story 数据模型解析:LocationRepositoryStoryResponseItemsItem 接
Recorder 录音库 Vue 组件化集成实战:Vue2/Vue3 + webpack 录音、播放与上传
Recorder 录音库 Vue 组件化集成实战:Vue2/Vue3 + webpack 录音、播放与上传 本指南以仓库 assets/demo vue/REA
终极Leela Zero蒙特卡洛树搜索算法指南:从零基础到围棋AI高手进阶
终极Leela Zero蒙特卡洛树搜索算法指南:从零基础到围棋AI高手进阶 Leela Zero是一款革命性的围棋AI引擎,完全基于AlphaGo Zero论文
人工智能深度学习强化学习游戏开发高性能计算CLI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考