嘿,大家好!这里是一个专注于前沿AI和智能体的频道~
Anthropic 最近又发了一篇关于 AI Agents 的博客,过去几个月已经连续好几篇了。
我觉得他们关于Agents的内容整体都挺好的,写的也很有实践意义。
今天的分享,围绕一个核心问题:如何配置上下文,才能让模型持续输出期望的行为。
TLDR:
上下文是有限资源,存在 Context Rot现象。 好的上下文工程 = 找到最小的高信号 token 集,最大化期望结果。
长时间任务三板斧:压缩、结构化笔记、子智能体。
新的趋势是 Just-in-time策略:不预处理所有数据,而是维护轻量级标识符(文件路径、链接),运行时动态加载。
混合策略是实践共识,Claude Code 采用混合模型:CLAUDE.md 直接放入上下文(预处理),glob/grep 让 Agent 即时探索。
一、什么是上下文工程?
先说清楚概念。上下文指的是调用大模型时包含的所有 token。
而上下文工程就是在 LLM 固有约束下,优化这些 token,以实现预期结果的工程问题。
简单来说:提示工程关注的是“怎么写好提示词”,上下文工程关注的是“怎么管理整个上下文状态”——包括系统指令、工具、外部数据、消息历史、MCP等所有信息。
早期,大多数用例是一次性的分类或文本生成任务,写好提示词就够了。
但现在我们要构建的是能在多轮推理、长时间运行的 Agent,这些 Agent 每次循环都会生成更多可能相关的数据,这些信息必须被持续精炼。
二、为什么上下文很珍贵!
Anthropic的核心insight是:上下文是有限资源,边际收益递减。
尽管模型能处理越来越大的上下文窗口,但研究发现了一个现象叫 Context Rot——随着上下文 token 数量增加,模型准确召回信息的能力会下降。
这不是某个模型的问题,而是所有模型的共性。
原因在于 Transformer 架构本身:每个 token 都要关注(attend)其他所有 token,这产生了 n² 的两两关系。上下文越长,模型捕获这些关系的能力就越被稀释。
这意味着:好的上下文工程就是找到最小的、高信号的 token 集合,最大化期望结果的可能性。
三、上下文的构成
Anthropic 给出了覆盖上下文的各个组成部分:
System Prompts
要极其清晰,使用简单直接的语言,并且要在正确的高度呈现想法。
那什么叫正确的高度?Anthropic 指出了两个极端的失败模式:
- 一个是把复杂的、脆弱的 if-else 逻辑硬编码进提示词
- 另一个是提供模糊的、高层次的指导,无法给 LLM 具体信号
最优的高度在中间:足够具体以有效引导行为,又足够灵活让模型获得强启发式指导。
建议用 XML 标签或 Markdown 标题组织提示词(如<background_information>,## Tool guidance等),但格式也逐渐变得不那么重要,因为模型越来越强了。
核心原则是:追求完整可以概述预期行为的最小集合。但是,最小不等于短——仍然需要给 Agent 足够的前置信息。
Tools
工具让 Agent 能与环境交互、拉取新上下文。
最常见的失败模式是:工具集臃肿,覆盖太多功能,或导致使用哪个工具的决策点模糊不清。
如果人都无法明确说出某个情况该用哪个工具,AI Agent 更做不到。
Examples
Few-shot prompting 是公认的有效方法。
但 Anthropic 提到,不建议把一堆边缘案例塞进提示词,试图阐述 LLM 应该遵循的每条规则。
相反,应该想办法构建一组多样的、典型的示例,有效展示 Agent 的预期行为。
对 LLM 来说,示例就是一图胜千言。
四、从预处理到即时策略
传统做法是用基于向量的检索在推理前就把相关上下文准备好。
但现在越来越多人在用 Just-in-time 上下文策略。
核心思路:不预处理所有相关数据,而是维护轻量级标识符(文件路径、存储查询、网页链接等),用工具在运行时动态加载数据到上下文。
Anthropic 自己的 Claude Code 就是这么做的。模型可以写目标查询、存储结果,利用 Bash 命令如 head 和 tail 分析大量数据,而不用把完整数据对象加载到上下文。
这种方式模仿人类认知:我们不会记住整个信息语料库,而是引入外部组织和索引系统(文件系统、收件箱、书签)按需检索相关信息。
这种方法还实现了 Progressive Disclosure ——让 Agent 通过探索逐步发现相关上下文。
每次交互产生的上下文为下一个决策提供信息:文件大小暗示复杂度;命名规范暗示用途;时间戳可以代表相关性。
当然,这有权衡:运行时探索比检索预计算数据慢。
而且需要有非常精妙的工程,确保 LLM 有正确的工具和启发式方法来有效找到信息。
最有效的 Agent 可能采用混合策略:部分数据预先检索以提高速度,部分由 Agent 自主探索。
Claude Code 就是混合模型:CLAUDE.md 文件会直接放入上下文,而 glob 和 grep 等原语让它能即时导航环境、检索文件。
五、长时间任务的上下文工程
对于需要几十分钟到几小时连续工作的长时间任务,Agent 需要专门技术来应对上下文窗口限制。
Anthropic 提供了三个策略:
Compaction
把接近上下文窗口限制的对话进行总结,用摘要重新启动新的上下文窗口。这通常是上下文工程的第一个杠杆。
在 Claude Code 中,会把消息历史传给模型总结压缩关键细节。模型保留架构决策、未解决的 bug、实现细节,同时丢弃冗余的工具输出或消息。然后 Agent 用压缩后的上下文加最近访问的 5 个文件继续工作。
压缩的艺术在于选择保留什么、丢弃什么。过度激进的压缩可能丢失微妙但关键的上下文。
Structured Note-taking
也叫智能体记忆。Agent 定期把笔记写到上下文窗口外的持久化内存中,之后再拉回上下文窗口。
Claude Code 创建待办清单,或你的自定义 Agent 维护 NOTES.md 文件,这种简单模式让 Agent 跨复杂任务追踪进度,维护原本会在几十次工具调用中丢失的关键上下文和依赖。
Sub-agent Architectures
与其让一个 Agent 维护整个项目的状态,不如让专门的子智能体处理有清晰上下文窗口的聚焦任务。
主 Agent 用高层计划协调,子智能体执行深度技术工作或使用工具查找相关信息。
每个子智能体可能广泛探索,使用大量 token,但只返回结果的精简总结(通常 1,000-2,000 token)。
这实现了清晰的关注点分离——详细搜索上下文隔离在子智能体内,主 Agent 专注于综合和分析结果。
六、实践建议
在上下文的不同组成部分(系统提示、工具、示例、消息历史等)都要深思熟虑,保持信息丰富但紧凑。
选择哪种方法取决于任务特征:
- 上下文压缩适合需要大量来回的任务,保持对话流
- 记笔记适合有清晰里程碑的迭代开发
- 多智能体架构适合并行探索有回报的复杂研究和分析
如何在扩展交互中,保持连贯性,是构建 Agent 的核心。
七、最后
Anthropic 在 Sonnet 4.5 发布时,还在 Claude Developer Platform 上发布了公开测试版的记忆工具,地址在:http://anthropic.com/news/context-management
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括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 的正确特征了。