接了新能力,别只测工具返回值

举报
李太白的白 发表于 2026/11/05 01:03:12 2026/11/05
【摘要】 给 read 加图片能力时只验证了工具返回值,模型却一张图都没收到:中间 beforeRequest 钩子把图片块全剥掉,还不报错。把断言从工具返回挪到模型请求,数 content blocks 里的图片个数,任何一层吞掉能力都会当场暴露。

工具层全绿,用户那边没图

给 read 加图片处理能力时,我只验证了工具层返回的图片块,就认为功能上线。两个月后实测,模型只看到一行诊断信息。原因是中间 image-gen 扩展有个 beforeRequest 钩子,把非 view_image 来源的 toolResult 图片全剥掉了。工具返回值和模型实际收到的消息之间隔着好几层钩子,任何一层都能静默改写,而且不报错。

断言要打在消费方

改法是把验证点从「工具返回什么」挪到「模型收到什么」。直接打印模型请求里的 content blocks,数图片块个数,期望 1。这条断言跨过所有中间层,谁吞了能力都当场暴露。工具层断言只能证明处理器写得对,证明不了链路通。

把路径画出来再写用例

接处理器、适配器、钩子这类上游能力,我先画出从生产端到消费端的传递路径,逐层标注可能丢数据的地方,然后在末端写一条端到端用例。跑完再翻日志,看有没有被静默降级的痕迹。

一个钩子能废掉两个月

功能不是坏了,是从来没通。链路终点那个断言,成本只有几十行代码。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。