Appearance
16. 工具描述(Tool Description)应该怎么写?
难度 P1 高频 · 岗位 应用 · 频率 ★★★ · 预计阅读 5 min
本题阅读地图
- 💡 简要回答
- 📝 详细解析
- 🎯 面试总结
👔面试官:工具描述(Tool Description)应该怎么写?
🙋♂️我:简单介绍一下工具是干什么的就行。
👔面试官:太简单了。工具描述是模型决定"调不调、调哪个"的依据,要写清楚:工具能力、参数含义、边界、示例。模型看不到工具代码,全靠描述来理解。
🙋♂️我:那就写详细一点?
👔面试官:详细但要有重点。要包括:功能一句话概括、参数类型和含义、什么时候该用、什么时候不该用、返回值说明。你能展开讲吗?
💡 简要回答
工具描述是模型判断"要不要调、调哪个"的唯一依据。
写好描述的四要素:
- 功能一句话:清晰概括工具能做什么
- 参数说明:每个参数的类型、含义、格式
- 使用边界:什么时候该用,什么时候不该用
- 示例:给出调用示例,帮助模型理解
原则:模型看不到工具代码,全靠描述来理解。描述质量直接决定调用准确率。
📝 详细解析
坏的描述示例
json
{
"name": "search",
"description": "搜索工具",
"parameters": {"query": "搜索关键词"}
}问题:
- "搜索工具"太笼统
- 不知道什么时候该用
- 参数格式不明确
好的描述示例
json
{
"name": "search_product",
"description": "根据商品名称或关键词搜索电商平台上的商品信息。当用户询问具体商品(如\"iPhone 15多少钱\"、\"推荐一款蓝牙耳机\")时使用。不要用于查询订单状态、物流信息或用户信息。",
"parameters": {
"query": {
"type": "string",
"description": "搜索关键词,建议包含品牌+型号+核心需求,如\"iPhone 15 Pro 256G\"、\"降噪蓝牙耳机 500元以下\""
},
"limit": {
"type": "integer",
"description": "返回结果数量,默认10条,最大50条",
"default": 10
}
}
}优点:
- 清晰边界:什么时候用,什么时候不用
- 参数示例:帮助模型理解格式
- 返回值预期:虽然没有明说,但给了使用场景
描述编写的要点
功能描述:
- 一句话概括
- 包含输入和输出
参数描述:
- 类型、格式、约束
- 给出示例值
- 说明是否必填
边界说明:
- 正面示例:"当用户询问...时使用"
- 负面示例:"不要用于..."
注意事项:
- 避免过于技术化的术语
- 避免模糊词汇("处理数据"、"执行操作")
- 多工具场景要区分清楚,避免模型选错
🎯 面试总结
工具描述四要素:功能概括、参数说明、使用边界、示例。质量直接决定调用准确率。