这道题其实是在问,当[[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调优看作一个系统工程,模型能力只是底座,数据构造、奖励设计、协作机制哪个短板都不行。