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 是否像正式接口一样被治理。
参考资料
- [toolver-001] OpenAI Developers, “Tools”, https://developers.openai.com/api/docs/guides/tools
- [toolver-002] Anthropic Docs, “Tool use overview”, https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/overview