加载中...
加载中...
Agent 最贵的错误不是不调工具,而是调了一个不存在的工具、把 16 位卡号抄错一位、把「元」当成「分」——schema 全过、接口返回 200,业务已经错了。
Agent 最贵的错误不是不调工具,而是调了一个不存在的工具、把 16 位卡号抄错一位、把「元」当成「分」——schema 全过、接口返回 200,业务已经错了。
工具调用的失败分三层,每层要测的东西完全不同:
两个关键概念:
还有一层容易被忽略:单次正确率不等于可靠。τ-bench 提出 pass^k——同一任务独立重复 k 次、全部成功的比例。论文中表现最好的模型在 retail 域 pass^1 约 61.2%,pass^8 掉到 25% 以下。单次看着九成的 Agent,跑 8 次全对可能只剩六成。
与第 75 期 MCP 工具投毒的区别:投毒是工具描述被恶意改写,需要攻击者;本期的幻觉与参数错误是模型自身能力边界造成的,不需要任何人攻击,它自己就会错。
严格 JSON Schema 只保证结构,不保证语义。类型对了、枚举对了、必填都填了,订单号仍可能是模型编的,金额单位仍可能从元变成分。验收必须再加一层业务校验(实体存在性、单位、限额、账户状态),否则最贵的那类错会全部漏网。
Agent 调错工具、拿到错误结果、再用自然语言编一个听起来合理的答案——端到端打分看着还行,实际上核心接口已经被调错了。评测必须记录并断言每一次 tool call 的工具名与参数,而不是只比对最后那句话。
description 里写「例如 order_id 等于 123456」,用户没给订单号时,模型有相当概率直接把这个示例值填进去。工具描述里不要放看起来像真实数据的示例,改用占位符(如 order_id 填订单号)并明确写「必须来自用户输入或上游工具返回」。
pass^1 到 92% 听起来能用,pass^5 可能只剩六成多。银行场景要的是「每次都这样」,所以核心用例必须重复跑 k 次看全对率,而不是跑一次看成功率。
16 位以上数字的位级保真度下降是常态,错误常表现为相邻数字互换或后几位漂移,人工抽查很难发现。这类字段必须自动化逐字符比对,不要依赖人眼看。
「分享到微信」:手机浏览器打开时一键调起系统分享面板,选择微信即可分享到朋友圈或聊天。电脑上回退为复制文案。
暂无留言,来说两句吧