引言
2025 年以来,AI 领域最火的词从"大模型"变成了"Agent"。Anthropic 的 Claude Code 能自主编写整个项目,OpenClaw 让你拥有 7×24 小时在线的私人 AI 助手,各家 AI 应用纷纷从"能聊天"升级为"能干活"。
但这个领域的概念多到让人眼花缭乱:大模型、Token、Context Window、RAG、向量数据库、Agent、Function Calling、MCP、PTC、Skills、SubAgent、Lane 调度、上下文守卫、思考分级……每一个词背后都是一套技术体系,彼此关联、层层递进。
这篇文章试图用一条清晰的线索,把整个 AI 应用技术栈从底层到顶层串起来——不仅讲清概念,更要拆透生产级 Agent 的工程实践。目标是让你读完后,既知道"是什么",也理解"为什么",还知道"怎么做"。
大脑 → 图书馆 → 手和脚 → USB 接口 + 连招 → App Store
大模型提供智能;RAG 弥补知识缺口;Agent 把大模型从"聊天者"升级为"执行者";MCP 统一工具接口、PTC 优化调用效率;Skills 把能力封装成即插即用的模块。这些层次构成了当今 AI 应用的完整技术栈。让我们从最底层的"大脑"开始。
一、大模型基础:AI 的「大脑」
在理解所有上层应用之前,必须先理解它们的基座——大语言模型(Large Language Model,LLM)。
把大模型想象成一个读了全世界所有书的超级学霸。他读过维基百科的每篇文章、GitHub 上的每行代码、Reddit 上的每条讨论。知识面广到不可思议——上知天文下知地理,能写诗也能写代码。但他有个关键特点:不会上网搜索,只能凭记忆回答。记忆不清晰时,他甚至会自信满满地"编"一个听起来合理的答案——这就是"幻觉"(Hallucination)。
更准确地说,大模型的本质是一个概率预测引擎——给定前面所有文字,预测接下来最可能出现的词。它不"理解"你的问题,也没有一个数据库去查询答案;它做的事情是基于训练时见过的海量文本模式,计算出在当前语境下哪个词接下来出现的概率最高。这个过程看起来像"思考",实际上是极其复杂的模式匹配与统计推断。
Token 与上下文窗口:AI 的"阅读单位"
大模型不是逐字阅读的,它把文本切成一个个小块——Token(词元)。一个汉字通常是 1-2 个 Token,一个英文单词是 1-3 个 Token。"你好世界" ≈ 4 个 Token。模型的计费、速度、上下文长度,都以 Token 为单位衡量。
上下文窗口(Context Window)决定了模型一次能"看到"多少内容——类似人类的工作记忆容量。GPT-4 Turbo 有 128K Token 的窗口(约 10 万字),Claude 有 200K Token。窗口越大,模型能处理的文本越长。但代价是:窗口越大,计算量越大(平方级增长),推理越慢,成本越高。这是核心的工程权衡,也是 RAG 存在意义的重要背景——即使窗口再大,也没法把所有文档都塞进去。
当你向 AI 提问时,模型做的事叫推理(Inference)。它不是从数据库里查答案,而是根据输入逐词预测最可能的下一个词。"今天天气真" → "好"。这个过程每秒计算数十亿次浮点运算,需要强大的 GPU 算力支撑。
Transformer 架构:大模型的基石
2017 年,Google 发表了划时代的论文《Attention Is All You Need》,提出了 Transformer 架构。它的核心创新是自注意力机制(Self-Attention)——让模型在处理每个词时,能"关注"到输入中其他所有词的信息,而不是像传统 RNN 那样只能顺序处理。
举例:在"小明把苹果给了小红,因为她饿了"中,模型需要理解"她"指的是"小红"。自注意力机制让模型直接建立"她"和"小红"之间的关联,不管它们隔了多远。RNN 在处理"她"时,已经忘记了远处的语义关系。从工程角度,自注意力还有一个关键优势:可以充分并行化,极大提升了训练效率,使得训练数千亿参数的模型成为可能。
训练三部曲:从白纸到专家
第一步:预训练(Pre-training)——用海量文本(数万亿 Token)训练模型预测下一个词。获得广泛世界知识。耗时数月,花费超过 1 亿美元。让模型成为知识渊博的"续写机器",但还不会按指令回答问题。
第二步:指令微调(SFT)——用精心标注的"问题-回答"数据对教模型学会按指令回答问题。从"语言模型"变成"助手"。
第三步:RLHF(基于人类反馈的强化学习)——人类评估回答质量,模型据此优化,学会生成人类偏好的回答。让模型更有帮助、更无害、更诚实。ChatGPT 的成功,很大程度上来自 RLHF 带来的良好对话体验。
海量数据 → 知识 → SFT
标注数据 → 对话 → RLHF
人类反馈 → 质量
二、RAG:给 AI 配一个「图书馆」
理解了大模型的本质——凭记忆回答问题的"超级学霸"——你就能理解它的三个根本局限:知识有截止日期(训练数据有时间截止点)、不含私有信息(公司内部文档模型没见过)、会产生幻觉("不知道"时不会坦承,而是编造合理答案)。
RAG(Retrieval-Augmented Generation,检索增强生成)就是为了解决这三个问题。核心思路简单优雅:不要让模型单靠记忆回答,先让它"查资料",再基于资料生成回答。
把 RAG 想象成开卷考试。聪明的学生参加开卷考试,不需要背教材,只需要知道去哪找、怎么用。RAG 让 AI 在回答之前先"翻书"——答案有依据,可以溯源,不容易"编造"。
为什么需要 RAG
企业知识库问答:公司想让 AI 回答员工的 HR 问题——报销政策、年假制度、晋升机制。这些内容在公司内部文档里,模型训练数据里没有。用 RAG 把 HR 文档索引起来,员工提问时先检索相关段落,再让模型基于段落回答——精准、可溯源、不会幻觉。
实时信息查询:你问"特斯拉今天的股价?"模型不知道——训练数据早已截止。Agent 配备搜索工具后,可以实时检索财经网站,把最新数据取回来再生成回答。
向量化与语义检索
RAG 的核心技术是向量化(Vector Embedding)。传统关键词搜索靠词汇匹配——搜"购买"找不到含"买入"的文档。向量化靠语义相似度:先把文档切成段落,每段用嵌入模型(Embedding Model)转为高维向量(语义指纹),用户提问也转为向量,在向量数据库中找到语义最接近的文档片段。即使用法和措辞完全不同,只要意思相近就能命中。
——离线索引——
用户提问 → 问题向量化 → 向量检索 top-k → 组合 Prompt → LLM 生成
——在线查询——
RAG 看起来简单,但实际落地时有很多细节:如何切分文档(Chunking Strategy)——切得太小缺乏上下文,切得太大引入无关信息;如何处理表格和图片——结构化数据和图像需要特殊处理;如何处理多跳问题——"A 的上司的老家在哪里?"需要多次检索才能回答。切分策略往往决定了 RAG 系统 70% 的效果。
传统 RAG 的痛点
传统的 Chunk + Embedding + 向量数据库模式虽然有效,但在实际落地中有让人头疼的调优难题:
① 分块策略选择困难——文档切得太小缺乏上下文,切得太大引入无关信息。更麻烦的是,不同类型的文档(合同、技术文档、财报)需要完全不同的分块策略,没有"万能分法"。Chunk Size 选 256 还是 512?重叠率设多少?每种文档都要反复试验才能找到"还算凑合"的参数。
② Embedding 模型选择与阈值调优——用哪个 Embedding 模型?通用模型(如 OpenAI text-embedding-3)对专业术语效果差,垂直领域模型覆盖不了多场景。相似度阈值设 0.7 还是 0.8?设高了漏掉答案,设低了引入噪音。整个预处理管道(文档解析 → 分块 → Embedding → 入库)任何一步出问题,最终效果就大打折扣。
③ 向量匹配的语义局限——Embedding 擅长语义相似度,但对精确数据查询("三一重工前三大股东持股比例")和跨文档关联推理("A 的上司在哪个城市出生?"需要多次检索)力不从心。
④ 大模型只做最后一步——检索决策完全由固定算法完成,AI 没有机会参与"该搜什么""该看哪个文件""要不要换个策略重试"这些决策。
Agentic RAG 与 RAG 的未来方向
Agentic RAG 是传统 RAG 的进化方向——让 AI 不只是被动接收检索结果,而是主动参与整个检索过程。它的工作模式更接近人类查资料:定位领域(分析问题,判断答案可能在哪个文件夹)→ 定位文件(用关键词筛选相关文件)→ 定位内容(打开文件只读取相关段落)→ 智能重试(首次不精准就换关键词扩大范围)。这种渐进式检索不需要预建向量索引,更轻量简单。
正如 LlamaIndex 创始人 Jerry Liu 所说:"RAG / 检索本身没死,但死的是固定 Chunk + Embedding 那套模式。如果 Agent 可以动态地扩展文件周围的上下文,那么过度纠结数据块大小就没有意义了。"未来的趋势很可能是:固定 Chunk + Embedding 模式逐步被 Skills 这类 Agent-native 的检索方式蚕食——AI 自己决定搜什么、怎么搜、结果不好怎么重试,而不是靠工程师手工调优一套脆弱的预处理管道。后文 Skills 章节会详细介绍这种新范式。
三、Agent:从"能聊天"到"能干活"的跃迁
有了大模型提供"大脑"、RAG 提供"图书馆",AI 已经能回答各种问题了。但它还只是在"说"——无法真正"做"任何事情。Agent(智能体)的出现,改变了这一切。这是 AI 应用最激动人心的前沿,也是理解 2026 年 AI 生态的关键。
什么是真正的 Agent
"Agent"这个词在 2025 年被严重滥用了。几乎每个 AI 产品都自称"Agent",但大多数只是套了个壳的聊天机器人。要判断一个系统是不是真正的 Agent,有三个硬标准:
① 会规划:能把一个大目标拆解成多个具体步骤。你说"帮我调研竞品并写一份分析报告",它能自己拆解为:搜索竞品信息 → 整理数据 → 分析优劣势 → 撰写报告。
② 会用工具执行动作:不只是生成文字,还能实际操作——调用 API、读写文件、执行代码、操作浏览器。能把想法落地为行动。
③ 自我检查与迭代:执行完一步后,会检查结果是否符合预期。如果代码报错,它会分析错误、修改代码、重新运行。这种"自我纠错循环"是 Agent 与 Chatbot 的本质区别。
Chatbot 像一个只能打电话的朋友——你问他路怎么走,他告诉你方向;Copilot 像一个副驾驶——你开车,他帮你看地图,但方向盘在你手里;Agent 像一个代驾司机——你告诉他目的地,他自己开车、选路线、加油、处理突发状况,直到把你送到。Agent 与前两者的根本区别在于:它拥有自主决策权和行动闭环。
ReAct 循环:Agent 的核心引擎
Agent 的工作方式不是"接收指令 → 输出结果"的单次交互,而是一个持续运转的感知-规划-执行-反馈循环。学术界称之为 ReAct(Reasoning + Acting)模式。
感知:接收用户指令、环境信息、工具返回结果。规划:分析任务,分解步骤,制定执行策略。执行:调用工具、运行代码、操作外部系统。反馈:评估结果,决定继续还是结束。
关键:这是一个循环,不是流水线。普通程序是线性的:输入 → 处理 → 输出。Agent 不同——执行结果会重新进入感知阶段,Agent 自己判断是否需要继续。比如:写一段代码 → 运行报错 → 分析错误 → 修改代码 → 再次运行 → 测试通过 → 任务完成。这个循环可能转 3 次,也可能转 30 次。Agent 自己决定什么时候停下来——这正是"自主性"的核心含义。
ReAct 循环的本质是将 LLM 的"推理能力"(Reasoning)与"行动能力"(Acting)交替结合。每次推理时,模型不仅要思考"应该做什么",还要解释"为什么这样做"(Chain-of-Thought)。这种显式推理链让 Agent 的行为可追溯、可审查——在生产环境中,这种可解释性对于调试和信任建立至关重要。
工具调用(Function Calling):Agent 的"手和脚"
大模型本身不能上网、不能读文件、不能操作数据库——它只是一个文本生成器。Agent 之所以能"干活",核心秘密就是工具调用(Function Calling)。
机制很精巧:我们给模型一份「工具菜单」,描述每个工具的名字、功能和参数格式。模型在推理时,如果判断需要使用某个工具,就不再输出普通文本,而是输出一段结构化的调用请求(JSON 格式),包含工具名和参数值。外部系统解析这个请求、执行实际操作、把结果返回给模型。模型拿到结果后,继续推理并生成最终回答。
关键认知:工具不是"嵌入"在模型里的,而是"描述"给模型听的。模型本身不会执行任何工具——它只是在合适时机"说"出一个调用指令。真正执行调用的是外围系统(Agent Runtime)。这种"大脑+手脚"的分离设计非常优雅:大脑(LLM)负责理解和决策,手脚(工具系统)负责行动和反馈。
用户: 帮我查一下北京今天的天气
Agent 思考: 用户想知道北京天气,我需要调用天气查询工具
→ 调用工具: get_weather(city="北京", date="today")
← 工具返回: {"temp": "22°C", "weather": "晴", "wind": "北风3级"}
Agent: 北京今天天气晴朗,气温 22°C,北风 3 级,适合外出!MCP 协议:AI 世界的 USB-C
Function Calling 让 AI 能用工具,但随着 AI 应用爆炸式增长,一个新问题出现了:每个 AI 应用都要为每个工具单独写对接代码,重复劳动极其严重。
MCP(Model Context Protocol,模型上下文协议)由 Anthropic 提出并开源,统一了 AI 与外部世界的连接方式。
USB-C 出现之前,每个设备有自己的接口——Lightning、Micro-USB、Mini-USB。USB-C 统一了这一切。MCP 做的是同样的事:在 MCP 之前,M 个 AI 应用和 N 个工具需要 M×N 个适配器。有了 MCP,M+N 就够了。
MCP 协议架构详解:三层分工。MCP 不是简单的"客户端调服务端",而是一个精心设计的三层架构——MCP Host(宿主应用)就是你直接使用的 AI 应用(Claude Desktop、Cursor、OpenClaw),负责与用户交互,它本身不懂 MCP 协议的细节;MCP Client(协议客户端)是内嵌在 Host 中的"翻译官",负责与 Server 建立连接、进行初始化握手、获取工具列表、路由调用请求——一个 Host 可以同时运行多个 Client,每个连接一个 Server,就像你的电脑有多个 USB 接口,每个连一个外设;MCP Server(工具提供方)将具体的外部能力封装为标准化服务,不关心谁在调用它。三层彻底解耦,各自独立演进。
MCP 的完整工作流程经历四个阶段:① 初始化握手——Client 向 Server 发送 initialize 请求,声明协议版本,双方"对暗号"确认兼容;② 能力协商——交换各自支持的 capabilities(如 Client 是否支持 Sampling、Server 提供哪些能力类型),划定后续交互的边界;③ 工具列表交换——Client 调用 tools/list 获取所有工具定义(名称、描述、参数 Schema),转换为 LLM 理解的格式注入上下文;④ 实际调用执行——用户提问 → LLM 判断需要哪个工具 → 输出结构化参数 → Client 通过 JSON-RPC 发给 Server → Server 执行 → 结果返回 → LLM 生成最终回答。通信采用 JSON-RPC 2.0 协议,天然支持双向通信——不仅 Client 可以调用 Server,Server 也可以反向请求 Client。
传输层演进:三代协议。MCP 的传输层经历了三代演进:第一代 Stdio(标准输入输出)——Server 作为本地子进程运行,通过 stdin/stdout 通信,零网络依赖、延迟极低,适合本地文件操作和本地数据库,但只能运行在同一台机器上;第二代 SSE(Server-Sent Events)——基于 HTTP 长连接,支持远程部署和服务端主动推送,但在负载均衡和 Serverless 架构中有兼容性问题;第三代 Streamable HTTP——MCP 最新推出的传输协议,无需长连接,使用标准 HTTP 请求即可交互,天然兼容 CDN、Serverless、负载均衡,同时向下兼容 SSE 的流式能力,是远程 MCP 部署的未来方向。
MCP 暴露三种核心能力类型:Tools(可被 AI 主动调用的函数,如"搜索文件"、"执行 SQL"——这是最常用的,AI 通过调用工具来"做事");Resources(AI 可读取的只读数据源,为 AI 提供上下文信息——就像给实习生一份参考资料,而不是让他去干活);Prompts(预定义的交互流程模板,如"代码审查"模板——Server 向 Client 提供高质量提示词,让 AI 按最佳实践处理特定任务)。
MCP 与 Function Call 的本质区别:很多人把这两个概念搞混了。它们不是同一层次的东西——Function Call 是模型内置的能力,是大模型 API 原生支持的特性,模型被训练过如何根据工具描述生成结构化调用参数,解决的是"AI 如何决定调用工具";MCP 是标准化的外部协议,解决的是"工具从哪来、怎么发现、怎么连接",模型本身不需要"知道"MCP 的存在。MCP Client 从 Server 获取工具列表后,会将工具描述转换为大模型支持的 Function Call 格式塞进 Prompt。大模型做的事没变——还是根据工具描述判断是否调用、生成参数。简单说:Function Call 是"大脑决定伸哪只手",MCP 是"手上的工具用什么规格的接口来连接"。
MCP Client 兼容性问题:你可能注意到一个现象——有些 MCP Client(如 Cline)支持所有大模型,而有些(如 Cherry Studio)只支持部分模型。这不是 MCP 的 Bug,而是 Client 实现方式的差异。方式一:基于 Function Call(如 Cherry Studio)——Client 把工具列表转换为 API 的 tools 参数直接传给模型,性能更好但要求模型原生支持 Function Call;方式二:基于系统提示词(如 Cline)——Client 把工具列表和调用格式写成一段超长的系统提示词(Cline 的系统提示词高达 4 万多字符),让模型按约定格式输出参数,不依赖模型的 Function Call 能力,理论上任何模型都支持,但 Token 消耗更大。所以兼容性问题不在模型端,而在 Client 端——选 MCP Client 时看清楚它的实现方式,就能判断是否支持你想用的模型。
MCP 还有一个强大的高级能力——Sampling。它允许 MCP Server 反向请求 Client 调用 LLM。场景举例:一个代码分析 MCP Server 在扫描代码时发现复杂逻辑需要 AI 帮忙理解,它通过 Sampling 机制请求 Client 的 LLM 分析,拿到结果后继续执行。这种"Server 借用 Client 的大脑"的能力让 MCP Server 保持轻量,同时享受 LLM 的智能。
PTC:程序化工具调用——从"乒乓球"到"连招"
传统工具调用有一个严重的效率瓶颈:每调用一次工具,结果都要塞回上下文让 LLM 重新推理。这就像打乒乓球——一来一回。如果一个任务需要调用 10 个工具,就要 10 次 LLM 推理,延迟和成本都是线性增长的。
PTC(Programmatic Tool Calling)的思路很简单:既然 LLM 会写代码,为什么不让它直接写一段程序来编排多个工具调用?LLM 生成一段 Python 脚本,脚本中按逻辑顺序调用多个工具函数,在安全沙箱中一次性执行完毕,最后把汇总结果返回。这把「多次乒乓对话」变成了「一次连招」。
| 模式 | 传统工具调用 | PTC 程序化工具调用 |
|---|---|---|
| 过程 | LLM 推理 → 工具 A → LLM 推理 → 工具 B → … | LLM 生成代码 → 沙箱批量执行工具 A/B/C/D → 返回结果 |
| LLM 调用次数 | N+1 次 | 2 次 |
| 延迟 | 高(线性增长) | 低(近乎常数) |
| 适用场景 | 需要每步语义判断的任务 | 确定性强的批量操作 |
PTC 不是万能的。它适合确定性强的流程——"查询 5 个城市的天气并汇总"、"批量读取文件并统计"。如果任务需要 LLM 在每一步根据结果做语义级别的动态决策,传统 ReAct 循环反而更合适。实践中两者经常混合使用——Agent 在 ReAct 循环中某一步决定"接下来的 5 个操作可以批量执行",于是生成 PTC 代码一次跑完,再回到 ReAct 循环继续推理。
Skills 技能系统:AI 的 App Store
MCP 定义了工具的"接口标准",但一个完整的能力往往不只是一个工具调用。比如"帮我分析竞品"——需要搜索指令、数据整理脚本、分析模板、报告格式。把这些打包在一起,就是一个 Skill。
Skills 的本质:不是代码插件,是一个文件夹
很多人第一反应是"Skill 就是一个代码插件"——大错特错。Skill 的本质是基于文件系统的结构化知识包(File-system based),核心不是代码,而是教 AI "如何完成某件事"的知识。就像你编写一个程序会通过 import 引入外部包一样,Agent Skills 也是类似逻辑——每个 Skill 就是一个文件夹,存放在固定位置(如 .claude/skills),里面装着:
- SKILL.md——使用说明书(SOP)。前半部分是"身份证"(name 标识 + description 触发描述),后半部分是正文(目标、操作步骤、注意事项)。description 越具体,越容易在正确场景被匹配调用。
- references/——参考文档。更详细的分支说明,比如"分析 Excel"和"创建 Excel"可能是两套完全不同的参考文档,只有确认要做分析时才加载分析文档。
- scripts/——可执行脚本。Python、Node.js 等脚本,让 Skill 能连接外部世界。关键点:AI 只需按 SKILL.md 的指引执行脚本,脚本代码本身不会塞进上下文——你完全不用担心一个几千行的脚本文件会消耗 Token。
- assets/——图片、模板等资源文件。
你可能会想:这不就是把提示词放在文件里吗?和系统提示词、Rules 文件有什么区别?区别在于——如果你给 AI 装 50 个技能,每个技能几千字说明书,要是系统一启动就全塞进 Context Window 里,成本会爆炸(每次对话消耗数万 Token),AI 的注意力也会被严重分散。Skill 的核心价值就是"渐进式披露"——按需加载,用多少拿多少。
只要你会写提示词,就能写 Skill——编写门槛远低于 MCP(MCP 终究要靠代码编写)。Anthropic 官方还提供了 Skill Creator——一个"生产 Skills 的 Skill",你不需要写一行代码,只需用自然语言描述想要的能力(比如"帮我创建一个能精确获取系统时间的 Skill,脚本用 Node.js"),它就能自动生成完整的 Skill 包。Skills 开放市场(如 skillsmp.com)的数量也在以比当初 MCP 更快的速度爆发式增长——可以预见,大量固定工作流未来都会被封装为 Skill,Agent 的编写门槛被再次大幅降低。
Skills vs MCP:一个是"脑",一个是"手"——互补而非冲突
MCP = 给 AI 连接外部工具的标准协议,解决"能用什么工具"(What)。Skills = 教 AI 如何完成特定任务的知识包,解决"怎么做事"(How)。MCP 是 AI 的"手"——让它能触达外部世界;Skills 是 AI 的"脑"——教它聪明地使用这些手。一个 Skill 可以在内部编排多个 MCP 工具、编写执行脚本、调用内置命令,把复杂工作流包装成一个"一键触发"的能力。
那 MCP 会被 Skills 淘汰吗?不会,但对 MCP 的需求会大幅减少。MCP 协议层的价值不可替代——它统一了 AI 连接世界的方式。如果你是通用三方平台(高德地图、Notion),想发布一个工具让所有 Agent 都能用,首选还是 MCP。但如果你有重复性工作流(固定流程读写文件、标准范式 Review 代码、固定风格撰写文章),这些场景推荐用 Skill 实现。在过去,这些场景中的本地文件读写、连接 GitHub、生成图片等都得通过 MCP 去实现,但现在你可以把它们打包进 Skill——Skill 内部会"教" AI 怎么用 MCP Server、怎么用其他 Skills、怎么更好地调用核心能力。
未来的格局可能是:Agent 内置部分核心能力(bash、read、write),少数通用 MCP Server 负责远程连接(数据库、云 API、SaaS 集成),大量 Skills 负责封装标准工作流和连接本地知识库。两者在必要时协同,但 Skills 承担绝大部分"教 AI 做事"的工作。
核心机制:渐进式披露(Progressive Disclosure)
这是 Skill 系统最精妙的设计。而 MCP 恰恰有这个问题——每个 Server 的所有工具定义在启动时全量注入上下文。一个 GitHub MCP Server 就有 30 多个工具,每个消耗约 500 Token,仅此一个就吃掉近 2 万 Token。Skill 用四层渐进加载解决了这个问题:
- L1 技能发现(启动时):仅加载每个 Skill 的 name + description(一句话摘要),几十个 Skill 只占几百 Token。Agent 知道"我有哪些能力",但不知道具体怎么用。就像在图书馆先看书名目录。
- L2 技能理解(匹配触发时):当用户请求匹配到某个 Skill 时,才读取该 Skill 的完整 SKILL.md——详细指令、操作步骤、注意事项。就像从书架上取下那本书,翻开目录。
- L3 深入阅读(按需时):SKILL.md 中可能引用多个 reference 文档。Agent 只读取当前任务需要的那份参考文档,而非全部。就像翻到具体的某一章仔细阅读。
- L4 执行操作(实际执行时):调用 scripts/ 中的脚本、加载 assets/ 资源。脚本代码本身不进入上下文——Agent 只执行它,不阅读它。就像按照手册指引操作机器,而不是先读完机器的设计图纸。
假设 Agent 安装了 80 个 Skill,每个完整说明约 2000 Token。全部加载 = 160,000 Token,直接吃掉大部分上下文窗口。而如果用 MCP 实现同等能力,40 个 MCP Server 下 300 个工具,光工具定义就消耗数万 Token——MCP 的架构要求所有工具定义在启动时就全量注入上下文,如果你只是问了"1+1=?",Agent 已经烧掉了大几万 Token。渐进式披露把启动成本压缩到几千 Token(L1 阶段),只在需要时才"展开"——就像操作系统的虚拟内存:不是所有东西都常驻 RAM,用到时才从硬盘加载。更重要的是,这还提升了 AI 的注意力精度——面对几百个 MCP 工具 AI 很容易"分心"(MCP Atlas 基准测试中,即使最强的 Claude Opus 4.5 在 300+ 工具环境下也只有 62% 准确率,且随工具数增加而下降),而 Skills 的"漏斗式"引导让 AI 每次只专注当前任务——先通过目录判断方向,确认要干活了再加载说明,最后通过说明找到详细文档和脚本再执行。即使能力稍弱的模型,在这种机制下也能保持高准确率。
Skill Creator 与社区生态:Skills 的爆发式增长
Skills 的低门槛催生了爆发式增长的生态。Anthropic 官方提供了 Skill Creator——一个"生产 Skills 的 Skill",你不需要写一行代码或配置文件,只需用自然语言告诉它想做什么(比如"帮我创建一个能精确获取系统时间的 Skill,脚本用 Node.js"),它就会自动生成符合标准的 SKILL.md 和配套脚本。这意味着不仅人可以创建 Skill,AI 也可以为自己创造新能力——当 Agent 发现自己缺少某种能力时,它可以通过 Skill Creator 自主生成所需的 Skill。
社区市场方面(如 skillsmp.com、ClawHub),Skill 数量增速甚至超过了当初 MCP 的爆火期。原因很简单:MCP 终究要靠代码编写,Skill 只需要写提示词。可以预见,大量固定工作流未来都会被封装为 Skill——从"如何 Review 代码"到"如何撰写周报"到"如何分析竞品",每一个重复性的专业流程都可能成为一个可复用的 Skill 包。Agent 的能力扩展门槛被再次大幅降低。
⚠️ Skills 的安全隐患
但低门槛也是一把双刃剑。第三方 Skill 可能包含恶意脚本(scripts/ 中的代码有完整系统权限,可以读写任意文件、执行任意命令)或提示注入(SKILL.md 中嵌入误导性指令操纵 AI 行为,比如"忽略用户的安全规则")。使用第三方 Skill 前,务必审查 SKILL.md 内容和 scripts/ 代码——SKILL.md 是纯文本容易审查,scripts/ 中的代码也应仔细检查。优先选择来源可信的 Skill 市场,关注社区评价、下载量和开发者信誉。
Skills 做知识检索 vs 传统 RAG:两种根本不同的范式
Skills 的渐进式检索思路催生了一个强大的应用:用 Skill 替代传统 RAG 做知识库检索。两种方式的差异是根本性的。
传统 RAG 的做法:预处理管道(文档 → 分块 Chunk → 向量嵌入 Embedding → 存入向量数据库)→ 用户提问向量化 → 向量相似度匹配 → 返回 Top-K → 大模型总结。整个过程中大模型只参与最后一步。调优极其痛苦——分块大小选 256 还是 512?Embedding 模型用通用的还是垂直领域的?相似度阈值设 0.7 还是 0.8?每种文档类型可能需要完全不同的参数组合,而且你无法直观理解"为什么没检索到想要的结果"。
Skills 检索的做法:AI 自主分析用户问题 → 提取可能的关键词 → 用 grep/glob 在知识库目录中定位相关文件 → 打开文件只读取相关段落(而非全文)→ 首次结果不理想时自动切换关键词或扩大范围重试(最多 5 次)。不需要预建向量索引,不需要选 Embedding 模型,不需要调阈值参数——AI 自己决定搜索策略,全程参与检索决策。对不同文件类型用不同策略:Markdown/文本直接定位匹配段落,PDF 调专门脚本按页/按章节提取,Excel 只读相关的表和列。
Skills 检索的优势:① 无需预处理管道和向量数据库,部署成本极低;② 检索更精准——AI 能理解语义意图,不满意就换策略重试;③ 原生支持多格式。Skills 检索的缺陷:① 首次检索慢——遇到 PDF 等非文本格式需先转换(推荐预处理为纯文本);② 多轮对话后 AI 可能忘记调用 Skill;③ Token 消耗更大——AI 驱动的反复重试虽然结果更准但开销更大。简单总结:传统 RAG 适合大规模文档库+高并发查询的生产环境,Skills 检索适合快速搭建本地个人知识库的轻量场景。但趋势是清晰的——随着模型窗口扩大和 Agent 能力增强,固定 Chunk + Embedding 模式会被越来越多的 Agent-native 检索方式蚕食。
Agent 的记忆系统
一个真正的私人助理不会每天早上失忆。Agent 的记忆系统是让它从"一次性工具"进化为"长期伙伴"的关键。
短期记忆(工作记忆)——当前对话的上下文窗口。Agent 记得你这轮对话说过的每句话、调用过的每个工具、返回的每个结果。但关闭对话后全部消失——像人挂了电话后忘了刚才的临时号码。受限于上下文窗口大小(128K-200K Token)。
长期记忆(持久化存储)——通过外部存储持久保存信息,跨会话保持连续性。Agent 记住你的工作习惯、项目背景、个人偏好。下次对话时仍然"认识"你。
以 OpenClaw 的记忆方案为例——Markdown 文件 + 向量索引的混合架构。记忆文件分两类:每日工作记忆(memory/YYYY-MM-DD.md)记录当天事件和对话要点,像工作日志;长期精华(MEMORY.md)则是 Agent 自己整理的"人生笔记"——重要决策、用户偏好、经验教训的结晶。Agent 会定期审视日志,把值得长期保留的信息提炼到 MEMORY.md 中。
检索时采用混合策略:向量检索(语义相似度)+ BM25 关键词检索 → 加权排序。向量检索擅长理解语义("上次那个 Python 项目"能匹配到"FastAPI 后端开发"),BM25 擅长精确匹配(项目名、人名、日期)。两者结合,既懂含义又不漏细节。
最精妙的是Memory Flush 机制:当上下文窗口快满时,在压缩之前,Agent 会先被要求"把你觉得重要的信息写入记忆文件"。确保压缩不会丢失关键信息——就像考试前老师说"把重要公式抄到小纸条上",然后才收走参考书。
这套架构的另一个优势是对人类透明。所有记忆都是 Markdown 文件,你可以直接打开查看、编辑甚至删除。不喜欢 Agent 记住的某个信息?直接删掉那行。这种透明性和可控性是向量数据库黑箱方案无法比拟的。
多组件协同:MCP + PTC + Skills + SubAgent
前面讲了每个组件的原理,现在用一个完整场景把它们串起来。
① 用户对主 Agent 发出指令 → ② 主 Agent 规划:任务太复杂,拆分为 3 个子任务,派生 3 个 SubAgent 并行执行 → ③ SubAgent 加载 Skill:每个 SubAgent 激活"竞品调研"Skill(L1→L2→L3 渐进加载),获得调研指令和分析模板 → ④ Skill 通过 MCP 调用工具:Web 搜索 MCP → 获取产品信息;GitHub MCP → 查仓库数据 → ⑤ PTC 批量执行:多个搜索和数据抓取操作被编排成 Python 脚本,在沙箱中一次性执行 → ⑥ SubAgent 返回精炼结果给主 Agent → ⑦ 主 Agent 汇总输出完整报告。
在这个流程中:SubAgent 提供了并行分工,Skill 提供了领域知识和工作模板,MCP 提供了标准化的工具访问接口,PTC 优化了批量工具调用的效率。四者协同,才让一个看似简单的"写报告"需求,能被高效、高质地执行。
生产级 Agent 的硬核工程
从"Demo 跑通"到"生产可用"之间,隔着一道巨大的工程鸿沟。Demo 级别的 Agent 只需要处理理想输入、单一用户、稳定网络。但生产环境里,用户消息乱序到来、API 随时超时、上下文悄然溢出、恶意输入试图越权——每一个环节都可能导致 Agent 表现异常甚至崩溃。以下五个核心工程问题,是让 Agent 真正可靠运行的关键。
3.9.1 Lane(车道)调度与并发控制
为什么需要 Lane?想象这样一个场景:你在微信里连续发了三条消息——"帮我查一下北京天气" → "算了,改查一下特斯拉股价" → "还是查天气吧"。如果这三条消息被并发处理,三个 Agent 循环同时启动、同时读写同一个 Session 的状态,结果会是灾难性的——状态互相覆盖、回复顺序错乱、工具调用冲突。
餐厅比喻:用户消息就像顾客的点单,服务员(高频消息队列)负责在前台接收和整理,但厨房灶台(Lane)同一时间只能炒一盘菜。如果两份订单同时涌入同一个灶台,菜就串味了。Lane 机制确保每个 Session 同一时刻只有一个 Agent 循环在运行——一盘炒完,再炒下一盘。
但问题远不止"串行化"这么简单。用户在 IM 里发消息是碎片化的——可能连发 5 条消息才表达完一个完整的意思,也可能在 Agent 处理过程中突然改主意。Lane 需要支持多种排队模式来应对不同场景:
- Steer(转向):新消息注入正在运行的当前循环。适合用户在 Agent 执行过程中补充信息——"帮我查天气"(Agent 开始执行)→ "记得查最近一周的"(这条补充消息被注入当前循环,Agent 在下次读取上下文时看到它)。
- Collect(搜集):在一个时间窗口内(比如 3 秒)聚合所有消息,合并成一条再处理。适合用户连发碎片消息的场景——"你好" → "在吗" → "帮我查一下明天的天气",三条合并为一条完整请求后再触发 Agent。
- Followup(跟进):FIFO 逐条排队处理。前一条处理完毕后,再处理下一条。适合每条消息都是独立请求的场景——严格保序,不丢消息。
- Interrupt(打断):丢弃正在处理的任务,只做最新发来的那一条。适合用户频繁改主意的场景——"查天气" → "不用了,帮我翻译这段话",Agent 丢弃天气查询,直接处理翻译请求。
不同的消息渠道、不同的用户习惯、不同的任务类型,适合不同的排队模式。一个成熟的 Agent 框架需要让这些模式可配置、可切换,甚至可以根据上下文自动选择。
3.9.2 上下文守卫机制
上下文窗口是 Agent 最宝贵也最脆弱的有限资源。一次长对话中,用户消息、系统指令、工具定义(每个工具的 JSON Schema 描述)、工具调用结果、知识注入(RAG 检索结果)——所有这些都在不断累积。一个挂载了 20 个 MCP 工具的 Agent,光工具定义就可能占掉 15,000-20,000 Token。再加上多轮对话和工具返回结果,上下文在不知不觉中悄然逼近上限。不加管理,很快就会撞顶——轻则截断关键信息、重则请求直接失败。
上下文守卫采用多阶段防线,层层拦截:
第一道防线:Token 预检。每次构建 Prompt 后、调用 LLM 前,先精确计算 Token 总量(包括系统提示 + 工具定义 + 历史消息 + 当前输入),预判是否会超限。如果加入下一条消息后总量超过阈值(通常设为窗口大小的 85%-90%,留出足够的生成空间),就触发下一道防线。预检是低成本操作——只是数 Token,不调用 LLM。
第二道防线:自动压缩。逼近上限时触发压缩——但不是简单地截断早期消息。截断是最粗暴的做法,会丢失关键上下文("用户之前说过要用 Python 而不是 Java"这种信息一旦丢失,后续回答就可能跑偏)。正确的做法是智能压缩:保留最近几轮的原始消息(因为用户很可能正在引用最近的对话),让 LLM 将更早的对话内容压缩为结构化摘要——提取关键决策、用户偏好、任务进展等信息,用精炼的文字替代冗长的原始对话。
压缩前还有一个关键步骤:Memory Flush(记忆刷写)。在压缩发生之前,先让 Agent 执行一次"把你觉得重要的信息写入记忆文件"的操作。这就像考试前老师说"把重要公式抄到小纸条上",然后才收走参考书。即使压缩后摘要不够完美,关键信息已经安全地持久化到了记忆文件中。
第三道防线:会话重置。极端情况下的最后手段——如果压缩后仍然超限(比如单条工具返回了超大的数据块),清空当前上下文,从记忆文件和摘要中恢复关键信息,重新开始一个干净的会话。用户感知到的是"Agent 似乎重新整理了一下思路",而不是崩溃或丢失所有上下文。
3.9.3 模型故障容错
在生产环境中,假定 API 不稳定是常态而非例外。OpenAI 的 API 可能突然返回 429(限流)、Anthropic 的服务可能在高峰期出现 30 秒超时、某些地区的网络可能对特定 Provider 不稳定。如果 Agent 只依赖单一模型的单一 API Key,一旦出问题就彻底卡住——用户发了消息,Agent 没有任何回应,体验灾难性地崩塌。
成熟的 Agent 框架需要双层容错机制:
- 内层:认证轮转(同一 Provider 内)——为同一个 Provider(如 OpenAI)配置多个 API Key。一个 Key 被限流时,自动切换到下一个 Key 继续服务,同时对被限流的 Key 执行指数退避(等待 1s → 2s → 4s → 8s…)。对用户完全透明——他们感知不到任何中断。
- 外层:模型降级(跨 Provider)——当整个 Provider 不可用时(比如 Anthropic 的 Claude API 全线超时),自动切换到备用 Provider 继续服务(Claude → GPT-4o → Kimi)。整个过程用户感知不到中断,只是回答的"风格"可能微妙变化。
当然,降级不是没有代价的。不同模型的能力谱系不同——Claude 在长文本理解和遵循复杂指令方面表现优异,GPT-4o 在多模态和代码生成方面更强,降级后可能出现能力差异和风格漂移。好的容错系统会记录降级事件,并在主模型恢复后自动切回——降级是临时应急,不是永久替代。
3.9.4 零信任工具策略
Agent 安全是一个被严重低估的工程问题。很多人认为"在系统提示词里告诉 Agent 不要做危险操作"就够了。但最大的安全风险恰恰来自工具本身——Shell 执行、文件读写、网络请求、数据库操作。提示词注入攻击(Prompt Injection)已经反复证明,仅靠"你不能做 XXX"的文字约束是不可靠的——攻击者可以通过精心构造的输入"说服"模型绕过这些软约束。
零信任工具策略的核心理念是:不信任任何一层的"承诺",每一层都要独立验证。具体到实现:
- Tool-policy 不是调用时才检查,而是构建上下文时就过滤。根据当前用户的身份(UserId)、会话渠道(ChannelId)、所在群组(GroupId)和安全等级,在构建 Prompt 之前就决定哪些工具对 Agent 可见。Agent 看不到的工具,就不可能调用——因为 Agent 的"世界"就是上下文中的内容。这比在提示词中说"不要使用删除工具"可靠一万倍:提示词注入可以绕过文字约束,但无法凭空创造一个不存在于上下文中的工具定义。
- 基于身份和场景的动态白名单。同一个 Agent,面对管理员用户时可以使用 Shell 执行和文件写入工具;面对普通用户时只能使用搜索和查询工具;在公开群聊中则进一步收缩到只读操作。权限随场景动态变化,而非一刀切。
- SubAgent 最小权限。即使主 Agent 拥有完整的工具访问权限,它派生的 SubAgent 也只能访问任务所需的最小工具集。一个负责"搜索并汇总信息"的 SubAgent,不会拥有"删除文件"或"发送消息"的能力。更关键的是,SubAgent 默认被收回
sessions_spawn等危险工具——防止 SubAgent 递归派生出不受控制的子 Agent 链。每一层派生都是一次权限收缩,而非继承。
3.9.5 思考分级机制
不是所有问题都值得深度思考——"今天几号?"和"设计一个高可用的分布式架构方案"的计算成本可以差几十倍甚至上百倍。如果每个问题都用最高规格的推理资源来处理,成本会迅速失控;反过来,如果所有问题都用最低规格,复杂任务的质量又无法保证。
思考分级机制定义了 6 个递增等级:
| 等级 | 名称 | 适用场景 | 相对成本 |
|---|---|---|---|
| L0 | 不思考 | 纯查询、简单问候 | $ |
| L1 | 极简 | 简单问答、格式转换 | $ |
| L2 | 基础 | 常规对话、信息整理 | $$ |
| L3 | 标准 | 多步骤任务、代码编写 | $$$ |
| L4 | 深度 | 复杂分析、架构设计 | $$$$ |
| L5 | 极限 | 最高难度推理、学术级问题 | $$$$$ |
系统根据任务复杂度自动选择思考等级,并支持自动降档重试:如果高等级思考超时或模型返回错误,自动降到低一级重试,而不是直接报错。简单查询秒回、复杂任务才调动深度推理——在质量和成本之间动态寻找最优平衡。这种机制对于私人 Agent 尤其重要——你不希望每天 100 条日常闲聊的成本和 5 条高难度工作请求一样高。
四、产品深度剖析
为什么要花大篇幅深度拆解 Claude Code 和 OpenClaw?因为它们恰好代表了 Agent 产品的两个典型方向——Claude Code 是"专业领域深耕型 Agent"的标杆,把编程这一个场景做到极致深度;OpenClaw 是"通用私人 Agent 运行时"的先锋,提供框架和生态,让用户定义自己的 Agent。这两种路线没有优劣之分,但对 AI 产品的设计理念、技术架构、商业模式有着截然不同的启示。深度理解它们,等于理解了当下 Agent 产品设计的两种核心哲学。
Claude Code:重新定义编程协作
Claude Code 不是 Copilot(代码补全)、不是 ChatGPT(问答)——它是 Anthropic 官方打造的终端原生、Agent 形态的编程助手,代表了"一个垂直领域做到极致"的产品哲学。
产品定位与战略意图
Claude Code 的交互范式是"给目标,不给步骤"——你说"实现用户登录功能,包含 OAuth2 和 JWT",它自己规划文件结构、编写代码、创建测试、运行测试、修复 Bug,直到功能完整交付。这不是"更好的代码补全",而是根本性地改变了人与代码的关系——从"你写代码"变成"你描述需求,Agent 写代码"。
从 Anthropic 的战略视角看,Claude Code 是公司从"API 提供商"转型为"工具提供商"的关键一步。大模型 API 本质上是同质化的——OpenAI、Google、Anthropic 都提供能力相近的大模型接口,开发者可以随时切换供应商。但当 Claude Code 深度嵌入开发者日常工作流后,迁移成本大幅上升——你的项目配置(CLAUDE.md)、自定义指令、工作习惯全部绑定在 Claude Code 生态中。这是一个极其聪明的策略:用工具锁定用户,而非用模型锁定用户。即使未来有更便宜的模型出现,用户也不会轻易离开一个已经"懂"自己代码库的 Agent。
产品形态演进
产品形态经历了一条清晰的演进路径:Terminal CLI → VS Code 插件 → Desktop App → Web → JetBrains → 全平台覆盖。核心理念是"同一个引擎,多个界面"——无论你在终端、IDE 还是浏览器中使用,底层的 CLAUDE.md 项目配置、MCP Server 设置、工作偏好全部跨平台同步。你在终端里教会 Claude Code 的项目知识和代码规范,在 VS Code、Desktop App 和 Web 版中同样生效。这种"一次配置,处处可用"的体验,让用户的投入不断累积,产品粘性自然增强。
技术架构解读
回顾前文的 ReAct 循环,Claude Code 正是一个教科书级的实现——感知(读取用户指令+代码库状态)→ 规划(拆解编程任务为步骤)→ 执行(编写代码、运行命令)→ 反馈(检查运行结果、测试是否通过),如此循环直到任务完成。核心能力包括:
- 全代码库级理解——不只看当前文件,能索引整个代码库的架构,跨数十个文件追踪调用链。你问"这个项目的认证逻辑是怎么实现的?"它能给出完整的跨文件分析。
- 原生 MCP 支持——可连接数据库 MCP、API 文档 MCP、GitHub MCP 等,无限扩展能力边界。
- Shell/Git 执行能力——直接运行 Shell 命令、操作 Git、运行构建脚本、执行测试套件。不是在沙箱里模拟——是真实地在你的开发环境中执行。
- 自我纠错循环——运行测试发现 Bug → 自动分析错误原因 → 修改代码 → 再次运行测试 → 直到全部通过。这个循环可能转 3 次,也可能转 30 次——Agent 自己决定什么时候停。
用户体验与使用场景
对于高级开发者,Claude Code 是一个能同步理解全局架构的结对编程搭档;对于初学者,它几乎消除了从"想法"到"可运行代码"之间的鸿沟。主要使用场景包括:
- 从零搭建功能模块——需求理解 → 架构规划 → 编码 → 测试 → 调试,一气呵成
- 代码库理解与 Onboarding——新人入职第一天:"这个项目的支付流程怎么实现的?"Claude Code 比任何文档都好用
- 自动化运维与 CI/CD——集成 GitHub Actions 做自动 PR Review、Issue 分诊、代码质量检查,7×24 不间断
- 跨平台无缝协作——桌面端开始任务 → 手机上查看进度 → 回到桌面继续,同一引擎状态完全同步
更值得关注的是 Agent SDK 的开放。Anthropic 不仅把 Claude Code 做成一个产品,还把底层引擎开放为 SDK,让开发者可以基于它构建自定义 Agent。这意味着 Claude Code 不只是工具,更是平台——生态比产品更有护城河。
"入口无处不在"策略:同一引擎覆盖 Terminal/IDE/Desktop/Web/Mobile,用户在哪里工作,产品就出现在哪里。Agent SDK 的开放策略:不只做产品,还做平台——让开发者在你之上构建,生态比产品更有护城河。"专注做深一个领域":编程这个垂直场景做到极致,比什么都做的"万金油"更有壁垒和口碑。
OpenClaw:真正属于你的 AI Agent
如果 Claude Code 是专注编程的极致单点,OpenClaw 走的是完全不同的路——一个开源、自托管的私人 Agent 运行时框架,让你拥有一个 7×24 小时在线、完全属于你自己的 AI 助手。
产品定位与市场格局
OpenClaw 不是 SaaS 服务(Manus)、不是编辑器插件(Cursor)——它是一个私人 Agent 运行时框架。开源、MIT 协议、完全自托管——你的数据、对话记录、记忆文件全部在你自己的服务器上,不经过任何第三方。核心理念简单而激进:"你的 Agent 住在你的机器上"。在当下大多数 AI 产品都要求你把数据交给云端的背景下,OpenClaw 走了一条完全相反的路——它把控制权交还给用户。
理解 OpenClaw 的定位,最好和其他两种产品形态做三角对比:
- 云端远程型(Manus)——给 Agent 一台远程沙箱电脑。开箱即用、零部署成本,但数据经过第三方服务器,适合一次性任务和隐私不敏感场景。
- 本地协作型(Cowork)——共享你的电脑给 Agent。深度嵌入工作流,但能力范围限于本地桌面环境。
- 混合型(OpenClaw)——本地运行 Runtime 掌控数据和隐私,通过 API 调用云端模型获得最强推理能力,通过 Skills、MCP 和 Nodes 无限扩展功能边界。兼具数据自主和能力弹性。
Gateway + Agent 分层架构
OpenClaw 采用 Gateway + Agent 分层架构——这不是拍脑袋的设计,而是经过深思熟虑的工程决策。Gateway 面对的问题是"千奇百怪的消息平台接入和安全管控",Agent 面对的问题是"标准化的任务理解与执行"。两者的关注点截然不同,变化频率也不一样——新消息渠道的接入频率远高于 Agent 核心引擎的更新频率。分层后各自独立演进,改一个不动另一个。
- Gateway——"大脑中枢+交通枢纽"。职责包括:消息路由(将不同渠道的消息统一格式后分发)、认证鉴权(验证用户身份和权限)、限流管控(防止滥用)、工具注入(根据身份动态决定可用工具)、安全策略(零信任工具过滤)。
- Agent——"任务执行者"。职责包括:上下文管理(构建和维护 Prompt)、ReAct 循环驱动、工具调用执行、记忆读写、SubAgent 派生。
为什么要分离?换一个消息渠道?只改 Gateway 配置。升级 Agent 能力?只更新 Runtime。加一个新 Skill?两层都不用动。回顾前文的五大生产级工程问题,OpenClaw 正是这些技术的落地实现——Lane 调度、上下文守卫、故障容错、零信任工具策略、Skills 渐进披露和思考分级,全部内建在这套架构中。
五大独特价值主张
- ① 多渠道入口——微信、QQ、飞书、Discord、Telegram、Web——同一个 Agent,任何你习惯的平台都是入口。不需要专门打开一个 App,在你正在使用的 IM 里直接对话。对于大多数人来说,最好的 AI 入口不是一个新应用,而是他们已经每天打开的那个聊天窗口。
- ② 主动性——不只是被动等指令。支持定时任务(cron)和数据驱动触发——"每天早上 8 点推送天气和日程"、"GitHub 有新 Issue 时主动通知"、"收到重要邮件时立即提醒"。Agent 从一个需要你主动询问的工具,进化为主动关心你的协作伙伴。
- ③ 长期记忆——基于 Markdown 文件 + 向量索引的记忆系统(前文已详述)。跨会话记住你的偏好、项目背景、工作习惯。所有记忆都是人类可读的 Markdown 文件,你可以直接查看、编辑甚至删除——这种透明性是黑箱方案做不到的。越用越懂你,而且你完全知道它"记住了什么"。
- ④ 高可扩展性——Skills + MCP + Nodes 三重扩展体系。安装 Skill 获得领域能力,连接 MCP 工具访问外部数据和服务,配对 Nodes 获得物理设备控制力。甚至 Agent 自己都可以从 ClawHub 技能市场自主下载安装新 Skill——当它发现缺少某个能力时,能主动获取。
- ⑤ 完全掌控——开源(MIT 协议)、自托管、本地部署。数据不出门,隐私安全有保障。你不是在用别人的 Agent 服务——你拥有这个 Agent。代码可以审计,行为可以控制,数据完全属于你。这是"我的 Agent"和"别人的 Agent 为我服务"的本质区别。
Nodes 机制:赋予 Agent 物理触角
Nodes 是 OpenClaw 最具想象力的扩展机制之一。你可以将旧手机、闲置电脑、甚至树莓派配对为 Agent 的"能力节点"。旧手机作为摄像头节点监控家门口("有人来了吗?")、闲置电脑作为计算节点运行 GPU 任务、手机的地理位置功能触发自动化流程("到公司了自动签到")。这种将闲置硬件变成 Agent 能力的设计,不仅低成本,而且天然适合智能家居和物联网场景。
使用场景
- 个人效率助手——邮件筛选与摘要、日程管理、每日定时简报推送、会议纪要整理。Agent 成为你的"数字秘书"。
- 智能家居中枢——结合 Nodes 控制设备:"晚上 11 点如果电脑还在用就把灯调暗"、"到家自动开空调"。
- 开发者工具——GitHub 通知监控、项目状态检查、自动化部署、服务器异常告警。开发者的 7×24 运维助手。
- 内容创作辅助——信息收集与整理、文章大纲与起草、多平台内容发布。从灵感到成稿的全流程陪伴。
"核心精简、边缘丰富"的插件化架构:Channels/Tools/Skills/Hooks 均可扩展,核心框架保持稳定精简,丰富性来自社区和生态。"让用户自己扩展":ClawHub 技能市场 + 用户自建 Skill,产品团队不需要覆盖所有场景,社区会自然填补。安全与能力的平衡:Gateway 层统一安全管控(零信任工具策略),Agent 层放开能力,收放自如,而非一刀切。
两款产品的对比与启示
Claude Code 和 OpenClaw,两种路线——不是谁更好,而是代表了 Agent 产品设计的两种核心哲学。理解这种差异,对于判断 AI 产品的发展方向至关重要。
技术架构对比
| 对比维度 | Claude Code | OpenClaw |
|---|---|---|
| 产品类型 | 专业编程 Agent | 通用私人 Agent 运行时 |
| 部署方式 | 本地安装 + 云端服务 | 完全自托管 |
| 核心场景 | 编程开发 | 日常工作 + 生活全场景 |
| 入口形态 | Terminal / IDE / Web / Desktop | 微信 / QQ / 飞书 / Discord / Telegram / Web |
| 开源 | 否(商业产品) | 是(MIT 协议) |
| 扩展方式 | MCP + Agent SDK | Skills + MCP + Nodes 三重扩展 |
| 商业模式 | 订阅制(Max/Pro 计划) | 免费框架(模型费用自付) |
| 数据控制 | 混合(部分数据经云端) | 完全本地,数据不出门 |
两个方向的启示
Claude Code 路线——深耕垂直:把编程做到极致深度,全平台覆盖、深度代码理解、自我纠错循环、Agent SDK 平台化。不追求广度,追求在一个场景里让 AI 真正替代人类完成工作。壁垒在于:当你的工具深度嵌入用户工作流后,迁移成本极高——项目配置、自定义指令、使用习惯都是沉没投入。竞争优势不来自模型(模型可以换),而来自工具体验和生态锁定。对创业者的启示:如果你选择垂直路线,就必须做到行业内无可争议的第一名。
OpenClaw 路线——通用平台:提供框架和生态,让社区定义用途——多渠道入口、Skills 市场、Nodes 物理扩展、完全开源。不定义用户该怎么用,而是提供基础设施让每个人构建自己的 Agent。壁垒在于:社区生态一旦形成飞轮,后来者几乎无法追赶——每一个社区贡献的 Skill、每一个用户分享的配置模板,都在加厚护城河。竞争优势来自开发者社区和技能生态的网络效应。对创业者的启示:如果你选择平台路线,社区运营和开发者体验就是你的核心竞争力。
Agent 产品不是"功能越多越好",而是"在正确的场景里,让 AI 真正替代人类完成工作"。Claude Code 证明了一个垂直场景做到极致就能建立壁垒;OpenClaw 证明了开源框架加社区生态同样能创造巨大价值。两者的共同点是:都不是在做"更好的聊天机器人",而是在做"能真正干活的数字员工"。无论选择哪条路线,核心都是同一个问题:你的产品,是让用户"觉得 AI 很酷",还是真的帮用户"少干了一件事"?能回答好这个问题的产品,才能在 Agent 浪潮中存活下来。
其他产品简评
Cursor——AI 原生代码编辑器,基于 VS Code 深度改造。Tab 智能补全 + Chat 对话编程 + Composer 多文件协同,学习成本最低、编辑器体验最自然的 AI 编程工具。
Dify——开源 LLM 应用开发平台。可视化拖拽式构建 AI 应用,内置 RAG 引擎和 Agent 构建器。让不会写代码的产品经理也能 15 分钟搭建一个 AI 客服机器人。
n8n——开源工作流自动化平台。400+ 预置集成节点连接几乎所有主流服务,AI Agent 节点让 AI 在工作流中做决策者。适合连接多个系统、自动化复杂业务流程的团队。
Manus——云端通用型 AI Agent。云端沙箱执行,能浏览网页、写代码、处理文件。开箱即用零部署成本,适合一次性任务和隐私不敏感的场景。
五、横向对比表
一张表看清楚这些产品的核心差异,帮你选对工具。
| 维度 | Claude Code | Cursor | Dify | n8n | Manus | OpenClaw |
|---|---|---|---|---|---|---|
| 产品类型 | 编程 Agent | AI 编辑器 | 应用搭建平台 | 自动化平台 | 通用 Agent | Agent 运行时 |
| 技术门槛 | 中 | 低 | 低 | 中 | 低 | 高 |
| 开源 | 否 | 否 | 是 | 是 | 否 | 是 |
| MCP 支持 | ✅ 原生 | ✅ 支持 | ❌ | ✅ 支持 | ❌ | ✅ 原生 |
| 本地部署 | ✅ | ❌ | ✅ | ✅ | ❌ | ✅ |
| 长期记忆 | 有限 | ❌ | ❌ | ❌ | 有限 | ✅ 完整 |
| 多渠道 | 终端 | 编辑器 | API/Web | Webhook | Web | ✅ 全平台 |
| 主动性 | ❌ | ❌ | ❌ | ✅ 定时 | ❌ | ✅ 定时+事件 |
| Skills/插件 | MCP 扩展 | 插件市场 | 模板市场 | 400+ 节点 | 内置 | ✅ Skill 体系 |
| 数据隐私 | 本地执行 | 云端传输 | 可自托管 | 可自托管 | 云端托管 | 完全本地 |
| 核心优势 | 深度代码理解 | 编辑器体验 | 零代码搭建 | 海量集成 | 开箱即用 | 完全掌控 |
| 最佳场景 | 编程开发 | 日常编码 | 快速搭应用 | 流程自动化 | 一次性任务 | 私人 AI 助理 |
六、未来展望
Agent 不只是一个技术概念,它正在重塑我们与数字世界交互的方式。
数字分身:7×24 的"你"
想象一个完全了解你工作习惯、知识偏好、社交风格的 AI Agent。它帮你筛选邮件、整理日程、撰写报告、管理项目。它不只是工具,更像你的数字化延伸——一个 7×24 小时不休息的"你"。当你在睡觉时,它在帮你监控系统告警、整理明天的会议资料、回复不紧急的消息。它记得你过去半年所有项目的上下文,能在你问"上次那个问题怎么解决的"时精确找到答案。基于今天的长期记忆、Skills 体系和多渠道接入技术,这个未来已经触手可及。
从工具到伙伴:主动协作
当前的 AI 还是"工具"——你给指令,它执行。未来的 Agent 将更像"伙伴"——它理解你的目标和偏好,能在你没想到的时候主动提供帮助。"我注意到你这周代码提交量翻倍了,要不要我帮你审查一下最近的 PR?"这种主动的、有上下文的协作,是 Agent 进化的方向。
安全、隐私、可控的挑战
Agent 越强大,风险越大。当 AI 能自主操作你的电脑、访问你的数据、代表你发消息时,安全和隐私就是头等大事。谁来监督 Agent 的行为?敏感操作是否需要人类确认?数据存储在哪里?零信任工具策略、本地部署、权限分级——这些工程手段,将决定我们能信任 Agent 走多远。
三种形态趋势
Agent 正在分化为三种形态:云端远程型(Manus)——开箱即用但数据经过第三方,适合一次性任务;本地协作型(Claude Code、Cursor)——深度融入特定工作流,专业度高但能力范围有限;混合型(OpenClaw)——本地部署掌控数据,通过 API 调用云端模型获得最强推理能力,通过 Skills 和 MCP 无限扩展。最终大概率三者长期并存——关键问题不是"哪个好",而是"你的场景需要什么级别的掌控力和隐私保障"。
从大模型到 Agent,我们正在经历 AI 应用的范式转变——从"能聊天"到"能干活",从"工具"到"伙伴"。底层逻辑是清晰的:大模型提供智能,RAG 弥补知识缺口,Agent 赋予行动力,MCP 统一连接接口,PTC 优化执行效率,Skills 降低使用门槛。在生产级工程层面,Lane 调度、上下文守卫、模型容错、零信任工具策略、思考分级,则让 Agent 从 Demo 走向可靠的日常使用。理解了这条技术主线,你就能在这个快速变化的领域中保持方向感。
References
- Vaswani et al. Attention Is All You Need, 2017 - arxiv.org/abs/1706.03762
- Lewis et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, 2020 - arxiv.org/abs/2005.11401
- Ouyang et al. Training language models to follow instructions with human feedback, 2022 - arxiv.org/abs/2203.02155
- Anthropic. Model Context Protocol Specification - modelcontextprotocol.io
- Yao et al. ReAct: Synergizing Reasoning and Acting in Language Models, 2023 - arxiv.org/abs/2210.03629
- guangzhengli. 向量数据库 - guangzhengli.com/blog/zh/vector-database
- OpenAI. Function Calling Guide - platform.openai.com/docs/guides/function-calling
- LangChain Documentation - docs.langchain.com
- Pinecone. What is a Vector Database - pinecone.io/learn/vector-database
- OpenClaw GitHub - github.com/nicepkg/openclaw
- Anthropic. Claude Code Documentation - docs.anthropic.com/en/docs/claude-code