基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
  • 知识卡片碎片时间过考点
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
    • AI 热点每日 AI 资讯与动向
AI 工作台
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-11-12 15:59

ChatGPT 插件上线后暴露多轮调用断点

dev.to · AI#ChatGPT#MCP#工具调用
Editor brief · 编辑速览

作者在真实购买对话中发现,用户补充邮编时若未再次提及插件,该轮对话可能无法调用报价工具。其修复方案是在卡片内采集邮编,由组件直接调用工具完成报价。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

一个能把设计图变成海报、帆布画和马克杯的 ChatGPT 插件,通过审核后,仍在一次真实对话里暴露了五个问题:追问后工具失联、模型乱加配图、卡片更新不生效,以及运费和商品可售判断出错。

作者用越南顾客购买马克杯的流程,把这些问题串了起来。对做 MCP 集成的程序员,这篇最有用的提醒是:审核通过只能说明部分检查过关,用户能不能从提需求一路走到拿到报价,还得完整跑一遍。

用户回答了追问,工具为什么反而没被调用

第一次交互正常:生成设计、生成打印预览,报价工具提示需要越南邮编,ChatGPT 随即向用户追问。作者回复 100000,模型却表示无法在聊天里可靠计算含配送的准确价格。

服务器没收到任何请求。

按作者这次测试,插件工具只在用户带有 @mention 的那条消息中可用。用户单独回复邮编,没有继续提及插件,模型便没有工具可调。作者改成 @MyImage2Life my postcode is 100000 后,几秒钟就拿到了价格。

这里要分清:这是作者观察到的运行行为,原文没有给出适用于所有 ChatGPT、Claude 或 MCP 客户端的规则。

他们的修复分成两层。卡片自己提供邮编输入框,由 widget 直接调用报价工具,不再等模型接下一轮对话;文本结果则明确要求模型提醒用户,回复邮编时要以插件 mention 开头。

必须补齐的信息,尽量让卡片自己收集并完成后续操作。

对前端开发者,这其实是交互状态归谁管理的问题。既然卡片已经拿到了预览数据,就可以承接邮编输入和报价请求,减少流程对下一轮模型行为的依赖。

卡片已经显示真图,为什么还会出现假预览

作者的工具已经生成设计,卡片里也显示了真实打印预览,ChatGPT 却额外从图库找了一张图,标成示意预览。下一轮,它又从电商平台找来一张。

这对打印商品尤其麻烦。用户需要确认的是实际会印出来的设计,额外图片却可能让人误认成成品效果。

作者在服务端指令中补了一条约束:不要添加网络图片,也不要描述示意图,因为卡片已经展示真实设计。此后观察到的回答就只剩文字和卡片。原文没有提供测试次数,不能据此认定一句提示就能永久杜绝这类行为,但它说明了指令应明确交代展示内容的来源和边界。

卡片本身还有另一层问题:作者上线带邮编输入框的新版本后,结构化内容已经更新,ChatGPT 渲染的 HTML 却仍是旧版。

按作者的排查,模板会按 ui:// 资源 URI 缓存。他换了新 URI,同时保留旧地址的服务。原因是已发布的工具定义仍指向旧地址,要等更新后的定义通过自动检查,引用才会切换。

因此,更新 widget 不能只看 HTML 是否部署成功,还要核对工具定义引用的 URI。原文没说明缓存时长,也没提供主动失效的办法。

运费接口拒绝报价,不等于整个国家不能配送

作者的打印网络报价 API 曾对日本、越南、印度和中国返回「目的地没有可用配送选项」。网站把它直接翻成了「你所在的国家不可用」。

后来发现,同一个报价请求,加上邮编就能返回价格。

作者对 231 个国家做了带样例邮编和不带邮编的比较,其中 9 个国家的结果受邮编影响,而且加入邮编没有让结果变差。

这是全文最明确的一组实测数据。它揭示的不是这些国家的普遍配送政策,而是作者所接报价服务的一种行为:接口中的可选字段,也可能影响业务判断。字段可以不传,不代表缺少它时就能得到足够可靠的结论。

他们随后用各国样例邮编计算起价和可售状态,只在确认拒绝时显示不可用;结果不确定,就暂不展示,避免错误劝退用户。样例邮编支撑的是国家层面的初步展示,原文没有证明它能代表该国所有地址。

另一个调整发生在推荐之前。商品可售性不仅因国家不同,也可能因尺寸不同。搜索工具因此增加了可选国家参数,返回当地可配送的商品、以当地货币展示的起价,以及无可配送结果时的替代选项。指令也要求尽早询问国家,避免先推荐、后告知买不了。

我的判断

作者最有价值的做法,是把「工具执行成功」和「顾客完成任务」分开验证。一次生成成功、一次报价成功,都无法覆盖追问、页面缓存、目的地限制这些衔接处。

让 widget 承担确定性的补信息步骤,我认为比完全依赖模型追问更稳妥,但前提是客户端允许卡片直接调用相应工具,团队也能维护这部分交互。原文没有比较开发成本和整体完成率,这仍是工程经验,不是经过对照实验的最佳方案。

同样,禁止补充网络图片解决了作者观察到的问题,却不能代替商品预览本身的校验。跨国家测试也值得借鉴,但 231 国的结果只对应这套打印网络,不能外推到其他物流服务。

作者说同一服务器也能用于 Claude 和其他 MCP 客户端,但没有报告这些客户端上的完整测试结果。迁移时,工具是否持续可用、卡片如何加载,都需要重新确认。

能拿来做什么

  • 做 ChatGPT MCP 卡片时,把邮编等必填信息的输入和后续调用接成完整流程,并测试用户只回复一个值时能否继续。
  • 更新 widget 时,同时检查 ui:// URI、工具定义引用和实际渲染版本;切换资源地址期间保留仍被引用的旧资源。
  • 在 Node 服务中封装第三方报价 API 时,先比较可选字段缺失和补齐后的结果,再决定能否向用户显示「不可用」。
  • 提交审核前,用一个自己不熟悉的国家跑完推荐、预览和报价流程;如果商品受地区限制,就在推荐前获取国家信息。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
接口返回成功,还需验证用户能否看到
下一篇
精简智能体规则文件的实用检查清单

资讯速览

dev.to · AI · 2026-11-12 15:59

AI 评分 8.0 / 10

相关标签

#ChatGPT#MCP#工具调用

继续阅读

  • AI 清理进程为何会误关 Mac 应用
  • 接口返回成功,还需验证用户能否看到
  • 精简智能体规则文件的实用检查清单
  • 用 Cursor 规则触发范围控制上下文成本
  • GPT-5 与 o3 停用前的迁移与回归检查