三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

从“文字接龙”到办事助手:一文看懂 LLM、Tool、MCP 与 Agent

从“文字接龙”到办事助手:一文看懂 LLM、Tool、MCP 与 Agent

摘要:大模型为什么会说话,却不能天然查询天气?Tool、MCP、Agent 和 Skill 又分别解决什么问题?本文用一个“出门助手”的例子,串起从 Token 到 Agent 的完整技术链路。

关键词:大语言模型;Token;上下文;工具调用;AI Agent

当我们对 AI 说:“看看今天会不会下雨。如果下雨,帮我找附近卖雨伞的店,并告诉我出门要带什么。”屏幕上可能很快出现天气、商店位置和物品清单。

这看起来像一个聪明助理在独立办事,背后却不是某个无所不能的“大脑”,而是一套分工明确的系统:大语言模型负责理解和生成,Tokenizer 把文字转换成模型能处理的符号,Context 提供当前任务的信息,Prompt 说明目标,Tool 连接外部世界,MCP 提供标准化接口,Agent 负责规划和推进,Skill 则保存某类任务的成熟做法。

理解这些组件如何协作,也就理解了一个“会聊天”的模型怎样变成“会办事”的 Agent。

一、LLM:负责理解和生成的“大脑”

大语言模型(Large Language Model,LLM)要解决的基本问题是:根据前面的内容,判断接下来可能出现什么。

为了便于理解,可以把它想成一个规模极大的“文字接龙”系统。看到“今天出门记得带”,模型会结合当前上下文和训练中学到的语言规律,为许多候选 Token 计算分数,再产生下一个 Token。新内容又成为后续生成的依据,如此循环,直到回答结束。

但它远不只是普通输入法。现代 LLM 大多建立在 Transformer 架构之上,能够分析长文本中不同信息之间的关系,因此可以总结材料、比较方案、改写文章和规划步骤。“文字接龙”解释的是它逐步生成内容的方式,不代表它只会机械背诵;模型也不一定总选分数最高的 Token,还可能通过采样增加表达的多样性。

LLM 擅长理解语言、推理和组织表达,却有天然边界。训练完成后,它不会自动知道此刻是否下雨,也不能仅凭生成文字就在地图上搜索商店。语言流畅也不等于事实可靠:模型可能生成听起来合理、实际却不存在的内容。实时信息、精确数据和外部操作,需要交给工具完成。

二、Token:文字进入模型前的编码

模型内部进行的是数字计算,不是直接看着汉字思考。人类语言进入模型前,要先经过分词器(Tokenizer)。

Token 是模型处理文本时使用的基本单位,可能是一个汉字、一个单词、词的一部分、标点,甚至空格与字符的组合。Tokenizer 先把文字切成 Token,再将每个 Token 映射为 Token ID;这些 ID 随后会转成向量,供模型计算。模型生成结果后,Tokenizer 再将输出的 Token ID 解码成人类可读的文字。

例如,“今天会下雨吗”可能被示意性地切成“今天|会|下雨|吗”,也可能采用其他组合。不同模型使用的词表和切分算法不同,所以同一句话交给不同 Tokenizer,结果可能不一样。精确切分必须使用对应模型的 Tokenizer 实测。

Token 也不能按固定比例换算成汉字或单词。中文、英文、代码、数字、生僻字和标点的编码效率各不相同。之所以需要关注 Token,是因为上下文容量、API费用和部分计算开销通常都以它为基础。

三、Context:模型当前任务的“办公桌”

如果 LLM 是大脑,那么上下文(Context)就是它此刻摊在办公桌上的全部材料。这里可能包括用户问题、此前的对话、系统规则、工具说明、检索到的资料、工具返回的结果,以及模型已经生成的内容。

上下文窗口(Context Window)是这张办公桌能够容纳的信息上限,通常用 Token 数量表示。窗口越大,一次能放入的对话和资料越多,但大窗口不等于永久记忆。会话结束后是否保存、以后能否重新找回,取决于产品的记忆和检索机制。

信息“放进去了”,也不等于模型一定能用好。材料太多时,关键内容可能被无关信息淹没,还会增加成本和延迟。因此,AI 系统需要管理上下文,而不是把所有资料一股脑塞进去。

检索增强生成(RAG)就是一种常见办法:不把整座图书馆搬上桌,而是先根据问题找出最相关的几页,再交给模型阅读。

四、Prompt:本次任务说明书

Prompt 是交给模型的任务信息与指令。用户提示(User Prompt)是我们直接输入的问题;系统提示(System Prompt)则由系统或开发者设置,用来规定角色、规则、权限边界和输出方式。

同样一句“今天适合跑步吗”,健身助手可能关注运动强度,过敏人群助手会查看空气质量,儿童出行助手则会采用更严格的安全标准。用户问题没变,但系统规则改变了判断重点。

好的 Prompt 通常会说明目标、必要背景、约束、输出格式和验收标准。模型理解能力再强,也不能代替清楚的任务定义。目标越含糊,它就越需要猜测用户真正想要什么。

五、Tool:让模型连接外部世界

工具(Tool)让 AI 系统能够查询实时信息或执行具体动作,例如查天气、使用计算器、读文件、搜索地图或发送消息。

这里最容易产生一个误解:通常不是模型自己打开网站或执行函数。模型负责判断需要什么工具,并生成结构化的调用请求;Agent 运行平台负责检查参数和权限,真正调用外部服务;工具执行完毕后,平台再把结果放回 Context,供模型继续判断。

以天气查询为例,完整过程是:

  1. 用户询问是否下雨;
  2. 平台把问题和可用工具说明交给模型;
  3. 模型提出调用天气工具,并给出地点参数;
  4. 平台执行调用,把天气数据放回上下文;
  5. 模型读取结果,组织成自然语言回答。

工具越强,权限管理越重要。查天气通常只是读取信息,发送邮件、付款和删除文件却会改变外部世界。成熟系统需要设置参数校验、授权范围和人工确认,不能因为 Agent 会规划,就给它无限权限。

六、MCP:能力接入的“统一接口”

如果每个 AI 应用都用自己的方式连接每一种工具,开发者就要重复编写大量适配代码。模型上下文协议(Model Context Protocol,MCP)试图用标准化方式降低这种成本。

可以把它类比为 Type-C:工具是具体设备,MCP Server 按统一方式暴露工具或数据,AI 应用通过 MCP Client 发现能力、发送请求并接收结果。MCP 不只是连接可执行工具,也可以提供文件、数据库记录等上下文资源。

不过,MCP 不是工具本身。它负责描述、连接和通信,真正查询天气的仍是天气服务。它也不能保证“一次开发,在所有平台无条件通用”,因为不同平台在协议版本、权限和认证方面仍可能存在差异。它的价值是减少适配成本,而不是消灭所有差异。

七、Agent:围绕目标持续行动

普通聊天往往是一问一答,Agent 则会围绕一个目标持续运行:分析任务、选择工具、观察结果,再决定下一步,直到完成任务、达到停止条件,或者需要用户介入。

这可以概括为“判断—行动—观察—再判断”的闭环。Agent 并不是某一种模型,而是一套运行系统,通常包含 LLM、上下文管理、工具、权限、循环控制、错误处理和评估机制。模型做关键判断,平台则决定它能看到哪些工具、最多执行多久、何时必须请用户确认。

Agent 与固定工作流也不完全相同。固定工作流事先写好每一步,适合规则稳定的任务;Agent 会根据中间结果动态选择下一步,适合路径不确定的问题。实际系统常把高风险环节写成固定流程,只在需要灵活判断的地方使用 Agent。

八、“出门助手”是怎样完成任务的

现在回到开头的请求:“看看今天会不会下雨。如果下雨,帮我找附近卖雨伞的店,并告诉我出门要带什么。”

Prompt 给出了目标和条件。Tokenizer 把文字转成 Token ID,LLM 在 Context 中读取问题、系统规则和工具说明。它发现缺少位置与天气信息,于是 Agent 先请求定位,再调用天气 Tool。

平台真正执行这些调用,把位置、降雨概率和气温等结果放回 Context。LLM 判断是否满足“下雨”的条件。如果成立,Agent 再调用地图或商户搜索工具,寻找附近且营业中的雨具店;最后由 LLM 把多项结果整理成天气提示、店铺信息和携带清单。

如果这些工具通过 MCP 接入,MCP 负责能力的发现与通信,地图和天气服务仍负责实际查询。整个过程中:

  • LLM负责理解条件、判断和组织答案;
  • Context保存当前规则与每一步结果;
  • Prompt说明本次要完成什么;
  • Tool执行定位、天气和商户查询;
  • MCP标准化部分外部能力的接入;
  • Agent安排顺序,并根据结果决定下一步。

九、Skill:给 Agent 的可复用操作手册

Skill 可以理解为交给新员工的标准作业指导书。它不会重新训练模型,而是在特定任务出现时,告诉 Agent 应该遵循什么步骤和规则。

例如,“出门助手 Skill”可以规定:先取得位置授权;天气数据过旧时重新查询;达到某个降雨条件才搜索雨具店;推荐商户时显示距离和营业状态;无法确认实时信息时明确说明限制。

在一些 Agent 系统中,Skill 会把名称、用途、操作步骤、工具方法、风险边界和输出格式写入结构化目录。系统可以先读取简短描述,任务匹配时再加载详细说明,以减少上下文占用。具体文件结构和加载方式取决于平台,不能把某一种实现当作所有 Agent 的通用标准。

五个容易混淆的概念由此可以分开:Prompt 说明“这一次做什么”;Tool 表示“系统能做什么”;MCP 解决“外部能力如何接入”;Agent 负责“围绕目标持续规划和执行”;Skill 规定“这一类任务应该怎么做”。

十、一张完整的技术地图

可以把整套系统想成一家公司:LLM 是负责理解、推理和表达的大脑;Tokenizer 是语言编码员;Context 是当前任务的办公桌;Prompt 是任务单;Tool 是能真正查询或操作的设备;MCP 是连接部分设备和数据源的标准接口;Agent 是协调资源、持续推进的项目负责人;Skill 是某类工作的标准作业手册。

从 LLM 到 Agent 的关键变化,不是模型突然拥有了意识,而是工程系统为它补上了现场信息、外部工具、权限控制和执行循环。理解这张地图后,再看到“函数调用”“MCP Server”“自主 Agent”或“安装 Skill”,就能判断它位于哪一层、解决什么问题,以及真正执行动作的究竟是谁。

核心概念速查

  • LLM:根据上下文理解、推理并生成内容的大语言模型。
  • Token:模型处理文本时使用的基本符号单位。
  • Tokenizer:在文字、Token 与 Token ID 之间编码和解码的组件。
  • Context:模型本次处理时可以接触的全部信息。
  • Prompt:交给模型的任务和指令。
  • Tool:查询外部数据或执行实际动作的能力。
  • MCP:标准化AI应用与外部能力连接方式的协议。
  • Agent:围绕目标持续判断、行动和调整的运行系统。
  • Skill:指导Agent完成某类任务的可复用操作说明。

参考资料

  1. Vaswani 等,《Attention Is All You Need》,2017。
  2. OpenAI,《Tokenizer》。
  3. OpenAI,《Function calling》。
  4. Model Context Protocol,《Architecture overview》。
  5. Agent Skills,《Specification》。
← 返回列表