收藏!小白程序员必看:轻松入门大模型上下文工程,构建高效AI智能体
本文介绍了Anthropic团队提出的“上下文工程”概念强调其在构建AI智能体中的重要性。文章对比了上下文工程与传统的提示词工程指出上下文工程更注重在LLM推理过程中策划和维护最优token集合。文章还详细讨论了高效上下文的结构、上下文检索和智能体搜索、针对长期任务的上下文工程等关键内容并提出了压缩、结构化笔记和多智能体架构等技术方案。最终得出结论上下文工程是使用LLM构建智能体的根本转变需要精心策划信息以最大化期望结果的可能性。Anthropic理解的上下文工程和提示词工程的区别上下文指的是从大语言模型采样时包含的所有 token。而工程问题在于如何在 LLM 固有的约束条件下优化这些 token 的效用以持续实现期望的结果。有效驾驭 LLM 通常需要具备“上下文思维”。换句话说全面考虑 LLM 在任一时刻所能访问的整体状态并预判该状态可能引发的行为。Anthropic 认为上下文工程是提示词工程的自然演进。提示词工程专注于为获得最佳结果而编写和组织 LLM 指令的方法。而上下文工程指的是在 LLM 推理过程中策划和维护最优 token 集合信息的一系列策略包括提示词之外可能出现的所有其他信息。在 AI 工程的刚开始提示词设计曾是 AI 工程的核心工作因为绝大多数非日常聊天场景的应用都需要针对单次分类或文本生成任务进行优化的提示词。就像它的名字那样提示词工程主要关注如何编写高效的提示词尤其是系统提示词。然而随着我们逐步构建能够在多轮推理和更长时间跨度内运作的更强大智能体我们需要制定策略来全面管理上下文状态包括系统指令、工具、模型上下文协议MCP、外部数据以及消息历史等。在循环中运行的智能体会生成越来越多可能与下一轮推理相关的数据这些信息需要持续地进行筛选和提炼。上下文工程正是一门从这一动态演变的信息海洋中精准选取适合的信息放入有限的上下文窗口内容的艺术。为何上下文工程如此重要尽管 LLMs 速度快并且已经能处理越来越多的数据但我们发现它们和人类一样在达到一定程度后也会出现注意力不集中或混淆的情况。通过“大海捞针”式的基准测试研究人们提出了“上下文衰减”这一概念随着上下文窗口中 token 数量的增加模型准确提取其中信息的能力会逐渐下降。尽管部分模型的性能下降较为平缓但这一特性在所有模型中都会出现。所以说上下文应该被视为一种边际收益会递减的有限资源。就像人类的工作记忆容量是有限的一样LLM 在处理大量上下文时也存在一个“注意力预算”。每一个新增的 token 都会在一定程度上消耗这个预算因此必须更加慎重地筛选提供给 LLM 的 token。这种注意力资源的稀缺性源于 LLMs 的架构限制。LLMs 采用的是 Transformer 架构该架构使得每个 token 都能关注整个上下文中的每个其他 token从而导致 n 个 token 之间产生 n² 个成对的关系。随着上下文长度增加模型捕捉这些成对关系的能力会被稀释也就是说在上下文长度与注意力集中之间会形成一种天然的权衡。此外模型的注意力模式源自于训练数据中的分布短文本和中等长度的文本远比特别长的文本更常见。这意味着模型对于全局上下文依赖关系记住很久之前的文本并在后面用上的经验较少相关的专用参数也不足。像位置编码插值这样的技术能让模型通过扩展最初训练时较短的上下文来处理更长的序列但会对标记位置的理解造成一定程度的下降。这些因素导致模型性能呈现渐进式下降而非突然断崖式下跌虽然在处理长上下文时模型依然具备较强能力但在信息检索和长距离推理方面的准确度会略低于处理短上下文时的表现。正因为这些问题精心设计的上下文工程对于构建强大的智能体而言至关重要。高效上下文的结构因为 LLMs 的注意力资源有限优秀的上下文工程应该去寻找最少数量但信息量最高的token 集从而最大程度地促使期望结果的出现。说起来容易做起来难但在接下来的章节中我们将具体说明这一核心原则如何体现在上下文各个组成部分的实际应用中。系统提示词应该极其清晰使用简单、直白的语言将信息以适合智能体理解的层级呈现出来。所谓合适的层级是指处于两种常见错误模式之间的“黄金区间”。在一种极端我们看到工程师在提示中硬编码一些复杂而僵化的逻辑试图精确控制智能体的行为。这种做法容易导致系统脆弱并随着时间推移增加维护难度。另一种极端则是提供过于模糊、笼统的指导没有能够为 LLM 提供明确的行为信号或错误地假定双方已经有了相同的知识背景。理想的提示层级应在两者之间取得平衡既要足够具体来有效的引导 LLM 的行为又要保持足够的灵活性为模型提供强大的启发式方法来指导行为。一端是采用硬编码 if-else 的提示另一端则是过于笼统或错误的提示。我们建议将提示词分成若干清晰的部分如background_information、instructions、## Tool guidance、## Output description等并采用 XML 标签或 Markdown 标题等方式进行区分。不过随着模型能力不断增强提示词的具体格式可能逐渐变得不那么重要。无论你决定如何构建系统提示你都应该努力寻找完全概述预期行为的最小信息集。注意最小并不一定意味着短你仍然需要预先为智能体提供足够的信息以确保它遵守期望的行为。最好从使用可用的最佳模型测试最小提示开始看看它在你的任务上的表现如何然后根据初始测试中发现的失败模式添加清晰的指令和示例来提高性能。工具允许智能体与其环境交互并在工作时引入新的额外上下文。因为工具定义了智能体与其信息/动作空间之间的契约所以工具促进效率非常重要既要返回 token 高效的信息又要鼓励高效的智能体行为。在《为 AI 智能体编写工具——用 AI 智能体》中我们讨论了构建 LLM 能够很好理解且功能重叠最小的工具。与设计良好的代码库的函数类似工具应该是自包含的、对错误具有鲁棒性并且在其预期用途方面极其清晰。输入参数同样应该具有描述性、明确性并发挥模型的固有优势。我们看到的最常见失败模式之一是工具集过于庞杂涵盖的功能太多或者在选择使用哪个工具时难以决策。如果连人类工程师都不能明确说出在给定情况下应该使用哪个工具就不能期望 AI 智能体能够做得更好。就像我们稍后将讨论的为智能体策划一个最小可行的工具集也可以导致在长时间交互中更可靠的维护和修剪上下文。提供示例也称为少样本提示是我们继续强烈建议的众所周知的最佳实践。然而团队通常会在提示中塞入一长串边缘案例试图阐明 LLM 应该为特定任务遵循的每个可能规则。我们不建议这样做。相反我们建议努力策划一组多样化的、规范的示例有效地描绘智能体的预期行为。对于 LLM 来说示例就是“一图胜千言”里的“图”。我们对上下文的不同组成部分系统提示、工具、示例、消息历史等我们的总体建议是要深思熟虑确保信息充分的同时保持简洁。现在让我们深入探讨在运行时动态检索上下文。上下文检索和智能体搜索在《构建有效的 AI 智能体》一文中我们强调了基于 LLM 的工作流程与智能体之间的区别。自从我们写了那篇文章以来我们倾向于一个简单的智能体定义LLM 在循环中自主使用工具。在与客户的合作过程中我们看到行业正在趋同于这个简单的范式。随着基础模型变得更强大智能体的自主水平也能相应提升更强大的模型能让智能体独立处理复杂多变的问题并自主从错误中恢复。如今我们看到工程师思考为智能体设计上下文的方式发生了转变。许多 AI 原生应用程序已开始采用基于嵌入的推理前检索技术以便为智能体推理提供重要上下文。随着行业逐步转向更加强调自主性的智能体架构我们看到越来越多的团队用“即时”上下文策略来增强现有检索系统的能力。与预先处理所有相关数据不同使用“即时”方法构建的智能体会保留轻量级标识符文件路径、存储的查询、网络链接等并在运行时通过工具动态调用这些引用将所需数据实时加载至上下文。Anthropic 的智能体编码解决方案 Claude Code 正是采用这种方法从而能够在大型数据库上进行复杂的数据分析。模型可以编写有针对性的查询、存储结果并利用像 head 和 tail 这样的 Bash 命令来分析大量数据而无需将完整的数据对象加载到上下文中。这种做法模拟了人类的认知模式我们通常不会死记硬背所有信息而是借助文件系统、收件箱、书签等外部组织和索引系统在需要时按需获取相关内容。除了存储效率之外这些引用的元数据还能有效引导行为的优化无论是显式提供的信息还是基于直觉的判断。对一个在文件系统中运行的智能体来说tests文件夹中名为test_utils.py的文件的存在意味着与位于src/core_logic.py中的同名文件不同的用途。文件夹层次结构、命名约定和时间戳都提供了重要的信号帮助人类和智能体理解如何以及何时利用信息。让智能体自主导航和检索数据也实现了渐进式披露——换句话说允许智能体通过探索逐步发现相关上下文。每次交互都会产生为下一个决策提供信息的上下文文件大小暗示复杂性命名约定暗示目的时间戳则可作为判断信息相关性的重要依据。智能体可以逐层积累理解只在工作记忆中保留必要的内容并借助笔记等方式进行长期记录。这种自我管理的上下文机制使智能体能聚焦于关键的信息片段避免陷入大量冗余或无关的信息之中。当然这里有一个权衡运行时探索比检索预计算数据慢。不仅如此还需精心的工程设计并融入明确的工程判断来确保 LLM 具有正确的工具和启发式方法从而高效地在它的信息环境中导航。如果没有适当的指导智能体可能会误用工具、追逐死胡同或未能识别关键信息导致浪费上下文。在某些场景中最有效的智能体可能会采用一种混合策略预先检索一些数据以提升响应速度同时根据需要自主地选择进行进一步探索。其自主程度的“最佳平衡点”取决于具体任务。Claude Code 正是采用了这种混合模式CLAUDE.md 文件会被直接预先载入上下文而像 glob 和 grep 等基础命令它还能在环境中自主导航按需即时获取文件从而有效规避了索引过时和复杂语法结构带来的问题。混合策略可能更适合动态内容较少的上下文例如法律或金融工作。随着模型能力的提高智能体的设计趋势将是让模型更自主地发挥智能逐渐减少人类策划。鉴于该领域的发展太多迅速“做最简单有效的事情”可能仍然是我们为在 Claude 之上构建智能体的团队提供的最佳建议。针对长期任务的上下文工程对于需要长时间连续操作的任务例如大型代码库迁移或综合性的研究项目智能体必须在动作序列中保持连贯性、上下文关联性和目标导向性而这些序列的 token 数量往往会超出 LLM 的上下文窗口限制。所以说智能体需要专门的技术来绕过上下文窗口大小限制。等待更大的上下文窗口似乎是个简单直接的策略。但在可预见的未来所有大小的上下文窗口都可能受到上下文污染和信息相关性问题的影响——至少在需要最强智能体性能的情况下。为了使智能体能在更长时间跨度上有效工作我们开发了一些直接解决这些上下文污染问题的技术压****缩、结构化笔记和多智能体架构。压缩压缩是将接近上下文窗口限制的对话进行总结并用摘要重新启动新的上下文窗口的做法。压缩通常是上下文工程中最先使用的手段来推动更好的长期连贯性。从本质上讲压缩以高保真方式提炼上下文窗口的内容使智能体能够在性能几乎不受影响的情况下持续运行。例如在 Claude Code 中我们通过将消息历史传递给模型进行总结和压缩最关键的细节来实现这一点。模型保留架构决策、未解决的错误和实现细节同时丢弃冗余的工具输出或消息。然后智能体可以继续使用这个压缩的上下文加上五个最近访问的文件。用户获得连续性而无需担心上下文窗口限制。压缩的艺术在于选择保留什么与丢弃什么因为过于激进的压缩可能导致微妙但关键的上下文丢失其重要性只有在以后才变得明显。对于实现压缩系统的工程师我们建议在复杂的智能体轨迹上仔细调整你的提示。首先最大化召回率以确保你的压缩提示从轨迹中捕获每一条相关信息然后通过消除多余内容来迭代提高精度。一种容易处理冗余内容的方式是清理工具调用及其结果一旦工具在消息历史深处被调用为什么智能体需要再次看到原始结果清除工具结果是一种既安全又轻量的压缩方式该功能最近已作为 Claude 开发者平台的新特性正式上线。结构化笔记结构化笔记也称为智能体记忆是指智能体定期将信息以笔记形式记录下来并持久地存储在上下文窗口之外的内存中以便后续重新载入上下文窗口使用。这种策略以最小的开销提供持久记忆。就像 Claude Code 创建待办事项列表或你的自定义智能体维护 NOTES.md 文件一样这种简单的模式允许智能体跨越复杂任务跟踪进度维护关键上下文和依赖关系否则这些将在数十个工具调用中丢失。Claude 玩宝可梦展示了记忆如何在非编程领域显著提升智能体的能力。该智能体能够在数千个游戏步骤中精准地进行记录和追踪例如“过去 1,234 步里我一直让宝可梦在 1 号道路训练皮卡丘已经升了 8 级距离目标还差 2 级。” 即使没有接受任何关于记忆结构的提示它仍能自动生成已探索区域的地图清楚记得解锁了哪些重要成就并持续记录战斗策略从而不断学习面对不同对手时最有效的攻击方式。在上下文重置后智能体通过读取自身记录的笔记能够继续执行长达数小时的训练流程或地牢探索任务。这种在多次摘要之间保持的连贯性使得原本仅靠 LLM 上下文窗口无法实现的长期规划策略成为可能。作为我们 Sonnet 4.5 发布的一部分我们在 Claude 开发者平台上以公开测试版发布了一个记忆工具。该工具采用基于文件的系统可更便捷地在上下文窗口之外存储和调用信息。这使得智能体能够逐步构建知识库跨会话保持项目状态并能随时参考过往工作内容而无需将所有信息都保留在当前上下文中。子智能体架构子智能体架构提供了另一种绕过上下文限制的方法。与其依赖单一智能体在整个项目过程中维持状态不如采用专业化的子智能体来负责具体任务并各自拥有独立清晰的上下文空间。主智能负责统筹协调制定高层计划而子智能体则专注于执行深入的技术任务或调用工具获取相关信息。每个子智能体可以在本地进行大量探索使用数万个 token 或更多但最终仅向主智能体返回精炼后的成果摘要通常为 1,000-2,000 个 token。这种方法实现了清晰的关注点分离——详细的搜索上下文在子智能体中保持隔离而主智能体专注于综合和分析结果。正如《我们如何构建多智能体研究系统》一文中所述这一模式在应对复杂研究任务时相比单智能体系统表现出显著的提升。选择哪种方法取决于任务的特点。例如压缩技术有助于在需要频繁交互的任务中保持对话的连贯性笔记在具有明确里程碑的迭代开发中表现出色多智能体架构适用于那些通过并行探索能显著提升效率的复杂研究与分析场景。即使现在模型的性能在持续提升但在较长的交互过程中保持一致性仍将是构建更有效智能体的关键挑战。结论上下文工程代表了我们如何使用 LLM 构建的根本转变。随着模型变得更强大挑战不仅仅是制作完美的提示——而是深思熟虑地策划在每一步进入模型有限注意力预算的信息。无论你是为长时间跨度任务实现压缩设计 token 高效的工具还是使智能体能够即时探索其环境指导原则都保持不变找到最小的高信号 token 集最大化你期望结果的可能性。随着模型不断进步我们提出的技术也将持续发展。我们已经看到更聪明的模型已经不再需要过于细致的规定性工程而是允许智能体以更多的自主权运行。但即使能力不断增强将上下文视为一种宝贵而有限的资源仍将是构建可靠、高效智能体的核心。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取