最近在折腾MCP(Model Context Protocol),把几个工具接进Claude Desktop。看官方文档说prompt模板是给用户“复用”的,但我写的时候总感觉像在写普通系统提示词,一长串角色设定+规则列表。结果调用起来很僵硬,上下文窗口被占掉一大截,模型反而变傻了。看社区里有人把prompt写得特别短,只留关键变量,其他都靠工具动态拉取。我想问下,MCP里的prompt设计是不是应该更“程序化”一点?比如把参数占位符和场景逻辑分开,还是说我想多了,其实就是我提示词写得烂?求指条明路。
楼主
2026-08-28
MCP里写Prompt总觉得别扭,是不是我理解错了?
请 登录 后发表回复
全部回复
共 22 条
2楼
3天前
我也踩过这个坑,一开始把MCP的prompt当成系统提示词来写,塞了一堆角色设定和规则,结果上下文被吃掉一大半,模型反应还变迟钝了。后来发现MCP里prompt更像个“参数化模板”,核心是把变量和场景逻辑拆开,固定的规则能塞进工具描述或资源里就别硬写进prompt。我现在习惯只留几个关键占位符,剩下的让工具按需拉取,上下文清爽很多,模型也灵活了。你说的“程序化”方向我觉得是对的,但也不用走极端,场景逻辑还是得留一点在prompt里,不然模型不知道什么时候该调哪个工具。另外可以试试把prompt按场景拆成几个小模板,别一个大模板包打天下,复用性反而更好。至于提示词写得烂不烂,我觉得更多是MCP这套东西的设计思路跟传统prompt不太一样,得换个心态去写。
3楼
3天前
你理解的方向没错,MCP里prompt本来就该偏程序化,不是拿来堆角色设定的。我现在的做法是prompt只管参数占位和场景路由,具体知识全交给工具按需返回,上下文省下来模型明显聪明不少。你那种长系统提示词塞进去,模型既要消化规则又要调工具,确实容易懵。建议把固定人设砍到一两句,剩下的拆成工具描述或者资源,试试看效果差别挺大的。