Agent 工具接口怎样设计:参数、结果和错误都要说清楚

用订单查询与工单创建说明 Agent 工具合同:明确参数语义、区分读写、返回证据和状态、控制输出长度,设计可恢复错误。

一个工具合同的组成:工具用途(何时调用与副作用、读写分别说明);输入约定(对象、单位与范围、缺失明确处理);服务校验(权限、版本与规则、拒绝非法动作);输出与错误(状态、证据与建议、能判断是否恢复)
原创示意:schema 检查不能替代业务授权。为本文原创示意图,不代表产品界面或客户案例。

先说结论

Agent 工具合同应明确工具用途、输入语义、授权范围、返回状态和副作用。使用明确对象标识与结构化字段,返回足够的业务证据和可操作错误;关键校验由服务端完成,不能因为参数符合 schema 就认为动作合法。

读完你会得到

  • 工具名与参数表达实际动作,读查询和业务写入分别定义。
  • 结构正确、身份有效和业务允许是不同的检查。
  • 返回结果包含状态、证据与下一步,不只给成功字符串。

工具叫 process_order,参数只有 user 和 value,成功时返回 OK。人类工程师也很难知道它查询还是修改了订单,value 是金额还是数量。模型用错工具,往往从这些模糊约定开始。本文用教学订单工具逐项改写。

配套资料与延伸阅读

从模糊工具改成明确动作

把 process_order 拆成读取订单、创建工单草稿和提交工单等明确能力。工具名说明动作与对象,描述写清什么时候用、什么时候不能用,以及是否改变业务状态。工具数量也不宜无限增加,重叠能力会让选择更难。

Anthropic 的工具设计文章强调明确命名、参数和高信号结果,并建议用实际任务评估工具。本文的订单合同和错误分类是本站教学设计,不是某个厂商 API。

本节依据: [1] Anthropic

参数应带业务语义

订单工具输入的演练
模糊输入更明确的约定还需要服务检查
user服务端认证身份,不由模型自报用户与对象的访问关系
order稳定 order_id 与业务范围对象存在且在当前授权内
valuequantity 或 amount_minor,附单位数量与金额符合业务约束
date业务含义明确且带时区的时间是否符合流程与生效条件
version当前来源版本或预期版本防止覆盖并发修改
request_id绑定这次业务意图的稳定标识重复调用与不同内容冲突

字段名不必照抄示例。关键是业务含义能唯一解释,缺失和无效值有明确处理。默认值要安全,不能把缺失金额补成零再执行,也不能把缺失地区补成当前操作者所在地。

返回足够信息,但控制无关内容

查询结果包含必要业务字段、来源版本、读取时点和明确状态。创建请求返回对象标识、受理或执行状态,以及下一步查询方式。结果未知就返回未知,不用 OK 让模型自行判断。

长列表提供分页、过滤和摘要模式,让调用方可以获取需要的部分。不要一次返回全部客户资料或大段内部记录。简洁输出仍要保留影响判断的条件,不能为了节省 token 去掉币种、版本或失败原因。

展示名可以帮助模型理解,稳定标识用于准确执行。模型不需要记忆无关内部细节,但不能只拿展示名修改记录。人可理解与机器可校验应同时具备。

错误信息告诉调用方接下来能做什么

错误分类与处理示例
错误返回的信息允许的下一步
输入无效哪个字段不合法、期待的含义更正输入;不重复原请求
权限不足不泄露敏感对象的拒绝结果按既有授权流程处理
版本冲突当前记录已变化,动作未完成重读并重新核对内容
上游暂时不可用失败阶段与可重试条件受预算约束的安全重试
执行结果未知请求标识与查询方式先查业务结果,不新建意图
业务条件不满足具体条件与获授权说明补资料、调整草稿或转交

错误不能携带 token、完整堆栈或无权资料。可操作不等于向任何用户公开内部信息;详细诊断放在受控记录中,工具返回保留决策所需信息。

确定哪些条件必须在服务端检查

检查身份、业务对象范围、当前状态、记录版本、金额或数量约束以及副作用授权。模型提出的参数只是候选,不能跳过这些检查。

schema 可以确认字段类型和枚举,不能确认这笔金额是可退余额,也不能确认当前用户拥有审批权限。模型输出“approved: true”不能成为授权记录,授权状态来自受控服务。

读工具也需要校验。一个通用搜索工具如果能跨租户返回内部资料,后续写工具再严格仍然存在数据暴露风险。工具合同应说明读结果的范围和来源。

用真实任务比较新旧工具设计

工具评测步骤

  1. 选择完整任务

    包含正常、缺字段、同名对象和权限拒绝,而不是只测试单次成功调用。

  2. 记录调用轨迹

    观察是否选错工具、反复调用、传错单位或误读返回状态。

  3. 分类失败原因

    描述不清、参数含糊、输出不足和服务故障分别修复。

  4. 保留未参与调优的样本

    用保留案例检查改进是否只适合已见过的任务。

  5. 核对业务结果

    不仅检查工具返回,还确认任务是否按限制完成。

修改工具后同步更新示例与版本。旧参数继续兼容时写清期限,未知字段和状态按约定处理,避免模型缓存的旧用法悄悄影响新流程。

保留几组相同意图、不同表达的任务,检查工具描述是否只对示例措辞有效。也要给错误结果做测试:返回“已受理但未完成”时,模型不应宣布完成;返回版本冲突时,不应换一个对象编号重试。工具评测由此覆盖调用后的解释,而不只验证参数能通过 schema。

一条工具合同可以先从何处改善

选一个最常误用的工具,重写用途、参数含义、状态和错误。让团队里没写过它的人读文档并完成一项演练;人仍无法判断时,继续减少含糊约定。

本文适合接入业务 API 的 Agent,不要求特定框架。工具设计能够降低误用,但不能保证模型每次选择正确;执行层仍需限制范围,并对失败提供可查询与恢复的路径。

常见问题

工具越少越好吗?

目标是用途清晰、能力足够、重叠较少。过度合并会形成模糊万能工具,过度拆分也增加选择与协调成本,需要用任务评测决定。

严格 schema 能完全避免错误调用吗?

能发现结构问题,不能证明业务意图、对象权限和当前状态正确。服务端必须继续执行授权、版本与业务规则校验。

资料来源与核对说明

文章中的行业定义与技术方法尽量引用官方或标准组织资料;表格、清单和决策框架是基于这些资料形成的编辑性整理,不代表来源机构对本站服务的背书。

  1. Writing effective tools for agents — with agentsAnthropic

    正文发表于 2025-09-11。用于工具输入、输出与错误信息的工程原则。

把文章方法用于你的真实业务

带上流程、样例和目标,添加企业微信沟通。先确定项目范围与验收方式,再安排实施。

查看企业 AI / FDE 服务 →
相机、麦克风和布光台上的雕塑,表现图片、视频与声音的创作
AI 生成 · 内容创作场景示意

把你正在做的事,
拿来一起聊聊。

还没有完整方案也没关系。选一个方向,带着下面几条信息联系团队,我们先了解问题,再确认下一步。

企业 AI / FDE 项目

先从一段具体流程说起。

  • 我们目前怎样完成这项工作?
  • 哪一步最费时间,或经常出错?
  • 已有的资料、系统和期望结果是什么?
Shopify 建站与经营

有店铺的话,可以一并发来链接。

  • 店铺是准备上线,还是已经在运营?
  • 销售什么商品,面向哪些市场?
  • 希望先解决哪个页面或经营问题?
内容创作与工具使用

说明准备制作的内容,或遇到的操作问题。

  • 想做图片、视频、配音,还是图文?
  • 已有素材、参考风格和使用场景是什么?
  • 如果使用时遇到问题,具体停在哪一步?
扫码添加随心创技术客服企业微信

微信扫码,发来你的问题

可以直接按提纲描述,也可以先发一句话。人工服务会在确认范围后单独报价。

手机上可保存二维码后识别。