工具路由 · tool routing
直觉是"给 Agent 更多工具,它能力更强"。实测正好相反——工具多了,模型在 schema 里挑花眼,选错工具或选错参数。
原因:模型选工具靠的是工具描述 + 参数 schema 在上下文里的匹配度。20 个工具的 schema 占大量 token,描述间还互相干扰(read_file / read_config / read_yaml 都像"读")。工具少时模型一眼挑对,多了就开始猜。
解法是工具路由:不把所有工具都给主模型,先用一个轻量步骤(小模型/分类器/规则)按任务选一个子集,再把子集给主模型。主模型从 3~5 个里选,比从 20 个里选准得多。
下面给一个真实任务和 12 个候选工具。你选这个任务需要的子集(3~5 个),提交看你选得准不准、选错率降多少。
工具路由不一定要上模型,按复杂度分三档:
选哪档看工具数量:<8 个不用路由;8~15 个用规则;15~30 个上小模型;30+ 个分层。盲目上模型路由反而增加延迟和成本——规则够用就别上模型。