大语言模型详解
- [Large Lanage Model](#Large Lanage Model)
- MCP
-
- 原理
- [MCP Host](#MCP Host)
- [MCP Server](#MCP Server)
-
- MCP的核心职责与架构定位
- [MCP Service与普通Http接口服务的区别](#MCP Service与普通Http接口服务的区别)
- [MCP Server是如何通过技术实现一次开发,多模型复用](#MCP Server是如何通过技术实现一次开发,多模型复用)
- Agent
- [Agent Skill](#Agent Skill)
Large Lanage Model
简称LLM ,也就是大语言模型,是AI的最底层,几乎所有的大模型都是基于Transformer 架构训练出来的,大模型的底层架构就是它。

大模型的工作模式是文字接龙 ,向他提问问题后,他会预测下一个概率最高的词,接着将这个词抓回来,追加到用户输入的后面,然后拿着新输入的输入,再去预测下一个词,以此类推,直到大模型吐出结束标识符,回答结束。因此在于AI的聊天中,AI的回答是流式回答,一个词一个词的吐出来。
Token------大模型处理文本的最基本单元
大模型本质上一个庞大的数学函数 ,进行了一系列的矩阵预算 ,其接收与输出的全都是数字 ,所以在人与大模型之间,必须有一个中间人来翻译,这个中间人就叫Tokenizer 。它负责编码与解码 。
综上在进行理解,用户提问大模型问题,Tokenizer会将文字转化成数字(编码 ),然后Tokenizer会把由Token Id列表 送进模型,模型运算后吐出新的TokenId。接着Tokenizer将TokenId翻译为Token(解码 )。最后我们就拿到了大模型吐出的第一个Token。如果大模型的输出还没结束,就会继续吐出第二、第三个Token,流程同上。因此Token就是大模型处理文本的最基本单元。
注:一个Token平均等于 0.75个英文单词 或者 1.5~2个汉字。
- 编码:把文字变成数字,核心分为两步。第一步切分 :把用户的问题接过来,拆成一个个最小的片段,这些片段也叫词元,俗称Token ;第二步映射 :由于大模型只认识数字,Tokenizer就会把每一个Token对应到一个数字上,这些数字就叫Token Id ,其与Token是一一对应的,Token是文字,Token Id是数字。
- 解码:把数字还原成文字,只有一步,那就映射 ,方向是跟编码相反 ,把数字转化成文字。解码环节是不需要切分的,因为模型每次只会吐出一个Token。
Context------上下文
大模型本质是数学函数,他不像人一样有记忆,大模型每次能记住之前的聊天内容,是因为我们每次给大模型发送消息的时候,并不只会发我们的问题,背后的系统会把之前的对话历史也发送过去,有了对话历史,大模型每次回答看到的都是完整的对话内容,所以它才能知道之前发生了什么。这就是引出了Context的概念。
Context,上下文,它代表了大模型每次处理任务时,所接收到的信息总和 。此外,Context里面还有很多其他内容,比如大模型正在输出的每一个Token、工具列表 、System Prompt 等信息。
我们在使用AI时,会有让他阅读文档,并且根据文档回答问题的场景,但在Context并不可能装下全部的文档,文档过长的话,即使大模型的Context Windows不会被撑爆,成本也无法控制。这就需要RAG 来协助,它可以从文档中抽取用户问题最为匹配的几个片段,然后只把这几个片段装入Context中,发送给大模型。
Prompt------提示词
Prompt,提示词,它是大模型接收的具体问题或指令。大模型会根据用户的Prompt来输出内容,相应的,Prompt越清晰,大模型输出的内容也越符合用户的预期。这就是为什么有个专门的领域叫做Prompt Engineering(提示词工程),说白了就是研究怎么把话说清楚,让大模型更精准的理解你的意图。
有时候我们不仅要告诉大模型具体处理的任务,还要告诉他人设和做事规则,也就是告诉大模型"它是谁",它应该按照什么规则做事,所以这就引出了两种不同的Prompt:说明具体任务的是User Prompt(用户提示词) ,与人设和做事规则的System Prompt(系统提示词)。User Prompt是用户输出的提示词,System Prompt是开发者在后台配置的提示规则;有了它们的配合,大模型既能守住规矩,又能完成用户的具体需求。
Tool------工具
大模型是无法感知外界环境的,自身的最新数据来自于大模型训练的截止时间。这时就需要Tool来协助。tool的本质就是给大模型提供一套可以调用的外部能力,让大模型可以感知和影响外部环境。
Tool,工具 ,你给它输入,他就会给你输出,所以也叫做函数,就相当于调用API。比如询问大模型今天的天气如何,它会调用查询天气的API,输入你的日期与坐标,返回查询的天气结果。
从用户提问到大模型的完整流程
角色:用户、大模型、工具、平台(传话筒,前面这三个工具无法直接对话,所以需要需要平台这个角色来传递信息,本质上就是一段代码,来负责上传下达)
- 首先,用户 会把问题发送给平台 ,然后平台把用户的问题和可用的工具列表 转发给大模型;
- 大模型收到问题后会自己分析,比如用户想知道天气,而大模型本身没有实时的天气数据,但这里有天气查询工具可以使用;
- 大模型 本身无法调用工具,它只能输入输出文本,所以只能借助平台。大模型会生成一个调用天气查询工具的指令;
- 平台接收指令之后,会调用查询天气的工具(本质就是调用API)。调用结束后,平台会拿到查询结;
- 平台 将查询的接口返回给大模型 ,大模型拿到结果后,会把它整理成一句"人话",输出给平台;
- 平台 把这句话在转发给用户,这样用户就可以看到结果了。
大模型 的职责有两个,第一个是选择工具 ,选择需要调用的工具,生成调用工具的参数;第二个是归纳总结 ,再拿到工具的执行结果后,模型需要对工具的结果做一个归纳总结。
工具 的职责是完成查询天气这个动作。
平台 的职责就是串联起整个流程,告诉大模型哪些工具可用、根据模型的调用指令来调用工具等等。所以调用工具的角色并非模型,则是平台
MCP
上述的使用工具流程中,有两个工程上的大问题,第一是平台要把工具列表传给模型,第二还要能调用工具。要做到这些首先就得把工具接入到平台里面,这样平台才知道可用工具列表以及每个工具的用途、参数和调用方法等等。
这套接入规范 每个平台都不一样,ChatGPT、Claude、Gemini这些平台的接入标准都不一样,同一个工具要写三遍,因为每个平台的接入标准都不一样。因此诞生了新的概念MCP ,统一的接入规范,Model Context Protocol 翻译过来就叫模型上下文协议 ,可以将其理解为统一的工具接入标准。有了MCP之后,工具的开发者只需要按照MCP的规范开发一次工具,这个工具就可以被所以支持MCP的平台使用了。解决传统 AI 集成的 M×N 适配难题。
因此,MCP本质就是能让大模型更好的使用各类工具的一个协议 。比如借助MCP可以让大模型使用浏览器上网查询信息、可以让模型操纵Unity编写游戏、也可以让模型查询实时路况。(注意,大模型只是决策调用哪个工具,真正执行的是Agent)
原理
在 MCP 架构里分三分:Host‑Client‑Server。
- Host(宿主):AI客户端,运行LLM应用(如Claude DeskTop、Idea等等)。负责任务调度、用户交互、安全策略与权限控制。
- Client (客户端):Host内的翻译官 ,与Server建立有状态会话 ,基于JSON-RPC封装请求、相应,处理链接、协商、消息路由。
- Server(服务端):封装外部能力,统一暴露为三类标准化原语:Tools-可执行操作、Resources-可读数据、Prompts-可复用模板与指令。
其工作内容如下:
- 连接与能力协商,Client与Service握手,互相声明支持的能力(比如Server提供哪些工具),建立会话。
- 模型请求工具调用,Host内LLM生成调用指令,由Client封装为MCP标准请求。
- Server执行并返回结果,Server解析请求,调用底层工具、数据源,结果按照MCP标准返回Client,再由Client整合进模型上下文。
- 会话维持与安全控制,连接可常驻,支持双向通知;全程受 Host 安全策略管控(权限、审计、脱敏)。
其中关键的技术原理:
基于 JSON‑RPC 的有状态会话:区别于 HTTP 的无状态,MCP 维持会话上下文,支持多轮交互与流式输出。
能力驱动 的解耦设计:模型与工具仅通过标准化能力 接口交互,互不感知内部实现,彻底解耦。
安全边界隔离:Host 集中管控权限,Client/Server 按最小权限原则通信,降低安全风险。
最后,在强调一下MCP解决的核心问题:
平台与工具的调用并不依赖MCP,MCP只是从 M×N 定制变为 1×1 标准适配,解决继承成本高 的问题;统一接口让所有工具可被任意模型调用。内置权限、审计、脱敏机制,让安全可控;标准化上下文格式,支持跨工具状态共享。
MCP Host
Mcp Host本质上是一个支持MCP协议的软件,常见的MCP Host包括Claude Desktop、Cursor、Cline、Cherry Studio等等,
MCP Server
MCP Server是遵循MCP开发的能力服务端,专门用来把本地的文件、数据库、API、业务系统、本地工具等能力,包装成大模型标准调用的接口 。直白点的理解就是MCP Server 就是给 AI 大模型用的功能插件服务器,大模型想读文件、查数据库、操作本地代码、调用接口,都靠 MCP Server 干活。
MCP的核心职责与架构定位
MCP Server 是 MCP 协议的能力提供端,核心职责是将底层资源(文件、数据库、业务系统)或工具(Shell 命令、API 调用)封装为 MCP 标准定义的Tools/Resources/Prompts 三类能力,暴露给 MCP Client 供大模型标准化调用,本质是AI 可理解的能力适配器
在 MCP 的 Host-Client-Server 三层架构中,MCP Server 属于能力层,是唯一直接对接实际业务资源 / 工具的角色,MCP Client(协议层)负责协议转换,Host(应用层)负责调度与安全控制,三者通过 JSON-RPC 2.0 维持有状态会话。
MCP Service与普通Http接口服务的区别
| 对比维度 | 普通 HTTP 接口 | MCP Server |
|---|---|---|
| 设计目标 | 服务于程序间数据交互 | 服务于大模型的能力调用 |
| 会话特性 | 无状态(需额外维护上下文) | 有状态(原生支持多轮交互) |
| 能力暴露 | 需手动文档说明接口用途 | 自动声明能力元数据(如工具名称、参数格式),大模型可自动发现 |
| 上下文支持 | 不原生支持流式输出 / 状态共享 | 内置会话上下文,支持流式响应与跨调用状态传递 |
| 安全机制 | 需自定义权限控制 | 遵循 MCP 最小权限原则,受 Host 统一管控(审计、脱敏) |
MCP Server是如何通过技术实现一次开发,多模型复用
核心是标准化解耦,MCP Server 的设计从 3 个层面实现复用:
- 接口标准化 :MCP Server 必须遵循 MCP 协议定义的统一接口规范(基于 JSON-RPC 2.0),对外暴露固定格式的能力声明接口 和调用接口,无论底层是 MySQL 还是本地文件,上层模型(Host)只需按标准格式请求,无需关心实现细节。
- 能力元数据标准化:MCP Server 启动时会主动上报能力元数据(如工具名称、参数类型、返回格式、权限要求),元数据格式由 MCP 协议统一定义,大模型可通过元数据自动理解如何调用
- 通信格式标准化:请求 、响应体必须按 MCP 规范封装(如请求包含 capability_id、parameters、session_id,响应包含 result、status、context),Java 开发中可通过定义统一的 DTO 类(如 McpRequestDTO、McpResponseDTO)强制适配,避免自定义格式导致的适配成本。
Agent
Agent,简单说,它是一个能自己思考、自己规划、自己干活的 AI。它的核心原理:四大模块 + 闭环工作流
四大模块:一个大脑 + 三大组件
- 大脑(LLM 大模型):负责理解、推理、决策,是智能核心,它负责决定根据用户的问题,来调用哪些工具;
- 感知模块:接收文本、图像、语音、工具返回等信息;
- 记忆系统(短期 + 长期):短期记忆:保存当前对话上下文;长期记忆:数据库 / 向量库,存储历史经验、知识库,随时调取;
- 工具调用(手脚):联网搜索、API、数据库、代码解释器、硬件控制等。
工作闭环流:感知→决策→执行→反馈→迭代
-
感知:接收目标与环境信息(如用户需求、工具返回数据);
-
认知推理:LLM 理解目标,用思维链 拆解任务,制定计划;
-
工具调用:判断是否需要外部工具(如查天气、调 API),生成调用参数;
-
执行与反馈:执行动作,接收结果,判断是否完成或需要重试 / 调整;
-
记忆更新:把关键结果、经验存入长期记忆,供后续任务参考;
Agent Skill
Agent Skill 就是提前写好塞给Agent的一份说明文档,一份Markdown文档(本质还是提示词Prompt)。整体结构可以分为两部分:
- 元数据层 :整个说明文档的封面,告诉Agent这个技能叫什么,是做什么事的。其至少要有两个属性,name 与description;name代表这个Agent Skill的名字,description就是描述。
- 指令层:这层的格式不做具体要求,只要能把事情向Agent说明清楚即可。比如可以分为目标---执行步骤---判断规则---输出格式,可以在详细给出示例。