要解决的问题
让模型不只是生成文本,而是能调用搜索、代码执行、数据库、浏览器等外部工具,在真实环境中多步完成任务。设计智能体(Agent)时要处理的关键点包括:动作的格式定义、环境接口、工具选择、记忆管理、失败恢复、审计日志和会话控制。
一个重要的经验是:难点往往不在模型本身,而在环境接口是否「对智能体友好」。
核心方法
- 思考-行动-观察循环:模型交替输出推理和动作,执行动作后把环境返回的结果放回上下文,再决定下一步。
- 学习调用工具:通过训练让模型自己判断什么时候需要调用工具、传什么参数。
- 多智能体编排:把任务拆给多个分工不同的智能体,通过对话协作完成。
- 智能体-计算机接口:专门为模型设计的命令和反馈格式,而不是直接照搬给人用的界面。
代表工作
- ReAct(2022):把推理和行动交替进行,形成「思考-行动-观察」的闭环。
- Toolformer(2023):用自监督的方式让模型学会何时调用工具以及如何调用。
- AutoGen(2023):多智能体对话与编排的框架。
- SWE-agent(2024):在软件工程任务上证明,为智能体专门设计的计算机接口能显著提升成绩。
实践建议
先把工具接口做到「短、稳定、可验证、幂等」,再考虑多智能体。工具返回的内容要精简,错误信息要能指导模型下一步怎么做。
开放问题
- 长程任务中的错误累积与自我纠正。
- 智能体行为的可审计性与权限边界。
相关专题
- 智能体记忆:长程和跨会话任务需要的持久记忆。
- 智能体的Token效率:轨迹变长后的上下文膨胀问题。
- 多模型编排:推理时让多个模型协作。
- 结构化生成:保证工具调用的输出符合格式。
- 安全与对齐评测:工具滥用和权限控制是智能体安全的重点。