
AI Agent这个词去年火得一塌糊涂各种自主智能体的demo满天飞。但真正把Agent产品化的人都知道坑太多了——模型瞎编工具调用、任务做着做着就跑偏了、多次交互后上下文崩坏……每一个都是能让你半夜惊醒的噩梦。智谱在Agent这块走得算比较稳的。他们的AutoGLM平台我断断续续关注了大半年有些设计和取舍挺值得聊聊。Agent的核心挑战是什么是模型既要理解复杂任务又要在执行过程中保持一致性。说起来简单做起来就是另一回事了。智谱解决这个问题的方式是在模型层面做了专门的Agent对齐训练。普通的对话模型它追求的是这一轮回答得好不好。但在Agent场景里模型需要追求的是整个任务有没有完成。这两个目标之间差别巨大。我观察到一个很有意思的现象。用普通模型做Agent你让它帮我搜集关于人工智能的最新新闻整理成报告它可能第一轮搜得很好第二轮开始搜偏了到第三轮可能已经开始搜人工智能的电影了。但智谱的模型在任务追踪上明显更稳定它会维护一个内部的任务状态时刻记得我是要写报告不是随便浏览。这背后是他们在训练时引入了大量的多步任务数据并且设计了特殊的奖励机制——不是奖励回答得好而是奖励任务完成得好。另一个让我印象深刻的是工具调用的稳定性。Agent的执行能力很大程度取决于模型能不能正确地选择和使用工具。我见过太多Agent在调用API时传错参数、用了不存在的函数、或者完全忘记了自己有哪些工具可用。智谱在这方面做了两件事。一是定义了一套标准化的工具描述格式让模型更容易理解每个工具的能力边界。二是在训练时混合了大量的工具调用样本让模型学会在什么情况下该用什么工具以及工具调用失败后该怎么处理。第二点尤其重要。真实场景中工具调用失败是常态——API超时、返回格式不对、权限不够……什么情况都有。如果模型遇到失败就卡住那Agent就完全没法用。智谱的模型在错误恢复上表现得不错会尝试换一种方式调用或者用其他工具替代实在不行还会向用户求助。当然Agent这块还没有完美的方案。智谱也面临一些所有Agent框架都有的问题。比如上下文长度的问题——复杂任务执行几十步后前面的信息很容易丢失。他们用了一些记忆压缩和摘要的技术来缓解但还没根本解决。另外模型的幻觉问题在Agent场景里会被放大因为一旦编造了一个工具调用的结果后续的步骤就全乱套了。整体来说智谱在Agent上的策略是把问题拆开一个模块一个模块地优化而不是搞一个花里胡哨的框架然后指望模型自己搞定一切。这个务实的态度在一个人人都想一步到位的领域里还挺难得的。