Agent 系统怎么调优优化?
预训练后 Agent 调优方法及业界优秀案例技术特点
原题:请阐述Agent系统在预训练完成后如何进行调优优化,并列举当前业界比较优秀的Agent应用案例及其技术特点。
模型微调 · 快手真题
30 秒回答
- Agent调优的三种主要范式(SFT、RL、Prompt工程)及其适用场景
- 工具调用能力的专项优化方法
- 当前主流Agent应用的技术架构特点
- 多Agent系统的协作机制设计
回答与解析
答案要点
- Agent调优的三种主要范式(SFT、RL、Prompt工程)及其适用场景
- 工具调用能力的专项优化方法
- 当前主流Agent应用的技术架构特点
- 多Agent系统的协作机制设计
Agent系统调优的三大路径
1. 监督微调(SFT)
- 工具调用数据构造:收集高质量的工具调用轨迹(trajectory),包括思考过程(thought)→工具选择→参数填充→结果观察的完整链条
- ReAct格式微调:用"Thought: ... Action: ... Observation: ..."的结构化数据训练,让模型学会推理和行动交替
- 多轮对话数据:模拟真实场景的多轮交互,强化上下文理解和错误恢复能力
2. 强化学习优化
- 结果奖励模型:以任务最终成败作为奖励信号,优化长期决策而非单步贪心
- 过程奖励模型(PRM):对中间推理步骤打分,解决稀疏奖励问题
- DPO/RLHF:人类偏好标注"哪种工具选择更合理",对齐复杂场景下的决策偏好
3. Prompt与系统层优化
- 动态示例选择(Dynamic Few-shot):根据用户意图检索相似的成功案例
- 工具描述优化:用LLM自动生成工具文档,迭代测试哪个描述调用成功率最高
业界优秀案例及技术特点
| 应用 | 核心特点 |
|---|---|
| OpenAI GPTs/Assistant API | Function Calling原生支持,结构化输出强制JSON schema,内置RAG检索 |
| Claude Computer Use | 多模态感知+GUI操作,截图理解+鼠标键盘控制,长上下文(200K)支撑复杂任务 |
| 智谱AutoGLM | 手机端Agent,通过UI元素理解实现"说一句话订外卖",端到端训练而非规则拼接 |
| 快手快意Agent | 视频理解+创作闭环,从素材检索、脚本生成到剪辑渲染的全链路自动化 |
| MetaGPT | 多Agent协作框架,角色分工(产品经理→架构师→工程师),SOP流程固化 |
共性技术趋势:从"单Agent工具调用"走向"多Agent协作+环境感知+长程规划",调优重点从"会不会用工具"转向"能不能完成复杂目标"。
口语版讲法(约4分钟)
- Agent调优本质是让模型从会调用工具到能完成复杂目标
- 三大调优路径:SFT、RL、Prompt,各自适用场景和落地组合
- 业界案例:GPTs、Claude Computer Use、AutoGLM、MetaGPT的技术特点
- 多Agent协作的趋势和调优重点的转移
- 可延伸点:工具调用失败后的自愈机制
这道题其实是在问,当Agent在预训练阶段学完通用能力之后,怎么让它真正用起来、用得好,而不仅仅是会调用API。我觉得核心就是三件事:监督微调、强化学习和Prompt工程,但真正落地的时候,这三样不是选一个,而是混着来的。
先说监督微调。这一步主要是让模型学会工具调用的格式和流程,比如ReAct那个模式:先想,再选工具,填参数,看结果。数据构造很关键,得是真实的调用轨迹,包括中间思考过程,不能光给输入输出。但这里有个坑:纯SFT做出来的Agent容易死板,遇到没见过的场景就卡住。所以SFT更多是给模型一个基础能力,让它能跑通简单任务。
再一个就是强化学习。这个主要解决长期决策的问题,不是单步做对了就行。比如结果奖励模型,只看任务最终成不成功,但中间步骤可能很曲折;过程奖励模型会每一步打分,解决稀疏奖励的问题。像DPO或者RLHF,其实就是让人类告诉模型,哪种工具选择更合理。但RL对数据质量要求很高,如果奖励信号不准,模型会学歪。所以实践中我倾向先用SFT把基线拉起来,再用RL做局部优化,比如只在工具选择这一步加RL。
最后是Prompt工程,这个成本最低,见效也快。比如动态示例选择,根据用户意图从库里捞相似的成功案例拼到提示里;还有工具描述优化,用LLM自己迭代描述,看哪个版本调用成功率最高。但Prompt的缺点是上限低,复杂任务容易超出上下文窗口。
所以我的判断是:SFT打底,Prompt兜住简单场景,RL往上拔上限。真正落地时,比如做一个客服退款Agent,我可能先SFT一批典型的退款轨迹数据,让模型学会查订单、算金额、调用退款接口;然后上线后遇到满减政策叠加这种复杂情况,Prompt加几个类似案例;如果发现模型老是在选工具时犹豫,再对工具选择这一步做RL。
再说业界案例。OpenAI的GPTs和Assistant API,原生支持Function Calling,结构化输出强约束成JSON,内置RAG,适合快速搭一个工具调用型的Agent。Claude Computer Use是多模态加GUI操作,能理解截图然后控制鼠标键盘,靠200K长上下文支撑复杂任务,这个方向对端到端感知要求很高。智谱的AutoGLM是手机端Agent,通过UI元素理解实现说一句话订外卖,它是端到端训练出来的,不是规则拼接。快手的快意Agent把视频理解和创作打通,从素材检索到脚本生成到剪辑渲染全链路自动化。MetaGPT是多Agent框架,产品经理、架构师、工程师分角色协作,把SOP流程固化下来。
这些案例有个共性趋势:从单Agent调工具,走向多Agent协作加环境感知加长程规划。调优的重点不再是会不会用工具,而是能不能完成复杂目标。比如MetaGPT里,每个Agent单独可能不强,但协作起来能写一个完整的APP。
不过这里有个延伸点:当Agent调优到一定程度后,瓶颈可能不再是模型能力,而是工具调用失败后的自愈机制。比如调了接口但返回报错,Agent能不能自动重试、换个工具、或者向用户确认?这块目前业界做得还不够好,我觉得是下一阶段的重要方向。
所以整体上,我会把Agent调优看作一个系统工程,模型能力只是底座,数据构造、奖励设计、协作机制哪个短板都不行。
关键一句:工具调用失败后的自愈机制是Agent调优的下一阶段瓶颈
面试官还可能这样问
- 问法 1 · 场景切入
假设你们在做一个能调用API的客服Agent,用户说‘帮我查订单’,Agent要调查询接口,结果查出来没货,它得自动再调推荐接口。你怎么从预训练模型出发,一步步调优,让它真的能干好这种接力的工具调用?
- 问法 2 · 层层追问
Agent调优你一般怎么做?……如果只用SFT,模型在陌生场景下容易乱选工具,你怎么解决?……那加上RL后,奖励信号怎么设计才能让模型学会长期规划?……再结合Prompt优化,你实际落地时最有效的组合是什么?
- 问法 3 · 直球架构
请你完整阐述Agent系统在预训练完成后的调优优化方法,包括几种主要范式及其适用场景,并列举当前业界优秀的Agent应用案例及其技术特点,比如OpenAI GPTs、Claude Computer Use这些。