最近 AI 圈最火的词非 MCP(Model Context Protocol) 莫属。
GitHub 上的 Star 数一路飙升,推特上各种开发者晒截图炫技:"我的 Agent 能调用浏览器了""我让模型自己调了自己写的 API!"
小dora 也按捺不住好奇心,泡在文档里翻了几天。
看着 MCP 一步步让 AI 从"能聊天"进化到"能协作",
脑子里闪过一个念头:
"这不就是人工智能的成年礼嘛,从语言到行动,从个体到组织。"
于是这篇笔记就诞生了。
我们不止聊现象,更聊背后的逻辑------
AI 为什么要这么设计,它在"进化"的过程中,究竟补上了哪些"人类式能力"。
🧠 第一阶段:LLM------语言的觉醒
当初 ChatGPT 问世那会儿,全世界的开发者都震惊了。
一个模型,能写诗、能改代码、能分析论文。
一时间仿佛智商都被它碾压。
可很快大家发现了问题:
它说得头头是道,却不一定靠谱。
你问它数据库的 schema,它编;
你问它接口返回结构,它猜。
它像个学识渊博、但不太负责任的室友。
背后的原因其实很简单:
LLM 的本质是一个 超大规模语言概率模型 。
它只是在统计意义上预测下一个 token 的可能性。
所谓"智能",只是统计规律的语言幻觉。
它擅长"生成",但不擅长"操作";
它理解"语言",却不了解"世界"。
换句话说:
LLM 是语言空间的巨兽,却是物理世界的婴儿。
🔍 底层机制一瞥:Transformer的"记忆"与"想象力"
LLM 能做到这一步,靠的是 Transformer 架构带来的上下文建模能力。
它的 self-attention 机制让模型在每次生成时都能回顾全局------这赋予了"上下文理解"的错觉。
但错觉终究是错觉:
Transformer 只能"记得"输入的内容,却不"知道"它意味着什么。
它能生成 SQL,但不能执行 SQL。
它能说"地球绕太阳转",但它并不知道太阳系是什么。
🧰 第二阶段:Function Calling------工具使用的觉醒
AI 想要更进一步,就必须打破"语言沙盒",
去真正调用外部系统。
于是 OpenAI 在 2023 年推出了 Function Calling。
这一步的意义,就像人类从"发明语言"进化到"发明工具"。
LLM 从会聊天,变成了能干活。
开发者可以预定义函数描述,比如:
json
{
"name": "search_user",
"description": "根据用户名查询数据库用户",
"parameters": {
"type": "object",
"properties": {
"username": { "type": "string" }
},
"required": ["username"]
}
}
然后模型理解你的意图,自动返回一个结构化调用:
json
{ "name": "search_user", "arguments": { "username": "小吴" } }
模型的回答不再是"我猜他在数据库里",
而是"我可以调用这个接口去查一下"。
------它终于学会"动手"了。
⚙️ Function Calling 的真正价值:结构化 + 可靠性
Function Calling 本质上是给 LLM 加了一个"结构化 I/O 层"。
它不再用自然语言糊你一脸,而是以 JSON 的方式表达决策。
这背后其实是一次范式转变:
Prompt 是模糊的,Function 是确定的。
以前模型说"帮我查下天气",你得靠 prompt 模板来引导它输出。
现在它能准确地生成:
json
{ "name": "get_weather", "arguments": { "city": "杭州" } }
这种结构化输出让模型第一次具备了可编排性 ,
也让我们能安全地将 LLM 接入生产系统。
🧩 但问题来了:它依然是"孤岛智能"
Function Calling 的局限性很明显:
- 它只能调用你预定义的函数;
- 它无法理解"当前上下文环境";
- 它与系统之间的交互是单次、无状态的。
换句话说:
它会用工具,但不知道何时用、为什么用、和谁配合用。
就像一个刚学会使用命令行的新手黑客:
会敲指令,但一关终端,全忘光。
🌐 第三阶段:MCP------协作的觉醒
终于,2024 年末,OpenAI 推出了 MCP(Model Context Protocol) 。
这个词听起来有点抽象,但本质上它是一个"AI 的操作系统级协议"。
你可以这么理解:
Function Calling 是"函数层面"的沟通,
MCP 是"生态层面"的协作。
🧭 MCP 要解决的痛点:上下文与协作
MCP 的目标是建立一个 标准化的上下文通信协议 。
这意味着模型不再依赖单一接口,而是能:
- 访问共享上下文(context);
- 与多个系统/Agent 交互;
- 理解自己当前所处的"环境"。
举个例子,未来可能是这样的:
- 你的 VSCode、Postman、数据库客户端、GitHub Copilot 都通过 MCP 联通;
- LLM 能理解你当前在调试哪个项目、用的什么依赖、上次构建失败在哪;
- 它可以自动调用工具链,而不仅仅是调用"一个函数"。
这一步的意义堪比从单机操作系统到互联网时代的跃迁。
Function Calling 让 AI 拿到了工具;
MCP 让 AI 拿到了**"团队协作"与"环境意识"**。
🕹️ MCP 的技术结构一瞥
MCP 的设计由三层组成:
层级 | 说明 | 类比 |
---|---|---|
Model Client | AI模型或智能体 | 使用者(大脑) |
Model Context Server | 负责上下文管理与指令中转 | 操作系统内核 |
Tools / Resources | 外部API、文件系统、数据库等 | 工具与外设 |
通信过程采用 双向流式上下文传递 ,
模型不仅能发起请求,还能接收外部状态变化。
这意味着:
AI 终于具备了"实时世界感知能力"。
🧬 底层思想:从「语言模型」到「行动模型」
LLM 的未来形态,不再是 "Large Language Model",
而是 "Large Life Model"------
一个能理解环境、能主动决策、能协作执行的"数字生物"。
MCP 的出现,是语言智能走向行动智能的里程碑。
它将 Function Calling 的点状调用,扩展为"语境图谱";
将单智能体的任务执行,扩展为"群体智能协作"。
🧩 小结:AI的三次觉醒
阶段 | 关键词 | 核心突破 | 类比 |
---|---|---|---|
LLM | 语言觉醒 | 生成语言 | 婴儿学说话 |
Function Calling | 工具觉醒 | 执行外部任务 | 青少年学干活 |
MCP | 协作觉醒 | 理解上下文、共享环境 | 成年人懂配合 |
🚀 小dora 的思考:AI 编程范式的变革
以前我们写代码,是人类告诉机器"怎么做";
而现在,我们正在教机器"自己想办法做到"。
未来的编程形态可能是这样的:
我:帮我构建一个页面,可以上传文件并自动生成分析报告。
AI:好的,我会用 React + FastAPI 实现,预计 3 个模块。是否要我创建 repo 并初始化项目?
那一刻,程序员的角色将从"码农"变成"智能体指挥官"。
而编程,不再是堆砌逻辑,而是编排智能。
💬 结语
LLM 是语言的奇迹,
Function Calling 是行为的启蒙,
MCP 是协作的黎明。
它们共同构成了 AI 的进化三部曲------
从"理解人类"到"协作世界"。
或许再过几年,我们不会再说"AI 是工具",
而会说:
"AI,是我们新的数字同事。"