1. 上下文工程与提示词工程

上下文工程可以看作是提示词工程的延伸。

提示词工程说的是如何编写和安排对大模型的指令,让模型更容易给出理想的结果。

而上下文工程指的是,在模型推理时,怎样挑选和管理进入上下文的一整套信息,这些信息不仅来自提示本身,也包括各种可能以其他方式(比如工具调用)被放进上下文的内容

在用大模型做工程的早期,大部分工作都集中在提示词上,因为除了日常对话之外,许多场景都需要专门为一次性分类或文本生成任务优化过的提示。顾名思义,提示工程关注的核心是怎样把提示写得有效,尤其是系统提示。

但随着我们开始构建更强的智能体,这些智能体需要在多轮推理和更长时间尺度下运作(比如各种代码开发IDE),光靠写提示词已经不够了,我们还需要能管理整个上下文状态的策略,包括系统指令、工具、Model Context Protocol(MCP)、外部数据、消息历史等。

一个在循环中运行的智能体,会不断产出可能对下一轮推理有用的新信息,而这些信息需要被持续整理和提炼。

上下文工程关注的,就是在上下文窗口有限的情况下,从这一整套不断变化的内容里挑选出真正该放进去的部分,可以说既是一门技巧,也是一门方法论。

相比于写提示这种相对独立的任务,上下文工程是反复进行的;每次要决定把什么内容交给模型时,都要重新进行一轮整理和筛选。

2. 为什么上下文工程对于构建强大的智能体至关重要

尽管大语言模型处理速度快,能管理越来越多的数据,但我们观察到,它们和人类一样,在达到一定程度时会出现注意力分散或混乱的情况。

在“针捡干草堆”式的基准测试中,研究发现了“上下文退化”的现象:随着上下文窗口中的 token 数量增加,模型从中准确回忆信息的能力会下降。

虽然不同模型的衰减速度不同,但几乎所有模型都会表现出这一特性。

因此,上下文必须被视为一种有限资源,其边际效益会递减。

就像人类的工作记忆有限一样,大模型在解析大量上下文时也有一个“注意力预算”。每增加一个 token,这个预算就会被消耗一部分,因此需要更加仔细地挑选可以提供给模型的 token。

这种注意力稀缺源于大模型的架构限制。

大模型基于 Transformer 架构,每个 token 都可以关注上下文中所有其他 token,这意味着 n 个 token 会产生 n² 的两两关系。

随着上下文长度增加,模型捕捉这些两两关系的能力会被拉得很薄。

此外,模型的注意力模式是从训练数据分布中形成的,而短序列通常比长序列更常见,这意味着模型在处理全上下文依赖关系时经验不足,专门参数也较少。

模型在长上下文下仍然有很强能力,但在信息检索和长程推理上可能不如短上下文时精确。

因此,要构建高效智能体,必须进行谨慎的上下文工程。

3. 高效上下文的结构

由于大模型的注意力预算有限,良好的上下文工程意味着找到最少数量但信息量高的 token,以最大化实现预期结果的可能性。

System prompts 应当非常清晰,使用简单直接的语言,以适合智能体理解的高度呈现信息。这里的“高度”指的是避免两种常见失败模式的最佳平衡。

失败模式一,在提示词中硬编码复杂、脆弱的逻辑来引导模型产生特定行为,这种做法增加了系统脆弱性和维护难度。

失败模式二,提供过于模糊的高层指导,无法给模型具体信号。

最佳的高度应当兼顾这两者:足够具体以有效引导行为,同时又有一定灵活性,为模型提供强有力的启发式规则来引导行为。

在一个极端,我们会看到脆弱的 if-else 硬编码提示;而在另一个极端,则是过于笼统的提示,或者错误地假设双方有共享的上下文。

可以将提示词分成不同的部分(例如 <background_information>、、## 工具指南、## 输出说明 等),并使用 XML 标签或 Markdown 标题等方式来区分这些部分。不过,随着模型能力的提升,提示的具体格式可能不再那么重要。

工具让智能体能够与环境交互,并在工作过程中引入新的上下文。

由于工具定义了智能体与信息或行动空间的契约,因此它们的效率非常重要,不仅要返回 token 高效的信息,还要促使智能体行为高效。

我们经常看到的失败模式之一,是工具集合过于臃肿,覆盖过多功能,或导致在选择使用哪种工具时出现模糊的决策点。

如果人类工程师都无法明确指出在特定情况下应使用哪个工具,那么 AI 智能体更不可能做得比人类好。

提供示例,也就是少样本提示,是一个公认的最佳实践。

如果在提示词中堆砌大量边缘案例,试图将 LLM 在特定任务上应遵循的每条规则都体现出来,并不推荐。应努力挑选一套多样化、典型的示例,能够有效展示智能体的预期行为。

我们对上下文各组成部分(系统提示、工具、示例、消息历史等)的总体建议是:要谨慎、确保上下文信息充实,同时保持紧凑。

4. 上下文检索与自主智能检索

在anthropic另一篇文章《构建高效 AI 智能体》中,曾强调过基于 LLM 的工作流与智能体之间的区别。

智能体是循环中自主使用工具的大语言模型。

许多 AI 原生应用在推理前会采用基于嵌入的检索方式,提前获取重要上下文供智能体推理。

随着智能体方法的发展,团队越来越多地将这些检索系统与“即时上下文”策略结合使用。

采用“即时上下文”方法的智能体,会保持轻量级的标识符(文件路径、存储查询、网页链接等),并在运行时利用工具动态加载数据到上下文中

Anthropic 的智能体编程解决方案 Claude Code 就使用这种方式,可以在大数据量上执行复杂数据分析。

模型可以编写针对性查询、存储结果,并使用 Bash 命令如 head 和 tail 分析大量数据,而无需将完整数据对象加载到上下文中。这种方法类似于人类认知:我们通常不会记住整个信息库,而是通过文件系统、收件箱、书签等外部组织和索引系统按需检索信息。

这些标识符引用的元数据还能高效地指导行为,无论是显式提供的还是直觉性的信息。对于在文件系统中操作的智能体来说,tests 文件夹中的 test_utils.py 文件与 src/core_logic/ 下同名文件的用途明显不同。文件层级、命名规则、时间戳等都提供了重要信号,帮助人类和智能体理解信息的使用时机和方式。

智能体可以逐层构建理解,只在工作记忆中保留必要信息,并通过笔记策略进行额外持久化。这种自主管理的上下文窗口让智能体专注于相关信息,而不会被庞大但可能无关的信息淹没。

需要权衡的是:运行时探索比预取数据更慢,而且需要有经验的工程设计,确保 LLM 拥有正确的工具和启发式方法来有效导航信息空间。否则,智能体可能因工具使用不当、追踪死胡同或未能识别关键信息而浪费上下文。

在某些情况下,高效的智能体可能会采用混合策略:预先检索部分数据以加快速度,同时根据需要进行自主探索。

自主性“合适”程度的界限取决于任务。

Claude Code 就采用这种混合模式:CLAUDE.md 文件在上下文中初始加载,而 glob、grep 等原语允许它在环境中即时检索文件,有效规避过时索引和复杂语法树的问题。

混合策略可能更适合内容不太动态的场景,如法律或金融工作。

随着模型能力提升,智能体设计将倾向于让智能模型自主智能地行动,人工干预逐渐减少。在这一快速发展的领域,“做最简单可行的事情”仍然是基于 Claude 构建智能体的最佳建议。

5. 长周期任务的上下文工程

长周期任务要求智能体在操作序列中保持连贯性上下文一致性目标明确并持续的行为,这些任务的 token 数量可能超过 LLM 的上下文窗口。

对于持续几十分钟到数小时的任务,如大型代码库迁移或全面研究项目,智能体需要特殊技术来绕过上下文窗口的限制。

等待更大上下文窗口似乎是显而易见的策略,但在可预见的未来,不论上下文窗口大小,都可能受到上下文污染和信息相关性问题的限制

6. 应对上下文污染的方法

6.1 压缩

压缩是指在对话接近上下文窗口极限时,将其内容总结,并用总结重启新的上下文窗口。

压缩通常是上下文工程中提升长期连贯性的首要手段。核心在于以准确的方式提炼上下文窗口内容,使智能体能够在性能下降最小的情况下继续工作。

以 Claude Code 为例,我们将消息历史传给模型,总结并压缩最关键的细节。模型保留架构决策、未解决的 bug 和实现细节,同时丢弃冗余工具输出或消息。智能体随后在压缩后的上下文加上最近访问的五个文件继续工作,用户无需担心上下文窗口限制而保持连续性。

压缩的关键在于选择保留和舍弃的内容。

过度压缩可能导致丢失微妙但关键的上下文,其重要性可能在后续才显现。工程师在实现压缩系统时,应在复杂智能体轨迹上仔细调优提示。

首先保证最大化召回,确保压缩提示捕获轨迹中每条相关信息,然后迭代提高精确度,去掉冗余内容。

6.2 结构化笔记

结构化笔记,或称智能体记忆,是指智能体定期写笔记,并存储在上下文窗口之外的记忆中。这些笔记可在之后重新调入上下文。

这一策略提供了低开销的持久记忆。

例如 Claude Code 创建待办事项列表,或自定义智能体维护 NOTES.md 文件,这种模式允许智能体在复杂任务中跟踪进度,保持关键上下文和依赖关系,否则在多次工具调用后会丢失。

6.3 子智能体架构

与其让一个智能体维护整个项目状态,不如让专门的子智能体处理聚焦任务,保持干净的上下文窗口。

主智能体负责高层协调,子智能体执行深入技术工作或使用工具检索相关信息。每个子智能体可能处理数万 token 的探索,但只返回其工作的精炼总结(通常 1,000–2,000 token)。

这种方式实现了明确的职责分离,详细搜索上下文保留在子智能体内部,而主智能体专注于综合分析结果。

不同方法的选择取决于任务特性:

  • 压缩适合需要频繁交互的任务;
  • 笔记适合迭代开发、有明确里程碑的任务;
  • 多智能体架构适合复杂研究与分析,需要并行探索以获得收益。

即便模型持续改进,长时间交互中保持连贯性的挑战仍将是构建高效智能体的核心问题。

结论

上下文工程代表了构建 LLM 应用方式的根本转变。

随着模型能力提升,挑战不仅是编写完美提示词,而是谨慎管理每一步进入模型有限注意力预算的信息。

指导原则始终是:找到最少的高信息量 token 集,以最大化实现预期结果的可能性。

技术会随着模型进步持续演化,我们已经看到,更智能的模型需要的指导更少,使智能体能够更自主地运行。但即便能力提升,将上下文视为珍贵且有限的资源,依然是构建可靠、高效智能体的核心。

如何高效转型Al大模型领域?

作为一名在一线互联网行业奋斗多年的老兵,我深知持续学习和进步的重要性,尤其是在复杂且深入的Al大模型开发领域。为什么精准学习如此关键?

  • 系统的技术路线图:帮助你从入门到精通,明确所需掌握的知识点。
  • 高效有序的学习路径:避免无效学习,节省时间,提升效率。
  • 完整的知识体系:建立系统的知识框架,为职业发展打下坚实基础。

AI大模型从业者的核心竞争力

  • 持续学习能力:Al技术日新月异,保持学习是关键。
  • 跨领域思维:Al大模型需要结合业务场景,具备跨领域思考能力的从业者更受欢迎。
  • 解决问题的能力:AI大模型的应用需要解决实际问题,你的编程经验将大放异彩。

以前总有人问我说:老师能不能帮我预测预测将来的风口在哪里?

现在没什么可说了,一定是Al;我们国家已经提出来:算力即国力!

未来已来,大模型在未来必然走向人类的生活中,无论你是前端,后端还是数据分析,都可以在这个领域上来,我还是那句话,在大语言AI模型时代,只要你有想法,你就有结果!只要你愿意去学习,你就能卷动的过别人!

现在,你需要的只是一份清晰的转型计划和一群志同道合的伙伴。作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐