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增加了预筛选步骤

相关推荐
l1258651 小时前
# RAG重排序实战:硅基流动bge-reranker-v2-m3在线API vs 本地CrossEncoder,一篇讲透两种方案
数据库·人工智能·python·深度学习·算法·机器学习·langchain
yingyuecom1 小时前
Seedance 2.5正式发布:映悦AI迎来“更长、更可控、更极致”的视频生成时代
人工智能·gpt·chatgpt·prompt·aigc
MindUp1 小时前
告别排版焦虑:从 PPT 模板到 AI 生成工具的个人使用体验与效率对比
人工智能·powerpoint
martindelophy1 小时前
Codex Chrome 插件 + Timeline Studio:构建可编辑的 AI 视频剪辑 Agent 工作流
前端·人工智能·chrome
AIkk861 小时前
大文件怎么压缩变小方便传输?本地压缩+云端方案对比测评
人工智能
薛定e的猫咪2 小时前
(ICLR2026)MORL‑FB:从无奖励强化学习视角重新审视多目标强化学习
人工智能·深度学习·机器学习
行业研究员2 小时前
腾讯云ADP:智能体平台封神榜
人工智能·microsoft·腾讯云·智能体·智能体平台·腾讯云adp
问天_观心2 小时前
零基础在windows环境下的WSL使用llamafactory(一)
人工智能·windows·python·神经网络·语言模型·github·模型蒸馏
陈童学哦2 小时前
DeepSeek Harness(Cordis):打破Agent框架黑盒,一切皆插件
人工智能