什么是模型上下文协议 (MCP)?
MCP是模型上下文协议 (Model Context Protocol)的缩写。它是一种构建和管理大型语言模型 (LLM) 在生成答案时使用的“上下文”的标准化方法。
将 MCP 视为组织提供给模型的信息的框架,确保:
模型总是知道什么与任务相关。
信息结构和范围正确。
您可以重复使用、编写和更新上下文(如代码模块)。
这很重要,因为像 ChatGPT 或 Claude 这样的模型不会记住过去的会话,除非你反馈相关信息。MCP 使其变得结构化、可预测且强大。
为什么 MCP 会在 2025 年流行?
2025 年,MCP 将会流行,因为:
生成式人工智能系统变得越来越复杂:代理、工具、代码编辑器、记忆、长任务……
团队需要模块化、可扩展的方式来处理上下文。
产品正在从“即时黑客攻击”转向使用协议和 API 的系统设计。
OpenAI 和其他公司(如与 Claude 合作的 Anthropic)正在通过类似 MCP 的方法将上下文管理形式化。
简而言之:提示成为工程,而 MCP 是实现这一目标的新标准。
MCP 的核心思想(适合初学者)
MCP 的核心结构如下:
1.上下文 = 模块化
您可以将上下文分解为称为组件的块,例如:
用户个人资料
文档历史记录
当前任务
工具访问说明
过去的对话
系统规则(例如,“始终引用来源”)
每件作品都是:
标题
类型化(例如,“指令”、“记忆”、“工具”、“目标”)
版本化
通常被赋予权重或范围
可以把它想象成给模型一个工具箱 ——但你告诉它选择哪些工具,如何使用它们,以及以什么顺序使用。
2.上下文构建器 = MCP 风格
MCP 风格的上下文构建器是这样的:
选择相关组件
将它们组合成完整的提示
解决冲突(例如,“总是正式讲话”与“随意讲话”)
当上下文窗口已满时,删除旧的或不太重要的内容
你可以想象这样的管道:
[user profile] + [current task] + [relevant docs] + [rules] → Final prompt
这使得过程可预测、可测试和可编程,而不仅仅是“希望你的提示有效”。
MCP 如何应用于生成式 AI 项目
在实际的 AI 项目中,MCP 可以让你:
✅ 构建能够实现以下功能的 AI 代理:
切换任务
记住用户偏好
使用外部工具(API、数据库)
在长工作流程中工作(多步骤推理)
✅ 设计可重复使用的“上下文包”:
对于客户支持
编码帮助
对于研究助理
对于人工智能导师
✅ 强大功能如下:
长期记忆(MCP 选择“记住”什么)
实时上下文更新(通过插件或 API)
个性化(为不同的用户注入不同的内容)
它是一个用于提示的后端架构。
⚖️ MCP 的权衡
| ✅ 优点 | ❌ 缺点 |
|---|---|
| 模块化、简洁的环境 | 实施起来更复杂 |
| 更易于调试和更新 | 可以过度设计简单的提示 |
| 适用于座席和团队的规模 | 仍在发展中——没有通用标准 |
| 运用记忆和工具 | 需要开发 + 提示设计知识 |
因此:对于高级或生产级系统来说很棒,但对于简单的一次性提示来说可能有点过度。
像这样思考 MCP...
Web 开发人员使用React 组件来构建应用程序 → MCP 使用上下文组件来构建提示。
软件工程师使用接口和服务→MCP 让模型通过结构化指令使用工具和内存。
后端开发人员需要API 和版本控制 → MCP 以相同的方式跟踪和更新上下文。
这是用于提示的软件工程。
️ MCP 实际应用(示例)
假设你正在开发一个AI项目经理助理。你可以定义:
上下文组件
user_profile: {name: Alice, prefers short updates}current_task: "Prepare Q2 roadmap"company_policies: "Always include budget estimates"memory: "Last meeting summary from April 15th"
MCP 上下文构建器
- Inject user_profile
- Check task type: “roadmap”
- Fetch relevant memory
- Attach policy rules
最后提示
MCP 引擎输出清晰、可读的上下文,例如:
You are assisting Alice, who prefers short updates. The current task is to prepare the Q2 roadmap.
Refer to this summary from the last meeting (April 15): ...
Make sure to include budget estimates per company policy.
想要自己建造一个吗?
下面是用 TypeScript 风格伪代码编写的简单的 MCP 风格上下文构建器:
type ContextComponent = {
id: string;
type: "user" | "task" | "memory" | "instruction";
content: string;
weight?: number;
};
class MCPBuilder {
components: ContextComponent[];
constructor() {
this.components = [];
}
add(component: ContextComponent) {
this.components.push(component);
}
buildPrompt(): string {
// Sort by weight or type priority
const sorted = this.components.sort((a, b) => (b.weight ?? 0) - (a.weight ?? 0));
return sorted.map(c => `# ${c.type.toUpperCase()}\n${c.content}`).join("\n\n");
}
}
您可以使用以下方式扩展它:
版本控制
规则
按令牌限制截断
从数据库或向量存储中动态获取内存
摘要(MCP 简介)
| 话题 | 需要记住的事情 |
|---|---|
| 什么是 MCP | 一种构建和管理人工智能模型上下文的方法 |
| 为什么重要 | 支持扩展、内存、工具和模块化 |
| 核心理念 | 上下文 = 可组合组件 + 构建器逻辑 |
| 用例 | 代理、记忆、个性化、工具使用 |
| 权衡 | 功能更强大,但复杂性增加 |

