AI 代理的难题:工具调用是怎么升级的

过去两年里,AI 调用工具的方法基本没变,大家也没怎么抱怨。

一开始,这个方法看起来很聪明。你把一堆工具的信息(名字、说明、需要什么参数)告诉大模型,它就不只是聊天机器人了。比如你问:"巴黎今天天气怎么样?" 模型会输出一段标准的 JSON 数据,后台服务器拿着它去查天气 API,再把结果交回来,模型整理成一句自然的话回复你。整个过程你看不到,但感觉就像 AI 自己会查资料一样,很神奇。

但这种"魔法"背后,其实是很机械的流程,而且越来越容易出问题。


问题在代理变复杂时暴露出来。

比如你让 AI 帮你找出 Gmail 里所有 Bob 发来的邮件。听着简单对吧?

它先调用 search_email("Bob"),拿到一堆邮件 ID。然后对每个 ID 再分别调用 read_email(id_1)read_email(id_2)......一次又一次。而且每一步都要准确记住那些 ID,稍微出错就会出问题。

更糟的是,每次工具返回的内容都会被塞进模型的"上下文"里,就像不断往背包里塞东西:各种没用的元数据、HTML 代码、广告内容......很多根本用不上,却占地方。

写博客的代理更惨。它先搜索网页,拿到一堆网址;再抓取每个网址,得到大量 HTML;等到真正开始写文章时,还得把这些乱七八糟的原始内容重新整理再喂给写作工具。明明几行代码几毫秒就能做完的事,却浪费了成千上万的 token。

有人说,那就把上下文窗口做大一点。但问题不在"能装多少",而在"浪费太多"。模型真正能好好思考的空间,大概也就 12 万到 20 万 token 左右。不是容量不够,是效率太低。


Anthropic 给出的解决办法,不是换一个新模型,而是换一种思路。

核心叫做:程序化工具调用

简单说,不要让模型一次次用 JSON 去"指挥"工具,而是让它自己写一小段代码,把所有步骤一次性搞定。

给模型一个可以安全执行代码的环境。把工具当成函数。然后模型可以写一个小程序,里面有循环、判断、变量,把整个流程一次性跑完。

这就像:与其让莎士比亚先学一个月普通话,再用普通话写剧本,不如直接让他用英语写。既然模型本来就擅长写代码式的逻辑,何必绕一圈?

实验发现,这种方法能减少 30% 到 50% 的 token 使用量,速度也更快。而且改造成本不高:加一个代码执行工具,做点小改动,就能用。


还有其他改进。

动态过滤

以前抓网页时,会把整个网页的 HTML 全部丢进模型,包括导航栏、广告、页脚。现在会先自动过滤,只留下有用的正文内容。光这一点,平均就能省下 24% 的 token。

工具搜索

如果一个系统里有几十上百个工具,以前是每次对话都把所有工具说明塞进上下文,很浪费。现在只加载一个"工具搜索工具",需要哪个工具再去找。没用到的工具就不出现。最多可以减少 80% 的上下文占用。

工具使用示例

有些工具参数特别复杂,比如客服系统里的 create_ticket,字段多又有各种规则。光看说明文档模型可能理解不透。

现在可以给模型一些示例调用,让它"照着例子学"。准确率从 72% 提升到 90%,在真实系统里,这种提升非常关键。


总的来说,这四个改进说明一件事:工具调用正在变成熟。

一开始,它只是个聪明的小技巧------让模型输出 JSON,就能调用工具。

但随着 AI 代理变复杂,这种方法开始显得笨重。

新的做法没有推翻旧基础,而是让它更高效:

用代码替代繁琐的来回调用,减少无用信息,按需加载工具,用示例教模型。

魔法还在。

只是现在更聪明、更省资源了。

相关推荐
Li emily1 天前
解决了加密货币api多币种订阅时的数据乱序问题
人工智能·python·api·fastapi
山川绿水1 天前
bugku——PWN——overflow2
人工智能·web安全·网络安全
程序员cxuan1 天前
微信读书官方发了 skills,把我给秀麻了。
人工智能·后端·程序员
fake_ss1981 天前
AI时代学习全栈项目开发的新范式
java·人工智能·学习·架构·个人开发·学习方法
nassi_1 天前
对AI工程问题的一些思考
大数据·人工智能·hadoop
AI技术控1 天前
《Transformers are Inherently Succinct》论文解读:从“能表达什么”到“多紧凑地表达”
人工智能·python·深度学习·机器学习·自然语言处理
蔡俊锋1 天前
AI记忆压缩术:从305GB到7.4GB的魔法
人工智能·ai·ai 记忆
Upsy-Daisy1 天前
AI Agent 项目学习笔记(二):Spring AI 与 ChatClient 主链路解析
人工智能·笔记·学习
zhangxingchao1 天前
AI应用开发六:企业知识库
前端·人工智能·后端
Terrence Shen1 天前
关于传统软件工程后端技术和当代AI智能体agent构建的harness engineering的一点思考
人工智能·软件工程