跳到正文
SGSteven Guan

原子概念 / Tool Contract

工具接口合同

向模型说明可调用能力,并向执行器提供可校验参数与结果。

要解决的问题怎样把业务能力做成模型可选、执行器可验证的工具?

检索别名:工具设计 · Function Calling

BLUEPRINT局部蓝图

01 输入

  1. 工具职责与资源范围
  2. 参数和结果schema
  3. 身份与业务约束
→

02 处理机制

  1. 定义清晰选择语义
  2. 注入服务端身份
  3. 校验完整参数
  4. 返回结构化效果及证据
→

03 输出与证据

  1. 版本化工具schema
  2. 可解释错误
  3. 回执与后置条件

向模型说明可调用能力,并向执行器提供可校验参数与结果。

工具接口同时服务两个对象:模型需要理解何时调用,执行器需要验证能否执行。好的名字和说明可以减少选错工具,但真实约束必须存在于服务器。接口应明确输入类型、默认值、资源范围、读写性质、超时、错误及结果语义,避免一个万能execute工具承载所有企业能力。

例如证据检索返回source_version、定位、时效和可回查引用;计算工具返回公式、输入、单位、精度和结果;写工具返回operation_id、状态、receipt与后置条件。HTTP 200与业务成功不是同义词。身份、tenant和ACL由运行时注入,不应让模型填一个任意user_id就可以切换主体。

工具说明要帮助模型选择,又避免职责重叠。可将更新拆成prepare与commit,将SQL限制为获准模板或只读执行环境;复杂候选查询经parser、资源允许列表、行数和时间限制处理。JSON schema只能验证形状,不能证明查询安全或金额正确;业务验证仍在执行器。

工具版本是Agent发布的一部分,改变字段含义会影响旧会话与恢复。错误应结构化区分可修复参数、权限拒绝、配额和结果未知,使loop选择合法策略。契约测试覆盖边界值、非英文参数、空结果、重复调用、超时和流中断。最终要证明模型看到的定义与实际执行版本一致,而不是只证明某次函数调用返回了对象。

工具返回最好使用少量稳定状态,例如accepted、succeeded、failed、unknown,并附可检查字段。错误细节对执行器有价值,但敏感堆栈和凭证不能直接显示给业务用户。模型可见错误应足够帮助修复,又不泄漏内部环境;运维保留受限原始日志供授权人员诊断。

领域工具可以隐藏基础设施细节。例如让模型请求受限的指标计算,而非自行选择数据库凭证与任意SQL;这样更容易验证输入口径和输出含义。

实践重点:职责不重叠;明确读写、边界、schema、错误、receipt与postcondition。

验证抓手:对边界参数、无效值、重复调用和超时做契约测试。

常见误区:把任意shell/SQL开放作为所有业务工具的替代。

Agents SDK:Model接口和call ID约束;Anthropic:Advanced tool use。

RELATIONSHIP MAP

与其他节点的关系

箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。

哪些节点指向本页 · 11
  • 模型适配层 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 沙箱、出网与凭证代持 — 互补 → 工具接口合同

    工具合同声明允许动作与输出。

  • 工具发现与延迟加载 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 上下文组装 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 工具授权网关 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 工具结果缓存 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 业务副作用幂等 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 结构化输出 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 任务完成合同 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • 程序化工具调用 — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

  • MCP — 依赖 → 工具接口合同

    本节点的设计需要先明确工具接口合同。

PRIMARY SOURCES

来源与阅读边界

来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。

  1. Agents SDK:Model接口和call ID约束 ↗公开代码

    观察基线:2026-10-15;固定源码与具体发行版本分别核验。

  2. Anthropic:Advanced tool use ↗官方文档 / 声明

    公开资料观察基线:2026-10-15。