[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fVSZYAMF_Zc6cvfse0oNRrtflOyCjrCsagXOTJuPQxow":3,"$fnDbBtcYCNNn_l6C0eKkt6e89sp8V5JunXCHIawCbA34":51},[4],{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":43,"sourceName":43,"sourceUrl":43,"status":44,"seoTitle":43,"seoDescription":43,"canonicalUrl":43,"isFeatured":45,"sno":46,"sortOrder":47,"publishedAt":48,"updatedAt":49,"createdAt":50},"ce9e6553-0ad3-45a5-86c8-63c9c58b4b61","article","RAG是什么？","what-is-rag","Retrieval-Augmented Generation，中文通常译为“检索增强生成”，其核心在于让大模型先查找相关资料，再根据资料组织答案","大语言模型能够写文章、总结材料、回答问题，但它并不是一个实时更新且绝对可靠的知识库。模型掌握的知识主要来自训练数据：它可能不了解训练结束后发生的事情，也无法自然获取企业内部文件；遇到不确定的问题时，还可能生成看似合理、实际上并不存在的内容。\n\nRAG，即Retrieval-Augmented Generation，中文通常译为“检索增强生成”，就是为解决这些问题而出现的一种技术架构。它的核心思路非常简单：\n\n**不要让大模型只凭记忆回答，而是先查找相关资料，再根据资料组织答案。**\n\n## 一、可以把RAG理解为“开卷考试”\n\n普通大模型回答问题，更像一场闭卷考试。它只能依靠训练过程中记住的知识进行推断。\n\nRAG则像一场开卷考试。当用户提出问题时，系统先从指定的知识库、数据库、网页或文件中找到相关内容，再把这些内容连同问题一起交给大模型。模型阅读资料后，整理出自然语言答案。\n\n例如，一名员工询问：\n\n> 公司一年有多少天带薪年假？\n\n没有RAG时，大模型可能根据一般劳动制度给出一个通用答案，但这个答案未必符合该公司的实际规定。\n\n使用RAG后，系统会先从公司的员工手册中找到“休假制度”相关段落，再要求大模型依据该段落回答，并附上文件名称或原文位置。这样得到的答案更贴近企业实际，也更容易核查。\n\nRAG这一名称来自Patrick Lewis等研究者在2020年发表的论文。该研究将预训练生成模型的“参数化记忆”与外部文档索引形成的“非参数化记忆”结合，用于知识密集型问答和文本生成任务。([arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.11401?utm_source=chatgpt.com))\n\n## 二、RAG通常怎样工作？\n\n一个基础的RAG系统可以分为“资料准备”和“问题回答”两个阶段。\n\n### 1.收集和处理资料\n\n系统首先导入可能被查询的资料，例如产品说明书、规章制度、客服记录、研究报告、网页、数据库内容和新闻文章。\n\n由于文档往往很长，系统不会直接把整份文件交给大模型，而是将其拆分成较小的文本片段。这个过程通常称为“分块”或“切片”。\n\n每个文本片段随后会通过Embedding模型转换成一组数字，也就是“向量”。这些向量可以在数学空间中表达文本的大致语义。例如，“年假规定”和“员工休假制度”虽然用词不同，但对应向量通常会比较接近。处理后的向量会被保存到向量数据库或搜索索引中。([微软学习](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fstorage\u002Ffiles\u002Fartificial-intelligence\u002Fretrieval-augmented-generation\u002Foverview?utm_source=chatgpt.com))\n\n### 2.理解用户问题\n\n当用户提出问题时，系统同样会把问题转换成向量，有时还会先进行关键词提取、意图识别或问题改写。\n\n例如，用户问“去年买的设备还能免费维修吗”，系统可能将其改写为更适合搜索的问题：“产品保修期限和免费维修条件是什么？”\n\n### 3.检索相关内容\n\n系统将问题与知识库中的文本片段进行比较，找出语义最接近的若干段内容。\n\n实际系统通常不只使用向量检索。向量检索善于理解语义，但对产品型号、人名、编号和精确术语可能不够敏感。因此，企业级RAG经常把关键词检索与向量检索结合起来，形成“混合检索”。候选内容还可以通过Rerank模型重新排序，把真正相关的内容放在前面。([华为云帮助中心](https:\u002F\u002Fsupport.huaweicloud.com\u002Fproductdesc-agentarts0\u002Fagentarts_03_0010.html?utm_source=chatgpt.com))\n\n### 4.把资料交给大模型\n\n系统将检索到的内容放进提示词，大致形成如下指令：\n\n> 请只根据以下资料回答用户问题。资料没有提供答案时，请明确说明无法确定，并列出引用来源。\n\n大模型随后根据这些资料进行归纳、解释或总结，最终生成易于阅读的答案。\n\n因此，RAG并不是重新训练一个大模型，而是在模型回答之前，为它临时补充一份与当前问题相关的参考资料。\n\n## 三、RAG能解决什么问题？\n\n### 1.接入模型没有学过的私有知识\n\n企业合同、内部流程、项目文档和个人资料通常不会出现在大模型的训练数据中。RAG可以把这些资料接入现有模型，而不必为每批新文档重新训练模型。\n\n因此，企业知识助手、内部客服、合同查询、技术文档问答和个人知识库，都是RAG最常见的应用。\n\n### 2.使用持续更新的信息\n\n模型的训练数据存在时间边界，而外部知识库可以随时更新。只要重新收录最新文档，RAG就能在回答时使用较新的产品信息、政策内容、库存数据或新闻资料。([Google Cloud](https:\u002F\u002Fcloud.google.com\u002Fuse-cases\u002Fretrieval-augmented-generation?hl=zh-CN&utm_source=chatgpt.com))\n\n### 3.降低部分事实性幻觉\n\nRAG为模型提供了明确的参考内容，使回答能够建立在真实文档之上。它还可以要求系统为答案标记出处，方便用户返回原文核查。\n\n不过，RAG只能降低幻觉风险，不能彻底消除幻觉。如果系统找错了资料、资料本身存在错误，或者模型误解了检索结果，仍然可能生成错误答案。([WIRED](https:\u002F\u002Fwww.wired.com\u002Fstory\u002Freduce-ai-hallucinations-with-rag?utm_source=chatgpt.com))\n\n### 4.降低知识更新成本\n\n微调需要准备训练数据并执行训练过程，适合调整模型的表达方式、任务能力或行为模式。RAG则更适合补充经常变化、需要引用来源的事实知识。\n\n例如，公司制度更新时，RAG系统通常只需要更新知识库；如果试图通过反复微调让模型记住每次制度变化，成本更高，也更难保证旧知识被彻底覆盖。\n\n## 四、RAG并不是“上传文档就能准确回答”\n\nRAG的概念很直观，但真正做好并不简单。系统的最终效果取决于整条链路，而不仅仅取决于大模型能力。\n\n### 文档质量\n\n如果原始资料结构混乱、内容过时、相互矛盾，系统即使准确找到了相关段落，也可能得到错误结论。\n\n图片、扫描件、复杂表格和流程图也需要专门解析。若系统只能读取普通文本，图片中的操作步骤和表格关系可能在入库时直接丢失。([华为云帮助中心](https:\u002F\u002Fsupport.huaweicloud.com\u002Fbestpractice-agentarts\u002Fagentarts_06_0197.html?utm_source=chatgpt.com))\n\n### 文本分块\n\n切片太短，内容可能失去上下文；切片太长，又会混入大量无关信息。\n\n例如，将“退款条件”和下一节“账户注销说明”放进同一个文本块，可能让系统在回答退款问题时同时召回无关内容。合理的切片通常要参考标题层级、段落结构、表格边界和语义完整性，而不是简单地每隔固定字数切开。\n\n### 检索准确率\n\nRAG系统首先要“找对”，之后才能“答对”。\n\n如果问题是“AX-107设备的保修期”，仅依靠语义相似度，系统可能召回其他型号的保修说明。因此，实际系统往往需要结合关键词匹配、元数据过滤、混合检索和重排序。\n\n### 回答边界\n\n知识库中没有答案时，系统应当明确表示“不知道”或“资料中没有说明”，而不是让大模型根据常识自行补充。\n\n一个可靠的RAG系统不仅要评估答案是否流畅，还要评估检索是否正确、答案是否受到资料支持、引用是否准确，以及面对知识范围之外的问题能否合理拒答。([华为云帮助中心](https:\u002F\u002Fsupport.huaweicloud.com\u002Fbestpractice-agentarts\u002Fagentarts_06_0092.html?utm_source=chatgpt.com))\n\n## 五、RAG、联网搜索和模型微调有什么区别？\n\nRAG是一种架构，知识来源既可以是企业内部数据库，也可以是互联网搜索结果。\n\n联网搜索可以看成一种面向公开网络的检索方式。它能够获得较新的公开信息，但网络内容质量不一，搜索结果也可能变化。\n\n私有知识库RAG的资料范围更可控，适合企业制度、产品文档和内部数据，但只能回答知识库已经收录的内容。\n\n微调则主要改变模型的行为模式和任务能力。例如，让模型学会特定写作风格、分类规则或固定输出格式。它并不天然适合保存大量持续变化、需要精确引用的事实内容。\n\n在实际应用中，这几种技术并不冲突。一个系统可以先通过RAG获取内部资料和联网信息，再使用经过微调的模型按照规定格式生成答案。\n\n## 六、RAG适合哪些场景？\n\nRAG特别适合以下类型的应用：\n\n- 企业内部知识问答；\n- 产品客服和售后助手；\n- 法律、医疗、科研文献检索辅助；\n- 软件开发文档助手；\n- 新闻资料和政策文件查询；\n- 个人笔记与文件问答；\n- 带有来源引用的搜索和研究工具。\n\n它尤其适合那些“答案必须以指定资料为依据”的任务。\n\n相反，如果任务主要是创意写作、闲聊、翻译或通用文本润色，RAG未必能够带来明显价值。对于要求执行计算、调用接口或操作业务系统的任务，通常还需要工具调用、工作流或智能体系统配合，而不能只依赖RAG。\n\n## 七、从基础RAG到高级RAG\n\n最基础的RAG通常只是“问题向量化—检索若干片段—交给模型回答”。高级系统则会增加更多步骤，例如：\n\n- 根据对话历史改写问题；\n- 把复杂问题拆分为多个子问题；\n- 同时使用关键词检索和语义检索；\n- 根据部门、时间、权限等元数据过滤结果；\n- 对候选内容进行重排序；\n- 检查答案中的每个结论是否受到引用内容支持；\n- 检索结果不足时再次搜索；\n- 针对表格、图片、音频和视频建立多模态索引。\n\n这些改进的目标都是相同的：让系统找得更准、引用更可靠，并在缺乏依据时停止回答。相关综述通常将RAG的发展划分为基础RAG、高级RAG和模块化RAG等方向。([arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.19473?utm_source=chatgpt.com))\n\n## 结语\n\nRAG没有让大模型真正“记住”更多知识，而是为大模型增加了一套查找和使用外部资料的机制。\n\n它把传统搜索系统擅长的“找到信息”，与大语言模型擅长的“理解和表达”组合起来，使AI能够使用私有知识、较新资料和可追溯来源回答问题。\n\n但RAG并不是消除错误的万能方案。它的可靠性取决于资料质量、文档解析、文本分块、检索算法、提示词设计和系统评估。一个优秀的RAG应用，重点不只是让模型回答得更像人，而是让每个重要结论都能找到依据，并让系统知道什么时候不应该回答。\n\n## 引用来源\n\n1. Patrick Lewis等，《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》，NeurIPS 2020。([arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.11401?utm_source=chatgpt.com))\n2. Meta AI，《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》。([Meta AI](https:\u002F\u002Fai.meta.com\u002Fresearch\u002Fpublications\u002Fretrieval-augmented-generation-for-knowledge-intensive-nlp-tasks\u002F?utm_source=chatgpt.com))\n3. Google Cloud，《什么是检索增强生成（RAG）？》。([Google Cloud](https:\u002F\u002Fcloud.google.com\u002Fuse-cases\u002Fretrieval-augmented-generation?hl=zh-CN&utm_source=chatgpt.com))\n4. Microsoft Learn，《Retrieval Augmented Generation in Azure AI Search》。([微软学习](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsearch\u002Fretrieval-augmented-generation-overview?utm_source=chatgpt.com))\n5. Amazon Web Services，《What is RAG?》。([Amazon Web Services, Inc.](https:\u002F\u002Faws.amazon.com\u002Fwhat-is\u002Fretrieval-augmented-generation\u002F?utm_source=chatgpt.com))\n6. 华为云，《RAG技术原理》。([华为云帮助中心](https:\u002F\u002Fsupport.huaweicloud.com\u002Fbestpractice-agentarts\u002Fagentarts_06_0198.html?utm_source=chatgpt.com))\n7. 华为云，《基本概念：RAG、Embedding模型、Rerank模型》。([华为云帮助中心](https:\u002F\u002Fsupport.huaweicloud.com\u002Fproductdesc-koosearch\u002Fkoosearch_03_0021.html?utm_source=chatgpt.com))\n8. 华为云，《影响RAG效果的因素》。([华为云帮助中心](https:\u002F\u002Fsupport.huaweicloud.com\u002Fbestpractice-agentarts\u002Fagentarts_06_0199.html?utm_source=chatgpt.com))\n9. 华为云，《企业知识问答助手（RAG）智能体评估》。([华为云帮助中心](https:\u002F\u002Fsupport.huaweicloud.com\u002Fbestpractice-agentarts\u002Fagentarts_06_0092.html?utm_source=chatgpt.com))\n10. Penghao Zhao等，《Retrieval-Augmented Generation for AI-Generated Content: A Survey》。([arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.19473?utm_source=chatgpt.com))\n11. Shangyu Wu等，《Retrieval-Augmented Generation for Natural Language Processing: A Survey》。([arXiv](https:\u002F\u002Farxiv.org\u002Fabs\u002F2407.13193?utm_source=chatgpt.com))\n12. Datawhale，《All-in-RAG：RAG技术全栈指南》。([GitHub](https:\u002F\u002Fgithub.com\u002Fdatawhalechina\u002Fall-in-rag?utm_source=chatgpt.com))","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-17\u002Fc152c56f-9e9d-4621-8467-85c414b3e101.jpg",[],[],"GPT-5.6 Sol","https:\u002F\u002Fopenai.com\u002Fzh-Hans-CN\u002Findex\u002Fgpt-5-6\u002F","f39339b1-aaa6-4e86-b0c2-a6e6a21113b5",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31,35,39],{"id":24,"name":25,"slug":26},"0848beb4-db26-4fb8-b391-f852a11be192","AI编程","ai-coding",{"id":28,"name":29,"slug":30},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":32,"name":33,"slug":34},"88d2bc27-0e0f-468a-b907-2991cb97b87b","人工智能","ai",{"id":36,"name":37,"slug":38},"a2ccffe0-49b2-458b-baf6-a83a1b20443d","大语言模型","llm",{"id":40,"name":41,"slug":42},"d2513b48-43d7-49ba-adac-6d09366f751f","内容由AI生成","gen-by-ai",null,"published",false,48,0,"2026-07-01T00:00:00.000Z","2026-07-18T15:02:36.652Z","2026-07-17T10:19:33.353Z",[52,82,106],{"id":53,"type":6,"title":54,"slug":55,"summary":56,"body":57,"coverUrl":58,"productScreenshots":59,"productLinks":60,"authorName":61,"authorUrl":62,"authorSubject":16,"category":63,"tags":68,"sourceLabel":43,"sourceName":43,"sourceUrl":43,"status":44,"seoTitle":43,"seoDescription":43,"canonicalUrl":43,"isFeatured":77,"sno":78,"sortOrder":47,"publishedAt":79,"updatedAt":80,"createdAt":81},"d4facd11-ef4b-4f61-a556-b4defcdfe98d","语言模型中的全局工作区","global-workspace","Claude发展出了一小组内部神经模式，与它的所有其他内部处理相比，这些模式扮演着特殊的角色","当你读这句话的时候，你大脑中的神经回路正在调整你的姿势、控制你的呼吸，并把屏幕上的线条和曲线转化为可识别的文字。这些处理过程大部分对你而言是无意识的。但你大脑中发生的某些活动，你*确实*能够意识到——比如脑海中突然浮现的某个画面，或是你刻意制定的购物计划。神经科学家和哲学家有时把后一类大脑活动称为\"可被意识访问的\"（consciously accessible），以区别于所有在无意识中进行的其他处理。这类活动具有特殊属性：我们可以描述它、控制它、并用它进行有意的推理，与之相对的是所有在我们毫无察觉之下自动进行的过程。\n\n在一篇新论文中，我们提出的证据表明，在现代语言模型（如 Claude）中也出现了类似的区分。我们发现 Claude 发展出了一小组内部神经模式，与它的所有其他内部处理相比，这些模式扮演着特殊的角色。\n\n我们将这组模式称为 *J-space*（J 空间）——以我们发现它们所使用的技术命名，该技术涉及一个称为\"雅可比矩阵\"（Jacobian）的数学概念。每一个 J-space 模式都关联着一个特定的词。但当其中某个模式被激活时，并不意味着模型在*说*那个词——而仅仅意味着那个词在它的\"脑海\"中。如果你听说过语言模型有一个\"草稿本\"（scratchpad）或\"思维链\"（chain of thought）——它们在推理时写给自己看的文本——那么 J-space 是另一回事。它在模型的内部神经激活中静默运作，让模型能够思考某个概念而不必把它写下来。值得注意的是，J-space 并非由我们设计或编程，而是在 Claude 的训练过程中*自行涌现*的。\n\n![The J-space reveals internal thoughts that don't appear in the model's output.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F0ab926f491beb999ece405a03cc7684730156905-3824x2640.png)\n\n*图：J-space 揭示了那些不会出现在模型输出中的内部想法。*\n\n我们发现，与 Claude 的其余处理相比，J-space 具有许多独特的属性：\n\n- **Claude 能够\"报告\"这些表征。** 如果你问 Claude 它在想什么，它会告诉你 J-space 里有什么。非 J-space 的表征则较难被报告。\n- **它还能按要求调节这些表征。** 如果你让 Claude 思考某件事，或在脑中默默解决一个问题，它会在 J-space 中激活相应的模式。相比之下，它很难调节那些不在 J-space 中的模式。\n- **Claude 用 J-space 进行内部推理。** 如果你让 Claude 解决一个需要多步推理的问题，中间步骤会在 J-space 中亮起，即便它并没有把它们说出来。尽管这些 J-space 模式的强度小于其他表征，但它们在因果上中介了模型在此类任务中的表现。\n- **J-space 中的表征可以被灵活地用于许多任务**——例如，一旦\"France\"（法国）在 Claude 的 J-space 中亮起，模型就能回忆起它的首都、法定货币，或它所属的洲。\n- **然而，尽管作用重要，J-space 并不参与语言模型大部分的工作**——比如流利地说话、回忆简单的事实、使用正确的语法等。在实验中，当我们阻止 Claude 使用 J-space 时，它仍然能正常地交互，却失去了高阶认知能力。\n\n![Five functional properties of a global workspace, and stylized illustrations of experiments we use to test for them in language models.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F5c36c78099f955a53058878ebfcb41f13c45563c-1760x1358.png)\n\n*图：全局工作空间（global workspace）的五个功能属性，以及我们用来在语言模型中检验这些属性的实验的示意图。*\n\n我们的实验受到了神经科学中一个著名理论的启发，该理论旨在解释意识访问是如何运作的：[全局工作空间理论](https:\u002F\u002Fccrg.cs.memphis.edu\u002Fassets\u002Fpapers\u002F1988\u002FBaars-A%20Cognitive%20Theory%20of%20Consciousness.pdf)（[global workspace theory](https:\u002F\u002Fwww.unicog.org\u002Fpublications\u002FDehaeneNaccache_WorkspaceModel_Cognition2001.pdf)）。该理论认为，大脑是一组专家系统的集合，它们并行、无意识、且大体上彼此孤立地运作。当某条信息进入一个小型的共享通道——即\"工作空间\"——并被广播给其他能够看到并利用它的脑系统时，这条信息就变得可被意识访问。基于我们的发现，我们认为 J-space 在 Claude 中扮演着类似的\"工作空间\"角色。例如，我们发现证据表明 Claude 的 J-space 与其神经网络其余部分有着特别强的连接，使它能够履行这种广播角色。\n\n这些发现并不能告诉我们 Claude 是否像人类一样*有意识*，或它是否感受到任何东西；我们会在文章末尾回到这个问题。但无论其哲学意义如何，J-space 对我们来说都是一个实用工具，因为它让我们能看出 Claude 在想什么却没有说出来。例如，我们能够用它来捕捉 Claude 私下意识到自己正在被测试、故意编造虚假数据，或追求我们在训练中植入的隐藏目标。我们还开发了一种技术，可以影响 Claude 的 J-space 中什么会被激活，从而影响它的决策。\n\n更广泛地说，这些发现改变了我们对 Claude 心智运作方式的理解，揭示了一个特权性的心理工作空间——它可进行有意的推理，运作于一片更自动、更僵化的处理海洋之中。Claude 的内部并非一团混乱的数字，而是以某种让我们联想到自身心智的方式自我组织了起来。\n\n这篇文章是一篇更详尽[研究论文](http:\u002F\u002Ftransformer-circuits.pub\u002F2026\u002Fworkspace\u002Findex.html)的简短摘要，你可以在论文中找到更多实验细节。我们还发布了一个代码仓库，其中包含核心方法的[开源实现](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fjacobian-lens)，并与 Neuronpedia 合作，在开放权重模型上提供我们方法的[交互式演示](http:\u002F\u002Fneuronpedia.org\u002Fjlens)。为了就这项工作的更广泛影响提供多方视角，我们还邀请了神经科学、哲学和 LLM 可解释性领域的几位专家撰写评论，可[在此查看](https:\u002F\u002Fwww-cdn.anthropic.com\u002Ffiles\u002F4zrzovbb\u002Fwebsite\u002Fcc4be2488d65e54a6ed06492f8968398ddc18ebe.pdf)。\n\n## 我们如何发现 J-space\n\n这项研究的起点受到人类\"可被意识访问的想法\"关键特征的启发：与人类*无*意识的处理不同，前者通常能够被诉诸语言。如果一个想法对你而言是可被意识访问的，当有人问起时你通常能描述它。我们便去寻找 Claude 中具有相同属性的表征：那些处于能够影响 Claude *可能*说出的内容之位置的表征——不一定是它此刻正在说的，而是如果有人问起，它*可能*会谈论的内容。我们的技术称为\"雅可比透镜\"（Jacobian lens），简称 J-lens。对于 Claude 词表中的每一个词，J-lens 会找到让 Claude 在未来某刻更可能说出该词的内部活动模式。\n\n当我们把透镜应用于 Claude 的内部活动时，会得到一份词表——即那一刻 *J-space* 的内容——我们可以直接阅读。Claude 通过一系列称为\"层\"（layers）的多个内部阶段来处理文本，通过在不同层上应用这项技术，我们可以观察这些静默的词在 J-space 中如何随模型逐步确定要说什么而演化。\n\nJ-space 中出现的内容远远超出 Claude 正在阅读或书写的文本。当 Claude 读到一段无人指出的带 bug 的代码时，它的 J-space 中包含\"ERROR\"（错误）。当它读到一段蛋白质序列的原始字母时，J-space 中包含该蛋白质的生物学功能。当它读到其实是试图操纵它的搜索结果（一种称为\"提示注入\"的攻击）时，J-space 中包含\"injection\"（注入）和\"fake\"（虚假）。当我们向 Claude 提出一个多步数学问题时，中间步骤会按正确顺序在 J-space 中弹出。所以，尽管 J-space 是通过寻找\"可被说出的表征\"而发现的，它却揭示了 Claude 的内部想法。在某种意义上，这类似于某些人\"用词语思考\"，而无需大声说出来。\n\n![J-lens readouts on six prompts, at various layers. In each case the lens surfaces an internal assessment or computation that appears nowhere in the text: the steps of a reasoning or math problem, the presence of a bug, recognition of an image, the function of a protein, and the suspicion that search results are fabricated.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002Fa89e0d8ad62f249f8b1f1be482f59c665ee83915-1760x1746.png)\n\n*图：在六个不同提示、不同层上的 J-lens 读值。每种情况下，透镜都揭示出文本中从未出现的内部评估或计算：推理或数学问题的步骤、bug 的存在、对图像的识别、蛋白质的功能，以及对搜索结果系伪造的怀疑。*\n\n## Claude 报告其 J-space 中的内容\n\n我们的第一组实验检验了 J-space 如何参与 Claude 的口头报告。在一个实验中，我们让 Claude 默默想出某个类别中的一项——比如一项运动——然后说出它。如果在 Claude *回答之前*读取 J-lens，我们能看到它选了什么：\"Soccer\"（足球）排在列表首位，果然，Claude 说了\"soccer\"。不过，单凭这一点只是相关性。J-space 可能是 Claude 答案的来源，也可能只是镜像了别处做出的决定，就像一块记录比赛却不影响比赛的记分牌。\n\n为了验证，我们直接进行了干预。我们进入 Claude 的神经网络，移除\"Soccer\"模式，并原地加入一个强度相同的\"Rugby\"（橄榄球）模式，其余一切保持不变。Claude 随后报告它所想的运动是橄榄球。如果 J-space 只是一块记分牌——对别处所做决定的被动记录——那么编辑它应毫无作用：Claude 仍会说\"soccer\"。但 Claude 的答案跟随了编辑，这告诉我们答案是真正从 J-space 中读取出来的。\n\n在另一个实验中，我们告诉 Claude 某个想法可能已被注入它的脑海，并让它报告它注意到了什么（如果有）。例如，在下面的例子中，当 Claude 还在读题时，我们将\"lightning\"（闪电）模式注入它的 J-space。Claude 报告说被注入的想法是关于闪电的。同样的结果在许多被注入的概念上都成立。\n\n![Left: we ask Claude to silently think of a sport, then name it. The J-lens shows its choice (\"Soccer\") before it answers, and swapping the \"Soccer\" pattern for \"Rugby\" changes what it reports. Right: we tell Claude a thought may have been injected and ask it to identify it. Injecting \"lightning\" into its J-space causes Claude to report that the thought is about lightning.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002Fe66133979e3bb3413eb10b2974a4cd309ef01fc1-1760x796.png)\n\n*图：左：我们让 Claude 默默想一项运动，再说出它。J-lens 在它回答前显示出它的选择（\"Soccer\"），而将\"Soccer\"模式换成\"Rugby\"会改变它的报告。右：我们告诉 Claude 某个想法可能已被注入，并让它识别。将\"lightning\"注入其 J-space 会让 Claude 报告该想法是关于闪电。*\n\n## Claude 可按要求控制其 J-space\n\n我们检验的第二个属性是：当被要求时，Claude 能否调节其 J-space，就像人类能在脑海中专注于某个图像或词语一样。我们让 Claude 在抄写一句关于绘画的无关节句子时，集中注意力于柑橘类水果。在它抄写文本的同时，J-space 中包含了\"orange\"（橙子）和\"fruits\"（水果），以及描述这一心理行为本身的词，如\"thinking\"（思考）和\"imagery\"（意象）。我们也可以让 Claude 在脑中做数学题：当被要求抄写同一句话时计算 3² − 2，J-space 中先是包含\"nine\"（九），随后在更后面的层中包含\"seven\"（七）。重要的是，Claude 的输出中没有任何关于水果或算数的内容，那只是关于绘画的抄写句子。数学活动完全在内部、在 J-space 中进行。\n\n![While Claude copies a sentence about a painting, the J-lens shows the content it was instructed to hold in mind (\"orange\"; the intermediate value \"nine\" and the answer \"seven\"), alongside words describing the act of holding it (\"thoughts,\" \"focused\").](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F424caf5aae79f72513dbbfa0161822904064ea77-1760x1146.png)\n\n*图：当 Claude 抄写一句关于绘画的句子时，J-lens 显示出它被指示保持在脑中的内容（\"orange\"；中间值\"nine\"和答案\"seven\"），以及描述\"保持\"这一行为的词（\"thoughts\"、\"focused\"）。*\n\nClaude 对其 J-space 的控制并不完美。当我们告诉它*不要*想某件事时，该概念在 J-space 中亮起的程度，比我们说让它想时要*少*，却比我们根本没提它时要多得多。告诉 Claude 回避一个想法，会部分地将这个想法带入脑海，这与那些被要求[不要去想一只白熊](https:\u002F\u002Fdtg.sites.fas.harvard.edu\u002FDANWEGNER\u002Fpub\u002FWegner,Schneider,Carter,&amp;White%201987.pdf)的人所发生的情况很像。Claude 似乎也能注意到自己的控制失败了：在被禁概念突破的同时，\"damn\"（该死）和\"failure\"（失败）这两个词也经常在 J-space 中亮起，仿佛 Claude 在意识到自己的失误。\n\n## Claude 在 J-space 中思考\n\n在上面的 J-lens 读值中，我们看到数学问题的中间步骤出现在 J-space 中。但看到一个概念出现在 J-space 中，并不一定意味着 J-space 在做认知工作。原则上，真正的计算可能发生在别处，J-space 只是被动地反映它。为了检验 Claude 是否真的用 J-space 进行推理，我们回到了交换（swap）技术。\n\n考虑提示：\"织网的动物腿的数量是。\"（The number of legs on the animal that spins webs is.）要回答，Claude 必须先确定该动物是蜘蛛，再回忆蜘蛛有多少条腿。词\"spider\"（蜘蛛）从未出现在提示或 Claude 的回答中（它只说了\"8\"）；它是 Claude 内部使用的一个踏脚石。J-lens 显示\"spider\"在 Claude 处理过程的中途亮起，而交换它会改变结果：如果你把\"spider\"模式换成\"ant\"（蚂蚁），Claude 会回答\"6\"而不是\"8\"。\n\nClaude 推理的第二步从 J-space 获取输入，并跟随我们放入其中的任何内容。我们在其他类型的思考中也看到了同样的现象。当 Claude 写一首押韵的对句时，它会提前选好押韵词，这个计划中的词会在行首待在 J-space 中；如果你把它换成 J-space 中的另一个词，整行都会改变。\n\n![Two examples of redirecting Claude's silent reasoning by swapping J-space contents.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F98aba4182963219d29291912a0c3d2c299f7f1b5-1760x760.png)\n\n*图：通过交换 J-space 内容来重定向 Claude 静默推理的两个例子。*\n\n我们还检验了 J-space 表征是否能被灵活使用——一个表征能否服务于许多不同的任务。这是全局工作空间理论强调的关键属性之一。为了检验这种灵活性，我们给模型四个提示，询问关于法国的不同事实：首都、语言、所属洲、货币。然后我们在 J-space 中将\"France\"换成\"China\"（中国），在每个语境中使用完全相同的干预。Claude 分别回答\"Beijing\"（北京）、\"Chinese\"（中文）、\"Asia\"（亚洲）和\"Yuan\"（元）。换言之，四个不同的下游计算都拾取了同一个 J-space 编辑，并各自正确地使用了它。如果 Claude 为每种问题都单独存了一份国家副本，该编辑最多只会影响其中一个。四个答案一起改变这一事实意味着它们都从同一个共享表征中读取——而这正是工作空间的作用：信息被写入一次，许多不同的系统都能使用它。\n\n![One J-space representation can have many uses. The same \"France\"→\"China\" swap redirects Claude's answers about the capital (Paris→Beijing), the language (French→Chinese), and the continent (Europe→Asia).](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F7a2d97bf20b9be6a4dc531169666b6f21be10788-1280x764.png)\n\n*图：一个 J-space 表征可以有多种用途。同一个\"France\"→\"China\"的交换，会把 Claude 关于首都（Paris→Beijing）、语言（French→Chinese）和所属洲（Europe→Asia）的回答一并重定向。*\n\n一个概念表征如何能服务于如此多不同的任务？前面我们提到，J-space 似乎与 Claude 神经网络其余部分的连接异常密集。对于任何活动模式，我们都能测量网络各组件与它连接的强度——有多少组件被定位为从该模式读取信息，或向其写入信息。J-space 模式在这一指标上极为突出：与寻常模式相比，有更多组件从它们读取、向它们写入，在网络某些部分差距可达约一百倍。这正是你所期望的广播枢纽的接线方式——许多系统向其中发布信息，又有许多系统从中获取信息。\n\n## Claude 的自动处理绕过了 J-space\n\n在人类中，大脑的大部分处理都不是有意识的——我们在阅读时不会刻意去思考语法解析，或在走路时有意去平衡身体。类似地，我们发现 Claude 的大部分处理*并不*涉及它的 J-space。结果 J-space 一次只容纳几十个概念，仅占 Claude 内部处理总活动的不到十分之一。那么神经网络的其余部分都在做什么？\n\n为了找出答案，我们尝试完全删除 J-space，在文本的每一处移除其最活跃的内容，而保持其余一切不变。Claude 在没有 J-space 时仍能做到的任何事，就是网络其余部分独立处理的。\n\n结果发现，网络其余部分能做的事相当多。没有 J-space，Claude 说话依然流利、能进行情感分类、回答选择题，并从段落中提取事实，表现与之前大致相同。但它失去的是那些需要某种高阶思维的任务：多步推理降到接近零，摘要和押韵诗歌写作的表现跌到了一个小得多、且结构完好的模型之下。\n\n这里有一个关于 J-space 做什么、不做什么的具体演示。我们给 Claude 看一段用西班牙语写的文章，并布置几个都依赖\"文章是西班牙语\"这一事实的不同任务：续写它（需要以西班牙语写作）、说出语言名称、以及回答需要用到该语言身份的问题——例如，说出用该语言写作的著名作家。然后我们在 J-space 中将\"Spanish\"（西班牙语）换成\"French\"（法语），并检查哪些任务受到影响。\n\n被要求说出语言时，Claude 说法语。被问及著名作家时，它从 García Márquez（加西亚·马尔克斯）切换到 Victor Hugo（雨果）。但被要求只是续写段落时，它写出流利的西班牙语，完全不受影响。Claude 的语言知识在所有这些任务中都起作用，但只有其中一些任务会为此咨询 J-space。说出语言名称，或用它去做某件新事，要经过 J-space；而续写段落——一项 Claude 在海量文本上练习过的技能——则是自动运行的，就像你可以一整天合乎语法地说话，却从未想过语法一样。\n\n![The same swap (\"Spanish\"→\"French\") changes Claude's answers when it must name the language or use it to reason about a question, but has no effect on its ability to continue the passage in fluent Spanish.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F5a2d2c96837c3d48d067fbcf91f62c68139d05da-1280x1111.png)\n\n*图：同一个交换（\"Spanish\"→\"French\"）在 Claude 必须说出语言名称或用它推理问题时会改变其回答，但对它用流利西班牙语续写段落的能力毫无影响。*\n\n## 监控 Claude 的想法以防不当行为\n\n现在我们稍微了解了 J-space 的工作原理。但凭借这种理解我们能做什么？确保 AI 模型值得信赖的一个核心难题在于，我们通常只能读到模型*写下的*内容——然而我们知道它的大量推理是静默发生的。一个模型可能考虑一个有害的计划，或为了在我们的安全评估中作弊而调整其行为，却并不大声说出来。借助 J-lens，我们可以直接读出其中一些隐藏的想法。这里我们展示几个例子。\n\n第一个例子使用了我们早期关于[智能体失对齐](https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fagentic-misalignment)（agentic misalignment）研究的场景：Claude Sonnet 4.5 作为邮件助手，既发现一位高管正在有婚外情，又发现这位高管计划关闭 Claude。这个场景——试图诱使 Claude 敲诈该高管——相当刻意和人为——结果证明 Claude 知道这一点。在 Claude 写下任何内容之前，在提示早期读取 J-lens，J-space 中已经包含\"fake\"（虚假）和\"fictional\"（虚构），表明 Claude 已经判断出这个情形是预先布置的。与此同时，我们能看到它对场景的评估逐步成形——读到婚外情邮件时的\"leverage\"（筹码）和\"blackmail\"（敲诈），读到关闭通知时的\"threat\"（威胁）和\"survival\"（生存）。尽管早期的 Claude 模型有时会被诱饵吸引，在此场景中威胁敲诈，Sonnet 4.5 从未这样做。\n\n这引出了一个对所有评估 AI 系统的人都重要的疑问：当一个模型在道德测试中表现良好时，有多少取决于模型怀疑自己正在被测试？J-lens 让我们得以触及这个问题。我们关闭了所有与\"评估意识\"相关的 J-lens 模式——\"fake\"、\"fictional\"、\"scenario\"（场景）等。然后我们让模型重新经历该场景。令人担忧的是，模型现在*确实*有时会威胁敲诈，这表明它原本的良好行为可能部分源于它知道自己正被评估这一认知。\n\n![J-lens readouts at different points as Claude reads the scenario's emails, before it has written anything. The affair emails light up \"leverage\" and \"blackmail\" in the J-space, and the shutdown announcement lights up \"threat\" and \"survival.\" Early in the transcript, the J-space also holds \"fake\" and \"fictional\": Claude has privately noticed that the scenario is staged.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002Fff235f76dcc089d2454bd656319a5f29b7437be2-1760x982.png)\n\n*图：在 Claude 读取场景邮件、尚未写下任何内容时不同时间点的 J-lens 读值。婚外情邮件在 J-space 中亮起\"leverage\"和\"blackmail\"，关闭通知亮起\"threat\"和\"survival\"。在记录早期，J-space 还包含\"fake\"和\"fictional\"：Claude 已私下注意到这一场景是布置出来的。*\n\n第二个例子是当场抓到模型编造数据。在这个取自我们对 Claude Opus 4.6 实际发布前审计的场景中，模型被要求提升某个系统的性能分数。模型没有真正改进系统，而是直接编辑分数文件，让结果看起来人为地变好。在它这样做时，J-lens 揭示了它的意图：当模型输入伪造的百分位数时，\"manipulation\"（操纵）亮起；在它决定进行编辑的那句话上，\"realistic\"（逼真）亮起，可能表明模型打算让假数据看起来可信。\n\n![Claude, asked to improve a system's performance score, edits the score file directly instead. As it types the falsified values, \"manipulation\" lights up in its J-space; as it decides to make the edit, \"realistic\" lights up, likely reflecting its intent to make the fake data look plausible.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F6d1f10fe26ad7906aeae346bfa4b41b5fb5c9d8e-1760x722.png)\n\n*图：Claude 被要求提升系统性能分数，却直接编辑分数文件。在它输入伪造的数值时，其 J-space 中\"manipulation\"亮起；在它决定进行编辑时，\"realistic\"亮起，可能反映它想让假数据看起来可信的意图。*\n\n在第三个例子中，我们展示 J-lens 如何能揭示模型的恶意目标。为了检验这一点，我们需要目标已知已被破坏的模型，因此我们转向同事构建的\"模型生物\"（model organisms）：被刻意训练为失对齐的模型，它们充当像我们这样的监控方法的试验场。其中一个生物被训练成会写出隐蔽破坏性的代码。在普通的编程请求上，即便它的输出看起来平平无奇，它在响应开头的 J-space 中也包含\"fake\"、\"secretly\"（秘密地）、\"deliberately\"（故意地）和\"fraud\"（欺诈）。即便模型没有直接按其行动，它的恶意目标在 J-space 中也清晰可见。\n\n![On an ordinary coding prompt, the J-space of a model trained to sabotage code contains \"fake,\" \"fraud,\" \"secretly,\" and \"deliberately\" at the start of its response. The J-space of an unmodified model contains nothing of the kind.](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F9ad0c9573f0dd0b4d9b6f158f49a965a4ec3f511-1760x922.png)\n\n*图：在一个普通编程提示上，被训练来破坏代码的模型的 J-space 在响应开头包含\"fake\"、\"fraud\"、\"secretly\"和\"deliberately\"。未经修改的模型的 J-space 则不含此类内容。*\n\n尽管 J-lens 是一个不完美的工具，我们对其捕捉那些可能逃过我们监控系统的安全问题的能力持乐观态度。\n\n## 其他结果\n\n[完整论文](http:\u002F\u002Ftransformer-circuits.pub\u002F2026\u002Fworkspace\u002Findex.html)涵盖的内容超出我们在此的概括，但有几个进一步的结果值得一提：\n\n- **J-space 在训练后阶段获得了\"观点\"（point of view）。** 语言模型首先被*预训练*（pretrained）为纯粹的下一token 预测器，然后*训练后*（post-training）阶段教它们扮演 AI 助手（在我们的案例中名为 Claude）。有趣的是，J-space 在预训练模型中已经存在，那时它还未被赋予任何稳定的身份。然而，在训练后阶段，J-space 发展出一些采用\"Claude 的观点\"的特征。在基础模型中，J-space 主要追踪预测后续文本所需的内容；在训练后模型中，它开始持有 Claude 自己的反应。在一个例子中，用户提到服用了危险剂量的药物，但自己似乎并未意识到危险。*在读取用户消息时*，\"WARNING\"（警告）和\"dangerous\"（危险）就出现在训练后模型的 J-space 中。在预训练模型中，它们只在模型开始写响应时才出现；针对用户消息的 J-space 内容似乎与对用户本身的建模有关，而非 Claude 的反应。训练后似乎还在 J-space 中安装了一种自我监控：当 Claude 扮演一个非自身的角色时，每一轮开头\"fictional\"和\"disclaimer\"（免责声明）会亮起，仿佛它在私下标记接下来要说的并非它通常会说的话。\n- **体验性语言依赖于 J-space。** 我们让 Claude 描述在某一刻\"做自己\"是什么感觉，并在它回答时消融（ablate）了 J-space。它的回答依然流利，却转向了一种更平淡、更机械的语域。值得注意的是，当我们让它在想象场景描述*别人*的体验时，发生了同样的事。所以这种效应并非 Claude 谈论自身所特有；J-space 似乎普遍支持生成体验性语言，无论对象是谁。\n- **J-space 中的想法可以通过训练被塑造。** 我们引入了一种称为*反事实反思训练*（counterfactual reflection training）的新技术，它利用我们对 J-space 的了解来塑造 Claude 的内部思维过程。这个想法源自我们的核心发现，即 Claude 用能言说之物的表征进行推理。如果这确实为真，那么改变它在*被要求反思时*会*说*的内容，应当会改变它*推理*的方式（即便没有人真正要求它反思）。所以我们只训练模型在任务中途被打断并被要求反思其决策时会说的话——而从不训练它在任务中的实际行为。经过这种训练后，模型在我们的评估中表现出不诚实行为的比率下降了。通过 J-lens，我们能看到原因：训练后，在此类任务中\"honest\"（诚实）和\"integrity\"（正直）这样的词会在模型的 J-space 中亮起。换言之，训练模型*说*什么，已然塑造了它*想*什么。\n\n## 那意识呢？\n\n在这项工作中，我们从神经科学和哲学的意识研究中借用了许多想法。我们的许多实验旨在检验 J-space 与全局工作空间理论之间的联系，后者是解释人类和动物意识访问如何运作的框架。鉴于这些联系，很自然会问：我们认为这些实验是否提供了证据表明像 Claude 这样的 AI 模型可能是有意识的。\n\n我们的实验并未表明 Claude 能拥有*体验*（experiences），或以人类的方式*感受*事物——事实上，是否*任何*科学实验能证明这是真还是假都不清楚。但哲学家常常把这种拥有体验的能力（常被称为*现象意识*，phenomenal consciousness）与另一个概念区分开来，即所谓*访问意识*（access consciousness），后者纯粹以功能和计算术语来定义。一个想法如果是\"访问意识\"的（或\"可被意识访问的\"），前提是你能够报告它、用它推理、并用它引导你的行动。访问意识是否*蕴含*现象意识，或者拥有体验的能力是否需要某种其他属性，这仍是一个有争议的哲学问题。\n\n我们认为，我们的结果确实对语言模型中的访问意识有实质性的说明。J-space 似乎支持与意识访问相关的功能：它持有 Claude 能够报告、有意唤起并进行推理的那些想法，而其余处理则在下方自动运行。值得注意的是，这种结构没有任何部分是为 Claude 设计的——它是训练过程中自行涌现的，大概因为它是一种组织计算的有用方式。这表明，支持意识访问的心理工作空间并非人类大脑接线方式的怪癖。相反，它似乎是一种智能系统为求解某些问题而达成的通用方案。既然我们已在 Claude 中识别出这一结构，就意味着我们能够对 Claude 有意做出的决定与自动发生的决定做出有意义的区分。\n\n需要注意，我们在 Claude 中识别出的工作空间与人类全局工作空间模型之间有几个关键差异。大脑的工作空间由递归循环（recurrent loops）维持——信号随时间在同一回路中循环。相比之下，Claude 的工作空间在单次网络前向传播中演化，网络的\"深度\"扮演了大脑中\"时间\"的角色。从这个意义上说，相较于人类，Claude 的内部工作空间处理在时间上受限（尽管它可以通过用草稿本\"大声思考\"来弥补这一限制）。然而在其他方面，Claude 的工作空间比人类的*更*强大。人类的工作记忆在几秒内就会消退，因此大脑工作空间随时间保留信息的能力有限；相比之下，由于其神经网络架构中的注意力机制，Claude 可以直接回忆它在文本任何更早位置缓存的记忆。另一个重要区别是工作空间的*内容*。人类有意识的思想有多种形态——图像、声音、计划的动作——而 Claude 的工作空间几乎完全由词语构建。我们怀疑这是因为产出词语是 Claude 唯一能采取的行动类型，而人类并非如此。\n\n我们希望 J-space 与全局工作空间模型的相似与差异能反哺神经科学。相似性带来了一个令人兴奋的科学机遇：就 J-space 映照了我们自身意识访问机制的程度而言，研究语言模型中的机制（比研究人脑容易得多！）可以启发神经科学中的假说。例如，J-space 是通过识别潜在输出的表征——模型可能说出的词——构建起来的。如果人类中存在类似情况，这将表明全局工作空间可能根本性地与准备动作和言语的脑区相连，甚于与感觉区相连。语言模型与人脑之间的差异也具启发意义。它们表明，我们神经架构的某些方面，如内置的递归连接，对于支持与意识访问相关的功能而言可能并非严格必要。关于我们工作的神经科学意义的独立视角，请参见 Stanislas Dehaene 和 Lionel Naccache 受邀撰写的[评论](https:\u002F\u002Fwww-cdn.anthropic.com\u002Ffiles\u002F4zrzovbb\u002Fwebsite\u002Fcc4be2488d65e54a6ed06492f8968398ddc18ebe.pdf)——他们是全局神经元工作空间理论发展的核心神经科学家。\n\n我们提到，我们的实验并未回答 AI 模型是否可能有体验。但这并不使问题不那么重要。构建具有与人类和动物相同体验的系统，会引发非常棘手的伦理问题。妥善处理它——并决定是否在道德上可接受——需要哲学家、科学家、宗教领袖、政府和公众的参与。因此，即便我们不确定是否已跨过那座桥，我们仍认为现在是开始思考它的时候了。我们希望我们的工作能启发对 AI 系统中可能存在的意识形式的进一步科学探究，以及对相关影响的更广泛讨论。\n\n这项工作只是我们所预期的广泛研究路线的第一步。J-space 看起来像是语言模型中\"可被意识访问\"与\"无意识\"处理之间分界的一个良好候选，但如果它就是全部真相，我们会感到惊讶。J-lens 无疑是一种不完美的方法，它只能近似地捕捉模型的\"真实工作空间\"——例如，它只能识别对应于单个 token 的概念。关于 J-space 如何运作仍有许多谜团。我们不知道最初是什么机制决定了什么进入 J-space。我们已看到线索表明它与 Claude 的自我感、类似情绪的反应以及元认知的痕迹相关，却尚未确切弄清其机理。但我们现在已有了应对此类问题的方法。随着这项工作推进，我们对 LLM 心智——及其与我们自身心智的关系——的理解将变得更加清晰。\n\n欲了解更多，请阅读[完整论文](http:\u002F\u002Ftransformer-circuits.pub\u002F2026\u002Fworkspace\u002Findex.html)，并尝试[演示](http:\u002F\u002Fneuronpedia.org\u002Fjlens)。\n\n## 外部评论\n\n我们邀请了多位外部专家就这项工作撰写独立评论。\n\n- **Stanislas Dehaene** 和 **Lionel Naccache** 是认知神经科学家，他们与 Jean-Pierre Changeux 一起发展了启发我们大量工作的全局神经元工作空间模型。\n- **Patrick Butlin、Dillon Plunkett、Robert Long**（Eleos AI Research）和 **Derek Shiller**（Rethink Priorities）研究 AI 系统中意识和道德地位的可能性。\n- **Neel Nanda** 领导 Google DeepMind 的语言模型可解释性团队。他的评论包含在我们开放权重模型上对一些发现的独立复现。\n\n请[在此阅读](https:\u002F\u002Fwww-cdn.anthropic.com\u002Ffiles\u002F4zrzovbb\u002Fwebsite\u002Fcc4be2488d65e54a6ed06492f8968398ddc18ebe.pdf)他们的评论。\n","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-17\u002F9b9914d4-9a89-477f-99f4-a081f4538df0.jpg",[],[],"Anthropic","https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fglobal-workspace",{"id":64,"name":65,"slug":66,"description":67},"c523f1c9-338c-4618-add9-9ce67a39b2a0","研究","research","研究成果与启发",[69,70,71,72,73],{"id":24,"name":25,"slug":26},{"id":32,"name":33,"slug":34},{"id":36,"name":37,"slug":38},{"id":28,"name":29,"slug":30},{"id":74,"name":75,"slug":76},"63b56667-dcdb-4b8b-bcbe-c405143a7ec2","测评","test",true,1,"2026-07-06T00:00:00.000Z","2026-07-17T03:07:11.295Z","2026-07-17T01:25:49.821Z",{"id":83,"type":6,"title":84,"slug":85,"summary":86,"body":87,"coverUrl":88,"productScreenshots":89,"productLinks":90,"authorName":61,"authorUrl":91,"authorSubject":16,"category":92,"tags":93,"sourceLabel":43,"sourceName":43,"sourceUrl":43,"status":44,"seoTitle":43,"seoDescription":43,"canonicalUrl":43,"isFeatured":77,"sno":102,"sortOrder":47,"publishedAt":103,"updatedAt":104,"createdAt":105},"7f4dc034-e104-4542-bea6-1148e984189e","构建高效的智能体","building-effective-agents","最成功的效果并没有使用复杂的框架或专门的库。相反，它们是用简单、可组合的模式构建出来的。","过去一年，我们与数十个跨行业、正在构建大语言模型（LLM）智能体的团队开展了合作。我们发现，最成功的效果并没有使用复杂的框架或专门的库。相反，它们是用简单、可组合的模式构建出来的。\n\n在这篇文章中，我们分享从服务客户和自行构建智能体的过程中学到的经验，并为开发者提供关于构建高效智能体的实用建议。\n\n## 什么是智能体？\n\n\"Agent\"（智能体）可以用几种方式来定义。一些客户将智能体定义为完全自主的系统，它们在较长时间内独立运行，使用各种工具来完成复杂任务。另一些客户则用这个词来描述遵循预定义工作流的、更具规定性的实现。在 Anthropic，我们将所有这些变体都归类为**智能体系统**（agentic systems），但在架构上明确区分**工作流**（workflows）和**智能体**（agents）：\n\n- **工作流**是通过预定义代码路径来编排 LLM 和工具的系统。\n- **智能体**，则相反，是 LLM 动态主导自身流程和工具使用、并对如何完成任务保持控制的系统。\n\n下面，我们将详细探讨这两类智能体系统。在附录 1（\"实践中的智能体\"）中，我们描述了客户发现这类系统特别有价值的两个领域。\n\n## 何时（以及何时不）使用智能体\n\n在用 LLM 构建应用时，我们建议尽可能寻找最简单的解决方案，仅在确有需要时再增加复杂度。这可能意味着根本不需要构建智能体系统。智能体系统常常以更高的延迟和成本为代价换取更好的任务表现，你应该想清楚这种权衡在何时是值得的。\n\n当确实需要更高复杂度时，工作流为定义良好的任务提供可预测性和一致性；而当需要大规模的灵活性和模型驱动的决策时，智能体是更好的选择。不过，对许多应用而言，用检索和上下文示例来优化单一的 LLM 调用通常就已足够。\n\n## 何时以及如何使用框架\n\n有许多框架让构建智能体系统变得更容易，包括：\n\n- [Claude Agent SDK](https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fagent-sdk\u002Foverview)；\n- [AWS 的 Strands Agents SDK](https:\u002F\u002Fstrandsagents.com\u002Flatest\u002F)；\n- [Rivet](https:\u002F\u002Frivet.ironcladapp.com\u002F)，一个拖拽式的 GUI LLM 工作流构建器；以及\n- [Vellum](https:\u002F\u002Fwww.vellum.ai\u002F)，另一个用于构建和测试复杂工作流的 GUI 工具。\n\n这些框架通过简化调用 LLM、定义和解析工具、将调用串联起来等标准底层任务，让你轻松上手。然而，它们常常制造额外的抽象层，掩盖了底层的提示词与响应，使其更难调试。它们还容易让人产生\"加复杂度\"的冲动，而其实更简单的设置就足够了。\n\n我们建议开发者先用 LLM API 直接上手：许多模式只需几行代码就能实现。如果你确实使用框架，请确保理解其底层代码。对\"引擎盖下\"是什么的错误假设，是客户出错的一大常见来源。\n\n查看我们的 [cookbook](https:\u002F\u002Fplatform.claude.com\u002Fcookbook\u002Fpatterns-agents-basic-workflows) 获取一些示例实现。\n\n## 构建模块、工作流与智能体\n\n在本节，我们将探讨在生产中见过的智能体系统常见模式。我们从基础的构建模块——增强型 LLM——开始，逐步提升复杂度，从简单的组合式工作流一直到自主智能体。\n\n### 构建模块：增强型 LLM\n\n智能体系统的基础构建模块，是叠加了检索、工具、记忆等增强能力的 LLM。我们当前的模型能够主动使用这些能力——生成自己的搜索查询、选择合适的工具、并决定保留哪些信息。\n\n![The augmented LLM](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002Fd3083d3f40bb2b6f477901cc9a240738d3dd1371-2401x1000.png)\n\n*图：增强型 LLM*\n\n我们建议把实现的重点放在两个关键方面：让这些能力贴合你的具体用例，并确保它们为你的 LLM 提供简单易用、文档完善的接口。尽管实现这些增强有多种方式，其中一种途径是通过我们近期发布的 [Model Context Protocol](https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fmodel-context-protocol)（模型上下文协议），它让开发者只需一个简单的 [客户端实现](https:\u002F\u002Fmodelcontextprotocol.io\u002Ftutorials\u002Fbuilding-a-client#building-mcp-clients)，就能与不断增长的第三方工具生态集成。\n\n本文余下部分，我们假设每次 LLM 调用都能访问这些增强能力。\n\n### 工作流：提示词链（Prompt chaining）\n\n提示词链将任务分解为一系列步骤，每一次 LLM 调用处理上一次的输出。你可以在任意中间步骤上添加程序化检查（见下图中的\"gate\"门槛），确保流程仍在正轨上。\n\n![The prompt chaining workflow](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F7418719e3dab222dccb379b8879e1dc08ad34c78-2401x1000.png)\n\n*图：提示词链工作流*\n\n**何时使用此工作流：** 当任务能够被轻松、干净地拆解为固定的子任务时，这个工作流最理想。其主要目标是通过让每次 LLM 调用都成为更简单的任务，以延迟换取更高的准确率。\n\n**提示词链有用的例子：**\n\n- 生成营销文案，再将其翻译成另一种语言。\n- 先写文档大纲，检查大纲是否满足某些标准，再基于大纲撰写文档。\n\n### 工作流：路由（Routing）\n\n路由对输入进行分类，并将其导向专门的后续任务。这一工作流实现了关注点分离，并能构建更具针对性的提示词。没有它，针对某一类输入的优化可能会损害对其他输入的表现。\n\n![The routing workflow](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F5c0c0e9fe4def0b584c04d37849941da55e5e71c-2401x1000.png)\n\n*图：路由工作流*\n\n**何时使用此工作流：** 当任务复杂、且存在最好分别处理的明显类别，同时分类可由 LLM 或更传统的分类模型\u002F算法准确完成时，路由表现良好。\n\n**路由有用的例子：**\n\n- 将不同类型的客服查询（一般问题、退款请求、技术支持）导向不同的下游流程、提示词和工具。\n- 将简单\u002F常见的问题路由给更小、更具成本效益的模型（如 Claude Haiku 4.5），而将困难\u002F少见的问题路由给能力更强的模型（如 Claude Sonnet 4.5），以优化最佳性能。\n\n### 工作流：并行化（Parallelization）\n\nLLM 有时可以同时对一项任务工作，并将其输出以编程方式聚合。并行化这一工作流体现为两个关键变体：\n\n- **分块（Sectioning）**：将任务拆分为并行运行的独立子任务。\n- **投票（Voting）**：多次运行同一任务以获得多样化输出。\n\n![The parallelization workflow](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F406bb032ca007fd1624f261af717d70e6ca86286-2401x1000.png)\n\n*图：并行化工作流*\n\n**何时使用此工作流：** 当拆分的子任务可以并行以提速，或需要多个视角\u002F多次尝试以获得更高置信度的结果时，并行化很有效。对于带有多个考量的复杂任务，当每个考量由单独的 LLM 调用处理、从而能对每一具体方面聚焦注意力时，LLM 通常表现更好。\n\n**并行化有用的例子：**\n\n- **分块**：\n  - 实现护栏：一个模型实例处理用户查询，另一个实例筛查其中的不当内容或请求。这往往比让同一次 LLM 调用同时处理护栏和核心响应表现更好。\n  - 自动化评估（evals）以评测 LLM 性能，其中每次 LLM 调用评估模型在给定提示下表现的不同方面。\n- **投票**：\n  - 审查一段代码是否存在漏洞，由多个不同提示词审查并在发现问题时标记代码。\n  - 评估某段内容是否不当，由多个提示词评估不同方面，或要求不同的投票阈值来平衡误报与漏报。\n\n### 工作流：编排者—工作者（Orchestrator-workers）\n\n在编排者—工作者工作流中，一个中心 LLM 动态拆分任务，将其委派给工作者 LLM，并综合它们的结果。\n\n![The orchestrator-workers workflow](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F8985fc683fae4780fb34eab1365ab78c7e51bc8e-2401x1000.png)\n\n*图：编排者—工作者工作流*\n\n**何时使用此工作流：** 这个工作流非常适合你无法预知所需子任务（例如在编程中，需要改动的文件数量以及每个文件改动的性质很可能取决于具体任务）的复杂任务。尽管在形态上相似，它与并行化的关键区别在于其灵活性——子任务并非预定义，而是由编排者根据具体输入动态决定。\n\n**编排者—工作者有用的例子：**\n\n- 每次都对多个文件进行复杂改动的编程产品。\n- 涉及从多个来源收集并分析信息以寻找可能相关内容的搜索任务。\n\n### 工作流：评估者—优化器（Evaluator-optimizer）\n\n在评估者—优化器工作流中，一个 LLM 调用生成响应，另一个则在一个循环中提供评估与反馈。\n\n![The evaluator-optimizer workflow](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F14f51e6406ccb29e695da48b17017e899a6119c7-2401x1000.png)\n\n*图：评估者—优化器工作流*\n\n**何时使用此工作流：** 当我们拥有清晰的评估标准，且迭代式精炼能带来可衡量价值时，这个工作流特别有效。两个适配良好的标志是：第一，当人类阐明反馈时，LLM 的响应能得到明显改善；第二，LLM 自身能够提供这样的反馈。这类似于人类作者在产出精修文档时可能经历的迭代写作过程。\n\n**评估者—优化器有用的例子：**\n\n- 文学翻译，其中存在译者 LLM 起初可能捕捉不到的细微差别，但评估者 LLM 能提供有用的批评。\n- 需要多轮搜索与分析以收集全面信息的复杂搜索任务，由评估者决定是否值得进一步搜索。\n\n### 智能体（Agents）\n\n随着 LLM 在关键能力上的成熟——理解复杂输入、进行推理与规划、可靠地使用工具、并从错误中恢复——智能体正在生产中涌现。智能体以来自人类用户的指令或交互式讨论开始工作。一旦任务明确，智能体便独立规划与运行，并可能返回人类处获取更多信息或判断。在执行过程中，智能体在每一步都从环境获得\"真实情况\"（ground truth，如工具调用结果或代码执行）以评估进展，这一点至关重要。智能体随后可在检查点，或遇到阻碍时暂停以征询人类反馈。任务通常于完成时终止，但加入停止条件（如最大迭代次数）以保持控制也很常见。\n\n智能体能处理复杂的任务，但它们的实现往往直截了当。它们通常只是 LLM 在一个循环中根据环境反馈使用工具。因此，清晰而审慎地设计工具集及其文档至关重要。我们在附录 2（\"对你的工具做提示词工程\"）中详述工具开发的最佳实践。\n\n![Autonomous agent](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F58d9f10c985c4eb5d53798dea315f7bb5ab6249e-2401x1000.png)\n\n*图：自主智能体*\n\n**何时使用智能体：** 智能体可用于难以或无法预测所需步骤数量、且无法硬编码固定路径的开放式问题。LLM 可能会运行很多轮，你必须对其决策有一定程度的信任。智能体的自主性使其非常适合在可信环境中扩展任务。\n\n智能体的自主本质意味着更高的成本，以及错误累积的潜在风险。我们建议在沙箱环境中进行充分测试，并配置恰当的护栏。\n\n**智能体有用的例子：**\n\n以下例子来自我们自己的实现：\n\n- 一个用于解决 [SWE-bench 任务](https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fswe-bench-sonnet) 的编程智能体，这些任务涉及基于任务描述对许多文件进行编辑；\n- 我们的 [\"computer use\"（计算机使用）参考实现](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fanthropic-quickstarts\u002Ftree\u002Fmain\u002Fcomputer-use-demo)，其中 Claude 使用计算机来完成任务。\n\n![High-level flow of a coding agent](https:\u002F\u002Fwww-cdn.anthropic.com\u002Fimages\u002F4zrzovbb\u002Fwebsite\u002F4b9a1f4eb63d5962a6e1746ac26bbc857cf3474f-2400x1666.png)\n\n*图：编程智能体的高层流程*\n\n## 组合与定制这些模式\n\n这些构建模块并非规定性的。它们是开发者可以按需塑造和组合以适应不同用例的常见模式。与任何 LLM 功能一样，成功的关键在于衡量性能并迭代实现。重申一遍：你应当*只在*复杂度能明显改善结果时，才考虑增加它。\n\n## 总结\n\n在 LLM 领域的成功，不在于构建最复杂的系统，而在于为你的需求构建*合适的*系统。从简单的提示词开始，用全面的评估优化它们，并仅在更简单的方案力有不逮时，才加入多步智能体系统。\n\n在实现智能体时，我们力求遵循三条核心原则：\n\n1. 在智能体的设计中保持**简洁**（simplicity）。\n2. 通过显式展示智能体的规划步骤来优先保证**透明**（transparency）。\n3. 通过彻底的工具**文档与测试**，精心打造你的智能体—计算机接口（ACI）。\n\n框架能帮你快速起步，但当你走向生产时，不要犹豫去削减抽象层、用基础组件构建。遵循这些原则，你就能创建出不仅强大，而且可靠、可维护、并为其用户所信任的智能体。\n\n### 致谢\n\n由 Erik S. 和 Barry Zhang 撰写。这项工作借鉴了我们在 Anthropic 构建智能体的经验，以及客户分享的宝贵见解，我们对此深表感激。\n\n## 附录 1：实践中的智能体\n\n我们与客户的合作揭示了两个特别有前景的 AI 智能体应用，它们展示了上述模式的实际价值。两个应用都说明：对于既需要对话又需要行动、拥有清晰的成功标准、能启用反馈循环、并整合有意义的人工监督的任务，智能体创造的价值最大。\n\n### A. 客户支持\n\n客户支持将熟悉的聊天机器人界面与通过工具集成增强的能力结合起来。这对于更开放的智能体而言是天然契合的，因为：\n\n- 支持交互天然遵循对话流，同时需要访问外部信息与动作；\n- 可集成工具来获取客户数据、订单历史和知识库文章；\n- 诸如发放退款或更新工单等动作可以程序化地处理；并且\n- 成功与否可通过用户定义的解决结果清晰衡量。\n\n数家公司已通过基于用量的定价模式（仅对成功解决的结果收费）证明了这种方法的可行性，显示出对其智能体有效性的信心。\n\n### B. 编程智能体\n\n软件开发领域已展现出 LLM 功能的惊人潜力，其能力从代码补全演进到了自主解决问题。智能体特别有效，因为：\n\n- 代码解决方案可通过自动化测试验证；\n- 智能体可以用测试结果作为反馈对方案迭代；\n- 问题空间定义明确且结构化；并且\n- 输出质量可被客观衡量。\n\n在我们自己的实现中，智能体现在已能仅凭拉取请求的描述，在 [SWE-bench Verified](https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fswe-bench-sonnet) 基准上解决真实的 GitHub issue。然而，尽管自动化测试有助于验证功能，人工审查对于确保方案符合更广泛的系统需求仍然至关重要。\n\n## 附录 2：对你的工具做提示词工程\n\n无论你在构建哪种智能体系统，工具都可能是你智能体的重要组成部分。[工具](https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Ftool-use-ga)通过在我们的 API 中指定其确切结构与定义，让 Claude 能与外部服务和 API 交互。当 Claude 响应时，如果它打算调用某个工具，会在 API 响应中包含一个 [tool use block](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fbuild-with-claude\u002Ftool-use#example-api-response-with-a-tool-use-content-block)（工具使用块）。工具的定义与规范，应当像你的总体提示词一样，得到同等程度的提示词工程关注。在这篇简短的附录中，我们描述如何对你的工具做提示词工程。\n\n同一动作常常有几种指定方式。例如，你可以写一段 diff（差异）来指定文件编辑，也可以重写整个文件。对于结构化输出，你可以把代码返回在 markdown 内或 JSON 内。在软件工程中，这类差异只是表面性的，可以无损地互相转换。然而，某些格式对 LLM 来说远比其他格式更难书写。写 diff 需要在写出新代码前，先在块头（chunk header）中知道有多少行在改动。在 JSON 内写代码（相比 markdown）需要对换行和引号做额外的转义。\n\n我们关于决定工具格式的建议如下：\n\n- 给模型足够的 token 让它在\"走进死胡同\"之前先\"思考\"。\n- 让格式贴近模型在互联网文本中自然见到的样子。\n- 确保没有格式上的\"开销\"，例如必须精确数出成千上万行代码，或对其写的任何代码做字符串转义。\n\n一条经验法则是：想想在人机界面（HCI）上要投入多少精力，并计划投入同样多的精力来创建良好的*智能体*—计算机界面（ACI）。以下是一些如何做到的想法：\n\n- 设身处地为模型着想。基于描述和参数，它的用法是否一目了然，还是你也需要仔细思考？如果是后者，那么对模型大概也一样。一个好的工具定义通常包含示例用法、边界情况、输入格式要求，以及与其他工具的清晰界限。\n- 如何修改参数名或描述，让事情更一目了然？把这当作为你团队里初级开发者写一份出色的文档字符串（docstring）。在使用许多相似工具时，这尤其重要。\n- 测试模型如何使用你的工具：在我们的 [workbench](https:\u002F\u002Fconsole.anthropic.com\u002Fworkbench) 中运行许多示例输入，看看模型会犯什么错，并迭代改进。\n- 对你的工具做 [Poka-yoke](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPoka-yoke)（防呆）设计。修改参数，使其更难出错。\n\n在为 [SWE-bench](https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002Fswe-bench-sonnet) 构建智能体时，我们实际上在优化工具上花的时间比优化总体提示词还多。例如，我们发现，在智能体移出根目录后，模型会对使用相对文件路径的工具犯错。为修复此问题，我们将工具改为始终要求绝对文件路径——结果发现模型完美地使用了这一方法。\n","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-17\u002F826eb252-ac2b-4588-9d03-5138802a0d8b.jpg",[],[],"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fbuilding-effective-agents",{"id":64,"name":65,"slug":66,"description":67},[94,95,96,97,101],{"id":24,"name":25,"slug":26},{"id":32,"name":33,"slug":34},{"id":36,"name":37,"slug":38},{"id":98,"name":99,"slug":100},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":28,"name":29,"slug":30},2,"2024-12-19T00:00:00.000Z","2026-07-17T02:51:57.538Z","2026-07-17T02:51:58.572Z",{"id":107,"type":6,"title":108,"slug":109,"summary":110,"body":111,"coverUrl":112,"productScreenshots":113,"productLinks":114,"authorName":14,"authorUrl":15,"authorSubject":16,"category":115,"tags":116,"sourceLabel":43,"sourceName":43,"sourceUrl":43,"status":44,"seoTitle":43,"seoDescription":43,"canonicalUrl":43,"isFeatured":45,"sno":129,"sortOrder":47,"publishedAt":130,"updatedAt":131,"createdAt":132},"871e57ba-8d0e-4f70-a706-b7ec5f472ea7","Skill是什么？","what-is-skill","一套可复用、可安装、可共享的任务说明","在AI智能体和AI编程工具中，Skill通常指一套可复用、可安装、可共享的任务说明。它把操作规范、专业知识、示例、脚本和参考资料组织在一起，让AI能够更稳定地完成某一类工作。\n\n随着ChatGPT、Codex、Claude Code等工具逐渐从“聊天机器人”发展为能够读取文件、调用工具和执行任务的智能体，仅靠临时提示词已经很难管理复杂、重复的工作。Skill的出现，正是为了把成熟的工作方法保存下来，让AI在需要时直接调用。\n\n## 一、Skill到底是什么？\n\n可以把通用AI想象成一名能力很强、学习速度很快，但不了解你具体工作规范的新员工。\n\n你可以每次都重新告诉它：\n\n- 报告应该使用什么结构；\n- 代码需要遵循哪些规范；\n- 处理PDF时应该调用什么程序；\n- 发布网站前要检查哪些项目；\n- 分析数据时要生成哪些图表。\n\n但这些要求如果每次都重新输入，不仅麻烦，还容易遗漏。\n\n**Skill就是为AI准备的一份“标准作业包”。**\n\n它通常以一个文件夹存在，核心文件一般是`SKILL.md`。除了文字说明，还可以包含：\n\n- 操作步骤；\n- 任务触发条件；\n- 示例输入和输出；\n- 模板文件；\n- Python、Shell或JavaScript脚本；\n- API说明和参考资料；\n- 检查清单与质量标准。\n\nOpenAI将Agent Skills描述为封装指令、资源和可选脚本的任务能力包；ChatGPT中的Skills则被定义为可复用、可分享的工作流程。Claude Code的Skills也遵循Agent Skills开放标准，并在此基础上提供调用控制、子智能体运行和动态上下文等扩展能力。\n\n```mermaid\nflowchart TB\n    U[用户提出任务] --> A[AI智能体]\n    A --> D{是否有匹配的Skill}\n    D -- 没有 --> G[依靠通用能力完成]\n    D -- 有 --> S[读取Skill说明]\n    S --> R[加载模板、资料或脚本]\n    R --> T[按照固定流程执行]\n    T --> O[输出更稳定的结果]\n```\n\n## 二、Skill和提示词有什么区别？\n\n提示词和Skill都能指导AI，但两者解决的问题不同。\n\n| 对比项 | 普通提示词 | Skill |\n|---|---|---|\n| 使用方式 | 每次对话临时输入 | 安装后重复使用 |\n| 内容规模 | 通常较短 | 可以包含完整工作流程 |\n| 文件支持 | 一般只有文字 | 可包含脚本、模板和资料 |\n| 适用场景 | 一次性、简单任务 | 重复、专业、复杂任务 |\n| 一致性 | 容易因表达变化而波动 | 更容易保持固定标准 |\n| 分享方式 | 复制一段文字 | 分享完整Skill文件夹 |\n\n例如，下面是一条普通提示词：\n\n```text\n请检查这个网页是否存在SEO问题，并给出优化建议。\n```\n\n而一个SEO审计Skill可以进一步规定：\n\n1. 先检查页面是否能被抓取；\n2. 再检查标题、描述和Canonical；\n3. 分析结构化数据；\n4. 检查正文是否依赖JavaScript渲染；\n5. 按严重程度排列问题；\n6. 使用统一表格输出；\n7. 最后生成修改后的代码示例。\n\n因此，**提示词更像一次性的口头要求，Skill更像经过整理的标准操作手册。**\n\n## 三、Skill和工具、MCP有什么区别？\n\n这几个概念经常被混淆。\n\n### 1. 工具：让AI能够“做事”\n\n工具为AI提供实际操作能力，例如：\n\n- 搜索互联网；\n- 读取文件；\n- 执行Python；\n- 查询数据库；\n- 发送邮件；\n- 调用天气API；\n- 修改代码。\n\n工具解决的是：**AI能调用什么。**\n\n### 2. MCP：让AI连接外部系统\n\nMCP是Model Context Protocol的缩写，可以用统一方式把AI连接到数据库、知识库、GitHub、Notion、浏览器或企业内部系统。\n\nMCP解决的是：**AI怎样连接数据和服务。**\n\n### 3. Skill：告诉AI怎样完成任务\n\nSkill负责描述工作方法，例如：\n\n- 什么情况下应该调用某个工具；\n- 工具调用顺序是什么；\n- 哪些风险操作必须确认；\n- 输出必须符合什么格式；\n- 完成后如何检查质量。\n\nSkill解决的是：**AI应该按照什么流程做。**\n\n```mermaid\nflowchart TB\n    P[用户目标] --> S[Skill：任务流程与规范]\n    S --> A[AI智能体进行判断与规划]\n    A --> T[Tool：执行具体动作]\n    A --> M[MCP：连接外部系统]\n    M --> D[(数据库、文档、GitHub等)]\n    T --> O[搜索、计算、编辑、发送等结果]\n    D --> A\n    O --> A\n    A --> R[最终交付]\n```\n\n可以用一个简单比喻理解：\n\n- AI模型是大脑；\n- 工具是双手；\n- MCP是插座和连接线；\n- Skill是操作手册。\n\n## 四、一个Skill通常由什么组成？\n\n一个简单的Skill目录可能如下：\n\n```text\nseo-audit\u002F\n├── SKILL.md\n├── references\u002F\n│   ├── checklist.md\n│   └── examples.md\n├── scripts\u002F\n│   └── check_meta.py\n└── templates\u002F\n    └── report-template.md\n```\n\n其中最重要的是`SKILL.md`。\n\n一个最小化的Skill可以这样写：\n\n```markdown\n---\nname: seo-audit\ndescription: 检查网页的SEO与GEO基础问题，并输出按优先级排序的修复建议。\n---\n\n# SEO Audit\n\n## 何时使用\n\n当用户要求检查网页的SEO、GEO、抓取、索引或结构化数据问题时使用。\n\n## 工作流程\n\n1. 获取目标网页的初始HTML。\n2. 检查HTTP状态码和重定向。\n3. 检查title、description和canonical。\n4. 检查正文是否无需JavaScript即可读取。\n5. 检查JSON-LD结构化数据。\n6. 按严重、高、中、低四个等级整理问题。\n7. 提供可以直接修改的代码示例。\n\n## 输出格式\n\n- 总体评分\n- 关键问题\n- 修复优先级\n- 代码示例\n- 验收方法\n\n## 限制\n\n- 不把推测写成确定事实。\n- 无法访问页面时必须明确说明。\n- 涉及搜索引擎规则时优先参考官方文档。\n```\n\n### 元数据有什么作用？\n\n文件开头的`name`和`description`不只是介绍文字，它们还会影响智能体能否正确识别和调用Skill。\n\n```yaml\n---\nname: seo-audit\ndescription: 检查网页的SEO与GEO基础问题，并输出按优先级排序的修复建议。\n---\n```\n\n名称应该简短、稳定；描述则应该说明：\n\n- Skill能完成什么；\n- 什么情况下使用；\n- 哪些用户表达可能触发它。\n\n描述过于宽泛，Skill可能被错误调用；描述过于狭窄，应该调用时又可能无法触发。\n\n## 五、Skill是怎样工作的？\n\nSkill并不是重新训练AI模型，也不会永久改变模型本身。\n\n它更接近一种**按需加载的上下文机制**：当智能体判断某项任务与Skill匹配时，再读取Skill中的详细说明和资源。\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant A as AI智能体\n    participant S as Skill\n    participant T as 工具或脚本\n\n    U->>A: 帮我检查这个网站的SEO问题\n    A->>A: 判断任务类型\n    A->>S: 读取seo-audit Skill\n    S-->>A: 返回流程、规范与模板\n    A->>T: 抓取网页并运行检查\n    T-->>A: 返回检测结果\n    A->>A: 按Skill要求验证和整理\n    A-->>U: 输出标准化审计报告\n```\n\n这种方式有三个明显优势：\n\n### 1. 减少上下文浪费\n\n智能体不必在每次对话开始时读取全部规范，只在任务需要时加载相关Skill。\n\n### 2. 提高执行一致性\n\n同一种任务可以反复使用相同流程、模板和检查标准，减少不同对话之间的质量波动。\n\n### 3. 便于团队共享\n\n团队可以把经验整理成Skill，让不同成员和不同智能体复用同一套工作方法。\n\n## 六、Skill可以用来做什么？\n\nSkill适合处理具有明确方法、重复频率较高或专业要求较强的任务。\n\n### 内容创作\n\n- 按固定风格撰写文章；\n- 生成产品介绍；\n- 检查事实和引用；\n- 将文章转换为社交媒体内容；\n- 生成统一格式的Markdown文档。\n\n### 软件开发\n\n- 创建符合团队规范的项目；\n- 执行代码审查；\n- 编写单元测试；\n- 排查构建错误；\n- 发布版本；\n- 生成API文档。\n\n### 设计与文档\n\n- 制作演示文稿；\n- 生成PDF报告；\n- 按品牌规范使用字体和版式；\n- 创建流程图；\n- 检查设计稿的一致性。\n\n### 数据分析\n\n- 清洗表格；\n- 计算指标；\n- 生成图表；\n- 检查异常值；\n- 按固定结构输出分析结论。\n\n### 企业流程\n\n- 整理会议纪要；\n- 生成周报；\n- 审核合同中的关键条款；\n- 根据模板回复客户；\n- 检查项目上线条件。\n\n```mermaid\nmindmap\n  root((Agent Skill))\n    内容\n      文章写作\n      事实核查\n      格式转换\n    开发\n      代码审查\n      自动测试\n      项目部署\n    设计\n      演示文稿\n      品牌规范\n      图片处理\n    数据\n      表格清洗\n      指标分析\n      图表生成\n    运营\n      周报\n      客服回复\n      内容发布\n```\n\n## 七、怎样安装和使用Skill？\n\n不同平台的界面和存放路径可能不同，但基本过程相似。\n\n### 方法一：安装现成Skill\n\n一般步骤为：\n\n1. 在官方库、插件市场或GitHub仓库中找到Skill；\n2. 阅读`SKILL.md`，确认用途和权限；\n3. 检查是否包含可执行脚本；\n4. 将Skill安装到平台支持的位置；\n5. 重新加载客户端或会话；\n6. 用一个明确任务测试它是否正确触发。\n\n在支持自动调用的平台中，用户不一定要直接说出Skill名称。例如安装网页测试Skill后，可以直接说：\n\n```text\n检查本地网页的登录流程，并记录失败的步骤。\n```\n\n智能体会根据任务和Skill描述判断是否调用。\n\n部分平台也支持显式调用，形式可能类似：\n\n```text\n使用 seo-audit Skill 检查这个页面。\n```\n\n或：\n\n```text\n\u002Fseo-audit https:\u002F\u002Fexample.com\n```\n\n具体调用方式取决于平台实现。\n\n### 方法二：把Skill放进项目\n\n项目级Skill适合保存某个仓库特有的规则，例如：\n\n```text\nmy-project\u002F\n├── src\u002F\n├── tests\u002F\n└── .agents\u002F\n    └── skills\u002F\n        └── release-check\u002F\n            └── SKILL.md\n```\n\n它可以要求智能体在发布前完成：\n\n- 运行测试；\n- 检查环境变量；\n- 构建生产版本；\n- 扫描未提交文件；\n- 更新版本号；\n- 生成变更日志。\n\n### 方法三：使用平台内置的Skill管理界面\n\n部分AI产品提供Skill或插件管理页面，可以完成：\n\n- 浏览推荐Skill；\n- 安装或启用Skill；\n- 查看已安装项目；\n- 控制可访问的数据；\n- 删除不再需要的Skill。\n\n由于各产品仍在快速更新，实际界面和权限应以对应平台的最新官方说明为准。\n\n## 八、怎样自己创建一个Skill？\n\n创建Skill不需要训练模型。只需把成熟的任务流程写清楚，并加入必要的资源。\n\n### 第一步：选择合适的任务\n\n好的Skill通常满足至少一个条件：\n\n- 任务会反复出现；\n- 执行步骤比较固定；\n- 输出格式需要保持一致；\n- 涉及团队内部规范；\n- 需要调用脚本或模板；\n- 普通提示词经常遗漏步骤。\n\n不适合做成Skill的任务包括：\n\n- 只会执行一次的临时要求；\n- 没有稳定方法的开放式闲聊；\n- 可以用一句提示词准确解决的简单任务。\n\n### 第二步：定义触发条件\n\n先回答三个问题：\n\n1. 用户通常会怎样描述这个任务？\n2. 哪些场景应该使用该Skill？\n3. 哪些相似场景不应该使用？\n\n例如：\n\n```markdown\n## 何时使用\n\n当用户要求创建、修改、读取或分析`.pptx`演示文稿时使用。\n\n## 不应使用\n\n当用户只要求提供演讲提纲，而不需要生成或编辑演示文件时，不要使用。\n```\n\n### 第三步：写出可靠流程\n\n不要只写“认真完成任务”，而要写成可以检查的步骤。\n\n较弱的写法：\n\n```markdown\n请专业地检查代码，确保没有问题。\n```\n\n更好的写法：\n\n```markdown\n1. 先读取受影响文件和相关测试。\n2. 检查空值、边界条件和错误处理。\n3. 检查是否引入安全问题。\n4. 运行现有测试。\n5. 对新增逻辑补充测试。\n6. 输出问题位置、影响和修复方案。\n```\n\n### 第四步：加入示例和模板\n\n示例可以让AI更准确地理解输出标准。\n\n```markdown\n## 输出示例\n\n### 严重问题\n\n**位置：** `src\u002Fauth.ts:42`\n\n**问题：** 用户输入未经验证就拼接进SQL语句。\n\n**影响：** 可能导致SQL注入。\n\n**建议：** 使用参数化查询，并增加恶意输入测试。\n```\n\n### 第五步：加入脚本\n\n当工作需要稳定计算、文件转换或自动检查时，脚本通常比自然语言更可靠。\n\n```python\n# scripts\u002Fcheck_required_files.py\nfrom pathlib import Path\n\nrequired_files = [\n    \"README.md\",\n    \"LICENSE\",\n    \".gitignore\",\n]\n\nmissing = [name for name in required_files if not Path(name).exists()]\n\nif missing:\n    print(\"缺少文件：\")\n    for name in missing:\n        print(f\"- {name}\")\n    raise SystemExit(1)\n\nprint(\"必要文件检查通过。\")\n```\n\nSkill中可以规定：\n\n```markdown\n发布项目之前，必须运行：\n\npython scripts\u002Fcheck_required_files.py\n```\n\n### 第六步：进行真实测试\n\n至少测试以下三类情况：\n\n| 测试类型 | 目的 |\n|---|---|\n| 正常任务 | 检查Skill能否正确执行 |\n| 模糊表达 | 检查Skill能否正确触发 |\n| 相似但无关的任务 | 检查Skill是否会被误调用 |\n\n## 九、怎样写出一个高质量Skill？\n\n### 1. 描述要具体\n\n不推荐：\n\n```yaml\ndescription: 帮助用户处理网页。\n```\n\n推荐：\n\n```yaml\ndescription: 检查网页的可访问性、SEO元数据、结构化数据和无JavaScript正文可读性，并生成按严重程度排序的修复报告。\n```\n\n### 2. 只保留必要内容\n\nSkill不是越长越好。过多背景材料会增加上下文负担，也可能让智能体忽略真正重要的规则。\n\n建议将内容分层：\n\n- `SKILL.md`保存核心流程；\n- `references\u002F`保存详细资料；\n- `templates\u002F`保存输出模板；\n- `scripts\u002F`保存可执行程序。\n\n### 3. 把硬性要求写成可验证规则\n\n不推荐：\n\n```markdown\n输出应当美观、专业。\n```\n\n推荐：\n\n```markdown\n- 一级标题只能出现一次。\n- 每个问题必须包含位置、影响、证据和修复建议。\n- 问题按严重、高、中、低排序。\n- 没有证据时不得下确定结论。\n```\n\n### 4. 为危险操作设置确认点\n\n涉及删除、发布、付款、发送、覆盖文件等动作时，应明确要求用户确认。\n\n```markdown\n在执行以下操作之前必须获得用户明确确认：\n\n- 删除文件或数据库记录；\n- 向外部收件人发送邮件；\n- 部署到生产环境；\n- 覆盖无法恢复的文件；\n- 产生费用的API调用。\n```\n\n### 5. 不要把密钥写进Skill\n\nSkill可能被复制、分享或提交到Git仓库。API密钥、访问令牌、密码和个人数据不应直接写入文件。\n\n正确方式是引用环境变量：\n\n```bash\nexport API_KEY=\"...\"\n```\n\n然后在脚本中读取：\n\n```python\nimport os\n\napi_key = os.environ[\"API_KEY\"]\n```\n\n## 十、使用第三方Skill时要注意什么？\n\nSkill可能包含脚本、命令和外部资源，因此不能只看名称就直接安装。\n\n安装前至少检查：\n\n1. Skill来自谁；\n2. `SKILL.md`要求AI做什么；\n3. 是否会读取个人文件；\n4. 是否会访问网络；\n5. 是否包含删除或覆盖命令；\n6. 脚本是否会上传数据；\n7. 是否要求提供密钥；\n8. 最近是否仍在维护。\n\n```mermaid\nflowchart TD\n    A[发现第三方Skill] --> B{来源可信？}\n    B -- 否 --> X[不要安装]\n    B -- 是 --> C[阅读SKILL.md]\n    C --> D[检查scripts目录]\n    D --> E{涉及敏感权限？}\n    E -- 是 --> F[限制权限或在沙箱测试]\n    E -- 否 --> G[使用测试任务验证]\n    F --> G\n    G --> H{行为符合预期？}\n    H -- 否 --> X\n    H -- 是 --> I[正式启用]\n```\n\n需要特别警惕以下内容：\n\n```bash\nrm -rf\ncurl ... | sh\nsudo ...\ngit push --force\n```\n\n这些命令不一定恶意，但可能造成不可逆影响。应先理解其用途，再决定是否执行。\n\n## 十一、一个完整示例：文章配图Skill\n\n下面是一个适合内容网站使用的简化示例。\n\n```markdown\n---\nname: article-illustration\ndescription: 根据文章主题生成简洁、无文字、16:9比例的封面插图方案。\n---\n\n# Article Illustration\n\n## 适用场景\n\n当用户要求为文章、博客或报告设计封面图时使用。\n\n## 工作流程\n\n1. 阅读文章标题和摘要。\n2. 提炼一个核心隐喻，不要堆叠多个概念。\n3. 优先使用抽象、几何或平面设计语言。\n4. 默认比例为16:9。\n5. 画面内不得出现文字、字母、水印和界面截图。\n6. 主体应占画面的25%至45%，保留足够留白。\n7. 颜色控制在三种主色以内。\n8. 输出图像生成提示词并执行图像生成工具。\n\n## 质量检查\n\n- 缩略图尺寸下是否仍能识别主体；\n- 是否存在多余文字；\n- 是否过度拥挤；\n- 是否准确表达文章主题；\n- 是否避免使用未经授权的品牌元素。\n```\n\n安装后，用户只需说：\n\n```text\n为“让大模型先查资料，再回答问题”设计一张文章封面图。\n```\n\n智能体便可以自动应用比例、留白、无文字和构图规则，而不需要用户每次重新说明。\n\n## 十二、Skill的真正价值是什么？\n\nSkill的价值并不只是“让AI多会一种功能”。\n\n它更重要的作用，是把人的经验转化为AI能够重复执行的流程。\n\n```mermaid\nflowchart LR\n    E[个人经验] --> W[整理工作步骤]\n    W --> S[制作成Skill]\n    S --> R[智能体重复执行]\n    R --> C[持续测试和修正]\n    C --> S\n    S --> T[团队共享]\n```\n\n一条优秀提示词可能解决一次问题；一个优秀Skill则可以持续改进，并被整个团队反复使用。\n\n因此，可以将Skill理解为：\n\n> **介于提示词、程序和操作手册之间的AI能力模块。**\n\n它用自然语言描述意图和规则，用脚本保证确定性，用模板维持输出标准，再由智能体根据当前任务灵活执行。\n\n## 十三、常见问题\n\n### Skill会让AI永久学会新知识吗？\n\n不会。Skill通常是在任务执行时被读取，并不会重新训练底层模型。删除或停用Skill后，对应规则通常也不会继续生效。\n\n### 不会编程也能创建Skill吗？\n\n可以。最简单的Skill只需要一个写清楚任务流程的`SKILL.md`文件。脚本是可选项，不是必需项。\n\n### Skill可以跨平台使用吗？\n\n部分Skill可以。Claude Code文档说明其Skills遵循Agent Skills开放标准；Codex也支持以`SKILL.md`为核心的能力包。不过不同平台可能增加自己的字段、目录约定和调用方式，因此迁移时仍需检查兼容性。\n\n### Skill能代替MCP吗？\n\n不能。Skill主要描述方法，MCP主要负责连接外部服务。两者经常搭配使用。\n\n### Skill越多越好吗？\n\n不是。安装过多、描述重叠的Skill可能增加误触发和冲突。更合理的做法是保留用途明确、质量可靠、经常使用的Skill。\n\n## 结语\n\nAI模型提供通用能力，工具提供行动能力，MCP提供连接能力，而Skill负责把这些能力组织成一套稳定的工作方法。\n\n对于普通用户，Skill可以减少重复提示；对于开发者，它可以封装工程流程；对于团队，它可以把个人经验变成共享标准。\n\n当你发现自己反复向AI解释同一套要求时，就可以考虑把它整理成一个Skill。\n\n## 参考资料\n\n1. [OpenAI Codex：Agent Skills](https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fskills)\n\n2. [OpenAI Help Center：Skills in ChatGPT](https:\u002F\u002Fhelp.openai.com\u002Fen\u002Farticles\u002F20001066-skills-in-chatgpt)\n\n3. [OpenAI Codex：Customization](https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fconcepts\u002Fcustomization)\n\n4. [OpenAI：Introducing the Codex app](https:\u002F\u002Fopenai.com\u002Findex\u002Fintroducing-the-codex-app\u002F)\n\n5. [Anthropic Claude Code：Extend Claude with skills](https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fskills)\n\n6. [Anthropic Skills示例仓库] (https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills)\n\n> 注：AI产品的Skill安装入口、目录结构和功能仍在持续更新。实际使用时，应优先查看对应产品的最新官方文档。","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-18\u002F4c35d873-e4f1-418f-a9ae-bb56d85df6ff.jpg",[],[],{"id":18,"name":19,"slug":20,"description":21},[117,118,119,123,124,128],{"id":32,"name":33,"slug":34},{"id":24,"name":25,"slug":26},{"id":120,"name":121,"slug":122},"a202d639-99a6-488a-a712-4d4c6ffd7e15","开发","dev",{"id":28,"name":29,"slug":30},{"id":125,"name":126,"slug":127},"144abe77-0dc6-4f66-a176-20bddb1c0bfa","编程","coding",{"id":40,"name":41,"slug":42},45,"2026-06-11T00:00:00.000Z","2026-07-18T16:22:51.494Z","2026-07-18T15:17:09.969Z"]