实战:多工具协作 Agent

本节定位
前面几节我们已经分别讲了:
- 工具 schema
- 调用策略
- 常见工具
- 安全与高级模式
这一节要把它们真正串起来。
我们不再只讲某一个工具,而是做一个完整的小型 Agent:
用户提交退款工单后,Agent 先查订单状态,再查政策,再计算金额,最后给出可执行答复。
这就是一个典型的多工具协作任务。
学习目标
- 理解多工具 Agent 和单工具 Agent 的主要差别
- 看懂一个完整的“发现 -> 选择 -> 执行 -> 整合 -> 输出”闭环
- 理解多工具协作里状态管理为什么是关键
- 学会用最小项目方式展示一个多工具 Agent
一、多工具协作难在哪里?
1.1 难点不只是“工具更多了”
真正困难的地方通常有三层:
- 先后顺序
- 中间状态传递
- 错误后的处理
例如退款场景里:
- 不知道订单状态,政策判断就可能错
- 不知道订单金额,计算退款额就没法做
- 工具失败后,最终答复也必须改变
1.2 一个类比:像接力赛而不是单人跑
单工具任务像一个人直接完成动作。
多工具任务像接力赛:
- 前一棒的结果要交给下一棒
- 某一棒掉棒,后面都受影响
1.3 所以多工具系统最怕“状态散掉”
如果每一轮都不清楚当前已经知道什么,
系统就很容易:
- 重复调用
- 漏关键信息
- 最后整合错
二、这个实战例子要解决什么问题?
我们做一个最小但完整的退款工单助手。
用户问题是:
- 我的订单还能退款吗?
- 预计退多少钱?
- 多久到账?
这个任务至少要用到三类工具:
get_order_statussearch_refund_policycalculator
而且它们之间有明显顺序:
- 先看订单状态
- 再匹配政策
- 再算金额