当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > MCP Sampling 为什么不该继续扩张:模型责任、上下文过滤与兼容验收

MCP Sampling 为什么不该继续扩张:模型责任、上下文过滤与兼容验收

来源:17golang原创 2026-08-18 19:45:34 0浏览 收藏

维护 MCP Server 的时候,如果日志里还出现 sampling/createMessage,先别急着删掉对应接口:MCP 2026-07-28 版本规范已经把 Sampling 标记为弃用,旧能力仍保留完整过渡期。你真正要做的,是把“服务端借客户端模型完成一次生成”的逻辑从新功能入口里移出去,同时给已经接入的存量连接安排好兼容和回归边界校验。

要点速览
  • sampling/createMessage 仍可在旧版本连接上正常运行,但不适合作为新实现的默认依赖项。
  • 新功能优先由服务端直接接入模型提供商 API,把模型选型、超时控制、审计和成本统计都纳入自身管控边界。
  • 如果需要跨无状态请求继续维持交互,应当评估 2026-07-28 规范里的 MRTR 和 input_required 模式。
  • 迁移验收至少要覆盖能力协商、拒绝分支、超时容错、敏感上下文过滤和旧客户端兼容几个维度。

先看清 Sampling 以前解决了什么

旧版 MCP 允许服务端在处理单次客户端请求时,向客户端发起 sampling/createMessage,让客户端代为选择模型、发起生成请求,再把结果回传给服务端。这套逻辑的好处是服务端不需要存储模型厂商的密钥,客户端也能自主控制模型选择,以及是否让用户确认生成动作、查看生成结果。

这条链路的核心问题从来不是“能不能正常生成内容”,而是权限归属链路的强绑定:服务端提出消息内容和模型偏好,客户端决定是否放行、用哪个模型执行,以及要不要让用户查看请求和结果。只要这几个动作仍然依赖一条全程保持打开的长请求流,后续部署到网关、队列或者无状态实例的时候,麻烦会非常多。

MCP sampling/createMessage 从 Server 到 Client 再到模型并返回结果的调用链,突出用户确认节点

2026-07-28 规范变了什么

2026-07-28 版本把 Roots、Sampling 和 Logging 三个能力标记为弃用。官方发布说明同时明确:这些能力在过渡期内完全可用,至少会保留十二个月,真正下线还需要后续的正式规范迭代。所以线上的旧客户端不能只看到字段里的deprecated标记,就直接切断对应链路。

对正在开发新代码的开发者来说,更重要的信号是官方给出的替代方向:Sampling 能力建议改成由服务端直接集成模型提供商 API;需要把上下文输入带入一次工具调用时,优先使用工具参数、资源 URI 或者服务端侧配置;跨无状态请求的交互需求,则转向带有 input_requiredinputResponses 的多轮模式。

现有做法迁移判断建议动作
旧客户端仍发送 sampling/createMessage 请求兼容期内可正常运行保留适配层,记录客户端版本和调用量
新功能强依赖客户端代管的模型能力不宜继续扩大依赖范围改成服务端直连模型 API
单次请求需要跨连接继续处理旧长连接稳定性不足评估 MRTR 与 input_required 方案

迁移时先拆掉哪一层

可以把旧的 Sampling 调用拆成三层:业务层判断要不要触发生成,协议层负责发送 Sampling 请求,模型层完全由客户端代管。迁移不是简单把 JSON-RPC 的方法名换成另一个,而是把模型层的责任重新放回一个完全可观测的服务边界里。

{
  "method": "sampling/createMessage",
  "params": {
    "messages": [{"role": "user", "content": {"type": "text", "text": "整理这次工具调用的结果"}}],
    "maxTokens": 300,
    "includeContext": "thisServer"
  }
}

这些请求要逐项盘点校验:哪些文本来自用户输入,哪些内容来自关联资源,includeContext 有没有超出预设的数据范围,生成请求被拒绝后业务是否还能返回用户可读懂的结果。迁移到直连 API 之后,这些校验逻辑不能直接删掉,只是从 MCP 客户端的确认界面,转移到服务端的授权、审计和数据过滤模块里。

直连模型 API 的最小落地边界

新的实现方案可以让 MCP 工具只返回结构化的事实数据,把摘要生成、内容分类或者任务规划这类能力,交给服务端自己维护的模型适配器处理。适配器至少要包含模型白名单、请求超时控制、最大输入长度限制、调用费用统计和失败降级逻辑;不要让工具参数直接拼接成一段完全不可追踪的系统指令。

tool result -> context filter -> model adapter -> JSON schema check -> user-visible result

这套方案的好处是调用链路更直接:服务端能明确知道是哪次工具调用触发了模型请求,也能在数据落库之前清理掉密钥、个人信息和不必要的原始资源内容。需要额外付出的成本是服务端要自己管理模型密钥、不同供应商的接口差异和限流规则,这些运维成本应当在迁移评审环节明确记录下来。

MCP 工具结果经过上下文过滤后进入服务端模型 API,再经过 JSON 校验返回的迁移后路径

MRTR 适合解决哪类跨请求问题

如果工具处理到一半需要用户补充额外信息,旧的实现方式可能依赖服务端向客户端发起额外请求,同时全程保持长连接流。2026-07-28 规范介绍的 MRTR 能力,允许服务端直接返回 resultType: input_required,客户端补齐 inputResponses 之后直接重试最开始的原始调用即可。

这不代表所有 Sampling 场景都要机械替换成 MRTR 逻辑。模型生成环节仍然由服务端直连的 API 负责;只有“工具执行中途需要用户输入、确认或者下一步动作”这类场景,才把中断状态建模成可恢复的业务状态。两类逻辑职责完全不同,混在一起会让重试机制和审计链路变得非常模糊。

一份可执行的迁移验收清单

  • 能力协商:旧连接声明 sampling 时,适配层仍能正常识别并记录对应版本信息。
  • 安全边界:发起模型请求前自动过滤用户隐私、密钥和不必要的 includeContext 内容。
  • 失败路径:用户主动拒绝、模型超时、供应商限流和返回 JSON 格式不合规时,都有明确的预设业务返回。
  • 跨请求:需要补充用户输入时,验证 input_requiredinputResponses 的幂等键和过期时间是否正常生效。
  • 观测能力:能按工具调用 ID 关联对应的模型耗时、令牌用量、供应商响应内容和最终返回结果。

常见问题

MCP Sampling 是不是 2026-07-28 就不能用了?

不是。它只是被标记为弃用,旧能力仍有完整的兼容过渡期;新功能不应该继续把它当作长期依赖的基础能力。

为什么推荐直连模型 API?

服务端可以统一管理模型选择、密钥、审计、超时和费用统计,也更容易在无状态部署环境里完整追踪一次工具调用的全链路。

MRTR 能完全替代 Sampling 吗?

不能直接画等号。MRTR 主要解决跨请求的输入和交互需求,模型生成本身仍然需要按照业务实际需求接入合适的模型 API。

已经上线的 MCP Server 现在应该立刻全部重写吗?

先统计现有 Sampling 的调用量和存量客户端版本,保留原有兼容适配层,再给新接入的路径增加灰度和回归校验;没有明确的调用量统计支撑的前提下,不建议盲目一次性全量切换。

把弃用变成可控的迁移窗口

这次变更的核心不是要大家死记硬背一个废弃接口,而是重新划清模型调用、用户确认和工具交互三者之间的责任边界。旧 Sampling 链路先保持稳定兼容,新功能改走直连模型 API 的路径,需要跨请求的交互场景再用可恢复的输入状态处理,迁移就能从一次大改拆成多组可观测、可回退的小范围变更。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
Chrome DevTools 怎么查看请求响应头:Network、Headers 与缓存核对Chrome DevTools 怎么查看请求响应头:Network、Headers 与缓存核对
上一篇
Chrome DevTools 怎么查看请求响应头:Network、Headers 与缓存核对
Node.js 26 的 Temporal 默认可用吗:Date 迁移、时区边界与 LTS 前核对
下一篇
Node.js 26 的 Temporal 默认可用吗:Date 迁移、时区边界与 LTS 前核对
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • ljg-skills -
    ljg-skills
    ljg-skills 是李继刚开源的 AI 技能与提示词集合,面向大模型使用者整理了一批可复用的 prompt、角色设定和任务技能模板,适合用于学习提示词设计、搭建个人 AI 工作流和沉淀团队常用智能体能力。
    4956次使用
  • MELO音乐 - AI 音乐生成平台,支持多模态创作能力
    MELO音乐
    MELO音乐是一站式AI视频与音乐制作助手,对标suno, udio的高品质体验。提供伴奏生成、原创写词、无损导出、哼唱识曲、混音变声等全套音频与短视频编辑工具。无论是流行Kpop、电音说唱、民谣古风、摇滚儿歌还是商用轻音乐,MELO为你免费谱曲,轻松做同款!
    4519次使用
  • UniScribe - AI 免费在线音视频转文字平台
    UniScribe
    UniScribe 是一款 AI 音视频转文字与内容整理工具,支持上传音频、视频文件或粘贴 YouTube 链接,自动生成转写文本、摘要、思维导图和关键问题,并支持多格式导出,适合会议记录、课程学习、访谈整理和内容创作复盘。
    4469次使用
  • 剧云 - 免费 AI 智能中文剧本创作平台
    剧云
    剧云是专业中文剧本创作平台,安全稳定运行十余年,集成AI编剧、剧本医生审核、人物小传、剧情关系图、大纲编写、多人协作、Word导入导出、版权管控功能,数据安全防护,轻松高效创作剧本。
    4715次使用
  • 万象有声 - AI 一站式有声内容创作平台
    万象有声
    万象有声,一个专为有声创作者打造的新一代智能有声内容创作平台。平台提供专业的智能拆章、智能画本编辑、AI配音、AI生成音效、后期制作、智能对轨、智能审听等有声创作全流程工具,可以帮助创作者高效、低成本创作出引人入胜的有声作品。立即体验,让有声书制作更简单!
    4663次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码