工具描述(Tool Description)就是挂在一个可调用工具上的"说明书"——一段给大模型读的纯文本,说明这个工具是干什么的、什么时候该用、参数怎么填。
模型看不到你的代码。它做选择时,唯一的依据就是这段文字,加上参数结构(schema)。所以工具描述不是给人看的文档,而是模型做决策的依据。
打个比方:把一个能力很强但从没来过公司的新同事放在电话机前,你只能靠贴便利贴告诉他每个按钮是干嘛的。贴"处理文件",他可能把删除文件当成压缩文件;贴"读取指定路径的文本文件内容,仅用于查看,不修改任何文件",他就不会乱来。同一个工具,便利贴换一换,行为完全不同。
一份完整的工具描述通常包含这几块:
- 名字(name):简短、动词开头,彼此拉开区分度
- 用途(description):一两句话说清它解决什么问题
- 使用时机:什么情况下该调用它
- 参数(parameters):每个字段的含义、类型、格式、是否必填
- 边界与反例:和相邻工具的分工,以及什么时候不该用它
和相邻概念的区别
- 提示词(Prompt):写在对话里,服务一次具体任务;工具描述是长期挂在工具上的元数据,每次请求都会被拼进上下文,影响所有任务。
- 接口文档(API Doc):写给人看,重点是实现细节和错误码;工具描述写给模型看,重点是"何时用、何时不用"。
- 工具实现(Implementation):描述错了,实现再优雅也没用——模型要么不调,要么调错。
| 对比项 | 给人看的接口文档 | 给模型看的工具描述 |
|---|---|---|
| 读者 | 工程师 | 大模型 |
| 重点 | 怎么调通、边界条件 | 什么场景该调、和谁分工 |
| 成功标准 | 人能读明白 | 模型在几十个工具里选对那一个 |
| 常见坑 | 漏写参数 | 名字相似、职责重叠、没写反例 |
对从业者的实际意义
智能体选错工具,绝大多数时候不是模型笨,而是描述没写清楚。几个马上能做的检查:工具名是否动词开头且互相区分;描述里有没有写明"不适用于什么";职责相近的工具是否重叠;参数说明有没有给格式示例。工具一多,把二十个模糊工具合并成五个清晰工具,效果往往好过换一个更大的模型。
对普通职场人
你用 AI 助手说"帮我订会议室",它却跑去查天气,问题常常出在背后工具的说明书写得怎么样。这也解释了一个常见现象:同一个模型,接上不同公司的系统,表现天差地别——差距不在模型,在描述。至于某个平台支持哪些描述字段,以官方页面为准。
