跳到主要内容
返回
← 返回AI Agent 工程:从零到企业应用

AI Agent 工程 · 05

05.2 实战:有边界的单 Agent 客服

用可运行的模拟决策程序,练习单 Agent 的工具调用、失败处理和执行上限。

Agent · 实践 · 客服

目标、输入与系统位置

本节在 examples/cross-border-ai-support-agent/v3-core-engineering.mjs 中运行 runSingleAgent。输入是模拟的 requesterIdorderIddecisions;输出是 completed 或带原因的 stopped 与 trace。它连接 03 的订单工具,却不接模型、支付或真实客户数据。

模拟决定 lookup → rpc(order_lookup) → 授权结果 → 模拟决定 answer → completed

decisions模拟模型响应,不能宣称为真实 LLM Agent。其价值是把工程边界变成可复现测试:未知决定、未授权工具结果、到达三轮上限都停止。

操作、验收与失败

执行 npm run test:agent-course。预期 authorized loop 通过:Amy 读取自己的 XB-1024 后完成;bounded loop 通过:重复查询达到上限后停止。试着把请求者换成 Ben,预期工具返回无权访问而不是订单详情。

真实项目中,把 decisions 换成模型调用时,仍保留循环控制器:它负责 schema 校验、权限、超时、追踪与人工转交。订单查询是开放式对话中的动态选择;退款资格仍适合 04 的确定性 Workflow。

主动回忆:若模型连续要求同一个失败工具,应该把错误原文、摘要还是两者放回上下文?为什么?

  • 必须记:单 Agent 也能拥有多个工具。
  • 建议记:trace 是排查工具与决策边界的证据。
  • 不用记:模拟订单号。

官方参考(核对日期:2026-09-21)