构建不会产生幻觉的 AI Agent
大多数 AI Agent 在生产环境中都会失败。它们会虚构函数名称,猜测错误的参数,或者调用错误的工具。
函数调用(Function calling)本应阻止这种情况。但在现实中,它往往会让 Agent 在大规模应用时表现出“自信的错误”。
解决这个问题并不需要更大的模型,而是需要更好的架构。
遵循以下四种模式来构建可靠的 Agent:
使用两阶段路由 不要一次性向模型传递 15 个工具,这会导致 Schema 膨胀。相反,先使用快速、廉价的模型进行意图分类。一旦确定了意图,仅展示相关的工具。这可以将错误率降低 60-70%。
强制执行结构化输出 不要再试图通过提示词(Prompt)要求模型返回有效的 JSON。应在 API 层面使用 Schema 强制执行。Schema 的效果每次都优于 500 字的提示词,它能确保模型遵循你的规则。
构建验证层 每一次工具调用都需要三个步骤:
- 预验证
- 模型执行
- 后验证
如果工具调用未通过验证,请将错误信息返回给模型。模型在第二次尝试时,有 80% 的概率能自行修复参数错误。
- 设置硬性限制 死循环会耗尽你的预算。模型可能会陷入循环调用工具的状态,直到触发超时。务必设置最大迭代次数。硬性限制是必须项,而非可选项。
通过针对不同任务使用不同模型来优化成本:
- 使用小型模型进行意图路由和输出格式化。
- 使用中型模型进行工具选择。
- 仅在处理复杂规划时使用前沿模型(Frontier models)。
这种方法可以在几乎不损失质量的情况下,将成本降低 10 到 15 倍。
可靠的 AI 取决于系统设计。请专注于约束、验证和编排(Orchestration)。
你使用哪些模式来构建可靠的 Agent?