上下文工程:AI领域的下一个前沿,构建可靠AI Agent的关键!
文章探讨了上下文工程对AI的重要性,指出它是提示词工程的自然发展。由于LLM的注意力预算有限且存在"上下文衰减"现象,有效的上下文管理至关重要。文章介绍了系统提示词设计、工具使用、示例展示等策略,以及针对长期任务的压缩、结构化笔记、子Agent架构等技术。核心原则是找到最小的高信息量token集,将上下文视为宝贵资源,是构建可靠AI Agent的基础。
一、引言
上下文对于 AI Agent来说至关重要,但其资源却是有限的。在本文中,我们将探讨如何有效地管理为 AI Agent提供支持的上下文。
虽然提示词工程在应用人工智能领域备受关注,但几年后一个新术语应运而生:上下文工程。构建语言模型不再仅仅局限于为提示找到合适的单词和短语,而是更多地回答一个更广泛的问题:“什么样的上下文配置最有可能产生我们模型所需的行为?”
二、核心概念
什么是上下文?
上下文是指从大型语言模型(LLM)中采样时包含的一组 token。当前的工程挑战是如何在 LLM 的固有约束条件下优化这些 token 的使用,以始终如一地实现预期结果。有效地处理 LLM 通常需要结合上下文进行思考——换句话说:考虑 LLM 在任何给定时间可用的整体状态,以及该状态可能产生的其他行为。
上下文工程 vs. 提示词工程
在 Anthropic,我们将上下文工程视为提示词工程的自然发展。提示词工程是指编写和组织 LLM 指令以获得最佳结果的方法。上下文工程是指在 LLM 推理过程中策划和维护最佳 token集的一组策略,包括提示词之外可能出现的所有其他信息。

与编写prompt的离散任务相比,上下文工程是迭代的,并且每次我们决定将什么传递给模型时都会发生管理阶段

在 LLM 工程的早期阶段,提示词是人工智能工程工作中最重要的组成部分,因为日常聊天交互之外的大多数用例都需要针对一次性分类或文本生成任务进行优化的提示词。顾名思义,提示词工程的主要重点是如何编写有效的提示词,尤其是系统提示词。然而,随着我们致力于设计能够运行多轮推理和更长时间范围的更强大的智能体,我们需要制定策略来管理整个上下文状态。
循环运行的Agent会生成越来越多可能与下一轮推理相关的数据,这些信息必须循环进行优化。上下文工程是一门艺术和科学,它从不断变化的潜在信息世界中,筛选出哪些信息可以纳入有限的上下文窗口。
三、为什么上下文工程对于构建有能力的Agent很重要
尽管 LLM 速度快,能够处理越来越大的数据量,但我们观察到,它们和人类一样,在某个时刻会失去注意力或感到困惑。基于"大海捞针"式基准测试的研究揭示了 “上下文衰减” 的概念:随着上下文窗口中 token数量的增加,模型准确回忆该上下文信息的能力会下降。
虽然有些模型比其他模型表现出更温和的退化,但这一特性在所有模型中都存在。因此,上下文必须被视为边际收益递减的有限资源。与人类有限的工作记忆容量一样,LLM 也拥有"注意力预算",在解析大量上下文时会利用这一预算。每个新引入的 token 都会在一定程度上消耗这一预算,因此更需要仔细管理 LLM 可用的 token。
这种注意力稀缺源于 LLM 的架构限制。LLM 基于 Transformer 架构,这使得每个 token 能够关注整个上下文中的其他 token。这导致 n 个 token 之间存在 n² 对关系。
随着上下文长度的增加,模型捕捉这些成对关系的能力会逐渐捉襟见肘,从而在上下文大小和注意力焦点之间形成了一种自然的张力。此外,模型会根据训练数据分布来发展其注意力模式,而这些分布中较短的序列通常比较长的序列更常见。这意味着模型对于上下文范围的依赖关系的经验较少,并且针对这些依赖关系的专用参数也较少。
位置编码插值等技术允许模型通过调整长序列以适应最初训练的较小上下文,从而处理较长的序列,但会对标记位置的理解造成一定程度的下降.这些因素导致模型性能呈现渐进式下降而非突然断崖式下跌:虽然在处理长上下文时模型依然具备较强能力,但在信息检索和长距离推理方面的准确度会略低于处理短上下文时的表现
这些现实意味着,深思熟虑的上下文工程对于构建有能力的Agent至关重要。
四、高效上下文的管理
鉴于 LLM 受到有限的注意力预算限制,良好的上下文工程意味着找到尽可能小的高信息量 token 集,以最大化某个期望结果的可能性。实施这一实践说起来容易做起来难,但在下一节中,我们将概述这一指导原则在上下文不同组成部分的实践中的含义。
系统提示词
💡 关键洞察:系统提示词应该极其清晰,并使用简单直接的语言,以适合Agent的高度呈现想法。
合适的高度是两种常见故障模式之间的 “黄金平衡点”:
- • 过度具体:工程师在提示词中硬编码复杂、脆弱的逻辑,以引发精确的Agent行为
- • 过度笼统:工程师提供模糊、高层次的指导,无法向 LLM 提供期望输出的具体信号
- • ✅ 最佳平衡:足够具体以有效地指导行为,但又足够灵活可以为模型提供强大的启发式方法

一方面,我们看到脆弱的 if-else 硬编码提示,另一方面,我们看到过于笼统或错误地假设共享上下文的提示
组织结构建议:
- • 使用 XML 标记或 Markdown 标题划分不同部分
- • 典型部分:
<background_information>、<instructions>、<tool_guidance>、<output_description>等 - • 随着模型功能越来越强大,提示词的确切格式可能变得不那么重要
🎯 实践指南:无论您决定如何构建系统提示词,都应该力求用最少的信息来完整概括您的预期行为。(请注意,最少并不一定意味着简短;您仍然需要预先向Agent提供足够的信息,以确保其遵循预期行为。)最好先使用最佳模型测试最小提示词,以了解其在您的任务中的表现,然后根据初始测试中发现的故障模式添加清晰的说明和示例,从而提升性能。
工具
💡 核心价值:工具允许Agent在其环境中运行,并在工作过程中引入新的、额外的上下文。
由于工具定义了Agent与其信息/行动空间之间的契约,因此工具提升效率至关重要,这既可以通过返回 token 高效的信息来实现,也可以通过鼓励高效的Agent行为来实现。
工具设计原则:
- • 自包含性:工具应该自包含、对错误具有鲁棒性,并且其预期用途极其清晰
- • 输入参数:应具有描述性、明确性,并充分发挥模型的固有优势
- • 避免功能臃肿:工具集应最小可行,避免在选择工具时出现模糊的决策点
⚠️ 常见陷阱:我们看到的最常见的失败模式之一是工具集臃肿,涵盖了过多的功能,或者导致在选择工具时出现模糊的决策点。如果人类工程师无法明确指出在特定情况下应该使用哪种工具,那么就无法指望 AI Agent能做得更好。
五、示例
💡 最佳实践:提供示例,也称为少样本提示,是一种众所周知的最佳实践,我们始终强烈建议这样做。
实施建议:
- • ❌ 避免在提示词中塞入一长串边缘情况
- • ✅ 推荐整理一组多样化、规范的示例,以有效地描述Agent的预期行为
- • 🎯 核心理念:对于 LLM 来说,示例胜过千言万语
🌟 总体指导:我们对上下文各个组成部分(系统提示词、工具、示例、消息历史记录等)的总体指导是,务必深思熟虑,确保上下文信息丰富,但又不失严谨。
六、上下文检索和Agent搜索
在《构建高效的 AI Agent》一文中,我们重点介绍了基于 LLM 的工作流与代理之间的区别。自撰写该文章以来,我们倾向于为代提供一个简单的定义:在循环中自主使用工具的 LLM。
"即时"上下文策略
工作原理:
- • 代理维护轻量级标识符(文件路径、存储的查询、Web 链接等)
- • 使用这些引用在运行时通过工具动态地将数据加载到上下文中
- • 无需预先处理所有相关数据
实际案例:Anthropic 的Agent编码解决方案 Claude Code 使用这种方法对大型数据库执行复杂的数据分析。该模型可以编写有针对性的查询,存储结果,并利用 head 和 tail 等 Bash 命令来分析大量数据,而无需将完整的数据对象加载到上下文中。
认知映射:这种方法反映了人类的认知:我们通常不会记住整个信息库,而是引入外部组织和索引系统(例如文件系统、收件箱和书签)来按需检索相关信息。
元数据的价值
除了存储效率之外,这些引用的元数据还提供了一种机制,可以有效地优化行为,无论是明确提供的还是直观的。
元数据信号:
- • 文件夹层次结构:暗示文件用途和关系
- • 命名约定:表明文件的预期功能
- • 时间戳:作为相关性的指标
渐进式信息披露
让Agent自主导航和检索数据还能实现渐进式信息披露——换句话说,允许Agent通过探索逐步发现相关上下文。
优势:
- • 每次交互都会产生上下文,为下一步决策提供参考
- • Agent可以逐层整合理解,只在工作记忆中保留必要的内容
- • 利用结构化笔记策略来增强持久性,智能体定期将信息以笔记形式记录下来,并持久地存储在上下文窗口之外的内存中,以便后续重新载入上下文窗口使用。
- • 子智能体架构提供了另一种绕过上下文限制的方法。与其依赖单一智能体在整个项目过程中维持状态,不如采用专业化的子智能体来负责具体任务,并各自拥有独立清晰的上下文空间
策略
运行时探索比检索预先计算的数据要慢,并且需要深思熟虑的工程设计来确保 LLM 拥有合适的工具和启发式方法。
混合策略优势:
- • 预检索部分数据:提高速度
- • 自主探索:根据自身判断进行进一步的探索
- • 任务相关:"合适"自主级别的决策边界取决于具体任务
Claude Code 的混合模型:
- •
CLAUDE.md文件会被预先放入上下文中 - • glob 和 grep 等原语允许它导航环境并实时检索文件
- • 有效规避过时索引和复杂语法树的问题
适用场景:混合策略可能更适合内容动态性较低的环境,例如法律或金融工作。随着模型能力的提升,Agent设计将趋向于让智能模型智能地行动,并逐渐减少人工干预。
七、针对长期任务的上下文工程
长周期任务要求Agent在一系列操作中保持连贯性、上下文和目标导向行为,其中 token 数量超出了 LLM 的上下文窗口。对于持续数十分钟到数小时的任务,例如大型代码库迁移或综合研究项目,Agent需要专门的技术来突破上下文窗口大小的限制。
压缩
技术定义:压缩是指在对话接近上下文窗口上限时,对其进行总结,并使用该总结内容重新启动一个新的上下文窗口。
实施价值:压缩通常是上下文工程中实现更佳长期一致性的第一步。其核心是以高保真度的方式提取上下文窗口的内容,使Agent能够以最小的性能损失继续运行。
实际案例:在 Claude Code 中,我们通过将消息历史记录传递给模型来汇总和压缩最关键的细节来实现这一点:
- • 保留:架构决策、未解决的错误和实现细节
- • 丢弃:多余的工具输出或消息
- • 延续:Agent继续使用此压缩上下文以及最近访问的五个文件
设计思想:压缩的艺术在于选择保留什么和丢弃什么,因为过度的压缩可能会导致丢失细微但关键的信息,而这些信息的重要性只有在之后才会显现出来。
实践建议:
- • 在复杂的Agent跟踪上仔细调整提示词
- • 首先最大限度地提高召回率,确保压缩提示词能够捕获跟踪中的每一条相关信息
- • 然后通过迭代删除多余的内容来提高准确率
优化技巧:最安全、最轻量级的压缩方式之一是工具结果清除——一旦某个工具在消息历史记录中被深度调用,Agent为什么还需要再次查看原始结果?
结构化笔记
技术定义:结构化笔记记录,或称Agent记忆,是一种技术,Agent会定期将笔记写入上下文窗口之外的记忆中。这些笔记稍后会被拉回到上下文窗口。
价值主张:此策略以最小的开销提供持久内存。
实践模式:
- • 就像 Claude Code 创建待办事项列表
- • 或自定义Agent维护
NOTES.md文件 - • 允许Agent跟踪复杂任务的进度
- • 维护关键上下文和依赖关系,否则这些可能会在数十次工具调用中丢失
生动案例:Claude 玩宝可梦展现了记忆如何改变智能体在非编码领域的能力:
- • 精确记录:在数千个游戏步骤中保持精确的记录
- • 自主映射:无需任何记忆结构的提示,就能绘制已探索区域的地图
- • 战略笔记:记录战斗策略的战略笔记,帮助学习最有效的攻击方式
- • 连续性:上下文重置后读取自身笔记,继续进行长达数小时的训练
子Agent架构
技术定义:子Agent架构提供了另一种绕过上下文限制的方法。与其让单个Agent尝试维护整个项目的状态,不如使用专门的子Agent,利用清晰的上下文窗口来处理重点任务。
架构组成:
- • 主Agent:负责协调高层计划
- • 子Agent:执行深度技术工作或使用工具查找相关信息
工作流程:
- • 每个子Agent可能进行广泛的探索,使用数万个或更多的 token
- • 最终只返回其工作的精简摘要(通常为 1,000-2,000 个 token)
- • 主Agent专注于结果的综合和分析
架构优势:这种方法实现了清晰的关注点分离——详细的搜索上下文在子Agent中保持独立,而主Agent则专注于结果的综合和分析。
八、选择合适的方法
决策框架:这些方法的选择取决于任务特性

发展趋势:即使模型不断改进,在扩展交互中保持一致性的挑战仍然是构建更有效的Agent的核心。
九、结论
上下文工程代表了我们使用 LLM 构建方式的根本性转变。随着模型功能越来越强大,挑战不仅在于设计完美的提示词,还在于精心策划在每一步中哪些信息可以进入模型有限的注意力预算。
🎯 核心原则:无论您是为长期任务实施压缩,设计高效的 token 工具,还是使Agent能够实时探索其环境,指导原则始终不变:找到最小的高信号 token 集,以最大化实现期望结果的可能性
技术演进:我们概述的技术将随着模型的改进而不断发展。我们已经看到,更智能的模型需要更少的规范性工程,从而使Agent能够更自主地运行。
根本理念:但即使能力不断扩展,将上下文视为宝贵的有限资源仍然是构建可靠、高效Agent的核心。
十、AI大模型从0到精通全套学习大礼包
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
只要你是真心想学AI大模型,我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!
如果你也想通过学大模型技术去帮助就业和转行,可以扫描下方链接👇👇
大模型重磅福利:入门进阶全套104G学习资源包免费分享!

01.从入门到精通的全套视频教程
包含提示词工程、RAG、Agent等技术点
02.AI大模型学习路线图(还有视频解说)
全过程AI大模型学习路线


03.学习电子书籍和技术文档
市面上的大模型书籍确实太多了,这些是我精选出来的


04.大模型面试题目详解


05.这些资料真的有用吗?
这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。
所有的视频由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势,构建起"前沿课程+智能实训+精准就业"的高效培养体系。
课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事!

如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!
应届毕业生:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。
零基础转型:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界。
业务赋能 突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐



所有评论(0)