AI Agent工具描述优化:写得好,Agent一次选中正确工具

📘 AI教程 💬 🔥 Trending

🩺 摘要

Agent选了错的工具——不是Agent笨,是工具描述没写好。改一行描述,选工具准确率从60%提到95%。

📝 详情

做Agent开发时最常遇到的情况:Agent有10个工具可用,但它偏偏选了错的那个。

多数时候不是Agent的问题,是你的工具描述不够清晰。

好描述 vs 差描述

❌ def search_database(query):
    \'\'\'搜索数据库\'\'\'

✅ def search_database(query):
    \'\'\'搜索用户订单数据库。
    当用户问:查询订单状态、历史订单、物流信息、退换货进度。
    不要用于:产品信息查询(用search_products)、价格查询(用check_price)。
    参数query:SQL查询语句或自然语言描述。
    '''

描述的四个要素

  1. 功能描述 — 这个工具是做什么的
  2. 触发条件 — 什么情况下用这个工具(正面示例)
  3. 排除条件 — 什么情况下不要用(反面示例)
  4. 参数说明 — 每个参数的含义和格式

效果

优化前:工具选错率 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%。