AI Agent工具描述优化:写得好,Agent一次选中正确工具
🩺 摘要
Agent选了错的工具——不是Agent笨,是工具描述没写好。改一行描述,选工具准确率从60%提到95%。
📝 详情
做Agent开发时最常遇到的情况:Agent有10个工具可用,但它偏偏选了错的那个。
多数时候不是Agent的问题,是你的工具描述不够清晰。
好描述 vs 差描述
❌ def search_database(query):
\'\'\'搜索数据库\'\'\'
✅ def search_database(query):
\'\'\'搜索用户订单数据库。
当用户问:查询订单状态、历史订单、物流信息、退换货进度。
不要用于:产品信息查询(用search_products)、价格查询(用check_price)。
参数query:SQL查询语句或自然语言描述。
'''
描述的四个要素
- 功能描述 — 这个工具是做什么的
- 触发条件 — 什么情况下用这个工具(正面示例)
- 排除条件 — 什么情况下不要用(反面示例)
- 参数说明 — 每个参数的含义和格式
效果
优化前:工具选错率 15-40% 优化后:工具选错率 <5%
总结
花10分钟写工具描述,比花1小时调Agent的System Prompt更管用。 Agent选不对工具,先看描述写清楚了没有。
一个改前改后的真实案例
改前:
def search_products(query): 搜索产品
改后:
def search_products(query):
"""搜索商品目录。
当用户问:查找商品、搜索产品、有没有某商品、价格查询。
不要用于:查询订单(用search_orders)、查库存(用check_stock)。
参数query:商品名称或关键词。
返回:匹配的商品列表,含价格和库存。
"""
改后Agent选对工具的概率从55%提升到了93%。
💬 评论 (0)