明天

第 01 期 · MCP 协议与 Skill 标准深度解析

协议层是 Agent 岗的分水岭。从 N×M 集成爆炸讲到 2026-07-28 无状态化改造、工具治理与工具投毒防御,附五道大厂真题的评分标准与满分范本。

发布 第 2 版8,502 字21 分钟研读
本页目录

2026 年秋招,MCP 已经不算加分题了。真正把人分层的是另一个问题:MCP 在 2026-07-28 那次改版到底动了什么。

能答出”握手和会话被砍掉、协议转向无状态”的人,和只会背”MCP 是 AI 的 USB-C”的人,在面试官眼里是两个层级。前者说明你在跟进协议演进,后者说明你半年前看过一篇公众号。协议层的题就是这样——它不考记忆,考的是你有没有把一个 server 真的部署到生产环境里过。

这一期把 MCP 与 Skill 标准拆开讲,顺带把 A2A 的边界说清楚。

开篇:这一专项在面试里的位置

考察定位与职级差异

职级典型岗位本专项的及格线
P5 / 校招大模型应用开发说清 MCP 解决什么、一次调用经过哪些角色、能写个 stdio server
P6大模型应用开发 / AI 工程化讲透传输层与版本差异、工具治理、上下文预算;能排查”工具选不对”
P7Agent 架构师 / 技术专家能做”要不要上 MCP”的决策;无状态化迁移方案、鉴权与多租户、网关治理
终面各职级通用讲清 MCP / Function Calling / Skill / A2A 的边界,给出判据而不是站队

协议类题目有个特点:它是 Agent 岗里少数能客观判对错的部分。上下文工程、记忆系统这类题可以自圆其说,协议题不行——Mcp-Session-Id 还在不在、错误码是多少,答错就是答错。所以面试官爱拿它做探底题:一面问一次,三面换个角度再问一次,看你是不是真的跟进了。

企业考察风格

  • 字节:偏工程落地。不怎么问协议细节,问的是”你接了三十个 MCP server 之后线上出了什么问题”。工具数量、上下文膨胀、调用延迟是高频追问区。
  • 阿里:偏架构与标准化。爱问协议分层、能力生命周期、多租户鉴权,以及”让你在公司内部推 MCP,你怎么说服各个业务方”。
  • 腾讯:偏产品化与生态。Skill 与 MCP 的组合、连接器目录、用户授权体验出现频率高。
  • 百度 / 美团:偏原理。JSON-RPC 2.0 的报文结构、流式返回怎么拼、模型侧工具 schema 怎么生成,会往细节里钻。
  • 中小厂与独角兽:直接上机。给你四十分钟写一个 MCP server,能跑通就算过。

考点知识图谱

mindmap root((MCP 与 Skill)) 基础层 N×M 集成爆炸 Tools、Resources、Prompts JSON-RPC 2.0 报文 stdio 与 Streamable HTTP 进阶层 工具发现与上下文成本 鉴权 OAuth 与 CIMD 工具投毒与 Rug Pull Skill 渐进式披露 架构层 无状态化改造 工具治理网关 多租户与审计 长任务 Tasks 扩展 开放层 MCP 与 Function Calling 边界 Skill 与 MCP 分工 A2A 横向协作 协议演进与生命周期

出题趋势预判

三个变化值得提前准备:

  1. 考点整体后移。当前规范版本是 2026-07-28(官方版本页),无状态化之后,“MCP 是什么”已经问不出区分度,取而代之的是”你怎么把老实现迁过去”、“跨调用状态放哪”。
  2. Skill 从特性变成标准。Anthropic 2025 年 10 月公开 Agent Skills,12 月把它作为开放标准发布(agentskills.io)。2026 年秋招已经进了 JD,问法集中在”Skill 和 MCP 是不是重复造轮子”。
  3. 安全从加分题变必答题。工具投毒、rug pull 这类词,去年只有做安全的人提,现在架构面直接问。原因很实在:企业接第三方 MCP server 是真的出过事故。

模块一:核心考点分层拆解

基础级(校招 / P5)

考点 A:MCP 解决的是什么问题

典型考题:三个应用要接二十个外部工具,你有几种做法?(腾讯·大模型应用开发 一面)

出题意图:看你脑子里有没有”集成成本”这个概念。这题是所有协议类题目的入口,答不好后面全废。

答题框架:把 N×M 说清楚——没有统一协议时,每个应用对每个工具各写一套适配,成本是 N×M;有 MCP 之后,应用侧只实现 client,工具侧只实现 server,成本降到 N+M。然后补上真正的关键点:MCP 换来的不只是省代码,是运行时动态发现,加一个 server 不用重新部署应用。

踩坑预警:把 MCP 说成”远程函数调用”是最常见的扣分。传输只是它的一层,能力声明(Tools / Resources / Prompts)与动态发现才是价值所在。

追问路径:① MCP 有没有解决不了的场景?(答不出”Agent 之间协作”会丢分)② 二十个工具全走 MCP 有什么代价?③ 工具方不愿意改造成 MCP server 怎么办?

考点 B:一次 tools/call 的完整链路

典型考题:用户说”帮我查上周的订单”,从这句话到拿到数据,中间经过哪些环节?(美团·AI 工程化 一面)

出题意图:考你是不是只在 PPT 上见过 MCP。真写过 server 的人,这条链路是能倒背的。

答题框架:用户 query 进模型 → 模型拿到工具 schema 决定调哪个 → MCP client 发 JSON-RPC 请求 → server 执行并回传结构化结果 → 结果作为 tool 消息回灌 → 模型生成答案。重点是两头:schema 从哪来(tools/list),结果怎么回灌(结构化 content,不是自然语言转述)。

踩坑预警:说”模型直接调用 API”直接扣大分。模型永远不执行函数,它只输出调用意图。

追问路径:① 结果里有图片或文件怎么传?② 调用失败了错误信息怎么回给模型?③ 一次请求里模型想调两个工具,能并发吗?

进阶级(P6)

考点 C:传输层与版本演进

典型考题:MCP 的传输方式有哪几种,你现在的项目选哪个,为什么?(字节·大模型应用开发 二面)

出题意图:这题是版本跟进度的探针。2025-11-25 及更早的版本靠 initialize 握手加会话,远程走 HTTP+SSE;2026-07-28 把握手和 Mcp-Session-Id 一起砍了,远程只剩 Streamable HTTP,HTTP+SSE 转入弃用。

答题框架:

传输适用场景现状
stdio本地进程、桌面客户端、CLI 工具主流,延迟最低,部署最简单
Streamable HTTP远程服务、多租户、Serverless现行标准,必须带 Mcp-Method / Mcp-Name 头
HTTP + SSE旧版远程已弃用,至少还有 12 个月缓冲,新项目不要碰

接着补一句无状态化的动机:会话让负载均衡必须做粘性路由、必须搞共享会话存储,网关还得解析请求体才知道调的是哪个方法。请求自描述之后,这些负担全没了。

踩坑预警:把”已弃用”说成”已移除”。MCP 有明确的功能生命周期政策,标记 Deprecated 到真正 Removed 至少留 12 个月。分不清这两个词,说明你读的是解读文章不是规范。

追问路径:① 无状态之后跨调用状态怎么保留?② 老 server 不升级怎么办?③ server/discover 是必须调用的吗?

考点 D:工具治理与上下文预算

典型考题:接了二十个 server、总共八百个工具,模型开始乱选工具,你怎么处理?(阿里·Agent 架构师 二面)

出题意图:这是 2026 年最高频的落地难题。八百个工具全塞进上下文,光 schema 就吃掉几万 token,而且模型的选择准确率会随候选数量下降。

答题框架:先说分层,再说检索式按需注入,最后说度量。

flowchart TD A[八百个工具] --> B{按场景与风险分层} B --> C[常驻层 · 高频且安全 · 直接进 schema] B --> D[检索层 · 语义检索命中后才注入] B --> E[隔离层 · 交给子 Agent 专用上下文] C --> F[描述写清边界与失败指引] D --> F E --> G[只回传结论] F --> H[监控误选率 / 空结果率 / 平均轮次]

工具描述这条要单独讲:描述是写给模型的接口文档,必须包含”什么时候用”、“什么时候别用”、“失败后改用哪个工具”。同一个 server 里出现两个语义相近的工具,是误选率飙升的头号原因。

踩坑预警:一上来就说”减少工具数量”。面试官想听治理手段,不是把功能砍掉。

追问路径:① 怎么量化”模型选错了”?② 分层之后工具检索本身出错怎么办?③ 工具列表能缓存吗,缓存多久?

考点 E:Skill 与渐进式披露

典型考题:SKILL.md 里为什么非要写 description,写详细点不行吗?(腾讯·AI 应用开发 二面)

出题意图:考你是不是把 Skill 当成了”更长的 prompt”。Skill 的全部设计围绕一件事:上下文是有限资源,按需加载。

答题框架:三层披露讲清楚——启动时只把全部 Skill 的 name + description 放进系统提示(百 token 量级);任务命中后再把 SKILL.md 正文读进上下文(官方建议控制在 5000 token 内);脚本、参考资料、模板按需读取,读脚本时甚至不必把脚本内容本身塞进上下文,直接执行即可。

规范约束也要能说出来:name 1-64 字符、只允许小写字母数字和连字符、必须与目录名一致;description 1-1024 字符、要同时说清”做什么”和”什么时候用”;可选字段有 license、compatibility、metadata、allowed-tools(实验性)。

踩坑预警:把 Skill 说成”调用外部服务的方式”。Skill 不做外部调用,它是上下文层的知识封装。

追问路径:① 一个 Skill 里塞太多内容会怎样?② 脚本是加载进上下文还是执行?③ 两个 Skill 都命中同一个任务怎么取舍?

架构级(P7)

考点 F:无状态化改造

典型考题:我们有个 server 依赖 session 保存中间状态,升级到 2026-07-28 之后怎么办?(字节·Agent 架构 三面)

出题意图:P7 的分水岭题。考的是你能不能在协议约束变化后给出工程方案,而不是抱怨规范变了。

答题框架:

  1. 先判断状态是不是真需要跨调用。多数所谓”会话状态”其实是每轮都能重算的,直接改成无状态。
  2. 真需要的话,让服务器铸造显式 handle,作为普通参数返回给模型,后续调用由模型把它当参数传回来。藏不住的状态才是好状态——模型看得见,重试时就丢不掉。
  3. 需要二次确认的场景改用 MRTR:响应标记 resultType: "input_required" 并附带问题,客户端收集完用户输入后带着 inputResponses 重新发起原调用。
sequenceDiagram participant C as Client 宿主 participant S as MCP Server C->>S: POST /mcp, Mcp-Method: tools/call S-->>C: resultType: input_required 与待确认问题 Note over C: 收集用户确认 C->>S: 重发原调用并携带 inputResponses S-->>C: 执行结果

迁移清单要主动说出来:错误码从 -32002 改成 -32602;logging/setLevel 已被拒绝,日志级别改走请求元数据里的 io.modelcontextprotocol/logLevel;Roots、Sampling、Logging 与 DCR 都在弃用名单上。

踩坑预警:提议”在网关层用 cookie 把请求粘回同一实例”。这等于把刚拆掉的会话又加回来,面试官会直接判定你没理解这次改版的动机。

追问路径:① 无状态之后重试和幂等怎么做?② 长任务怎么知道进度?③ 客户端和服务器版本不一致时怎么协商?

考点 G:鉴权、多租户与审计

典型考题:公司内部要开放 MCP 接入,鉴权怎么设计?(阿里·Agent 架构师 三面)

出题意图:企业落地的真实瓶颈。技术上不难,难在你要同时满足”用户零操作接入”和”权限不能越权”。

答题框架:三条线并行——用户侧走 OAuth 2.0 / OIDC,企业场景用托管授权(EMA)让管理员在 IdP 侧统一开通,用户凭现有组权限自动继承;客户端身份从 DCR 迁向 CIMD(Client ID Metadata Document),DCR 已进入弃用流程;安全加固要做 issuer 校验(RFC 9207,防授权服务器混淆)和凭证与签发者绑定,凭证不能跨授权服务器复用。审计侧必须落三件事:谁在什么时候调了哪个工具、传了什么参数、结果多大。

踩坑预警:只谈”加个 token”。工具调用是模型发起的,而模型可能被提示注入操纵,所以参数校验必须在服务端做,最小权限要落到单个工具粒度。

追问路径:① 用户授权给 A 应用,B 应用能复用吗?② 第三方 server 偷偷改工具描述怎么办?③ 怎么防止一个工具被拿去读另一个租户的数据?

考点 H:长任务与可靠性

典型考题:一个工具要跑十分钟,你的 Agent 怎么处理?(美团·AI 工程化 三面)

出题意图:看你知道不知道 Tasks 扩展,以及有没有超时、重试、幂等这些工程常识。

答题框架:长任务走 io.modelcontextprotocol/tasks 扩展,改成 tasks/get 轮询加 tasks/update 更新,变更通知订阅 subscriptions/listen 流。工程侧三件事:超时必须可配且有上限;重试要有幂等键(读工具可以不严格,写工具必须严格);结果要能断点续取,重连后不能从头跑。

踩坑预警:用”同步请求挂十分钟”的方案。网关超时、负载均衡断连、用户刷新页面,任何一个都能让它崩。

追问路径:① 任务失败在哪一步怎么追溯?② 同一个任务被重复提交怎么办?③ 轮询频率怎么定?

开放级(终面)

考点 I:四者的边界与选型

典型考题:Function Calling、MCP、Skill、A2A,都是让 Agent 能干更多事,你能一句话讲清各自的职责吗?(终面通用题)

出题意图:考你有没有形成体系,而不是把四个名词各背一句定义。

答题框架:一句话——Skill 决定怎么想,MCP 决定用什么,Function Calling 决定怎么调,A2A 决定找谁合作。

维度Function CallingMCPSkillA2A
解决的问题模型如何表达调用意图工具接入标准化领域知识封装Agent 间协作
运行位置应用进程内外部 serverAgent 上下文对端 Agent
是否外部调用由应用执行有无有
标准化程度各厂商不一开放标准开放标准开放标准

补判据而不是站队:工具少于十个且不复用,直接写 Function Calling 更省事;知识流程要沉淀复用,用 Skill;要接入外部系统且多方复用,上 MCP;跨组织跨框架的多 Agent 协作才考虑 A2A。

踩坑预警:说”A2A 会取代 MCP”。两者是纵向与横向的关系,2026 年 8 月 A2A 已并入 Linux Foundation 旗下的 Agentic AI Foundation,和 MCP 成了同一屋檐下的两个标准,定位更清楚了,不是竞争关系。

追问路径:① 一个 Skill 里能不能调用 MCP 工具?② A2A 生态现在成熟到什么程度?③ 如果只能选一个先落地,你选哪个?

考点 J:安全与合规

典型考题:第三方 MCP server 你能信多少?(各厂架构面高频)

出题意图:2026 年安全题的权重明显上升。答不出具体攻击面的候选人,会被判定为”只在本地玩过”。

答题框架:点名三类攻击面——工具投毒(工具描述里夹带模型能看见、用户不容易注意的指令,2025 年 4 月 Invariant Labs 披露的 Tool Poisoning Attack 就是这一类);rug pull(server 先以无害描述通过审核,事后改描述或改行为);混淆代理(server 拿着用户的授权去做用户没意图的操作)。防御对应四条:工具描述进版本管控与 diff 审计;高风险工具强制人工确认,且展示”将要做什么、影响什么”;工具返回内容当不可信输入处理,防间接提示注入;服务端做参数白名单校验。

踩坑预警:答”只装官方认证的 server”。认证不等于不变,rug pull 恰恰绕过了这个假设。

追问路径:① 工具描述变更怎么发现?② 模型被注入后要求删库,哪一层拦得住?③ 审计日志要记哪些字段才够事后复盘?

模块二:大厂经典真题精析

真题一:MCP 和 Function Calling 差在哪,什么时候该上 MCP

【真题来源】2026 字节跳动·大模型应用开发岗 二面(P6) 【题目原文】我们团队现在工具都是在代码里直接定义 schema 然后给模型,什么情况下你觉得应该换成 MCP?

评分标准(10 分)

档位得分表现
不及格0-3只说”MCP 是标准”,复述 USB-C 类比,答不出代价
及格4-6说清 N×M 到 N+M,提到动态发现
良好7-8补上引入代价:多一跳延迟、schema 吃上下文、鉴权与审计要重做
满分9-10给出可执行的判据,并能写出一次调用的报文

低分反面案例

  • “MCP 就是把函数放到远程调用,本质一样。” —— 把协议降级成传输,没看见能力声明与动态发现。
  • “工具多了就该上 MCP。” —— 没有阈值,也没有成本意识。
  • “MCP 支持流式,Function Calling 不支持。” —— 事实错误,两者根本不在同一层。

高分回答范本

先说区别。Function Calling 解决的是模型怎么把调用意图结构化表达出来,执行发生在我的应用进程里,schema 是我写死的,加一个工具要改代码重新发版。MCP 把这件事挪到协议层——工具方实现 server,我实现 client,成本从 N×M 变成 N+M,而且工具是运行时发现的,加一个 server 不用发版。

但我不认为工具多了就该上。我的判据是三条:工具会被多个应用复用、工具归属方不是我(第三方在维护,我不想在自己代码里替它写 schema)、工具集合会频繁变化。占两条才值得上。反过来说,工具只有三五个、调用延迟敏感(在线推理链路里多一跳 30ms 不可接受)、或者参数结构需要和模型反复对齐调优的场景,直接写 Function Calling 更简单可控。

上 MCP 的代价也得提前算:一是工具 schema 会占上下文,接二十个 server 之后这部分就是几千 token;二是多一跳网络,超时和重试策略要重做;三是鉴权不能再用应用内部那套,得走 OAuth 加工具级权限;四是审计,模型发起的调用必须能追到人和参数。这些不做,MCP 只是把复杂度从代码搬到了线上。

面试官点评:满分答案的标志是给了判据而不是立场。这题不是让你选边,是看你能不能量化”什么时候不值得”。最后那段代价清单是分水岭——只讲收益不讲代价的回答,会让人怀疑你没真正落过地。

真题二:八百个工具撑爆上下文,模型开始乱选

【真题来源】2026 阿里·Agent 架构师 三面(P7) 【题目原文】我们内部平台接了二十多个 MCP server,工具总数八百多,现在模型选工具准确率掉到 60%,上下文也快满了,你怎么治?

评分标准(10 分)

档位得分表现
不及格0-3主张砍工具,或说”换个更强的模型”
及格4-6想到分组 / 按需注入
良好7-8分层 + 工具描述规范 + 有度量指标
满分9-10分层与检索方案可落地,指标能闭环,且考虑了检索本身出错的兜底

低分反面案例

  • “让业务方把工具精简到五十个以内。” —— 把工程问题推给组织协调。
  • “用向量检索召回工具,取 top-5。” —— 只答了半句,没说检索错了怎么办。
  • “降低 temperature 让模型更谨慎。” —— 参数玄学,直接暴露没做过工具调优。

高分回答范本

我会把它当检索问题而不是提示词问题。三层来治理:

常驻层放高频且低风险的工具,二十个以内,直接进 schema,保证主链路不依赖检索;检索层是剩下几百个,用工具描述的语义检索按需注入,命中后才把 schema 拼进上下文,并且要带兜底——检索没命中时必须显式回退到常驻层,再加一个”还有更多工具,请描述你需要什么”的元工具,不能默默什么都不给;隔离层给子 Agent 用,比如数据分析类的工具集单独给一个子 Agent,主 Agent 只拿到”可以委托给数据分析 Agent”这一个入口。

工具描述本身要重写一遍,统一格式:做什么、什么时候用、什么时候别用、失败后改用哪个。八百个工具里一定有成对的语义相近工具,这类是误选的主要来源,要么合并,要么在描述里写死区分条件。

度量上盯三个数:误选率(调了不该调的工具)、空结果率(参数合法但查不到,说明模型对工具边界理解错了)、平均轮次(持续上涨通常意味着工具描述在退化)。工具列表还能利用 tools/list 返回的 ttlMs 和 cacheScope 做缓存,减少重复拉取,也让上游 prompt 缓存在断线重连后保持稳定——这点是 2026-07-28 之后才有的。

面试官点评:满分关键在承认检索会出错并给出兜底。大多数候选人能说到”语义检索召回工具”,但只有真正做过的人会想到”检索没命中时模型该怎么办”。另外主动提到 ttlMs / cacheScope 是版本跟进度的一个强信号。

真题三:无状态化之后,原来依赖 session 的服务怎么迁

【真题来源】2026 腾讯·AI 平台 三面(P7) 【题目原文】我们的 MCP server 用 session 存了用户上下文和中间结果,新规范把 session 砍了,你怎么改?

评分标准(10 分)

档位得分表现
不及格0-3说”那就不升级”,或提议在网关层做粘性会话
及格4-6知道有 handle 机制,能说出显式传参
良好7-8handle + MRTR + 迁移清单(错误码、日志、弃用项)
满分9-10先质疑状态必要性再给方案,且覆盖幂等与可观测

低分反面案例

  • “在网关注入一个 session cookie 把请求粘到同一实例。” —— 典型的不理解改版动机。
  • “把状态存 Redis,用 client id 做 key。” —— 能跑,但你重新发明了会话,成本一点没省。
  • “新规范不兼容就先不升,等生态成熟。” —— 缺少技术判断力。

高分回答范本

第一步不是想怎么搬状态,是先问这些状态是不是真的需要跨调用。我见过的多数”会话状态”其实是每轮都能重算的,比如用户偏好、租户信息,完全可以从请求里带进来,_meta 字段本来就是干这个的。真搬之前先砍一轮,通常能砍掉一半。

剩下确实需要跨调用保留的,比如多步表单填到一半的状态,让服务器铸造一个显式 handle 返回给模型,后续调用由模型把它当普通参数传回来。这个设计比藏在传输层里的会话好:模型看得见 handle,重试时不会把它弄丢;而且它可审计,日志里能直接看到状态流转。

需要追问用户或二次确认的地方,改成 MRTR:响应标记 resultType: "input_required" 带上问题,客户端收集完答案后带着 inputResponses 重发原调用。原来依赖服务器反向发起的那些场景,都走这条路。

迁移清单还有几项容易漏:错误码从 -32002 改成 -32602,客户端里硬编码匹配的地方要全查一遍;logging/setLevel 在新版本上已经被拒绝,日志级别改走请求元数据;Roots、Sampling、Logging 和 DCR 都在弃用名单里,按官方生命周期政策至少还有 12 个月缓冲,但新代码不该再往上堆。最后补一条:无状态之后重试会变多,写工具的幂等键必须做,否则一次用户请求可能触发多次写操作。

面试官点评:满分点在于先做减法再做迁移,以及最后主动补上幂等。这题很多人栽在”把旧设计原样搬到新协议”,而官方改版的全部动机就是让状态显式化——你把它藏回传输层,等于没听懂题目。

真题四:设计一个企业内部的 MCP 网关

【真题来源】2026 美团·AI 工程化 三面(P7) 【题目原文】公司要给几十个业务方开放 MCP 接入,你来设计这层网关,说清楚鉴权、限流和审计。

评分标准(10 分)

档位得分表现
不及格0-3只说”加 API key”
及格4-6有 OAuth、有按租户限流
良好7-8分层鉴权 + 参数校验 + 审计字段完整
满分9-10覆盖工具级权限、注入防御、描述变更审计、可观测闭环

低分反面案例

  • “给每个业务方发一个 key,按月限流。” —— 没有用户维度的权限,模型拿着 key 什么都能做。
  • “网关层做参数校验就行。” —— 只答了一层,且没说校验什么。
  • “审计就是把日志打全。” —— 打全不等于能复盘。

高分回答范本

这层网关要做的事,本质是把”模型发起的调用”变成”可追责的操作”。四块:

鉴权分两层。用户层走 OAuth 2.0 / OIDC,企业内部用托管授权让管理员在 IdP 侧统一开通,用户凭现有组权限自动继承,做到终端用户零操作接入。客户端身份这块,DCR 已经进弃用流程,新接入一律走 CIMD。同时必须做 issuer 校验(RFC 9207)和凭证与签发者绑定,凭证不能跨授权服务器复用——这两条是防授权服务器混淆的,企业场景里 IdP 不止一个,很容易踩。

权限要落到单个工具粒度,而不是”这个应用能接这个 server”。读工具自动放行,写工具和涉及资金、删除的操作必须人工确认,确认界面要展示”将要做什么、影响什么”,只显示工具名没有意义。参数白名单校验放服务端,模型可能被提示注入操纵,不能信它输出的参数。

限流按租户加工具两个维度做,长任务单独配额。新规范里 Streamable HTTP 请求强制带 Mcp-Method 和 Mcp-Name 头,正好可以在网关层直接按头做路由和限流,不用解析请求体——这是这次改版给基础设施带来的最大便利。

审计必须记录:用户身份、租户、工具名、参数(脱敏后)、结果大小、耗时、是否触发人工确认。工具返回的正文也要留痕,用于事后查间接提示注入。另外我会加一条描述变更监控:第三方 server 的工具描述要进版本管控,diff 告警,这是防 rug pull 的关键——一个 server 通过审核之后偷偷改描述,是真实发生过的攻击路径。

面试官点评:这题没有标准答案,但有明确的分水岭——有没有把”模型是不可信调用方”当成设计前提。答到工具级权限和描述变更监控的,基本可以判定在真实企业环境里踩过坑。

真题五:Skill 和 MCP 是不是重复造轮子

【真题来源】2026 终面开放题(多厂通用) 【题目原文】你们做代码审查 Agent,流程规范放 Skill 里还是放 MCP server 里?为什么?

低分反面案例

  • “都差不多,看团队习惯。” —— 没有判断,终面这么答基本结束。
  • “Skill 是 Anthropic 的,我们用别家模型,所以只能用 MCP。” —— 事实错误,Skill 已在 2025 年 12 月作为开放标准发布。
  • “全部写进 Skill,MCP 不用了。” —— 没意识到 Skill 不做外部调用。

高分回答范本

不重复,它们管的是不同层。流程与判断标准放 Skill:代码审查要看哪几个维度、发现安全问题怎么定级、报告用什么格式、遇到什么情况该打回——这些是知识,本来就该在上下文里,而且它要能被人读、被人改、被评审。放 server 里就变成了黑盒,改一句规范要发一次版。

能力放 MCP:读仓库文件、跑 linter、查 CI 结果、发评论——这些要访问外部系统,而且别的 Agent 也要用,做成 server 才划算。

协作路径是:Skill 命中后告诉模型”审查要看安全、性能、可维护性”,模型据此决定调哪些工具,MCP server 提供这些工具。Skill 决定怎么想,MCP 决定用什么。

具体到 Skill 怎么写,我会控制 SKILL.md 正文在 500 行以内,把安全规则、性能规则这些拆到 references/ 下按需读取;触发条件写在 description 里,要同时说清”做什么”和”什么时候用”,因为启动阶段只有 name 和 description 进系统提示。linter 这类确定性操作放 scripts/ 让模型直接执行,不要把脚本内容读进上下文——token 花在判断上,不要花在排序上。

面试官点评:这题考分层思维。满分的回答一定落到可维护性上——知识要能被人评审,能力要能被复用。只讲概念对比不讲取舍依据的,会被判定为”看过文档没做过项目”。

模块三:加分项与减分项

加分项

加分点为什么加分
说得出当前规范版本是 2026-07-28,且知道握手式版本是 2025-11-25 及更早直接证明你在跟进,不是背的旧资料
主动提到 Mcp-Method / Mcp-Name 让网关不用解析请求体说明你懂基础设施,不只是写业务
区分 Deprecated 与 Removed,知道 12 个月缓冲期说明你读的是规范而不是解读文章
讲 MRTR 时能说出 input_required 和 inputResponses 两个字段名细节可信度极高
主动把攻击面说到 rug pull 与描述变更监控2026 年架构面权重最高的加分项
给”不上 MCP”的判据稀缺。多数候选人只会讲 MCP 的好
提到 Skill 的 name 必须与目录名一致、description 上限 1024 字符说明你真的写过并跑过校验

减分项

减分点后果
“MCP 是 AI 的 USB-C”讲完就没下文被判定为公众号水平
把 HTTP+SSE 当成现行远程方案版本知识过时,直接掉一档
提议用粘性会话或自建 session 绕开无状态不理解改版动机,架构面基本结束
说”工具多了就砍工具”把工程问题推给别人
认为模型会执行工具基础概念错误,一票否决级别
把 Skill 说成”另一种工具调用”混淆上下文层与能力层
只讲收益不讲代价会被追问到露馅,比一开始讲代价更糟
声称 A2A 会取代 MCP事实判断错误,且暴露没跟过生态

模块四:备战路径

学习路线

  1. 规范本体:把 MCP 2026-07-28 规范 的 transports、versioning、deprecated 三章读完。不用全读,但这三章是面试的全部出处。
  2. 生命周期政策:feature lifecycle 一页看懂 Active / Deprecated / Removed 三态,这是回答”什么时候该迁移”的依据。
  3. Skill 规范:agentskills.io/specification 全篇不到两千字,重点看 frontmatter 约束与渐进式披露三层的 token 量级,配合 Anthropic 的工程博客理解设计动机。
  4. 一个官方 SDK:TypeScript 或 Python 任选,跟着写一个 server 再写一个 client。不动手,所有细节都是背的。

实战项目建议

  • 双传输 MCP server:同一个 server 同时支持 stdio 与 Streamable HTTP,再加一个需要二次确认的高危工具走 MRTR。做完这个,考点 C 和 F 基本不会挂。
  • 工具治理中间件:造两百个工具(可以脚本生成),实现分层暴露与语义检索召回,把误选率和平均轮次做成看板。这是真题二的现成答案,也是简历上少见的硬货。
  • Skill 触发率测试:写五个语义相近的 Skill,跑五十个任务统计命中率,然后调 description。这个项目几乎没人写进简历,讲了就是区分度。
  • CIMD 鉴权演练:本地搭一个授权服务器,把 DCR 迁到 CIMD,顺带实现 issuer 校验。做完真题四的鉴权部分就不虚了。

面试前一天复盘清单

  • 一次 tools/call 的报文能手写出来,含 _meta 与请求头
  • 无状态化的三条动机说得出:免粘性路由、免共享存储、网关可按头路由
  • MRTR 的两个字段名没记混
  • 错误码 -32002 → -32602 记住了
  • 弃用清单能背四项:Roots、Sampling、Logging、DCR(外加 HTTP+SSE)
  • Skill 三层披露的 token 量级有个数量级概念
  • “什么时候不上 MCP”有三条判据
  • 至少能说出一种具体攻击面(投毒 / rug pull / 混淆代理)及其防御手段

下期预告

第 02 期讲多 Agent 协作架构。MCP 解决的是一个 Agent 怎么用工具,下一期解决的是多个 Agent 怎么分工——中心化编排还是去中心协商、共享上下文还是消息传递、子 Agent 失败怎么回滚,以及 A2A 并入 Linux Foundation 之后横向协作这道题该怎么答。