long_context零基础约 60 分钟
第 0-4 课
上下文窗口、记忆与长任务:为什么“更长”会让 Agent 更能干
参考:来源 D · Anthropic
学完你能做到
- 理解上下文窗口是“本轮可见工作记忆”,不是永久记忆
- 理解长上下文为何能提升多步骤任务能力
- 同时理解上下文污染、压缩和外部记忆为何仍然必要
上下文窗口是什么
先建立直觉
模型每一轮只带着一张有限大小的白板工作。它看得到白板上的内容,却不会自动保存上一张白板。白板越大,能同时摆下的任务、资料、代码和刚做过的步骤越多。
为什么上下文长度增加会促进 Agent 进步?
| 短上下文时容易发生 | 更长窗口带来的帮助 | 仍然不能保证 |
|---|---|---|
| 忘掉最初目标或用户约束 | 同时保留目标、验收标准和更多历史 | 模型真的理解并遵守 |
| 工具调用很多后,忘记已试过什么 | 保留更长的工具轨迹和失败原因 | 不会重复无效尝试 |
| 无法同时看足够的代码/文档 | 能比较更多文件与相互依赖 | 能找到真正相关部分 |
| 被迫太早总结,丢掉细节 | 延后压缩,保留更多原始证据 | 信息不会变得嘈杂或矛盾 |
记忆、RAG、压缩分别解决什么
先建立直觉
白板不够时,不是把整间图书馆塞到桌上。你会写进度便签(记忆)、去书架取需要的书(RAG),并把已经完成的讨论整理成摘要(压缩)。
案例推演:一项三天研究任务怎样穿过上下文窗口
Agent 要比较 40 篇论文。第一天读了 12 篇,第二天上下文接近上限,第三天若只截断旧消息,就会忘掉纳入标准、已排除论文和未解决冲突。
本节追问:什么应该留在即时上下文,什么应该写入可恢复的外部状态? 先不要急着看结论。沿着下面四步,逐项区分输入、决策、证据和失败信号。
| 阶段 | 本步要做的决定 | 什么算证据 | 最常见的失败 |
|---|---|---|---|
| 分离状态 | 区分原始证据、工作记忆、长期记忆和任务状态 | 每类信息有位置、格式和保留周期 | 把聊天记录当成唯一记忆 |
| 压缩过程 | 将已完成阅读转成结构化证据表 | 摘要能回到页码与原文核验 | 压缩成一句没有来源的结论 |
| 恢复任务 | 新一轮加载目标、进度、开放问题和必要证据 | 中断后能从检查点继续 | 重新阅读所有历史消息 |
| 验证遗忘 | 测试关键约束在压缩后是否仍可回答 | 有恢复测试与冲突检测 | 窗口没报错就认为记忆正常 |
阅读方式:先遮住后两列自己回答,再用“证据”和“失败”两列检查理解。
常见误解
只购买更长的上下文窗口
实际上
可观察症状:任务晚一点才崩溃,但噪声、成本和注意力竞争仍存在。
更可靠的修复:同时设计选择、压缩、外部记忆、检查点和恢复验证。
案例工作坊 · 建议真正动手完成
25 分钟- 把研究任务的信息分成“本轮必需”“可检索”“必须持久化”三栏。
- 写一个中断检查点,至少含目标、进度、证据和待办。
- 设计一次“压缩后约束是否丢失”的测试。
查看参考答案
更长窗口提高单轮可用信息上限,但长任务能力来自窗口、外部状态、检索、压缩和恢复协议的组合。不能把长度等同于记忆。
迁移检查:换一个场景还会不会
上下文快满时,最危险的简单处理是?