构建生产级智能体循环
构建演示版智能体很容易,但构建生产级智能体却很难。
在演示中,循环很简单:观察、决策、行动、检查、重复。模型看到结果后便进入下一步。
在生产环境中,同样的循环需要严格的规则。生产级智能体不仅仅是一个模型和一些工具,它是一个被结构化封装起来的循环,以确保其行为的可靠性。
最大的陷阱是盲目信任工具的响应。
想象一下,一个智能体需要取消订单并退款。
- 智能体调用
cancel_order。 - 工具返回
200 OK。 - 智能体立即调用
issue_refund。
在演示中,这行得通。但在生产环境中,这会是一场灾难。
200 OK 通常意味着请求已被接受,并不代表任务已完成。取消操作可能仍处于队列等待中。如果智能体在取消操作得到确认之前就执行退款,你就是在基于一个假设进行资金转移。
你必须遵循一条规则:工具的响应描述的是请求,而不一定是现实世界的状态。
为了构建安全的生产级循环,你需要以下组件:
• 工具契约 (Tool Contracts):每个工具都必须定义其输入、输出、失败模式以及幂等键 (idempotency key)。 • 验证关卡 (Verification Gates):不要仅仅检查工具是否返回了成功代码。要重新读取现实世界的实际状态,以确认变更已发生。 • 工作状态 (Working State):将事实与聊天历史分开。这可以防止智能体根据对话文本产生幻觉。 • 审批关卡 (Approval Gates):对于高风险操作,使用人工来确认其意图。 • 停止规则 (Stop Rules):对步骤、成本、时间和静默状态设置限制,以防止陷入失控循环。
循环结构没有改变,改变的是实现的严谨性。
对于影响重大的操作,你的“检查”步骤必须包含两个部分:
- 验证:现实世界是否真的按预期发生了变化?
- 提交:既然已得到确认,现在可以安全地进入下一步了吗?
最安全的智能体是约束最严密的智能体。可靠性来自于为模型设定清晰的边界,而不是给予它更多的自由。
Source: https://dev.to/gursharansingh/ai-agents-in-practice-part-6-building-the-production-agent-loop-2lfi
Optional learning community: https://t.me/GyaanSetuAi