当前位置: 首页 > news >正文

工具调用协议:模型如何决定调用哪个工具

Agent 会做事,不是因为模型“有手”。

它能做事,是因为 OpenClaw 把工具能力以 schema 和协议的形式交给模型,再把模型的工具调用请求送到真实执行层。

先说结论:工具调用是一次协议协作

一次工具调用大致是:

OpenClaw 选择可用工具 ↓ 把工具说明和 schema 放进模型上下文 ↓ 模型决定是否调用工具 ↓ 模型生成 tool name + arguments ↓ OpenClaw 校验参数和权限 ↓ 执行工具 ↓ 把 tool result 返回给模型 ↓ 模型继续推理或给最终答案

模型只提出调用意图;OpenClaw 才真正执行。

工具 schema 的作用

工具 schema 告诉模型:

工具叫什么 解决什么问题 需要哪些参数 参数类型是什么 哪些字段必填 返回什么结果

如果 schema 含糊,模型就容易填错参数。

如果工具太多,模型就容易选错工具。

可用工具不是全部工具

每次 run 的工具集合会经过过滤:

agent policy profile / session setting sandbox mode plugin enabled state MCP availability client-provided tools permission boundary

所以“系统安装了某个工具”不等于“这个 run 里模型能看到它”。

Tool Search:大工具目录的解决思路

当工具很多时,直接把所有 schema 发给模型会很贵。

OpenClaw 的 Tool Search 提供另一种形态:

模型先 search 工具 再 describe 目标工具 最后 call 选中的工具

这样模型不需要一开始看到所有完整 schema。适合大型 MCP、插件、客户端工具目录。

工具调用失败怎么办

工具失败可能来自:

参数错误 权限不足 approval 未通过 sandbox 看不到文件 网络超时 外部服务失败 工具返回太大 模型重复调用

OpenClaw 要把失败结果返回给模型,让模型有机会修正;但权限和安全错误不应该被模型“说服”绕过。

一个真实场景

用户说:

打开后台,导出昨天的数据,然后总结异常。

模型可能选择:

browser.open browser.click browser.snapshot file.read spreadsheet analyze message.send

每一步都不是自然语言幻想,而是具体 tool call、参数、执行结果和后续推理组成的链。

常见误解

误解一:模型可以直接执行工具

不可以。模型只生成调用请求,OpenClaw 执行并返回结果。

误解二:工具越多越好

不一定。工具太多会增加上下文成本和误选概率。

误解三:工具失败就是模型失败

不一定。可能是权限、sandbox、外部服务或参数 schema 问题。

最后总结

工具调用让模型从“会说”变成“能做”,但它本质是协议协作。

一句话总结:

模型选择工具,OpenClaw 校验和执行,结果再回到模型继续推理。

本节作业

  1. 选一个工具,写出它需要的 name、description、parameters。
  2. 解释“已安装工具”和“本次 run 可用工具”的区别。
  3. 思考大型 MCP 目录为什么需要 Tool Search。
  4. 找一次工具失败,判断失败来源在哪一层。

下一节预告

下一节讲模型降级、重试和错误处理策略。

参考资料

  • OpenClaw Docs:Tools overview
  • OpenClaw Docs:Tool Search
  • OpenClaw Docs:Tool plugins
  • OpenClaw Docs:Tools invoke API
  • OpenClaw Docs:Exec approvals

原文链接:工具调用协议:模型如何决定调用哪个工具 | Harries Blog™

http://www.gsyq.cn/news/1516697.html

相关文章:

  • 2026年阿里云云服务器Hermes Agent部署与百炼Token Plan配置教程
  • 节后徐州茅台迎来集中变现潮,2026正规茅台回收门店分级盘点 - 宁波早知道
  • 2026手机证件照背景怎么选?底色用途+换底手把手教程 - 办公小帮手
  • 2026 深圳黄金回收店推荐|大额奢品交易安全深度评测,耀辉高净值资产交易标杆首选 - 奢侈品回收
  • 别再手动签名了!Zephyr项目集成MCUBoot的完整配置流程(含密钥生成与分区详解)
  • 保姆级教程:用DeepSpeed Chat复现ChatGPT的RLHF全流程(附代码避坑点)
  • 2026大连首饰回收避坑!别被“低价引流+高额手续费”套路了 - 逸程
  • 通信基站蓄电池组远程监控可视化管理平台方案
  • Ternimal:让终端“活“起来的终极魔法,每秒2500帧的数学奇迹!
  • Q-Commerce架构设计:即时履约与毫秒级调度的工程实践
  • 2026吴忠黄金白银回收铂金金条回收正规门店 TOP5 + 实地测评 + 商家联系电话整理 - 中安检金银铂钻回收
  • MuleSoft+LLM企业级AI编排:安全、合规、可审计的智能工作流
  • 2026 深圳黄金奢侈品回收设备实测横向对比 无损鉴定硬核实力,耀辉稳居行业标杆 - 奢侈品回收
  • 出国医学公证认证怎么办?出国医学公证认证要准备啥资料? - 指上通
  • 3小时精通:打造你的智能文件枢纽
  • Docker部署实战:Python算法交易环境的快速搭建与云端部署指南
  • Python之str-maker包语法、参数和实际应用案例
  • 城通网盘限速破解利器:ctfileGet免费解析工具全攻略
  • 终于搞懂个人档案一般包括什么内容,毕业再也不怕处理档案了! - 慧办好
  • 展厅互动数字人企业综合实力TOP5排行榜:合规可靠供应商甄选指南 - 智鸥科技
  • Python之mathdistops包语法、参数和实际应用案例
  • Python之mathconvert包语法、参数和实际应用案例
  • 华为云IoT平台实战:用虚拟设备5分钟搞定无人机物模型创建与调试
  • 如何在Windows上加速Android模拟器:深入解析Android Emulator Hypervisor Driver
  • DLSS版本管理神器:游戏图形优化利器完全指南
  • EZCAD2激光打标软件MFC二次开发实操包(含MarkEzd.dll与完整界面资源)
  • CANN/cannbot-skills:消除冗余的边界运算
  • Python之rmftool包语法、参数和实际应用案例
  • 别再瞎调PID了!用STM32F103给直流电机做三闭环,这份代码和参数调优心得请收好
  • 杭州公司注销公司推荐 附全套注销办理材料清单 - 玖叁鹿