本文旨在解决 LLM 驱动的 AI 代理在拥有大型工具库时面临的上下文膨胀和工具选择混乱问题。文章引入了“工具搜索工具”模式,该模式受 Anthropic 启发,但通过 Spring AI 的递归增强器 (Recursive Advisors) 为任何 LLM 提供了可移植的实现。此方法在初期会对所有工具进行索引,但只向 LLM 发送一个“工具搜索工具”的定义。随后,LLM 会查询此搜索工具以了解其功能,并仅将相关的工具定义动态注入到后续的提示中。初步的基准测试表明,在 Gemini、OpenAI 和 Anthropic 模型中,该方法实现了显著的 Token 节省(34-64%),并提高了工具选择的准确性,尤其是在处理 30 多个工具时。文章详细阐述了实现过程,展示了可插拔的搜索策略(语义、关键词、正则表达式),提供了代码示例,并讨论了该方法最有利的使用场景,建议将其应用于拥有 20 多个工具或工具消耗超过 5K Token 的系统。

