从 LLM 到 Agent Skill,一期视频带你打通底层逻辑!
By 马克的技术工作坊
Summary
Topics Covered
- 大模型本质是文字接龙游戏
- Token非词而是模型切分规则
- Context是大模型临时记忆体
- Tool让大模型调用外部函数
- Agent Skill预设Agent私人规则
Full Transcript
AI 圈子里每天都在冒新名词 LLM Token Context Prompt Tool MCP Agent Agent Skill 这些词你可能都听说过 但是我问大家 你真的能准确地说出其中每一个概念的确切含义吗?
这期视频 我们不整那些虚头巴脑的商业概念 我们就从最底层的工程视角出发 一个一个把这些概念拆开、揉碎、讲清楚 看完这期视频 你对 AI 的理解绝对会上升一个台阶 我们先从最底层的东西开始 一层一层往上搭 最底层的,就是 LLM LLM 全称 Large Language Model 翻译成中文就是大语言模型
简称大模型 基本上现在所有的大模型 都是基于 Transformer 这套架构训练出来的 这个架构看起来很复杂 不过不用担心 这张图你现在看不懂是完全正常的 我们今天也不打算研究它 你只需要知道 大模型的底层引擎就是它 Transformer 架构最早 其实是由 Google 团队 在 2017 年的时候提出来的 对应的论文名是叫做 Attention Is All You Need 很有戏剧性的是
虽然 Google 发明了火种 但真正把它点燃并且引爆全世界的 却是 OpenAI 大家应该都记得 2022 年底 GPT 3.5 横空出世 它应该算是第一个 真正达到可用级别的大模型了 相信当时用过的人 都能感受到它的强大 但这还没完 仅仅几个月之后 在 2023 年 3 月份 GPT 4 发布 它是直接把 AI 的能力天花板 拉到了一个新的高度
可以说 GPT 系列 就是我们今天 AI 浪潮的绝对鼻祖 甚至时至今日 GPT 家族依然非常强大 比如现在的 GPT-5.4 就是业界的标杆之一 不过如今的 AI 赛道 早已经不再是 OpenAI 的独角戏了 像 Claude Gemini 等优秀的后起之秀 都在各自擅长的领域 与它同台竞技 前面我们说了大模型的大致由来 那大模型到底是怎么工作的呢
其实非常的朴素 它本质上就是一个文字接龙游戏 我们来看一个具体的例子 假设你向大模型提问 马克的视频怎么样 模型接收到这句话之后 经过内部的一通运算 它会预测下一个概率最高的词 比如“特别” 关键点来了 模型吐出“特别”这个词之后 它并不会停下来 它会把这个刚吐出来的“特别” 这个词抓回来
追加到你刚才的那个输入后面 然后它拿着这个新的输入 再去预测下一个字 比如说是“得” 接着它再把“得”塞回去 然后再预测下一个词 比如说是“棒” 然后它会把“棒”这个字 也塞回到输入里面 这个时候大模型会发现 它要说的话已经全部说完了 此时它就会输出一个特殊结束标示符 整个回答到这里就算彻底结束了 这样我们就拿到了
大模型的完整回答 特别得棒 这就是大模型最底层的生成原理了 理解了这一点 你就明白了为什么大模型 要一个词一个词地输出答案 因为它就是这么运作的 刚才说了用户提交问题给大模型之后 大模型每次都会吐出一个词 但其实这是为了方便你理解 而简化了一个链路 现实情况是这样的 大模型本质上是一个庞大的数学函数
里面跑的全是矩阵运算 它接收的是数字 输出的也是数字 压根就不认识人类写的文字 所以在人类和大模型之间 必须有一个中间人来做翻译 这个中间人就叫做 Tokenizer 它负责的是编码和解码两件事情 编码就是把文字变成数字 解码反过来是把数字还原成文字 还是拿刚才的那个例子来说
用户提问 马克的视频怎么样 这句话会先交给 Tokenizer 处理 它要把这些文字转换成数字 这就是编码环节在发挥作用了 我们来把编码的过程 拆开来仔细看一下 搞清楚它究竟 是怎么把文字变成数字的 这个过程分两步走 第一步切分 它把用户的问题接过来 把它拆成一个一个最小的片段 这些片段就叫做 Token
我们这里一共是切出了 4 个 Token 第二步 映射 由于模型只认数字 Tokenizer 就会把每一个 Token 对应到一个数字上去 这个数字就叫做 Token ID Token ID 和 Token 是一一对应绑定的 Token 是文字 Token ID 是数字 这两个其实本质上是一个意思 只不过是换了种表达方式而已 经过了这两步 原来的一句话
就变成了一串 Token ID 组成的列表 然后 Tokenizer 会把这串列表送进模型 模型在内部一顿运算 最终吐出了一个 Token ID 这个时候 Tokenizer 再次出场 把这个 Token ID 翻译回 Token 这就是解码环节的工作了 解码只有一步 那就是映射 方向是跟编码反过来 把数字转换成文字 要注意的是解码环节是不需要切分的
因为模型每次只会给出一个 Token 并没有什么好切分的 解码完成后 我们就拿到了大模型 输出的第一个 Token 特别 如果模型的话还没有说完 就继续吐第二个 第三个 Token 后面的流程其实都是一样的 这里就不再重复了 所以你看到了吗 Token 才是大模型 处理文本的最基本单元 大模型一个 Token 一个 Token 地接收输入 然后再一个 Token 一个 Token 地输出结果
现在我们回过头看刚才的那个例子 马克的视频怎么样 它是被切分成了 4 个 Token 马克 的 视频 和 怎么样 你有没有注意到 这里每个 Token 好像都正好对应一个词啊 所以你可能会想 Token 就是词对吧 但其实不一定 Token 和词并不是一一对应的关系 刚才那个例子只是恰好而已 我们换几个例子你就明白了
比如我的频道是叫做 马克的技术工作坊 如果按照词的标准来划分的话 那应该是划分成 4 个 Token 分别是马克 的 技术 和工作坊 那真的是这样吗 OpenAI 提供了一个 把文本转换为 Token 的页面 我们不妨去试一下 首先粘贴上我们要切分的文本 也就是马克的技术工作坊 你看它把我的频道名 转换成了 5 个 Token
其中每个颜色代表一个 Token 这里还能看到对应的 Token ID 这里要注意了 OpenAI 把工作坊 拆成了两个 Token 工作 和 坊 分别代表一个 Token 这跟我们预想的不一样 在我们的预想中 工作坊应该是一个词 那它应该正好对应一个 Token 才对 不过实际上它会被拆成两个 Token 当然你可能也会说 工作坊 是不是也不能算作一个词啊
好 那我们再看一个更明显的例子 程序员 这一总算是一个完整的词了吧 但在 Tokenizer 里面 它被切成了两个 Token 程序 和 员 这个是中文的情况 那英文呢 一个英文单词对应一个 Token 吗 对于常见单词确实是这样的 比如 hello 是一个 Token going 也是一个 Token 不过这个也不是铁律 比如 helpful 这个单词 就被拆成了两个 Token
help 和 ful 甚至在某些情况下 一个字符会被拆分成多个 Token 来用 比如对于对勾这个字符 就需要 3 个 Token 来表示它 不过这 3 个 Token 没有对应的显示字符 所以在这里面显示的就是问号了 这种情况下看 Token ID 可能还更直观一些 你看确实是 3 个 所以我们总结一下 词和 Token 并没有什么明确的一一对应的关系 你可以把 Token 理解成
模型自己学会的一套文本切分规则 切出来的每一块 就是它一次能够处理的最小单位 平均来讲 一个 Token 大概是等于 0.75 个英文单词 或者是 1.5 到 2 个汉字 比如 40 万个 Token 大概就是 60 到 80 万个汉字 或者是 30 万个英文单词 如果你对 Token 的切分原理感兴趣 想详细了解下 Token 到底是怎么生成的 可以看一下我的这个视频
它详细讲述了如何使用 BPE 算法 来训练和使用 Tokenizer 好,我们刚才讲了 Token 知道了它是大模型 处理文本的基本单位 下面我们来看一件你可以一直觉得理所当然 但其实很值得想一想的事情 我们平时和大模型聊天 它好像能记住之前说过的话 比如你开头告诉它 我叫马克 它给你回复了以后 你再问它 我叫什么 它还是能够回答得出来
但问题是大模型本质上 只是一个数学函数 你给它输入 它就给你输出 它并不像人一样真的有记忆 那它是怎么记住之前的聊天内容的呢 答案就是 我们每次给大模型发送消息的时候 并不只会发我们的问题 背后的程序 会自动把你之前的整段对话历史 找出来一起发过去 这样的话有了用户问题 有了对话历史
模型每次看到的都是完整的对话内容 所以它才能够知道之前发生了些什么 这就引出了 Context 这个概念 中文是叫做上下文 它代表大模型每次处理任务时 所接收到的信息总和 我们刚才聊到 用户问题和对话历史 都是大模型所接收到的消息 所以它们都是 Context 的一部分 除了它们之外 Context 里面还有很多其他的内容
比如大模型正在输出的每一个 Token 也会被追加进来 除此之外这里面还会有工具列表 System Prompt 等信息 这些概念我们后面会一个一个地讲到 你暂时不用关心 现在你只需要记住一件事情 Context 就是大模型每次处理任务时 所接收到的信息总和 从某种程度上 我们也可以把它看成是 大模型的一个临时记忆体
理解了 Context 下一个问题就自然而然地出来了 这个 Context 能有多大 它能塞多少 Token 呢 这就引出了 Context Window 这个概念 翻译过来就叫做上下文窗口 它就代表了 Context 能够容纳的最大 Token 数量 举个例子 Context Window 为 1 万 就代表模型最多能够处理 1 万个 Token 不过 1 万的 Context Window 算是很小的了 目前主流的大模型
都有着非常大的 Context Window 比如说 GPT-5.4 的 Context Window 是 105 万 Gemini 3.1 Pro 的 Context Window 是 100 万 Claude Opus 4.6 的 Context Window 也是 100 万 我们之前说过 一个 Token 大概是等于 1.5 个汉字 那么 100 万个 Token 差不多就是 150 万个汉字了 那整个哈利波特全集的内容 都能装得下 算是个很大的数字了
好 相信大家对 Context 已经有了一个初步的了解了 下面我来问大家一个问题 假如你有一个上千页的公司产品手册 你希望大模型根据这个产品手册 来回答用户的各种疑问 那这要怎么实现呢 你要把这个手册的全部内容 跟着用户问题一起扔给大模型吗 这其实不是一个很好的解决方案 因为这个产品手册太长了 即使模型的 Context Window 不被撑爆
你的成本也无法控制 那这该怎么办呢 这就需要一个叫做 RAG 的技术了 它可以从产品手册中 抽取用户问题最为匹配的几个片段 然后只把这几个片段发给大模型 让大模型只根据这几个片段 来回答用户的问题 这样大模型接到的就不是一整本书了 可能只是几段话 这样就不受 Context Window 大小限制了 成本也会低很多
如果你对 RAG 技术感兴趣 想深入了解下它的实现原理的话 欢迎看一下我的这个视频 Prompt 中文为提示词 它是大模型接收的具体问题或指令 比如你去向大模型提需求 帮我写一首诗 这句话就是 Prompt 对 不要把 Prompt 想成 特别复杂高端的东西 它只不过就是给大模型的一个问题 或者是指令而已 接收到了这个输入之后
大模型才会开始运转 然后才会给你一个对应的答案 但这里面会有一个问题 如果你只是简单地说帮我写一首诗 大模型可能会给你写古诗 就像屏幕上给你展示的这样 但也可能给你写现代诗 甚至可能来一首打油诗 为什么呢 因为你的 Prompt 太模糊了 它不知道你具体想要什么 所以 Prompt 怎么写 直接决定了大模型的输出质量
一个好的 Prompt 应该是清晰的 具体的 明确的 比如你可以这样写 请帮我写一首五言绝句 主题是秋天的落叶 风格要悲凉一点 这样一来大模型就清楚多了 它生成的内容也就更符合你的预期 这就是为什么有个专门的领域叫做 Prompt Engineering 也就是提示词工程 说白了就是研究怎么把话说明白
让大模型更精准地理解你的意图 当然这个领域虽然曾经比较火 但现在还在提它的人其实寥寥无几 一方面是因为门槛太低 本质上就是把话说明白嘛 另一方面是因为 大模型的能力越来越强了 即使提示词含糊不清 大模型也能大致猜出你的意图来 这种情况下 也就不需要在提示词上花太多功夫了 好 到这里 Prompt 的基本概念
应该是搞清楚了 但是事情还没有完 你有没有想过一个问题 有些时候我们不仅要告诉大模型 它要处理的具体任务 还要告诉它人设和做事规则 也就是告诉大模型它是谁 它应该按照什么规则做事 所以这就引出了两种不同的 Prompt 说明具体任务的是 User Prompt 中文为用户提示词 它是用户自己输入的 说明人设和做事规则的是
System Prompt 中文为系统提示词 它是开发者在后台配置的 让我们来用一个具体的例子 解释这两个概念 假设你要做一个数学辅导机器人 你希望它不要直接告诉学生答案 而是要引导学生思考 这时候你就需要两种 Prompt 第一种是 System Prompt 你在后台这样设置 你是一个耐心的数学老师 当学生问你数学问题的时候 不要直接给出答案
而是要一步一步引导学生思考 帮助他们理解解题思路 注意这段话是你作为开发者 在后台设置的 用户根本看不到 但它会一直影响大模型的行为 然后学生在对话框里输入 3 加 5 等于几 这就是第二种 User Prompt 用户在对话框里直接输入的问题 大模型看到这两个 Prompt 之后 它会这样想 我的角色是数学老师
我要引导学生思考 不能直接说答案 好 那我就这样回答 我们可以这样想 你手里有 3 个苹果 然后又拿了 5 个 现在一共有多少个呢 你可以数一数看 看 如果没有 System Prompt 大模型可能就直接说 8 了 但因为有了 System Prompt 的约束 它知道自己要扮演一个引导式的老师 所以回答就完全不一样了 相信你现在可以理解 User Prompt
和 System Prompt 的区别了 有了它们的配合 大模型既能守住规矩 又能够完成你的具体需求 好,Prompt 呢我们就讲到这里了 我们再来看下一个概念:Tool 我们先来谈一下大模型的一个弱点 它无法感知外界环境 我来举个例子 假设你问大模型 今天上海的天气怎么样 它可能会说抱歉 我无法获取实时天气信息
我的知识库截止到某年某月 无法提供当天的天气数据 为什么呢 因为大模型只是个文字接龙游戏 它的能力是根据训练数据 来预测下一个词 但它真没有办法去查天气预报网站 拿到实时的天气数据 这该怎么办呢 这就需要 Tool 了 Tool 翻译成中文就是工具 工具这个词不太好理解 我们再换一个词 函数 对 没错
Tool 本质上就是一个函数 你给它输入 它就给你输出 比如一个天气查询工具 它的输入可能包含两个参数 分别是城市和日期 传入后它内部一通操作 比如说它可能会去调用气象局的接口 但不管怎么样 最后它都会给你一个输出 告诉你对应的天气信息 有了它 大模型就可以回答天气相关的问题了 让我们来看一下
从用户提问到大模型回答的完整流程 整个流程所涉及到的角色 是包括用户 大模型 天气查询工具还有平台 你可能会问平台是什么 你可以把平台理解为一个传话筒 因为用户 大模型 天气查询工具 这三个角色没有办法直接对话 所以我们就需要平台这个角色 来做传递信息的工作 它本质上就是一段代码
用来负责上传下达 你可能还有点懵 没事,现在不明白也没有关系 看完流程就懂了 在流程一开始的时候 用户的问题会首先发给平台 平台会把用户的问题转发给大模型 不过发给大模型的并不只有用户问题 还有目前可用的工具列表 比如说是天气查询工具 计算器工具等等 大模型收到这个问题之后 它会自己分析
用户想知道天气 而我没有实时天气数据 但是这里面有一个天气查询工具可以用 好 那我就调用这个工具 注意 大模型无法自己调用工具 它唯一的能力就是输出文本 如果它想要调用某个工具的话 它只能借助平台的力量 所以此时大模型会生成一个 调用天气查询工具的指令 大概就是这个样子的 这个指令标示了
要用的工具名称和对应的参数 它发到平台那边去 平台接收到这个指令之后 就会去真正地调用这个工具 其实也就是调用了 工具背后所对应的一个函数 调用结束之后 平台会拿到对应的天气信息 大概是这个样子的 在平台拿到了工具的调用结果之后 它就会把这个信息返回给大模型 大模型拿到这个结果后
会把它整理成一句人话输出给平台 比如说今天上海的天气不错 晴天 温度在 15 度到 25 度之间诸如此类的 然后平台继而把这句话转发给用户 这样用户就可以看到结果了 可以看到在这个过程中 每个角色都有着自己的职责 其中大模型的职责有两个 第一个是选择工具
具体来说就是选择需要调用的工具 并生成对应的工具参数 第二个是归纳总结 也就是在拿到工具的执行结果之后 模型需要对工具的结果 做一个归纳总结 工具的职责的是 完成查询天气的这个动作 而剩下的一个角色平台 它负责处理的就是串联整个流程了 比如告诉模型哪些工具可用
根据模型的指令去调用工具等等 所以大家要分清楚每个角色在干什么 有人可能会以为调用工具的是模型 尤其是初学者很容易就会这么想 但是模型能做的仅仅是输出一段文本 告诉平台它想要调用哪个工具 调用工具这个事情 最终还是要由平台来完成 所以最后总结一下 Tool 的本质 就是给大模型提供一套 它可以调用的外部能力
让大模型能够感知和影响外部环境 好 Tool 的概念就到这里了 我们来讲下一个概念 MCP 刚才我们讲了使用工具的全流程 但这里面有个工程上的大问题 看这两部分 第一 平台要把工具列表传给模型 第二还要能调用工具 要做到这些 我们首先就得把工具接入到平台里面 这样平台才知道可用工具列表 以及每个工具的用途
参数和调用方法等等 那问题来了 这套接入的规范每个平台都不一样 如果你用的是 ChatGPT 你得按照 OpenAI 的规范接入工具 写一套接入代码 如果你用的是 Claude 你得按照 Anthropic 的规范接入 再写一套接入代码 如果你用的是 Gemini 你得按照 Google 的规范接入 然后再写一套 看出了问题了吗 同一个工具你要写 3 遍 因为每个平台的接入标准都不一样
所以 AI 圈子里就有人想 能不能搞一个统一的标准呢 让所有的平台都遵循这个标准 这样工具的开发者只需要写一次代码 就可以在所有的平台上使用了 这个就是 MCP 的由来了 MCP 就是这个统一的接入规范 MCP 的全称是叫做 Model Context Protocol 翻译过来是叫做模型上下文协议 这个名字起得有点学术
不太好理解 你把它理解成一套统一的 工具接入标准就好了 有了 MCP 之后 工具的开发者只需要按照 MCP 的规范开发一次工具 这个工具就可以被 所有支持 MCP 的平台使用了 这就像是所有的手机都用 Type-C 接口一样 有了统一的标准大家都会方便很多 那这就是 MCP 的由来和作用了 如果你想更深入地了解 MCP 协议的内容的话 可以看一下我之前出过的
MCP 终极指南系列 分 3 期从使用到原理 把 MCP 协议扒了个底朝天 相信看完之后 你会对 MCP 有一个非常全面的理解 我们现在知道了大模型 能借助工具感知外部世界 而工具又可以使用 MCP 这种方式 来统一接入 按理说有了这两个东西 大模型应该很强了吧 但实际上还差一点东西
比如我们来尝试让大模型解决一个 更有难度的问题 今天我这里的天气怎么样 如果下雨的话 帮我查一下附近有没有卖雨伞的店 然后我们假设有这些工具可用 首先是定位工具 它负责查询用户所在地区的经纬度 然后是天气工具 它是用来根据经纬度查询天气信息的 还有店铺工具 它是通过经纬度来查询附近的店铺
相信有些同学已经看出来了 要解决这个问题 我们需要调用多次工具 从大模型的视角来看 整个过程应该是这样的 首先大模型思考 用户问天气 那要拿到天气信息的话 肯定是需要知道用户的当前位置的 正巧这里有个定位工具 我来申请调用下 之后大模型就发出了工具调用指令 让平台去调用定位工具 获取用户所在的经纬度
平台调用工具之后返回结果 经度是负 74 度 纬度是 40 度 模型再次思考 好 拿到了位置 下一步我需要查询这个位置的天气了 我来看看 嗯 有一个天气工具可以用 那我调用它 大模型再次向平台发出指令 调用天气工具 参数是经度负 74 度 纬度 40 度 平台调用工具之后返回结果 有雨
模型再次思考 发现下雨了 根据用户的要求 如果是下雨 我还需要帮他找雨伞店 这里有一个店铺工具可以调用下 大模型再次向平台发出指令 调用店铺工具 搜索雨伞 平台调用工具之后返回结果 附近 100 米有家全家便利店卖伞 大模型综合了所有的信息心里想 目标已经全部达成 我可以给用户最终答案了 再由大模型给出了最终答案
整个回答就算是全部结束了 看到了吗 这不再是一个 简单的工具调用流程了 在这个步骤中大模型需要 一步一步地思考当前的情况 并决定下一步该做什么 从某种程度上来说大模型 已经有了一定的自主规划能力 我们称这种能够自主规划 自主调用工具 直至完成用户任务的系统为 Agent 目前市面上有很多 Agent 产品
比较流行的是包括 Claude Code, Codex, Gemini CLI 等等 它们所使用的 Agent 构建模式 也是五花八门 比较经典的有的 ReAct Plan and Execute 等等 如果你对构建模式这个词比较陌生 甚至根本就没有听说过的话 强烈建议去看一下我的这期视频 里面不仅详细拆解了每种构建模式的 运行流程 甚至还抛弃了所有现成的 Agent 框架
直接手写了一个简化版的 Claude Code 相信看完之后你就会彻底明白 Agent 到底是如何实现的 我们现在知道 Agent 能够自主规划 调用工具持续工作直到完成任务 听起来已经很完美了对吧 但在实际的高频使用中 你马上就会遇到一个新痛点 举个例子 假设你希望大模型 成为你出门前的小助手 每次出门前都帮你查一下天气
并提醒你带东西 你肯定有一套自己的出门习惯 比如下雨带伞 光照强带帽子 空气差带口罩 风大穿防风外套 无论如何手机必带 不仅如此你可能还是个强迫症 希望它的回答不要太啰嗦 必须按照特定的格式输出 比如先来一句总结 然后再列出要带的物品清单 如果在没有任何预设的情况下
假定你只问一句 我马上要出门 该带些什么呢 Agent 虽然会查天气 但它不知道你的这些私人规则 和格式要求 大概率会给你一堆废话 它无法根据你的出门习惯 来判断要带什么 输出的格式也无法满足你的要求 毕竟它都不知道 为了得到满意的结果 你每次提问时都不得不带上一大串尾巴 把你所有的规则 格式要求
甚至示例统统塞进 Prompt 里发给它 试想一下每次出门都要敲这么一大段要求 是不是太反人类了 别担心 这个时候 Agent Skill 就该登场了 Agent Skill 本质上 就是你提前写好塞给 Agent 的一份说明文档 比如刚刚那个出门的场景 我们就可以写成这样一个 Agent Skill 可以看出它本质上就是一个 Markdown 文档
它的整体结构可以分为两部分 上半部分是元数据层 相当于这份说明文档的封面 告诉 Agent 这个技能叫什么 负责做什么事情 这部分至少要有两个属性 Name 和 Description Name 代表这个 Agent Skill 的名字 比如我们的 Agent Skill 名称叫做 Go out checklist 也就是出门清单的英文 剩下的 Description 就是描述了 然后下半部分从目标开始
到这份说明文档的结尾 这一大片都叫做指令层 这层格式不做具体要求 只要能把事情向 Agent 说明白就行 格式自己来定 比如我这里就写了要完成的目标 执行步骤 判断规则 输出格式以及示例 比如你看我们在执行步骤里面 就告诉 Agent 需要先调用定位工具 获取经纬度
然后再调用天气工具获取天气信息 拿到天气信息之后 需要根据天气的数据结果,按照下方的判断规则 整理出门需要携带的物品 判断规则就写在这里面 最后是需要严格按照下方的输出格式 向用户输出最终的结果 输出格式我们就写在这里 总共需要输出两段话
在指令层的最后我们还给了它一个示例 在这个示例中我们假定用户的问题 是这个样子的 我马上要出门 帮我看看今天带什么东西 然后工具的返回我们假设是这个样子的 定位工具返回假设这样 天气工具返回假设这样 在这种情况下 Agent 就必须输出 这样的一份结果
这个就是我们所需要的 Agent Skill 的整体结构了 定义好之后我们需要把它存到硬盘里 指定的地方 拿 Claude Code 举例你需要找到用户目录下的 .claude/skills 文件夹
.claude/skills 文件夹 接下来的存放操作有两个规定 大家千万不要搞错 第一 我们需要在这个目录下新建一个文件夹 并且文件夹的名字 必须与 Agent Skill 的名字相同 我们的 Agent Skill 叫做 go-out-checklist 所以我们的文件夹也必须叫这个名字 第二点进入到这个文件夹里面之后 我们需要新建一个文件 把刚才的内容全部贴进来 重点来了
这个文件名必须叫做 SKILL.md
这个文件名必须叫做 SKILL.md 其中 SKILL 是大写 这是 Agent Skill 的硬性规范 算是个接头暗号 如果你随便起个名字系统是绝对不会认的 好我们把它全部粘贴进来 然后保存退出 存好之后我们这个 Agent Skill 就算是创建完成了 然后我们随便找个空文件夹
启动 Claude Code 在启动的过程中 Claude Code 就会发现 skills 文件夹里面 多了一个叫做 go-out-checklist 的 Agent Skill 它就会去读取对应的 SKILL.md 文件
它就会去读取对应的 SKILL.md 文件 里面的元数据 也就是名称和描述 下面的指令层暂时先不读 因为指令层的内容有可能会比较大 所以 Claude Code 只会在用户问题 与 Agent Skill 的名称和描述相关的时候 才会去读取对应的指令层 顺带提一句 这个 Agent Skill 明确要求需要定位和天气这两个工具 我已经提前把它们做成 MCP 工具
导入到 Claude Code 里面了 运行这个 MCP 就可以验证 这个 location 是定位工具 下面那个 weather 就是天气工具 这两个工具的返回结果都是我编的 到时候你就会看出来了 主要是为了演示整个流程 好 言归正传 下面我们输入问题 我要出门了 告诉我带什么 提交 可以看到 Claude Code 开始工作了 让我们稍微等待一下
它首先是发现这个问题 与 go-out-checklist 这个 Agent Skill 相关 因此就读取了 Agent Skill 的完整内容 这里主要读取的就是里面的指令层了 因为元数据层已经在 Claude Code 启动的时候加载过了 在读取到了 Agent Skill 的完整内容之后 Claude Code 就开始按照 Agent Skill 的要求做事了 它首先是请求调用定位工具 我们同意
然后它在调用天气工具 我们还是同意 最后拿到了所有需要的信息之后 Claude Code 就会把答案 整理成 Agent Skill 中所要求的格式给到我们 没错 Agent Skill 的基本功能就是这么简单 它就是一个文档 一个给 Agent 看的说明文档 当然 Agent Skill 还有很多高级的功能 比如运行代码 引用资源等等 它的渐进式披露机制也是一大特色
可以节省很多的 Token 如果你对此感兴趣希望深入了解一下的话 欢迎看一下我的这个视频 一次把 Agent Skill 的使用和原理全部都说明白 好 到这里我们把所有的概念都讲完了 让我们回顾一下这个体系 LLM 代表大模型 它是所有 AI 技术的核心 Token 是大模型处理数据的最基本单元
Context 是大模型每次处理任务时 接收到的信息总和 你可以把它看作是大模型的临时记忆体 里面装着历史记录 系统规则 以及当前的输入等等 这些数据的基本单位都是 Token 而 Context Window 则是代表 大模型 Context 最多能够容纳的 Token 数量 Prompt 是用户或系统当前
给大模型下达具体指令或问题 它分为 User Prompt 和 System Prompt 两大类 User Prompt 代表用户给模型的输入 而 System Prompt 则是开发者在后台配置的 大模型人设和做事规则 Tool 是大模型用来 感知和影响外部环境的函数 MCP 则是统一了 工具接入格式的标准协议 有了 MCP 之后
开发者只需要按照一个标准 来做工具就可以了 不需要为每个大模型厂商都做一遍 Agent 是能自主规划自主调用工具 持续运作直到解决用户问题的一个程序 Agent Skill 是给 Agent 看的说明文档 主要用来规定做事的步骤和规则 大致就是这样子的了 理解了这些概念 你就看懂了 AI 圈子里面的
各种新产品 新技术了 无论是 Claude Code Codex, Cowork 还是 OpenClaw 它们本质上都在这个框架下运作的 好,这期视频到这里就结束了 如果对你有帮助 别忘了点赞关注 我是马克 用最通俗的语言讲最硬核的技术 我们下期再见 拜拜
Loading video analysis...