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

相关推荐
xier_ran5 分钟前
【infra之路】AI 编译器学习笔记(十三):AI 编译器全景——TVM、XLA、IREE 与其他
人工智能·笔记·学习
用户8371332007612 分钟前
感觉终于把复杂的 RAG 技术整理明白了
人工智能·llm
Points13 分钟前
我用 Codex 从零做了一个 Agent:让大模型的运行过程看得见、查得清
agent
今年下半年19 分钟前
AI智能体项目实战记录(06):RAG项目实战之文件上传及文档读取解析
人工智能·rag·文档解析
什么嘻嘻果冻21 分钟前
无代码开发平台的技术架构,恐象 AI 的生成引擎拆解
大数据·人工智能·低代码
解决问题no解决代码问题22 分钟前
Java金融后端转LLM应用开发 Day1:初识生成式AI与大模型本质
人工智能
自养Agent24 分钟前
Agent Harness 从用到会造:Skill 不是一次 API 调用,是一段会复用的行为
人工智能·llm
stereohomology25 分钟前
我对deepseek4.1flash, glm5.3及flash能力的感受与基准测试相同
人工智能·llm·测评分
谁在黄金彼岸28 分钟前
2026年第42周GitHub趋势周报
人工智能
用户31346721435428 分钟前
learn-claude-code笔记5: TodoWrite — 没有计划的 Agent,做着做着就偏了
llm·agent