用户问题
帮我看看张先生昨天买的设备发货没有。
我们一看就知道应该去查订单,但 AI 需要根据每个工具的名称和说明自己判断。
CHAO AI LEARNING PATH
让 AI 会调用工具
前面我们讲了:Agent 的关键能力,是根据任务选择并调用工具。但给 AI 接上工具,并不代表它就一定会正确使用。很多时候问题不在模型,而在工具说明没有写清楚。
工具说明,就是写给 AI 看的使用说明书。它要让 AI 明白:这个工具做什么、什么时候使用、什么时候不要使用、需要什么参数、返回什么结果。
用户问题
我们一看就知道应该去查订单,但 AI 需要根据每个工具的名称和说明自己判断。
AI 不知道查询订单、客户、产品、物流还是库存,基本等于没说。
用于查询已经存在的客户订单,可以根据订单号查询商品、金额、付款状态和发货状态。该工具只负责查询,不会修改订单。
好说明会同时告诉 AI:它能干什么,也不能干什么。
查询已有订单的详细信息。
用户询问某个订单的付款状态、金额或发货状态时使用。
用户只是询问某个产品的价格时,不要使用这个工具,应查询产品信息。
好的工具说明,本质上是在告诉 AI:什么时候用我,什么时候别用我。
太模糊:不知道是用户 ID、订单 ID、产品 ID 还是物流 ID。
清楚:需要查询的订单编号,例如 ORDER-20260813-001。
工具选对了,不代表一定调用正确;参数同样要定义清楚。
create_refund_request
该工具只提交退款申请,不会直接完成退款。如果没有订单号,应先向用户询问。
用户只是想看张先生的联系电话时,应该使用查询工具。
修改工具会产生真实操作,不能因为都和客户有关就随便调用。
查询
创建
修改
删除
发送
修改、删除、付款、发送这一类工具,边界一定要比查询工具写得更清楚。
如果所有说明都是“用于查询相关信息”,AI 自然容易选错。工具越多,工具说明越重要。
如果三个工具实际上都在查询订单,AI 当然会困惑。
payment = 1,shipping = 2。如果没有解释,AI 仍然可能判断错误。
付款状态、订单状态、物流状态都用人和 AI 都能理解的字段表达。
失败
没有找到该订单。
检查订单编号是否正确。
不要只返回 Error。告诉 AI 失败原因和建议,它才知道下一步该请用户补充信息,而不是自己猜。
一个 Agent 好不好用,不完全取决于大模型有多聪明,而是由模型、工具设计、说明、参数、返回结果和权限控制共同决定。
本节练习
把 search_order 和 create_refund_request 写成可执行的工具说明,尤其要写清楚什么时候不要使用。