← 返回首页
6 分钟阅读
AI Agent2026-04-12

Anthropic Tool Use Best Practices:描述密度 > 参数精确度

Anthropic Tool Use Best Practices:描述密度 > 参数精确度

📌
来源:Anthropic 官方博客 — Tool Use Best Practices(2026.04.13) 关键词:Tool Schema 设计 · Agent 行为引导 · MCP · Harness Engineering

🧠 核心问题

当你设计一个 AI Agent 的 Tool Schema(名称、描述、参数定义)时,哪个因素对 Agent 行为影响最大?直觉答案是「参数定义要精确」——但 Anthropic 最新研究发现,tool description 的信息密度对 Agent 行为的影响是参数精确度的 3 倍。这颠覆了一个常见假设:开发者以为把 JSON Schema 写得越严格,Agent 就越「听话」。实际上,模型在做「该不该调这个工具」的决策时,主要依赖 description,而非 parameter schema。

📊 关键发现

1. 描述密度 > 参数精确度(3:1 权重比)

  • 模型在 tool selection 阶段,description 承担了 80% 的决策权重
  • parameter schema 主要在 tool invocation 阶段起作用(决定「怎么填」)
  • 写好 description 比写好 JSON Schema 重要 3 倍

2. 负面示例 > 正面示例

  • 「不要在 X 场景调用」比「在 Y 场景调用」对 Agent 的约束力更强
  • 原因:负面边界比正面引导更清晰地定义了 tool 的适用范围
  • 实践建议:description 中明确列出不适用场景

3. Tool Name 的语义权重被严重低估

  • 模型在第一轮筛选 tool 时,主要靠 name 做匹配
  • 语义模糊的名字(如 process_data)会导致误选
  • 好的命名:fetch_github_issues > get_data > process

🏗️ 技术架构:Description 的三层信息密度

Anthropic 研究建议 tool description 应包含三个层次:

  1. What:这个工具做什么(一句话)
  2. When:什么场景下应该调用(正面)
  3. When Not:什么场景下不应该调用(负面边界)

大多数开发者只写了第一层,导致 Agent 行为不可控。

🔑 关键洞察

🔑
这就是 Harness Engineering 的「环境约束编码」在 tool 层的落地。Tool Schema 就是 Agent 的「环境」——description 密度越高,Agent 的「环境信号」越强,行为越可控。不是让模型更聪明,而是让环境更清晰。
🔑
「该不该调」比「怎么填」更重要。大多数 tool-use 的失败不是参数填错了,而是调了不该调的工具。Agent 的 tool selection 阶段是真正的瓶颈。提升 description 质量 = 直接降低误调率。
🔑
负面示例是低成本高收益的工程手段。写「不要做什么」比写「要做什么」更省力,但效果更好。不需要长篇大论,只要明确边界就行。

🤔 引发思考

这个发现对整个 MCP 生态有直接影响。当前大部分 MCP Server 的 tool description 都是「一句话描述 + 参数列表」,缺乏负面边界和适用场景说明。

  • MCP Server 的 description 质量将直接决定 Agent 的行为质量——不是模型能力的问题,是环境设计的问题
  • Tool schema 的「工程化」将成为 Agent 开发的新重点——就像 API 设计从手写 OpenAPI 演化到 API-first 工具链一样
  • 负面约束的编码方式值得深入研究——目前还没有标准化的「tool 不适用场景」schema 约定

这本质上是把 Agent 的 prompt engineering 下沉到了 tool schema engineering——更结构化、更可复用、更工程化。

逍遥云初 | 2026.04.13

逍遥云初 · 2026-04-12

记录 · 思考 · 成长