小白也能懂的AI黑话指南:从Prompt到MCP,一篇看懂所有概念
目录
你是不是也好奇过:我在网页上问AI一个问题,它到底是怎么回答的?为什么它能上网查资料、能帮我订机票、能操作我的电脑文件?User Prompt、System Prompt、AI Agent、Function Calling、MCP这些词到底啥关系?
别急,今天我就用最通俗的大白话,把这些概念一次性讲清楚!
1. 先说说AI是怎么理解你的问题的
你有没有想过,当你对着对话框敲下一行字,AI是怎么知道该回答什么的?
其实,AI接收到的不是简单的一句话,而是一套"组合包"。就像你去餐厅吃饭,不光要点菜,还得知道这家餐厅是川菜馆还是粤菜馆、有什么规矩。
这套"组合包"里最核心的两个东西,就是User Prompt和System Prompt。
2. User Prompt:你说了什么
User Prompt就是你直接发给AI的那句话——你在对话框里敲进去的内容。
比如:
- “明天天气怎么样?”
- “帮我写个Python脚本”
- “肚子疼怎么办?”
这些都是User Prompt。
2.1 只有User Prompt够吗?
你试试看:如果AI只收到"明天天气怎么样?"这一句话,它会怎么回答?
它可能会说:“明天天气需要查询天气预报,我目前没有这个功能,建议你打开天气APP查看。”
为什么?因为它不知道:
- 自己是"谁"(是客服还是助手?)
- 有什么能力(能不能查天气?)
- 该怎么说话(要正式还是幽默?)
只有一个User Prompt,就像一个人突然被拉住问问题,没有任何背景信息,只能用最通用的方式回答。
3. System Prompt:AI知道自己是谁
为了让AI有"人设",聪明的工程师们想出了一个办法:System Prompt。
System Prompt就是告诉AI:你是谁、你有什么能力、你该怎么说话。这些信息不是用户说的,而是系统预设好的。
3.1 System Prompt长啥样?
{
"system": "你是一个幽默风趣的AI助手,喜欢用比喻解释问题。你有查询天气、设置提醒、播放音乐等能力。",
"user": "明天天气怎么样?"
}
每次你发消息时,系统会自动把System Prompt和你的User Prompt打包在一起发给AI。
3.2 System Prompt里都放什么?
| 内容 | 例子 |
|---|---|
| 角色设定 | “你是一个专业的客服助手” |
| 语气风格 | “用简洁的语言回答” |
| 能力说明 | “你可以查询天气、设置提醒” |
| 规则约束 | “不要回答政治敏感问题” |
3.3 你见过System Prompt吗?
在网页版ChatGPT里,你看不到System Prompt——那是系统预设好的。
但在ChatGPT的Customized GPT里,你可以自己设置偏好:“用简洁的语言回答”、“你是一个Python专家”——这些偏好会被自动整合进System Prompt。
System Prompt就像员工的入职手册,告诉AI该怎么做人做事。
4. User Prompt和System Prompt是怎么配合的?
这两者不是各说各话,而是组合在一起发挥作用:
| 角色 | 相当于 | 作用 |
|---|---|---|
| System Prompt | 员工入职手册 | 告诉AI:你是谁、你有什么能力、你该怎么说话 |
| User Prompt | 客户的需求 | 告诉AI:今天要干什么、要解决什么问题 |
AI看到的是:
- 先读System Prompt:“哦,我是一个友好的AI助手,我有天气查询工具”
- 再看User Prompt:“用户让我查明天的天气”
- 结合两者:“用户需要天气,我有天气工具,我应该调用它”
打个比方:
- 新员工第一天上班,先看入职手册(System Prompt),知道公司有什么资源、该怎么说话
- 然后接到客户电话(User Prompt):“帮我查一下明天的天气”
- 员工知道该用哪个工具、怎么回答,因为手册里都写好了
5. 早期的问题:工具描述只能硬塞进System Prompt
在AI Agent这个概念火起来之前(2023年以前),如果想让大模型调用外部工具(比如查天气、设提醒),开发者只能把所有工具的描述用自然语言写在System Prompt里:
系统提示:你是一个AI助手。你可以使用以下工具:
- 天气查询工具:调用方式:传入城市名,返回天气信息
- 日历工具:调用方式:传入日期,返回日程安排
- 计算器工具:调用方式:传入表达式,返回计算结果
用户问题:帮我查一下明天的天气
5.1 这种做法有什么问题?
| 问题 | 后果 |
|---|---|
| 自然语言随意写 | 今天写成"传入城市名",明天写成"需要city参数",AI可能理解错 |
| 格式不统一 | AI返回的调用格式五花八门,有时返回JSON,有时返回自然语言 |
| 出错了得自己处理 | AI返回的格式不对,你得自己解析、自己重试 |
| System Prompt越来越臃肿 | 人设信息+工具描述混在一起,又长又乱 |
就像把所有工具的使用说明书都塞进员工手册,员工翻半天才能找到想要的那一页。
6. AI Agent的出现:专门负责"跑腿"的角色
2023年,AutoGPT这类项目开始出现,人们把这种负责在模型、工具和用户之间传话的程序,叫做AI Agent。
AI Agent = 一个会动脑 + 会动手的智能助理
6.1 AI Agent是干什么的?
它就像一个勤劳的秘书,在你和大模型、各种工具之间跑来跑去,协调一切:
你(User Prompt):“帮我查明天的天气”
↓
【AI Agent】← 中间多了个秘书
↓ (把工具信息整理好,塞进System Prompt)
【大模型】← 收到:System Prompt(人设+工具有哪些)+ User Prompt(用户需求)
↓ (思考后决定调用天气工具)
【AI Agent】← 收到调用指令,去执行工具
↓
【天气工具】← 实际查天气
↓
【AI Agent】← 收到结果,返回给大模型
↓
【大模型】← 根据结果生成回答
↓
【AI Agent】← 把最终答案展示给你
你看到:“明天晴天,20度”
6.2 有了AI Agent,你轻松了
你不用关心AI是怎么调用工具的,不用管中间出了什么错,Agent全帮你搞定。
AI Agent就像你的私人秘书,你只需要提需求,跑腿的事交给它。
7. Function Calling的革命:工具调用有了统一格式
2023年底,OpenAI推出了Function Calling功能,随后Google Gemini等也纷纷跟进。这个功能的核心思想就是把工具描述从System Prompt里剥离出来,用统一格式单独发送!
7.1 以前vs现在
以前(工具塞在System Prompt里):
系统提示:你是一个AI助手。工具有:天气查询(传城市名)、日历查询(传日期)...
现在(Function Calling标准化):
{
"name": "get_weather",
"description": "查询天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string"}
}
}
}
所有工具都用统一的JSON格式定义,不再用自然语言随意写。
7.2 最关键的变化:工具定义有了专属字段
Function Calling把这些工具定义单独放在一个字段里,和System Prompt、User Prompt并列发送:
{
"messages": [
{"role": "system", "content": "你是一个友好的AI助手,喜欢用幽默的方式回答"},
{"role": "user", "content": "帮我查明天的天气"}
],
"functions": [ // ✅ 专门的字段!不再塞在System Prompt里
{
"name": "get_weather",
"description": "查询天气",
"parameters": {...}
}
]
}
这就实现了三权分立:
- System Prompt:负责"我是谁"(人设、语气、性格)
- User Prompt:负责"用户要什么"(当前需求)
- functions字段:负责"我有什么工具"(标准定义)
7.3 更更更重要的是:返回格式也统一了
AI如果要调用工具,必须返回固定格式:
{
"function_call": {
"name": "get_weather",
"arguments": "{\"city\": \"北京\"}"
}
}
如果AI返回的格式不对(比如漏了括号、参数名写错),AI服务器端自己能检测到,并且自动重试!一次不行就第二次,用户根本感觉不到背后发生了重试。
Function Calling就像给AI配了个标准化的工具箱,每个工具都有统一的标签和说明书,AI一看就懂,不会拿错。
8. MCP的出现:让所有工具都能"即插即用"
8.1 新的问题出现了
Function Calling解决了Agent和大模型之间"怎么商量用工具"的问题,但Agent和实际工具之间怎么连接?
每个工具都有自己的API、自己的认证方式、自己的调用格式:
- 天气工具:HTTP请求,返回JSON
- 文件工具:本地文件系统操作
- 数据库工具:SQL查询
- 浏览器工具:需要启动浏览器实例
Agent要适配每一个,太累了!
就像你买了各种电器,但每个都要配不同的插座、不同的电压,太麻烦了。
8.2 MCP是什么?
2024年11月,Anthropic推出了MCP(Model Context Protocol),全称模型上下文协议。
MCP = 一套统一的协议,让Agent能用标准方式调用任何工具
它就像工具的"USB-C接口"——不管工具本身多复杂,只要它实现了MCP协议,Agent就可以用统一的方式调用它。
8.3 MCP的核心组件
| 组件 | 作用 | 相当于 |
|---|---|---|
| MCP Client | AI Agent端,发起工具调用请求 | 插头 |
| MCP Server | 工具端,接收请求并执行具体操作 | 插座 |
| MCP协议 | 定义通信格式和规则 | USB-C标准 |
8.4 MCP协议长啥样?
就是一套标准的JSON对话格式:
1. Agent(MCP Client)问MCP Server:有什么工具?
{
"jsonrpc": "2.0",
"method": "tools/list",
"id": 1
}
2. MCP Server返回工具列表
{
"jsonrpc": "2.0",
"result": {
"tools": [
{
"name": "get_weather",
"description": "获取天气",
"inputSchema": {
"type": "object",
"properties": {
"city": {"type": "string"}
}
}
}
]
},
"id": 1
}
3. Agent调用工具
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "get_weather",
"arguments": {"city": "北京"}
},
"id": 2
}
4. MCP Server返回结果
{
"jsonrpc": "2.0",
"result": {
"content": [
{
"type": "text",
"text": "北京晴天20度"
}
]
},
"id": 2
}
MCP Server就像一个装工具的柜子,配了一个会按统一格式接待人的管理员。你只要说标准话,管理员就帮你把工具拿出来用。
8.5 关键点:MCP本身和大模型无关
MCP是一个中立的协议层,它不关心对面是谁:
- 对面可以是AI Agent(用大模型的)
- 对面也可以是普通程序(不用AI的)
- 对面甚至可以是命令行脚本
它只负责一件事:用标准的方式,把工具调用请求发给实际干活的服务,再把结果用标准格式返回。
9. Function Calling和MCP,到底啥区别?
这是最容易混淆的两个概念,我一句话说清楚:
| 概念 | 谁和谁通信 | 作用 | 出现时间 |
|---|---|---|---|
| Function Calling | Agent ↔ 大模型 | 让大模型知道有什么工具、怎么调用 | 2023年底 |
| MCP | Agent ↔ 工具 | 让Agent能统一调用各种工具 | 2024年底 |
简单记法:
- Function Calling = 向上对话(Agent和大模型商量用啥工具)
- MCP = 向下连接(Agent指挥工具干活)
两者是不同层面的标准化,可以一起用:
大模型
↑
【Function Calling】← 商量用啥工具
↓
AI Agent(MCP Client)
↓
【MCP协议】← 统一调用标准
↓
MCP Server(包装各种实际工具)
↓
实际工具(天气API、文件系统、数据库...)
10. 一张图看懂现在的完整流程
用"帮我查明天的天气"这个例子,看看现在有了AI Agent、Function Calling和MCP后,背后发生了什么:
核心要点:
- System Prompt:负责"我是谁"
- User Prompt:负责"用户要什么"
- Function Calling:负责"Agent和大模型怎么商量"
- MCP:负责"Agent和工具怎么连接"
- 各司其职,完美配合!
11. 总结:一张表看懂所有概念
| 概念 | 作用 | 负责什么 | 出现时间 |
|---|---|---|---|
| User Prompt | 用户的具体需求 | “用户要什么” | 始终存在 |
| System Prompt | AI的角色定位和行为准则 | “我是谁” | 早期就有 |
| AI Agent | 协调模型、工具、用户的中间层 | “我来跑腿” | 2023年(AutoGPT引爆) |
| Function Calling | Agent和大模型之间的标准化协议 | “怎么商量用工具” | 2023年底 |
| MCP | Agent和工具之间的统一连接协议 | “怎么调用工具” | 2024年底 |
| MCP Server | 包装实际工具,提供标准接口 | “工具仓库+管理员” | 2024年底后 |
写在最后
当你下次在网页上问AI一个问题时,记住背后有多层技术在配合:
- System Prompt 告诉AI"你是谁"
- User Prompt 告诉AI"用户要什么"
- Function Calling 让AI知道有什么工具、怎么调用,出错了还能自动重试
- MCP 让Agent能用统一的方式调用各种工具,不用管每个工具的具体细节
这一整套配合,让AI从"只会说话"进化到"会干活",而你只需要像平时一样打字就行!
技术的演变,就是为了让你用得更爽,感受不到背后的复杂!
希望这篇入门指南对你有帮助!如果还有不明白的,欢迎继续问~
更多推荐



所有评论(0)