返回文章列表

Agent 工具 Schema 版本管理:别让旧提示词调用新接口

工具调用稳定性的关键在于 schema 版本、兼容策略和失败回滚,而不只是工具描述写得清楚。

Agent 工具一多,最容易出现的问题是模型还按旧描述调用工具,但后端接口已经变了。OpenAI 和 Anthropic 的工具调用文档都强调工具定义和参数结构的重要性。[toolver-001][toolver-002]

工具也是 API

每个工具都应该有:

  • 稳定名称。
  • 输入 schema。
  • 输出 schema。
  • 副作用说明。
  • 版本号。
  • 废弃计划。

给模型看的工具定义,本质上也是 API 文档。它需要版本管理。

概念格式:

{
  "name": "create_ticket",
  "version": "2.1",
  "deprecated_versions": ["1.0"],
  "side_effect": "writes-data"
}

变更要兼容

新增可选字段通常安全,删除字段和改枚举风险更高。上线新工具前,应使用历史对话样本回放,观察模型是否仍然能生成合法参数。

综合工具文档可以推断:Agent 的稳定性不只取决于模型,还取决于工具 schema 是否像正式接口一样被治理。

参考资料

  1. [toolver-001] OpenAI Developers, “Tools”, https://developers.openai.com/api/docs/guides/tools
  2. [toolver-002] Anthropic Docs, “Tool use overview”, https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/overview