
工具调用是什么
你给模型一份工具清单:名字、作用、参数格式。它需要用时,输出一段结构化的调用请求,你的代码去执行,再把结果喂回去。
模型不执行任何东西。它只是输出了一段“请帮我调这个函数”的文本。
干活的是你的代码。这一点很重要:权限、校验、超时,都在你这边控制。
所以工具调用的安全性,说到底是你接口的安全性。模型只是发起请求的客户端。

一个循环长什么样
想一步,调一个工具,看结果,再想下一步。循环到它认为任务完成,或者达到步数上限。
每一步的输入都包含前面所有步骤的结果。所以上下文会迅速变长,成本也跟着涨。
五步的任务,上下文可能是单次问答的十倍。这也是 Agent 贵的原因,不只是调用次数多。
成本估算要按步数算,不是按任务算。五步的任务按十倍单次成本估,通常不会差太多。
哪几步容易出错
第一步就选错工具。工具一多,它容易挑一个名字最像的,而不是最合适的。
参数格式错。日期格式、枚举值、必填项,错一个就报错,报错信息它还可能理解错。
错误累积。第三步拿到的结果是错的,第四步基于错的结果继续做,越走越偏,而且它不知道自己偏了。
停不下来。任务定义模糊时,它会一直尝试,直到步数上限。
还有一种是重复调用同一个工具,参数几乎一样,它在原地打转。

什么场景能用
流程固定、步骤可枚举的。查订单、改地址、生成报表,每一步都能写清楚。
工具数量少的。三到五个工具,它选错的概率低;二十个工具,选择本身就成问题。
失败可回滚的。读操作随便试,写操作要有确认和回滚。
反过来的三类别上:开放式研究、需要长期规划的任务、后果不可逆的操作。这三类现在还得人来。
如果一定要试,把范围缩小,加上人工确认,别一上来就放开权限。

常见问题
步数上限设多少?
按最复杂任务的步数乘一点五。超过就停,让人接手,别让它自己找路。
怎么减少选错工具?
工具描述写清楚使用场景和不适用场景。只写名字和参数,它只能靠猜。
Agent 能自己纠错吗?
能发现明显的报错,发现不了逻辑错误。所以关键节点要有人看结果。


