AI Agent 如何动态选择工具:Skill 匹配与三种筛选模式

起因

读了一篇AI制药Agent的论文www.biorxiv.org/content/10.... 它在工具选择的设计上,我觉得很值得借鉴。

解读

Agent的工具选择机制

流程示意图

css 复制代码
用户问题
   ↓
Skill 匹配
   ↓
提取 Skill 中要求使用的工具
   ↓
根据模式选择额外工具
   ├─ llm:让 LLM 判断
   ├─ embedding:计算语义相似度
   └─ all:直接全部使用
   ↓
将工具说明和参数注入上下文
   ↓
规划 LLM 生成 <act> Python/Bash 代码
   ↓
执行代码

它有个tool的动态选择机制,每次新用户问题进来,先匹配 skill 模板,再选择工具,工具选择支持三种模式(llm、embedding、all)。 具体来说,它先使用一个skill template匹配用户问题,然后根据匹配到的skill(某个标准流程,会指定这个流程固定要使用的工具),并从模版中提取必需的工具,然后再根据模式选择额外的工具。始终保留的核心工具"execute_python","execute_bash","inspect_tool_code","query_pubmed","web_search",也就是不管用户提出什么问题,tool_selection是什么模型,这几个工具都会保留。

工具选择的三种模式:

  1. llm:简单来说就是把问题和现有工具描述交给大模型,让大模型决定使用哪些工具。它这块有个细节就是它只把工具描述的第一句交给大模型以节省token的消耗,这对工具的第一句描述提出了挺高的要求,并且也增加的选不准工具的风险,个人觉得这种对准确性和严谨性很高的任务,token费点就费点吧。
  2. embedding:参考的RAG那块的思想,根据问题和工具描述的相似度返回要使用的工具。
  3. all:把所有工具都塞进上下文窗口。all 并不一定最准确。工具越多,模型的"选择注意力"越容易被稀释。

与普通Agent的区别

没有单独的工具检索模块时,典型做法就是:

markdown 复制代码
用户问题
+ 所有工具的名称
+ 所有工具的描述
+ 所有工具的参数 Schema
        ↓
交给主 LLM
        ↓
LLM 决定调用哪个工具

但是论文中的Agent增加了预筛选步骤

相关推荐
子兮曰6 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
回眸&啤酒鸭6 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智6 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
AI的探索之旅6 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein6 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu6 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
美狐美颜SDK开放平台6 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
1点东西6 天前
做了近两年的Agent开发,其实真正要学的就是这五件事
llm·agent·ai编程
wukangjupingbb6 天前
智能网联汽车安全能力框架
人工智能