让模型解释一个报错,和让它打开项目、定位文件、修改代码、运行测试,是两种不同的任务。后者需要持续观察环境,决定下一步动作,并判断事情有没有做完。Agent 研究里很多问题就发生在这个过程里。
模型可以调用搜索、代码执行和浏览器等工具,也可以和其他 Agent 协作。任务怎样拆分,哪些信息需要记住,工具如何接入,以及怎样利用交互数据训练模型,都有各自的研究问题。
- 决策与协作:规划、工具选择、记忆和多 Agent 组织。
- 数据与训练:交互轨迹、奖励和策略优化。
- 环境与系统:任务定义、工具接口、执行框架与评测。
- 01任务输入
- 02生成计划
- 03调用工具与观察
- 04整理回答
发展路线与代表工作
- 2023
- 2023
- 2023
- 2024
从 SWE-bench 到 SWE-agent:在真实仓库里完成任务
SWE-bench 用真实 issue 与测试评价修改;2024 年的 SWE-agent 和 OpenHands 进一步探索文件编辑、命令执行、浏览器和沙箱怎样支撑完整任务。
- 2025
把工具使用放进训练
Search-R1 把搜索接入多轮强化学习,Agent Lightning 把执行记录与训练连接起来。模型在任务反馈中学习动作选择,研究也随之深入到轨迹数据、奖励和信用分配。
- 2025
编程 Agent 进入日常开发
Claude Code、Codex 等工具把读仓库、改文件和运行测试接成持续执行的过程。模型能力与执行框架一起改进,上下文组织、工具接口和任务验证成为实际开发中的关键环节。
- 2026
关键概念
- 工具调用
- 模型输出工具名称和参数,外部程序执行后返回结果。
- 执行轨迹 / Trajectory
- 一次任务中的观察、动作、工具返回与结果序列。
- 上下文与记忆
- 上下文是模型当次可见的信息;记忆是跨步骤或跨尝试保存的内容,需要被取回才会影响当次决策。
- Scaffold / 执行框架
- 围绕模型的程序:管理工具、提示、循环、终止条件和反馈。同一模型换一套框架,表现可能不同。
推理、行动与工具
ReAct 将推理与行动交替组织起来,搜索等工具返回的信息又参与下一步决策。语言模型与环境的交互由此形成一个持续的过程。
工具接口决定模型能够执行什么操作、得到什么信息。规划涉及任务分解与动作选择,记忆保存经历、知识或技能,上下文组织则决定哪些信息参与当前决策。Reflexion 将反馈写成文字记忆,Voyager 在 Minecraft 中建立可复用的代码技能库。
多 Agent 系统(MAS)
多个 Agent 可以承担不同角色、共享信息和协调任务。通信方式、共享上下文、任务分工与组织结构,会影响协作的过程与成本。群体中的记忆和互动还会形成信息传播与社会关系。
AutoGen 用可配置的角色与对话流程组织协作;Generative Agents 将记忆、规划与反思用于小镇中的角色,展示日常活动、聚会邀请和角色之间的信息传播。
交互数据与策略训练
Agent 的训练样本包含观察、动作、工具返回和任务结果。任务的选择、轨迹的筛选、数据配比与训练目标,影响模型学到的工具使用和决策方式。Toolformer 生成、执行并筛选候选工具调用;AgentTuning 将 AgentInstruct 交互轨迹与通用指令混合训练。
强化学习进一步利用任务反馈优化策略。多步交互中的最终结果可能依赖较早的一次搜索或工具选择,奖励分配、探索和训练数据的组织因此相互联系。Search-R1 将搜索接入推理与 RL 训练;Agent Lightning 研究执行记录与训练数据的衔接,以及任务反馈与具体决策之间的信用分配。
环境与评测
研究环境规定 Agent 能看到什么、能执行什么操作,以及任务完成的条件。操作系统、网页、代码仓库等环境各有状态与规则;成功率、调用次数、耗时与成本描述系统表现的不同方面。
AgentBench 包含操作系统、数据库等交互环境,并提供环境与评测代码;WebArena 提供可复现的网站环境与任务评价;SWE-bench围绕真实代码仓库中的问题组织任务。评测与多 Agent 组织笔记包括 AutomationBench 评分分析和组织结构的模拟研究。
执行框架与基础设施
模型之外的执行框架负责工具调用、上下文组织、沙箱、并行执行与任务状态。接口中有哪些操作,文件和执行结果怎样返回,都会影响模型的决策与工作方式。
SWE-agent 研究面向 Agent 的文件查看、编辑与执行接口;OpenHands 将代码执行、命令行、浏览器和沙箱接成一个平台。
Agent 项目
一个实际的 Agent 往往会同时用到工具、记忆、规划和反馈。编程助手、个人助理和科研工具,已经把这些能力用在了不同的任务里。
编程 Agent:在代码仓库里完成任务
Codex ↗
Codex 可以读取项目、修改代码、运行测试和审查改动,也支持并行处理任务与持续的后台工作。
Claude Code ↗
Claude Code 在终端中读取仓库、编辑文件和执行命令,将项目理解、功能实现与测试接在一起,并支持工具、Skills 和项目指令。
Kimi Code ↗
Kimi Code 提供终端和编辑器入口,可以搜索代码、修改项目、运行命令,并根据执行结果调整后续步骤。
ZCode ↗
ZCode 是面向 GLM 的编程 Agent 工作环境,将项目、对话和任务执行放在一起,支持通过 AGENTS.md 提供项目约定。
Pi ↗
Pi 是一个可扩展的轻量 Agent harness,核心围绕文件读写和命令执行,支持组合扩展、Skills 与提示模板。
个人 Agent
Muse ↗
Meta 的 Muse 在云端有自己的计算机和浏览器,可以连接日常应用,处理邮件、行程和长期目标。
Dots ↗
OpenAI 的 Dots 是持续在线的个人 Agent,使用云端计算机和连接的应用推进任务,并从交流与反馈中积累对用户的了解。
Hermes ↗
Hermes 是 Nous Research 开源的个人 Agent,可以从终端和聊天软件接收任务。它保留跨会话记忆,并把执行中积累的方法整理成可复用技能。
科研 Agent
ARIS ↗
ARIS 用 Skills 组织机器学习研究流程,包括文献调研、想法讨论、实验、结果分析和论文修改。执行模型推进工作,另一个模型参与审阅,反馈再进入下一轮。
健康 Agent
蚂蚁阿福 / Ant A-Fu ↗
蚂蚁阿福围绕健康问答、报告解读、健康记录与医疗健康服务展开。
教程与综述
Hello Agents 提供中文教程和代码项目;Hugging Face Agents Course介绍工具调用、Agent 框架与实践。LLM Powered Autonomous Agents讨论规划、记忆和工具使用等组件,LLM Agent Paper List整理相关研究论文。
更多教程与论文见Agent 资料目录。编程与开发工具见学习基础知识;具体使用介绍见AI 工具与论文阅读与笔记工作流。