跳到主要内容

15 篇博文 含有标签「tool-calling」

查看所有标签

工具幻觉率:你的智能体团队尚未运行的探测工具集

· 阅读需 11 分钟
Tian Pan
Software Engineer

询问一个 Agent 团队他们的工具调用成功率是多少,你会得到一个答案。但如果你问他们的工具幻觉率(tool-hallucination rate)是多少,全场就会陷入沉默。大多数团队并不追踪这一指标,而那些追踪的团队通常也只计算最灾难性的版本——即目录中不存在的函数名——而那些更隐蔽、代价更高的变体则在生产环境中未受监控地运行。

幻觉化的工具调用不仅仅是指模型凭空捏造了 delete_orphaned_users(older_than="30d") 导致你的分发器(dispatcher)抛出 ToolNotFoundError。这是简单的情况。更复杂的情况是,虚假的调用通过模糊匹配隐匿地指向了一个相邻的真实工具,或者工具名称正确,但 Agent 捏造了一个参数,而你的 Schema 因为将其标记为可选而愉快地接受了它。这两种情况都能通过你的“工具调用是否成功”仪表盘,但都不是用户真正想要的。

幽灵工具调用:当AI智能体调用不存在的工具

· 阅读需 9 分钟
Tian Pan
Software Engineer

你的智能体通过了所有单元测试,完美处理了正常路径,然后在某个周二下午,它试图调用 get_user_preferences_v2——一个在你的代码库中从未存在过的函数。这个调用在语法上看起来完全正确。参数也很合理。唯一的问题是,你的智能体凭空捏造了这一切。

这就是幽灵工具调用:一种不表现为错误文本而表现为错误操作的幻觉。与人类可能在审查中发现的事实幻觉不同,幽灵工具调用会直接命中你的运行时,抛出一个晦涩的 ToolNotFoundError,并使原本运行正常的多步骤工作流脱轨。

工具爆炸问题:为什么你的智能体在 30 个工具时就会崩溃

· 阅读需 10 分钟
Tian Pan
Software Engineer

每个智能体的演示都从三个工具开始。一个网页搜索,一个计算器,也许再加一个代码执行器。智能体每次都表现完美。于是你上线了,团队开始添加各种集成——Slack、Jira、GitHub、邮件、数据库查询、内部 API。六个月后,你的智能体拥有了 150 个工具,却有 40% 的概率选错。

这就是工具爆炸问题,也是生产环境智能体系统中最少被讨论的失败模式之一。退化并非线性的——而是断崖式的。一个在 5 个工具时准确率达 95% 的智能体,在你给它 100 个工具时可能会跌破 30%,即使模型和提示词完全没有改变。