跳转至

我的ai基础扫盲

1. Token 它是AI理解文字的最小单位。不是直接把每个字喂给AI,而是先切碎成Token。 * 怎么切? 常见汉字(如“你”、“好”)通常1个字=1个Token。生僻字或英文长单词(如“Congratulations”)可能1个词=好几个Token。标点符号也算。 * 通俗理解:就像你跟AI说话要“买票”,一个字可能要买1张票,生僻字或长单词可能要买2-3张票。AI处理的总票数,就是Token数。

2. 上下文(Context) 指AI在回答时能记住的、之前对话内容的容量。 * 通俗理解:就像AI的“短期记忆”。你问完第1句,它能记住;问完第10句,可能就忘了第1句的内容。上下文越大,它的“记忆容量”就越大,能一次性处理更长的文章或对话。比如上下文128K,大概能一次读完《三体》三部曲的文本量。

3. 缓存击中率(Cache Hit Rate) 这主要是为了省钱和提速。当你重复问相似问题时,AI不必重新计算,而是从“缓存”(像抽屉里的草稿本)里直接拿现成答案。 * 缓存击中(Hit):抽屉里正好有你要的草稿,直接拿来用 → 快且便宜。 * 缓存未击中(Miss):抽屉里没有,必须从头算 → 慢且贵。 * 击中率:你问10次,有7次直接拿现成的 → 击中率70%。击中率越高,系统越聪明、越省钱。

一句话总结它们的关系
你发过去的一段文字(切成若干个Token),AI会结合它的短期记忆(上下文)来理解;如果大量重复请求能直接从缓存拿结果(缓存击中率高),反应就快,成本也低。

1. API(应用程序接口)

广义 CS 上的 API
就像餐厅里的 服务员。你(客户端)想点菜(要某个功能/数据),不需要自己冲进厨房炒菜,只需要告诉服务员你要什么,服务员去后厨(服务器)拿来给你。
关键点:API 就是一套约定好的“点菜方式”——你按规矩喊一声,它就帮你干活,你不用管背后是怎么做的。

AI 上的 API
本质一样,但后厨换成了 大模型
你没法直接把脑子连到 ChatGPT 上,所以通过 AI 公司提供的 API,发一句话(带你的 Token 和参数),AI 服务器算完后把结果返回给你。
通俗例子:你写一个小程序,里面调用 chatgpt.api(“讲个笑话”),API 就会替你把这句话传到 OpenAI 的机房,再把生成的笑话拿回来。你不用自己部署几百亿参数的模型。

MCP(Model Context Protocol,模型上下文协议)就像为AI生态定制的 “USB-C接口”

在解释它之前,我们先用一个比喻来联想一下。

🔌 从“私人定制”到“通用标准”

想象一下AI是个想买东西的人,但需要连接各种外部工具。 * 过去 (无MCP):为了用每个新工具,AI都需要一根专用的、定制的充电线,非常麻烦。 * 现在 (有MCP):MCP定义了一个统一的“USB-C”接口标准。AI只需学习这一种“插口”,就能连接任何一个支持MCP的工具(比如数据库、搜索引擎等),即插即用。

简单来说,MCP就是一套开放标准,它用一个通用语言,统一了AI大模型与外部世界(数据、工具、API等)的连接方式。

🏗️ MCP的“三角关系”

为了让这套标准运行起来,有三个关键角色各司其职:

  • 1. Host (应用/客户端):这是你直接交互的AI应用(如Claude桌面版、Cursor等)。它是沟通的发起者,负责理解你的需求,并找到合适的“专家”来帮忙。
  • 2. Server (服务端/专家):这是个只懂“MCP语言”的“专家”程序,专门负责完成某一类具体任务,比如读数据库、处理文件或查天气预报。它准备好向任何发来请求的“Host”提供服务。
  • 3. Tool (工具):“专家”胸前的徽章,标注了他能完成的精准技能,比如“查询当日天气”。大模型正是通过“Tool”的描述来了解并调用某项特定能力的。

🤝 MCP的“一呼百应”协作

它给AI行业带来的最大好处是“标准化”和“解耦”。MCP将AI的“思考能力”与“执行能力”彻底分离,这意味着一个MCP Server写好,可以被成千上万个MCP Host调用。开发者再也不用为每个AI产品重复“造轮子”,整个生态的效率大大提升。

一个例子:一个开发者编写了一个MCP Server - 天气专家。从此,所有支持MCP的AI应用(如Claude、Cursor等),都能直接获得这个查天气的能力,无需额外开发。

明白了,之前的解释可能还是有点抽象。我们用一个更生活化的场景,从头搭建一个MCP的例子,你就能彻底搞懂。


场景:你想让AI帮你查一下“今天杭州的天气”,然后根据天气推荐穿什么。

没有MCP的时候(传统方式)

  1. 你问AI:“杭州今天天气怎么样?”
  2. AI说:“对不起,我不知道实时天气,我的知识截止到去年。”
  3. 你必须自己去打开浏览器、搜天气、看到“25度、晴”,然后把这段文字复制粘贴给AI。
  4. AI看到文字后说:“哦,25度晴,建议穿短袖。”
  5. 问题:换一个AI(比如从ChatGPT换到Claude),你还得重复这个过程。每个AI都要你手动喂数据

有MCP的时候

你事先设置好一个MCP Server(可以理解为一个“天气小助手”),这个小助手知道怎么从气象网站拿数据,并且它只说MCP标准语言

然后你的AI应用(比如Claude桌面版)天生就懂MCP语言。于是对话变成:

  • 你问AI:“杭州今天天气怎么样?”
  • AI(作为MCP Host)听懂后,自动用MCP标准格式去问那个“天气小助手”(MCP Server):“请给我杭州今天的天气。”
  • 小助手去气象网取回数据:“25度,晴。”
  • 小助手用MCP标准格式把数据返回给AI。
  • AI看到数据,分析说:“25度晴,建议穿短袖。”

你全程只跟AI说了一句话。AI自己调用工具拿到了实时信息。


MCP三个角色的明确分工(用上面的例子)

角色 在这个例子里是谁 通俗理解
MCP Host 你的AI应用(Claude桌面版) 指挥官,理解你的需求,决定调用哪个工具,但不亲自干活。
MCP Server 那个“天气小助手”程序 专家,只会干一件事(查天气),按标准格式提供服务。
MCP 协议 两者之间沟通的规矩 USB-C接口标准,只要双方都支持,就能直接插上用。

再换一个角度:MCP解决的核心痛点

没有MCP:每个AI产品(ChatGPT、Claude、文心一言、通义千问...)如果要接入天气功能,都必须各自写一套代码去调用天气API。写一遍不难,但如果要接入100个不同工具(数据库、邮箱、日历、股票、地图...),每个AI产品都要写100套适配代码——重复造轮子

有了MCP:开发者只需要写一次“天气MCP Server”,所有支持MCP的AI产品(Host)都能直接用它。写一次,“插”给所有AI用。

这就像USB接口的诞生:以前每个厂商做自己的充电口,换手机就得换线;现在统一成Type-C,一根线通吃所有设备。


模型 vs 框架:Skill 是谁的能力?

🧠 核心认知:AI 编程助手 = 三层架构

很多人以为 Skill、Tool、Memory 这些高级功能是模型自带的(比如"只有 GPT-4 或 Claude 才有")。其实不是。

┌────────────────────────────┐
│  ③ 模型层 (Model)          │  ← 只做:文字进 → 推理 → 文字出
│  GPT / Claude / DeepSeek   │     不知道文件、Skill、工具是什么
└──────────┬─────────────────┘
           │ 纯 API 调用(文本进出)
┌──────────▼─────────────────┐
│  ② 框架层 (Framework)      │  ← 负责:Skill 匹配、工具调度、
│  Copilot / Cursor /        │     Memory 管理、上下文拼装
│  Codex CLI                 │     把"超能力"包装成文本喂给模型
└──────────┬─────────────────┘
           │ VS Code API
┌──────────▼─────────────────┐
│  ① 编辑器层 (Editor)       │  ← 文件系统、终端、UI
│  VS Code / JetBrains       │
└────────────────────────────┘

📦 模型只做一件事:文字进,文字出

模型不知道文件系统长什么样,不知道 VS Code 是什么,甚至不知道 "Skill" 这个概念存在。

功能 框架做的事 模型做的事
Skill 扫描 SKILL.md → 匹配触发条件 → 拼进 system prompt 读取 prompt 中的指令,按说明执行
Tool(读文件/搜代码) 定义工具签名 → 接收调用 → 实际执行 → 返回结果 决定"我该调用哪个工具"
Memory 存储/检索记忆文件 → 拼入上下文 根据记忆内容调整行为

🔌 Tool Calling 的本质

"Function Calling" 或 "Tool Use" 不是模型真的在调用函数

  1. 框架告诉模型:"你现在有这些工具可用:[read_file, create_file, ...]"
  2. 模型输出一段 JSON:{"tool": "read_file", "path": "/foo/bar.ts"}
  3. 框架解析 JSON → 实际执行 → 把结果文本返回给模型

所以只要模型能学会"输出特定格式的 JSON",就能拥有 Tool Calling。DeepSeek、Qwen、GLM 都支持 → 接入 Copilot 框架后,Skill、Memory、文件操作全部可用。

💡 生活类比

类比 框架 模型
手机 iOS(App 管理、通知、权限) A 芯片(只管算)
电脑 Windows(窗口、文件、进程) CPU(只管算)
浏览器 Chrome(标签页、扩展) V8 引擎(只执行 JS)

CPU 不知道什么是窗口,但 OS 包装好一切,CPU 只管算。

🎯 一句话总结

Skill 是框架能力,不是模型能力。 OpenAI 和 Anthropic 把两者打包营销,让人误以为只有 GPT/Claude 才有这些功能——实际上,任何支持 Tool Calling 的模型接上好框架,都能拥有同样的超能力。