最近很多同学在折腾 OpenClaw 或各种 AI 框架时,会反复听到三个名词:Prompt、Agent、MCP。概念一多,很容易混在一起:到底谁负责跟模型说话?谁负责调工具?为什么还需要一个叫 MCP 的东西?
这篇文章不讲安装命令,只用一篇把这三个概念讲清楚、连起来,并结合 OpenClaw 的使用场景,帮你建立一张完整的脑内结构图。
一、Prompt 是什么?它决定了"模型在想什么"
先从最常见的 Prompt 说起。简单理解:
- Prompt = 给模型的指令 + 背景信息。
- 它告诉模型:你是谁、你要干什么、要遵守什么规则、输出什么格式。
- 在 OpenClaw 里,Prompt 通常会出现在 Agent 的配置中,或者由调用方临时补充。
一个完整的 Prompt,往往包含几层:
- 系统提示(System Prompt):定义角色和硬约束,比如"你是一个严谨的后端开发"。
- 用户输入(User Prompt):这次具体想做什么,比如"帮我设计一个用户登录 API"。
- 上下文(Context):历史对话、项目说明、代码片段等。
💡 实战里的 Prompt 设计关注点
在 OpenClaw 这类多 Agent 框架中,Prompt 更像是给每个 Agent 写的"岗位说明书":职责范围、输入输出格式、能用哪些工具、需要提前问清楚哪些信息。
二、Agent 是什么?它是"带工具和习惯的虚拟同事"
只靠 Prompt 还不够,好比只给人写了一份岗位说明书,但没有给他配电脑、软件、网络权限。这时就需要 Agent:
- Agent = 模型 + Prompt + 工具权限 + 行为策略。
- 它是一个可配置、可复用的 AI 角色,可以被多次调用。
- 不同 Agent 可以使用同一个底层模型,但 Prompt 和工具配置完全不同。
在 OpenClaw 里,一个典型的 Agent 配置通常包括:
- 使用的模型提供商和型号(例如某个 GPT、Claude、Gemini 版本)。
- 系统级 Prompt(角色定义、风格要求、禁止事项)。
- 可调用的工具列表(例如联网搜索、执行命令、访问数据库)。
- 记忆配置(是否启用长期记忆、从哪里加载历史信息)。
- 控制策略(例如是否允许多轮工具调用、最大思考步数、错误重试策略)。
🧱 一个简单的类比
把模型想象成"大脑芯片",Prompt 是你塞进去的"说明书",而 Agent 则是你招的"员工":TA 不仅有这颗大脑,还有固定办公环境(工具)、工作流(策略)、记事本(记忆)。
三、MCP 是什么?它是"模型访问外部世界的统一插座"
有了 Agent 之后,还差最后一块:Agent 怎么安全、统一地访问外部系统?比如:
- 读取本地或远程文件。
- 调用第三方 API(GitHub、飞书、Notion……)。
- 访问数据库或搜索索引。
MCP(Model Context Protocol)的核心目标,就是提供一个统一协议,让不同模型、不同运行时都能以标准化的方式访问这些外部资源。
可以把 MCP 想象成:
- 一套规范:定义了工具如何被描述、如何被调用、返回值长什么样。
- 一条总线:上游是模型 / Agent,下游是各种工具和数据源。
- 一层隔离:把具体实现细节藏在协议后面,便于替换和复用。
🔌 MCP 的价值
有了 MCP,你不用为每个模型单独写一套"如何调用 GitHub"、"如何读文件"的代码,而是实现一次 MCP 工具,多个模型 / Agent 都能复用。
四、三者之间到底什么关系?
现在我们可以把 Prompt、Agent、MCP 放在一张逻辑图里:
- Prompt:告诉模型"你是谁、该怎么想、输出什么"。
- Agent:在 Prompt 基础上,加上模型选择、工具权限、记忆和策略,变成一个可复用的 AI 角色。
- MCP:作为工具层协议,让 Agent 能通过统一的方式访问外部世界。
用一句话总结:
一句话心智模型
Prompt 决定"想法",Agent 决定"谁在想 + 能做什么",MCP 决定"怎么安全地伸手到外部世界"。
五、示例:做一个"文档问答 Agent" 时三者分别怎么用?
假设你想做一个"项目文档问答助手",可以在 OpenClaw 里这样拆解:
5.1 Prompt:定义角色与输出格式
首先为这个 Agent 写一段系统 Prompt:
- 你是某项目的内部文档助手,只根据提供的文档回答问题。
- 不编造信息,遇到文档里没有的内容要明确说不知道。
- 回答时先给简短结论,再给引用来源(文档标题 / 小节)。
这部分会固定写在 Agent 配置中,成为它的"性格"和"口头禅"。
5.2 Agent:绑定模型和工具
接着创建一个 Agent,指定:
- 使用哪个模型(例如擅长长文本理解的版本)。
- 启用哪几个 MCP 工具:如"搜索项目文档索引"、"读取指定文档片段"。
- 是否启用记忆(比如缓存常问问题的答案)。
- 是否允许多轮工具调用(先搜索,再按需读取多处文档)。
从此以后,你只要在不同入口(Web、飞书、终端)调用这个 Agent,它都会以同样的方式工作。
5.3 MCP:封装文档检索能力
最后,用 MCP 的协议把文档检索功能封装成工具,例如:
search_docs(query):在向量索引或全文搜索引擎里查相关段落。get_doc_chunk(doc_id, span):按文档 ID + 位置读取原文。
Agent 不需要知道到底用的是哪家向量库、底层是 SQLite 还是 Elasticsearch,只需要按 MCP 约定的格式调用工具即可。
六、在 OpenClaw 中设计 Prompt / Agent / MCP 的几个实战建议
- 先想 Agent,再写 Prompt:不要一上来就写一段特别长的 Prompt,先想清楚这个 Agent 在团队里扮演什么角色。
- Prompt 尽量模块化:把角色描述、输出格式要求、风格偏好拆成几块,便于在多个 Agent 之间复用。
- MCP 工具要"小而专":一个工具只做一件事(比如"搜索文档"),复杂任务由多次工具调用和 Agent 逻辑组合完成。
- 日志里记录 Prompt 和工具调用链:出现奇怪行为时,能快速回溯到底是 Prompt 写得含糊,还是工具返回了异常数据。
七、总结:把三个名词变成一张简单心智图
最后再用一句非常接地气的话重复一次:
- Prompt:给大脑写说明书。
- Agent:把带着这本说明书的大脑,变成一位有工具、有习惯的虚拟同事。
- MCP:给这位同事接上一块标准插线板,让 TA 能按规则、安全地摸到外部世界。
理解了这三个层次,你在看任何 AI 框架(不只是 OpenClaw)的文档和视频时,都会更容易找到对应关系,也更容易判断:这个功能到底属于"提示词层"、"Agent 层"还是"工具协议层"。
🚀 下一步可以做什么?
可以从你现有的 OpenClaw 配置里随便挑一个 Agent,问自己三个问题:它的 Prompt 写清楚了吗?它是否应该拆成两个更专注的 Agent?它调用的外部资源是否可以通过 MCP 抽象成更通用的工具?
加载评论中...