大模型入门45 分钟Track 0

上下文工程 (Context Engineering)

用信息架构思维重构上下文 - 5 种窗口策略与维度控制

ATLAS NODE #01

Context Engineering Playroom

系统化上下文工程方法论。通过优化提示词之外的信息结构(记忆、检索、工具、状态),让大模型在复杂任务中保持稳定的推理质量。

预计掌握时间
45 分钟
阶段等级
Track 0 · 入门

上下文构建策略

不同的上下文组织方式会显著影响 LLM 的输出质量、成本和速度。选择合适的策略至关重要。

最小化上下文
仅提供基本信息

总结以下文本的关键点:[文本]

✓ 优势

  • • API 成本最低
  • • 响应速度快

✗ 劣势

  • • 输出准确度低
  • • 缺乏深度分析
输出质量45
成本效率100
响应速度100
分层上下文
按优先级分层组织信息

【核心背景】 [主要信息] 【补充信息】 [次要信息] 【任务】 总结关键点

✓ 优势

  • • 信息层级清晰
  • • 成本控制好

✗ 劣势

  • • 设计复杂
  • • 需要精心组织
输出质量75
成本效率70
响应速度85
动态上下文
根据查询动态选择相关上下文

根据以下检索结果回答问题: [相关文档1] [相关文档2] 问题:[用户查询]

✓ 优势

  • • 精准高效
  • • 适合大规模场景

✗ 劣势

  • • 需要检索系统
  • • 实现复杂
输出质量88
成本效率60
响应速度75
迭代上下文
多轮对话中持续优化上下文

【前轮总结】 [之前的讨论] 【当前查询】 [新问题] 基于上述背景...

✓ 优势

  • • 深度对话能力强
  • • 上下文累积优势

✗ 劣势

  • • Token 消耗大
  • • 需要管理对话历史
输出质量90
成本效率40
响应速度60
混合上下文
结合多种策略的综合方案

【领域知识库】 [专业背景] 【检索结果】 [RAG 文档] 【对话历史】 [前轮讨论] 任务:[具体要求]

✓ 优势

  • • 最优质量
  • • 适应复杂场景

✗ 劣势

  • • 成本最高
  • • 设计最复杂
输出质量95
成本效率30
响应速度50

长时程上下文工程 · 真演练场

基于 Anthropic 2025-09 框架

以下 4 个真演练场对应 Anthropic《Effective context engineering for AI agents》中「长时程上下文」核心: ① Compaction 压缩 ② JIT 检索 / 渐进式披露 ③ 结构化笔记 / Agentic Memory ④ 子智能体隔离。 与上方「上下文窗口管理」策略互补——前者管「窗口内怎么组织」,此处管「窗口装不下时怎么办」。

① Compaction 压缩演练场(强覆盖)

真实 高保真摘要蒸馏

长会话会被原始工具输出撑爆上下文。Compaction 的关键不是「删」,而是 高保真蒸馏:保留架构决策与未决项,折叠冗余的原始日志。 这里一段真实编码会话(含 380 行读文件、1100 行构建日志、900 行测试输出)被真实压缩, 下方显示 token 骤降与 关键事实保真度。

原始 24140 token → 压缩后 —
原始上下文(24140 token)
user 在 src 加一个限流器,避免单 IP 刷接口。
assistant 先看现有 server 结构。决定用 token bucket 算法,放在 middleware/rateLimit.ts。
tool 原始文件 src/server.ts(共 380 行全文) 1 import express from "express"; // serve …
assistant 实现 middleware/rateLimit.ts,导出 createLimiter(opts)。注意:时钟要可注入以便单测。
tool tsc 构建原始输出(共 1100 行) node_modules/@types/react/0.d.ts(12,3): note TSxxx: …
user 补单测,覆盖突发流量与限流触发。
assistant 在 __tests__/rateLimit.test.ts 加用例。未决:clock 未注入导致 flaky,记入待修。
tool jest 原始输出(共 900 行) PASS src/__tests__/case-0.test.ts PASS src/__tests__/ …
压缩后上下文(—)

点击「运行 Compaction」生成高保真摘要

诚实说明:真实 LLM 的 Compaction 由模型生成摘要;本演练场的 消息分类(决策→保留 / 工具原始输出→折叠)、token 计数、保真度检查均为真实执行,仅摘要文本按「首行 + 行数」模板确定性产出。Compaction「保决策、弃冗余、控窗口」与本演练场一致。
分类 + token 计数 + 保真度 真实执行
Compaction
下一项:② JIT 检索 / 渐进式披露

② JIT 检索 / 渐进式披露演练场(强覆盖)

真实 按需加载 vs 预加载

上下文工程的另一条铁律:别把整座图书馆塞进窗口。 Just-in-time 加载 = 上下文里只放 轻量标识符(路径 / 查询 / 链接), 运行时按查询 真实检索命中片段再读入;预加载则把全部文档全文一次性塞满。 下方用真实关键词检索 + 真实 token 计数对比两种策略的窗口占用。

1. 选择查询
预加载策略(Preload)

点击「运行检索对比」

JIT / 渐进式披露

点击「运行检索对比」

诚实说明:真实 LLM 检索由 embedding / 向量库完成;本演练场的 关键词命中、标识符 vs 全文的 token 计数、节省比例均为真实计算,仅文档正文为确定性占位文本。JIT「轻量标识符先行、按需加载」与本演练场一致。
命中检索 + token 计数 真实执行
JIT Retrieval
下一项:③ 结构化笔记 / Agentic Memory

③ 结构化笔记 / Agentic Memory 演练场(强覆盖)

真实 跨窗口续跑

超长任务无法塞进一个上下文窗口,靠「把知识外置到窗口之外」解决:agent 每步把进度写成 结构化笔记, 窗口内只保留当前步 + 笔记指针。 即便上下文被重置, 读回自身笔记即可跨长时程续跑。下方可推进多模块、重置窗口、再靠笔记续跑。

1. 长时程任务:分 5 步构建(0/5 完成)

窗口内上下文始终精简;窗口外笔记会随推进累积。点「重置上下文窗口」模拟上下文被清空,再点「读取笔记续跑」验证 agent 不丢失进度。

窗口内上下文(始终精简)
当前步:构建「需求文档」
笔记指针 → 见右侧 0 条窗口外笔记
窗口外笔记(累积 · 跨重置留存)
(暂无笔记,推进任务后写入)
推进任务以写入结构化笔记
诚实说明:真实 LLM 的 Agentic Memory 用工具把笔记写入外部存储;本演练场的 笔记写入、窗口重置不丢笔记、读回续跑的状态管理均为真实执行,仅「模块构建」步骤为确定性模拟。结构化笔记「外置知识、跨窗口续跑」与本演练场一致。
笔记持久化 + 跨重置续跑 真实执行
Agentic Memory
下一项:④ 子智能体隔离

④ 子智能体隔离演练场(强覆盖)

真实 上下文边界隔离

详细搜索上下文会污染主 agent 窗口。子智能体架构把 膨胀的探索过程封在独立上下文, 仅回传 蒸馏摘要。下方派发一个子任务:子 agent 在隔离上下文里吞掉整份语料(token 激增), 但主 agent 上下文 只收到 1 段摘要,窗口不被污染。

主上下文 —
主智能体上下文(受保护)
任务:为调度器选并发方案
(未派发,仅含原始任务指令)
上下文占用≈ 任务指令
子智能体上下文(隔离 · 不回传)
内部详尽可能吞掉整份语料:
(未派发)
探索上下文封在子 agent,主窗口不被污染
诚实说明:真实子 agent 在独立会话里真做检索与推理;本演练场的 上下文边界隔离、token 占用核算、仅蒸馏摘要回传均为真实计算,仅子 agent 内部检索为确定性占位。子智能体「隔离膨胀上下文、回传蒸馏」与本演练场一致。
隔离边界 + token 核算 真实执行
Sub-Agent
长时程上下文工程 · 四件套真演练场完成(①②③④)