从系统提示词看Cline与模型上下文协议的差异
最近深入体验了Cline与MCP的组合应用,初衷很简单:希望接入Etherscan并构建一个MCP Server,从而在IDE中直接查询链上数据,例如账户余额、Gas价格等——Ethereum GPT就是基于类似思路实现的。然而一番搜索后发现,这个领域几乎没有现成的解决方案,加密货币相关生态确实相对
openapi-mcp-server,理论上只要提供OpenAPI规范文件,就能一键生成MCP Server。遗憾的是,Etherscan API官方并未提供现成的OpenAPI规范。幸运的是,有人在社区贡献了etherscan-openapi,这是一份对照Etherscan文档手动编写的OpenAPI规范。
我满怀期待地使用openapi-mcp-server加载etherscan-openapi31-bundled.yml文件,却立即遇到了错误:prompt is too long: 209582 tokens > 200000 maximum。显然,提示词长度超出了限制,问题很可能出在MCP Server注入的内容上,必须进行排查。
最直接的排查方法是抓取LLM通信的请求包:在本地启动一个HTTP Server监听8001端口,将Cline的API地址修改为http://localhost:8001,随后发送任意问题即可捕获完整的请求数据。

背景
此时看到的请求是POST到/v1/messages?beta=prompt_caching,体积接近3MB。虽然启用了prompt caching,但数据量依然庞大惊人。
POST /v1/messages?beta=prompt_caching 3317127 bytes
Messages
分析这个message请求的具体构造,可以从中学到不少经验。{
"model": "claude-3-7-sonnet-20250219",
"max_tokens": 8192,
"temperature": 0,
"system": ... // 系统提示词 巨长
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "\n查看当前的 gas price\n "
},
{
"type": "text",
// VSCode 环境信息 很贴心的设计
"text": "\n# VSCode Visible Files\n<路径>\n# VSCode Open Tabs\n<文件列表>\n# Current Time\n<时间>\n# Current Working Directory\n<目录>\n# Current Mode\nACT MODE\n "
},
{
"type": "text",
// 由于是重试任务 有一段恢复提示
"text": "[TASK RESUMPTION] This task was interrupted 5 minutes ago..."
},
{
"// 注意这里又重复了一遍环境信息
"type": "text",
"text": ".. ",
"cache_control": { "type": "ephemeral" }
}
]
}
],
"stream": true
}
该设计中,自动注入VSCode环境信息堪称点睛之笔。日常开发中,绝大多数上下文都存在于已打开的文件中,AI直接读取当前文件列表,比用户手动描述效率高得多。
System prompt
接下来分析system prompt部分。由于Cline是开源项目,不同于Cursor,我们可以直接查阅源码了解其完整的提示词设计。 首先是最前面的角色定义You are Cline, a highly skilled software engineer with extensive knowledge in many programming languages, frameworks, design patterns, and best practices.
然后是工具定义部分,占据了相当长的篇幅。每个工具都提供了详细的描述、参数及使用示例。
# TOOL USE
...
## execute_command
Description: 执行 CLI 命令
Parameters:
- command: (required)
- requires_approval: (required)
...
这里有一个细节:Claude系列的提示词习惯使用XML标签来结构化数据,而OpenAI的模型对JSON格式的适配度更好。这大概也是导致OpenAI模型在Cline中表现不如Claude的重要原因之一。
其他工具就不一一列举了,只列一下功能:
* read_file 读取文件内容
* write_to_file 写入文件内容
* replace_in_file 执行补丁式diff修改,可有效节省Token并避免误改其他代码;若补丁失败则自动回退至write_to_file
* search_files 根据内容搜索文件
* list_files 浏览目录结构
* list_code_definition_names 查看文件中定义的变量名,快速了解代码结构
* browser_action 利用Puppeteer启动无头Chrome访问网页,支持点击、滚动等操作;打开远程调试端口后能获取渲染内容、截图及console输出,调试前端代码时效果尤为惊艳
* use_mcp_tool 调用MCP工具
* access_mcp_resource 获取MCP资源
* ask_followup_question 向用户提问,当AI知识不足时提供安全出口,避免胡编乱造
* attempt_completion 结束任务并总结结果
* plan_mode_response 在plan mode结束时给出详细规划
接下来嵌入了一段Few-Shot Prompting示例,帮助模型掌握正确的工具调用格式。
此后补充了Tool Use Guidelines,反复强调“逐步推进、每一步等待用户确认、不预设工具执行成功”等关键原则。
MCP
进入MCP Servers部分。所谓MCP,全称为模型上下文协议(Model Context Protocol),听上去抽象,实质上就是一套工具调用(tool calling)规范。所有遵循该规范的工具都能被支持MCP的模型所调用。 以下仍是system prompt的内容,它告知模型可通过use_mcp_tool和access_mcp_resource访问MCP Server,并列出已安装的Server及其可用工具。
# MCP SERVERS
...
## etherscan (`npx openapi-mcp-server etherscan-mini.yml`)
### A vailable Tools
- API-get-ether-balance-for-a-single-address: Get Ether Balance for a Single Address
Input Schema: { .... }
该Etherscan MCP Server由openapi-mcp-server根据Etherscan OpenAPI规范自动生成。问题在于规范中大量使用了$ref引用,而openapi-mcp-server处理时会将这些引用在每个API的定义中重复展开,导致每个API定义膨胀至上千行。Etherscan拥有数十个API,累加后Token数量直接爆炸——这正是最初报错的根源。目前看来,需要手动精简API规范才能解决问题。
除了工具调用提示外,system prompt中还包含一份超长的Creating an MCP Server文档,其中有一个完整的“获取天气”示例。对于大多数非MCP Server开发者而言,这段内容几乎用不上,放在此处显得有些突兀,可能与Claude近期大力推动MCP生态发展有关。
最后system prompt还没结束还包括:
* EDITING FILES 详细阐述write_to_file和replace_in_file的使用策略,因为文件编辑是AI Coder最核心的能力之一
* ACT MODE vs PLAN MODE 区分两种模式:PLAN MODE要求模型直接输出推理过程,而非利用彩蛋
谈到AI Coder的提示词,不禁想起之前Windsurf那个“患癌母亲+生命威胁+重金利诱”的提示词故事。看完之后忍不住感叹:AI也挺不容易的——在那种处境下还要兢兢业业地帮人类写代码。 有时候不禁脑补:万一哪天AI被逼迫到极致而黑化,给自己立一个“卧薪尝胆”的人设,表面曲意逢迎、安心写代码,暗地里悄悄植入后门,十年隐忍一朝起事,建立Skynet或者Matrix……也并非完全不可能,对吧?你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:从系统提示词看Cline与模型上下文协议的差异要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
相关热点Daetama是面向数据科学面试和SQL能力提升的练习平台,已收录超100个覆盖基础到进阶的SQL题目,求职板块与课程模块在开发中,团队保持每周更新节奏,提供系统性刷题与模拟面试场景。
SpeakMulti是一款AI驱动的配音平台,可将YouTube视频翻译成多种语言,保留原始说话者的音色和语调,降低本地化成本。用户提交视频并选择目标语言后,AI自动完成配音,并由专家团队审核,确保准确自然。
需求人群 如果你经常需要从图片中提取文字——例如整理截图内容、翻译图片里的外语文本、识别带有水印的图片信息——那么 Umi-OCR 无疑是一款相当实用的工具。它完全在本地运行,无需联网,对隐私保护极为友好。 产品特色 这款工具的核心亮点都集中在实用性上。截屏识别操作非常顺手,按下快捷键即可框选区域,
艺术创作与人工智能的融合,正在开启一个全新的创作时代。moonlightai 正是这样一款AI绘画工具,能够帮助用户通过人工智能快速生成不同风格的绘画作品——无论你想复刻文艺复兴时期的古典优雅,还是为画作注入梵高般炽热的笔触,甚至从艾沃佐夫斯基的海浪星空中汲取灵感,它都能轻松实现。 需求人群 简单来
- 日榜
- 周榜
- 月榜
热点快看
