LLM Agent 工具选择机制深度解析:从归因、路由到生产闭环
1. 为什么 LLM 会选错工具?
面试要点:不要只回答“模型笨”或“Prompt 没写好”。建议从描述质量、上下文负载、语义边界三个维度结构化归因,体现系统性思维。
LLM 选错工具通常由以下三个核心原因导致,每个原因都有对应的工程解法:
- 描述模糊(Description):工具描述未明确适用边界,模型无法理解“何时该用”与“何时不该用”。→ 解法:优化描述质量。
- 上下文过载(Context Overload):工具数量过多(如 20+)导致 Token 占用过大,分散了模型的注意力机制。→ 解法:分层路由。
- 语义混淆(Ambiguity):功能相似的工具缺乏差异化说明,模型在边界场景下难以区分。→ 解法:Few-shot 示例引导。
2. 工程实践中如何提升 Agent 工具选择的准确率?工具数超过 20 个时怎么设计路由?
面试要点:这是高频考题。回答需涵盖“静态描述规范”、“动态路由架构”和“样本增强”三层体系。针对多工具场景,必须提到两级路由或RAG 检索增强方案,这是区分初级与高级工程师的关键。
提升准确率需从描述质量、路由设计、Few-shot 三个层面体系化建设:

2.1 工具描述(Description)编写规范
好的描述是准确选择的基础,必须包含四要素:
- 动词开头,直击职责:避免“这是一个……工具”等废话,直接以动作定义功能(如“查询实时天气数据”)。
- 参数约束显性化:明确参数的类型、格式及取值范围,减少模型幻觉。
- 正反适用场景(关键):不仅要写“适用场景”,更要写明“反适用场景”(Negative Constraints),这是防止误用的最有效手段。
- 相似工具差异化:若存在功能重叠,必须在描述中直接点明区别。例如:“查实时天气用
get_current_weather,查历史趋势用get_weather_history”。
2.2 大规模工具的路由设计
当工具超过 20 个时,平铺直叙会导致性能下降,推荐两种进阶方案:
- 两级路由(Hierarchical Routing):
- 第一级(分类):将工具按领域分组(如数据查询、代码执行、文件操作),LLM 仅根据组描述选择类别。
- 第二级(精选):确定类别后,仅注入该组内的 5-8 个候选工具进行精确匹配。
- 检索增强路由(RAG-based Routing):
- 将用户意图向量化,与工具描述库进行语义检索,召回 Top-K 最相关候选。
- 将召回结果作为 Context 输入 LLM 做最终决策。此方案 Token 消耗更低,且能动态支持新增工具,无需重构 Prompt。
2.3 Few-shot 样本设计策略
本章节为 Public 试读订购后可阅读全文。
需付费查看