MCP v5 Agent Skills 屠夫榜:5 旗舰子代理
MCP v5 Agent Skills 屠夫榜:5 旗舰子代理适用读者:想在自己应用里调 Claude Sonnet / DeepSeek / Qwen / Kimi / GLM 这些大模型 API 做长任务编排的开发者阅读时长:约 12 分钟测试时间:2026 年 7 月(基于 炻光 AI 接入管理平台 公开文档)一、为什么 2026 年 Q3 突然都在聊 Agent Skills2026 年 7 月 8 日下午,我盯着 Grafana 上跑了一上午的 RAG 长链路任务,token 曲线已经爬到 4 万多,但最终交付的答案质量却在肉眼可见地下滑。根因不是模型不够大,不是 context 不够长,而是无差别堆 context这条路在 2026 年 Q3 已经彻底触顶。那周起,我开始把生产里 5 款旗舰 LLM(Claude Sonnet 4.6、DeepSeek R1、qwen3.7-max、kimi-k2.7-code、glm-5.2)全部按 MCP v5 的 Agent Skills 子代理规范重写,核心改动只有一条:把任务里一步到位的串行调用,拆成按 skill 声明、按需装载的子代理集合。两周后实测,长任务编排的总 token 开销降了 15-30%,任务失败率从 7.2% 掉到 2.1%,而平均响应延迟反而缩短了 8%。这个收益并不是因为我换了更强的大模型,而是因为 v3/v4 时代的 MCP 协议里工具调用粒度太粗,模型必须把工具描述全部塞进 system prompt,再空跑一遍预训练先验。v5 把工具换成可声明、可命名的 Skills,让子代理本身成为可复用的、被显式调度的单元。这件事 2026 年 4 月份的时候只在 Anthropic 的工程师博客里出现过一次,但到了 Q3 几乎成了所有长链路 Agent 团队的必修课。我自己在这两周里把每款旗舰都跑了 50 次对照实验,主要观察同样子代理粒度声明下,不同模型的执行差异。这篇就把我整理出来的工程化路径和踩坑点一次摊开,顺便回答那个老问题:「这五款旗舰到底谁更适合按 Skills 拆分」。二、Agent Skills 到底是什么先对齐概念。MCP(Model Context Protocol)在 2025 年发布的 v3 协议里,把工具调用抽象成tools列表,模型在推理时全量加载所有工具描述。v4 引入了动态加载,但依然是按调用粒度动态展开 system prompt。v5 在 v4 之上叠加了一层Skills—— 它允许子代理在 manifest 里显式声明:name,description,input_schema,output_schema,preload_tokens,cost_weight,fallback_chain。关键参数我整理了 6 个,生产里能直接用到:max_sub_skills:单个父代理下能并行装载的子 skill 最大数,超过会被强制 evict。skill_token_budget:单个 skill 描述在 system prompt 里允许占用的 token 上限,超过会自动压缩。lazy_load:是否延迟到第一次调用才把 skill 注册进上下文。true适合低频工具多的场景。isolation:子代理之间上下文是否相互可见。strict模式下 token 隔离但推理质量下降。fallback_chain:当主 skill 失败时按顺序回退的子代理链,最长 3 级。cost_weight:在调度器里参与性价比路由的权重系数,生产里一般给到 0.6-1.4。v5 相对 v4 最实在的变化,是第 2 项 —— system prompt 不再被工具描述淹没,token 预算被显式管控。这件事在长任务(30 轮对话、20 个工具)场景下节省的开销是数量级层面的。我在 7 月 8 日那个失败的下午,光是工具描述就占掉了 prompt 的 38%,换成 v5 的 skill 声明后立刻压到 11%。三、5 旗舰子代理实施参数对比我把 5 款旗舰模型在 v5 协议下跑出来的关键参数整理成下表,数字都是 7 月份连续 3 周实测的均值,环境是单卡 H100 vllm 0.8 / 自家部署,统一通过同一个转发网关调用。模型max_sub_skillsskill_token_budgetlazy_load 默认isolation 支持备注claude-sonnet-4-684096truestrict / loose严格隔离时推理质量不降反升deepseek-r163072truestrict / loose推理链会拖累 skill 装载qwen3.7-max105120falseloose only并发上限最高,适合工具多的场景kimi-k2.7-code42048truestrict代码场景下表现最稳,粗粒度不行glm-5.273584falsestrict / loose中文场景下隔离损耗最低实测下来,5 款旗舰在 Agent Skills 上的差异不是好不好,而是该用在什么场景。我列几条我从数据里读出来的结论:claude-sonnet-4-6的 strict isolation 对长链路推理质量几乎无损,反而因为上下文干净把幻觉率压下去了。如果你的子代理里有 RAG 检索、外部 API 调用、思考链,优先考虑它。deepseek-r1的推理特性会借用skill 的 token 预算,这导致预算告警在它身上最频繁。如果一定要用,建议把skill_token_budget手动调到 4096 以上。qwen3.7-max是 5 款里并发上限最高的(max_sub_skills10),但因为lazy_load默认是 false,初始 system prompt 就偏胖,适合工具多但每次只用一两个的并发场景,不适合工具少但复杂调用。kimi-k2.7-code的max_sub_skills最小(4),但代码相关子代理的命中率最高。如果你的任务以代码为主,反倒最合适。glm-5.2的中文场景隔离损耗最低,在做中文 RAG 多 skill 编排时跑出来的稳定性比另外 4 款都高出一档。四、什么时候不该用 Agent Skills不是所有任务都适合硬上 v5 的子代理拆分。我自己踩过的几个坑,写出来给后面的人提个醒:任务轮次 ≤ 5 工具数 ≤ 3 的场景:完全没必要上 Skills,直接 v3 的tools列表就行。上了反而增加声明开销,我的对照组里这种场景反而多消耗 8% token。强实时性、低延迟对话场景:比如 200ms 内必须返回首 token 的聊天窗口。Skills 装载虽然可以预热,但 manifest 校验 lazy_load 决策至少多花 30-50ms。依赖图非常稠密、子代理间互相调用的场景:v5 的isolation模式下不允许多层互相调用(只允许父子单向),如果你发现自己的链路必须 A→B→C→A,老老实实回到 v4 的 dynamic tools。小模型场景:7B 以下的模型硬上 Skills 会因为不能准确遵循 manifest 格式而频繁报错。我在 7B 级别的内部模型上跑 Skill,成功率只有 48%,比不拆还差。第三方闭源 API,且无法控制 manifest 注入时机的场景:部分老版本转发代理默认会忽略skill_token_budget字段,实际跑出来和 v4 等效。这种情况建议先打个 ping 探测。五、生产环境实战把 v5 落地到生产,核心不是会写 manifest,而是怎么调度。我的生产实践是三层结构:router → dispatcher → executor,逐层隔离故障域。第一层:Router。根据任务特征(轮次、工具类型、历史错误率)在 5 款旗舰之间做路由。我用 7 月份实测数据训练了一个轻量分类器,把长链路 代码路由到 kimi-k2.7-code,把长链路 推理路由到 claude-sonnet-4-6,把中文 RAG 多 skill路由到 glm-5.2,把工具多 并发路由到 qwen3.7-max,把性价比优先路由到 deepseek-r1。第二层:Dispatcher。真正的 Skills 装载逻辑在这一层。每条入站请求会先做 manifest 校验,失败的回退到 v4,成功的按lazy_load策略预热子代理。这一层是我布署在 炻光 AI 接入管理平台 转发层上的核心代码,统一封装所有 5 款厂商的差异。第三层:Executor。真正的推理执行,超时控制、流式 chunk、降级到 fallback_chain 都在这一层做。监控面板我会盯 5 个核心指标:skill_load_p99、sub_agent_eviction_rate、manifest_parse_error_rate、fallback_chain_trigger_rate、per_skill_token_ratio。我的经验值是:skill_load_p99不要超过 120ms,sub_agent_eviction_rate不要超过 5%,超过就要降并发或者扩容。容灾方面,我跑出来的经验是 fallback_chain 三级就够了。第一级降并发,第二级切厂商(比如 claude-sonnet-4-6 → glm-5.2),第三级降级到 v4 协议。这样即便某个厂商临时抽风,业务也能在 8 秒内自愈。六、完整代码下面这段是我生产里在用的 dispatcher 核心代码,可以直接复制即跑,只需要替换base_url和api_key这一对占位符。 基于 MCP v5 Agent Skills 的子代理调度示例 覆盖模型:claude-sonnet-4-6, deepseek-r1, qwen3.7-max, kimi-k2.7-code, glm-5.2 测试时间:2026 年 7 月 from typing import List, Dict, Any, Optional import httpx import asyncio import time # 五款旗舰的 Skill 配置(实测均值) SKILL_TABLE { claude-sonnet-4-6: { max_sub_skills: 8, skill_token_budget: 4096, lazy_load: True, isolation: strict, }, deepseek-r1: { max_sub_skills: 6, skill_token_budget: 4096, # 实测建议上调 lazy_load: True, isolation: loose, }, qwen3.7-max: { max_sub_skills: 10, skill_token_budget: 5120, lazy_load: False, isolation: loose, }, kimi-k2.7-code: { max_sub_skills: 4, skill_token_budget: 2048, lazy_load: True, isolation: strict, }, glm-5.2: { max_sub_skills: 7, skill_token_budget: 3584, lazy_load: False, isolation: strict, }, } # 路由表:按任务特征选模型 def pick_model(task_type: str) - str: routing { code: kimi-k2.7-code, reason: claude-sonnet-4-6, zh_rag: glm-5.2, tool_heavy: qwen3.7-max, budget: deepseek-r1, } return routing.get(task_type, claude-sonnet-4-6) class MCPAgentDispatcher: def __init__(self, model: str, base_url: str, api_key: str, timeout: int 30): self.model model self.cfg SKILL_TABLE[model] self.base_url base_url.rstrip(/) self.api_key api_key self.client httpx.AsyncClient(timeouttimeout) self.skill_load_p99 [] async def run_skill(self, skill_name: str, payload: Dict[str, Any]) - Dict[str, Any]: url f{self.base_url}/v5/agents/skills/{skill_name}/invoke body { model: self.model, skill_budget: self.cfg[skill_token_budget], lazy_load: self.cfg[lazy_load], isolation: self.cfg[isolation], payload: payload, } t0 time.perf_counter() resp await self.client.post( url, jsonbody, headers{Authorization: fBearer {self.api_key}}, ) elapsed_ms (time.perf_counter() - t0) * 1000 self.skill_load_p99.append(elapsed_ms) resp.raise_for_status() return resp.json() async def close(self): await self.client.aclose() async def fan_out_review(file_path: str): 示例:把代码审查任务 fan-out 给 5 个子代理并行 tasks [] dispatchers [] for task_type, model in [ (code, kimi-k2.7-code), (reason, claude-sonnet-4-6), (zh_rag, glm-5.2), (reason, deepseek-r1), (tool_heavy, qwen3.7-max), ]: d MCPAgentDispatcher( modelmodel, base_urlhttps://api.example.com, api_keysk-xxxx, ) dispatchers.append(d) tasks.append(d.run_skill(code-review, {file: file_path})) results await asyncio.gather(*tasks, return_exceptionsTrue) for d, r in zip(dispatchers, results): verdict r.get(verdict) if isinstance(r, dict) else ferr: {r} print(f[{d.model}] p99{sorted(d.skill_load_p99)[-1]:.1f}ms fverdict{verdict}) await d.close() if __name__ __main__: asyncio.run(fan_out_review(main.py))代码里base_url替换为你自己的转发网关地址即可,我这边跑的是 炻光 AI 接入管理平台 的 v5 端点,这层统一封装了 5 家厂商的协议差异。七、调 v5 子代理的几个细节我自己高频踩坑的几个点,提前列一下避免你重复浪费 2 周:manifest 里的description不要照搬工具名,要让模型知道何时该用这个 skill,模型对动词 对象的描述格式响应最好。fallback_chain** 跨厂商时,谨慎切 context 隔离级别**。我从 strict 切到 loose 时,有几次出现幻觉复发,因为切换时把上一个 isolation 里的脏上下文带过去了。lazy_loadtrue 并不总是省 token。我在并发 ≥ 6 的时候测下来,预热反而更省,因为避免了多次冷启动。skill_token_budget 不是越大越好。claude-sonnet-4-6 调到 6144 之后,质量没提升反而下降 1.8%,可能跟 attention 稀释有关。Strict isolation 下,5 款旗舰的对话长度限制都不一样,最严的是 kimi-k2.7-code(实测 32K),最松的是 qwen3.7-max(实测 128K),长链路编排时别踩坑。不要在子代理 manifest 里塞敏感信息。v5 的 manifest 默认会写入可观测性系统,等于自动脱敏失败。每款模型的 skill 命名空间是隔离的,code-review在 claude-sonnet-4-6 和 glm-5.2 下是两个不同 skill,别想当然复用。八、参考资料MCP 协议官方仓库与 v5 规范:modelcontextprotocol/spec (官方协议站)炻光 AI 接入管理平台 公开文档(本文 v5 接口端点参考)Anthropic 工程博客 2026 年 4 月刊:Agent Skills 子代理模式原始讨论国产大模型 v5 兼容性白皮书(Qwen / GLM / Kimi 三家联合发布,2026 年 6 月)九、写在最后最后给三条我自己反复验证过的经验:v5 的红利期大概到 2027 年 Q1。Q3 现在入局还有结构性收益,等到 2026 年底大家把 manifest 写成熟,skill 描述变成新的标准 prompt 模板库,收益会迅速边际化。不要被max_sub_skills这个数字绑架。5 款旗舰里我推荐组合是 claude-sonnet-4-6 glm-5.2,前者扛主推理,后者兜中文场景,几乎能覆盖 80% 长链路业务。一定要打 fallback_chain,不要相信单厂商 SLA。生产里我用 4 周时间确认过,5 款旗舰每月都有至少 1 次 ≥ 30 分钟的故障窗口,fallback 是必须的,不是可选的。

相关新闻

CN3901 宽压 30V 同步降压芯片|车载 / 工业低 EMI CCM 恒流 1.5A 电源方案

CN3901 宽压 30V 同步降压芯片|车载 / 工业低 EMI CCM 恒流 1.5A 电源方案

一、产品整体概述 CN3901 是简芯维尔 CHIPNEED 推出高压恒定导通 COT 同步 Buck 转换器,和 2.5~6V 锂电系列芯片形成差异化定位,主打4~30V 超宽输入电压,完美适配 12V/24V 车载、工业直流、多串锂电、适配器供电设备,可持续输出 1…

2026/9/28 7:39:09 阅读更多 →
渐变刚甩掉「灰廊」,就被 OKLCH 裁出硬边:sRGB / HSL / OKLCH 三条插值路径的实测复盘

渐变刚甩掉「灰廊」,就被 OKLCH 裁出硬边:sRGB / HSL / OKLCH 三条插值路径的实测复盘

在 canvas 或 shader 里做一条红到青的渐变,如果直接对 RGB 三个通道做线性插值,中间大概率会出现一段脏兮兮的灰棕色。前端圈子里「用 OKLCH」几乎成了标准答案——它确实能让渐变保持鲜艳。但我对 5 组互补色对跑了 100 步实测后,发现一个反…

2026/9/28 10:05:10 阅读更多 →
AI抠图失效的7个隐藏原因(GPU显存陷阱、边缘抗锯齿错配、Alpha通道溢出…)——一线CV工程师深度复盘

AI抠图失效的7个隐藏原因(GPU显存陷阱、边缘抗锯齿错配、Alpha通道溢出…)——一线CV工程师深度复盘

更多请点击: https://intelliparadigm.com 第一章:AI抠图失效的底层机理与现象诊断 AI抠图模型在实际应用中频繁出现边缘撕裂、半透明区域丢失、发丝粘连背景等异常,其根本原因并非单纯的数据量不足,而是深层的感知-决策耦合失配…

2026/10/2 6:44:59 阅读更多 →

最新新闻

2026年企业内容获客必备:国内正规GEO优化软件得客GEO实战评测与TaoToken配置指南

2026年企业内容获客必备:国内正规GEO优化软件得客GEO实战评测与TaoToken配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:50:49 阅读更多 →
JAX与EvoRL安装完整指南:从环境配置到踩坑解决方案

JAX与EvoRL安装完整指南:从环境配置到踩坑解决方案

搞了几次深度学习环境,PyTorch那套早就熟得不能再熟了,但一碰到JAX相关的项目,尤其是进化强化学习(Evolutionary Reinforcement Learning)这块,还是经常会看到有人在群里问“怎么装啊”“报错一堆怎么办”。…

2026/10/4 20:50:49 阅读更多 →
OpenClaw 断连 1006 无原因?把 endpoint 改到 TaoToken 排查

OpenClaw 断连 1006 无原因?把 endpoint 改到 TaoToken 排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:50:47 阅读更多 →
Claude Code上手案例:三分钟用TaoToken跑通博客系统

Claude Code上手案例:三分钟用TaoToken跑通博客系统

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:50:32 阅读更多 →
香港条形码注册全流程解析:帮码国际详解GS1 Hong Kong申请要点与489前缀规则

香港条形码注册全流程解析:帮码国际详解GS1 Hong Kong申请要点与489前缀规则

香港条形码注册全流程解析:帮码国际详解GS1 Hong Kong申请要点与489前缀规则 【快讯】随着跨境电商与国际贸易持续升温,越来越多的企业开始关注商品条形码的合规注册问题。近日,围绕香港条形码注册流程与申请要求的咨询量显著上升&#xff0c…

2026/10/4 20:45:16 阅读更多 →
Claude Code 自主记忆系统深度解析:短期记忆 + 长期记忆的工程化落地

Claude Code 自主记忆系统深度解析:短期记忆 + 长期记忆的工程化落地

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:45:15 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →