我在 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 在长会话里开始不工作,或者自己去写脚本来代替调用,很可能是提示词在上下文里被淹了。

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

相关推荐
码上解惑12 分钟前
从模型接入到应用运行:智能体开发平台的整体架构设计
人工智能·agent·智能体·spring ai
凡泰AI39 分钟前
如何借助MCP打通企业APP内部服务:从统一调用到小程序承接
小程序·uni-app·app·mpaas·mcp·小程序容器
FakeKesh11 小时前
学了一周Python,我决定手搓一个最小的AI Agent循环(附源码)
agent
程序员秋天1 小时前
用Spring AI实现多轮对话记忆,别再让AI每次都"失忆"
agent·ai编程
Xzh04233 小时前
智能体通信协议
agent
大强同学4 小时前
Kimi Code CLI
人工智能·agent·claude·skill·kimi code cli
刘棕霆4 小时前
造数脚本越堆越乱:稳定的沉淀成引擎,变化的留在配置
aigc·agent·测试
带刺的坐椅5 小时前
Solon TeamAgent 协作协议:从 SEQUENTIAL 流水线到 HIERARCHICAL 主管团队
java·ai·llm·agent·solon
用户0207199207725 小时前
别把 Semgrep 当高级 grep:用污点规则抓住命令注入,并把结果送进 CI
agent
我要割麦子5 小时前
从零到一手撸 Agent 系列 — 第 4 篇:工具的契约 — Tool 接口与注册表
agent·ai编程