我在 Trae 里用 UML-mcp-renderer 画图,发现了 MCP 跟 CLI+Skills 的区别

背景

最近在忙毕业设计,用 Trae 作为开发环境。我接了一个叫 UML-mcp-renderer 的 MCP,用来在对话里生成和修改用例图、类图、架构图、部署图。

一开始用着挺正常的,但后面反复修改的过程中,我发现了一个很明显的问题。

MCP 在长对话里的问题

在一个全新的对话上下文里,没被各种结果污染的时候,用 MCP 是没有任何问题的,也能准确地为我生成 UML 图。

但在我反复修改、和各种环节进行之后,我发现如果我继续保持这个会话,那些 MCP 全量加载的提示词就会被干得稀碎。模型上下文窗口占满的时候,它注意力稀碎,后面根本无法继续为我正确调用 MCP。

我主动让它使用 MCP,它也会当看不到,或者说做不了,然后就自己去写脚本、写 PlantUML 代码来生成图,而不是调用 MCP。

后来我换了一个新对话,就恢复正常了。

改造成 CLI+Skills 之后的对比

同样的这个 MCP,我把它另外改造成了 CLI+Skills 渐进式披露的形式。

然后用同样的情况去用------在长对话之间、反复修改、各种环节混在一起。

结果发现,几乎在什么上下文时期,或者在多长的对话之间,它都能很好的继续为我生图。没有出现之前 MCP 那种"当看不到"或者自己写脚本糊弄的情况。

我的结论

这次经历让我比较清楚地看到了 MCP 和 CLI+Skills 在实际使用中的区别。

不是说 MCP 本身有问题,而是很多 MCP 的实现方式是全量加载,把工具描述、提示词一股脑塞进上下文。在短对话里没问题,但上下文一长、信息一多,这些东西就被淹掉了。模型注意力有限,当上下文中其他内容占了大部分窗口,它就不再能有效关注到 MCP 的调用方式。

而 CLI+Skills 的渐进式披露方式,工具描述在不需要的时候很轻量,需要的时候才展开细节。这样无论上下文多长、多乱,工具调用这一块始终是清晰的,模型能一直正确使用它。

总结

  1. 新对话能恢复正常的 MCP 问题,说明不是 MCP 本身坏了,而是上下文管理的问题。

  2. 同样的功能,用 MCP 全量加载和用 CLI+Skills 渐进式披露,在长对话里的表现差距很大。

  3. 如果 MCP 在长会话里开始不工作,或者自己去写脚本来代替调用,很可能是提示词在上下文里被淹了。

这就是我这次在画毕业设计图的过程中发现的一个实际区别,记录下来供参考。

相关推荐
全栈弄潮儿7 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
jyOverQ8 小时前
JSON-RPC 2.0、Codex、MCP Client 和 MCP Server 是什么关系?以调用 GitHub 工具为例
ai·mcp
星云_byto10 小时前
Codex 10 月 7—10 日更新汇总:输入预测、任务提速、CLI 新功能与 Windows 沙盒
cli·codex·预测·沙盒·提速·6.1 sol
xrlfreedom10 小时前
MCP 面试高频考点:用 Streamable HTTP 控制返回大小并降低上下文消耗
mcp·mcp client·typescript mcp sdk·streamable http 传输
EatFan10 小时前
2026 后端 AI 工程化:Spring AI 2.0、MCP 协议与 Agent 内嵌如何收进 Java 生产系统
java·人工智能·spring·agent·spring ai·spring boot 3·mcp
七夜zippoe11 小时前
Agent 中间件架构:钩子链、插件注册与横切治理
ai·中间件·架构·agent·钩子链
容小智11 小时前
金融投研引入工作智能体(Agent):如何穿透概念核算真实商业价值?
大数据·人工智能·ai·金融·agent
java_logo11 小时前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
数据库·人工智能·docker·agent·火山引擎·openviking·轩辕镜像
冬奇Lab12 小时前
LLM 驱动的自动化测试系列(09):移动端自动化(五)——当通用 Agent 框架下沉到测试场景
人工智能·agent·测试
Sayai12 小时前
MCP Server 开发实战:Spring AI 把后端日志查询暴露给 AI Agent(7 条设计原则与踩坑实录)
java·人工智能·ai agent·spring ai·mcp