智能摘要
上下文工程的核心是管理大模型工作记忆,通过构建最小高信噪比的上下文窗口内容来优化多轮推理质量。其本质区别于Prompt Engineering,在于控制模型“看到什么”而非“如何表述”。针对Agent场景中上下文膨胀与注意力稀释问题,六层架构提供系统解法:压缩重启实现信息摘要与窗口重置,外化记忆将关键数据持久化至文件系统,即时加载按需引入外部信息,上下文隔离通过多Agent分治避免干扰,工具设计以遮蔽机制维持KV Cache效率,缓存友好结构确保前缀稳定以提升计算复用。
— 此摘要由AI生成仅供参考。
大模型推理时的信息来源仅包括参数知识(训练阶段获得,推理阶段不可改)和上下文窗口内容。上下文工程本质是构建大模型的工作记忆,决定其决策时能看到的信息,进而影响行为质量。
- Prompt Engineering:关注措辞、格式、few-shot 示例等 “怎么说” 的问题。
- 上下文工程:关注每轮推理时上下文窗口中 “看到什么”,包括信息的选择、结构排列。
- 核心差异:Agent 是多轮推理循环(典型任务平均调用 50 次工具),上下文信息不断累积,存在 “窗口有限但信息膨胀” 的矛盾,即使窗口够大,过多信息也会稀释注意力、降低性能。
- 目标:找到最小的高信噪比 Token 集合,最大化期望结果的概率(Anthropic 指导原则)。
- 定义:当对话接近上下文窗口上限时,用模型对当前上下文做摘要总结,以摘要重新初始化新窗口(类似写笔记后翻页继续)。
- 关键:选择保留 / 丢弃信息,Anthropic 建议先最大化召回重要信息,再迭代提升精确度。
- 优化示例:清理已完成工具调用及原始返回结果,仅保留结论(如 Claude Code 自动触发压缩)。
- 定义:将非当前对话但后续步骤 / 会话需用的关键信息主动写入外部文件系统(Structured Note Taking)。
- 作用:实现跨上下文 / 会话的持久记忆,避免依赖上下文压缩保留。
- 示例:Claude Code 创建 todo list 追踪进度,Manus 维护 NOTES.md 记录中间结论;Claude 玩宝可梦时在外部文件维护计数、训练进度、战斗策略等。
- 洞察:文件系统是上下文架构的核心组成部分,而非辅助工具,代码和数据存于文件,上下文仅保留结论和下一步操作。
- 与传统 RAG 区别:传统 RAG 在用户提问后一次性检索所有相关信息;Agent 场景无法提前预知后续步骤所需信息,故采用即时加载。
- 做法:维护轻量级标识符(文件路径、数据库查询、网页链接),需要时读取,用完可在压缩时清理。
- 示例:Claude Code 分析大型代码库时,用 grep 和 glob 命令即时搜索、按需读取,仅在启动时注入 CLAUDE.md 提供全局指引。
- 本质:上下文存放 “获取信息的能力” 而非 “信息本身”。
- 定义:采用多 Agent 架构(Multi Agent Architecture),主 Agent 规划分配任务,子 Agent 处理独立子任务,避免不同子任务上下文互相干扰。
- 示例:Manus 架构中,planner 拆分任务、knowledge manager 审查对话并决定保存内容、executor 执行具体任务,各子 Agent 上下文仅含自身所需信息;Claude Code 演进为多 Agent,子 Agent 完成后仅返回结果,中间过程不污染主 Agent 上下文。
- 本质:“分治法” 在上下文层面的应用。
- 重要性:工具定义占据上下文空间,返回结果是上下文膨胀主因,工具集大小影响决策质量。
- 反直觉发现:更多工具可能降低 Agent 性能,因模型易选次优操作或低效路径;若人类工程师无法确定工具选择,AI Agent 也难以做好。
- 工程技巧:工具定义位于上下文前部,动态增删会导致 KV Cache 失效,故采用 “遮蔽”(masking)当前不需要的工具,模型解码时无法选择被遮蔽工具,但工具定义不变,KV Cache 保持完整。
- 关键指标:生产级 AI Agent 质量的核心指标是 KV Cache 命中率,决定延迟和成本(如 Claude Sonnet 启用 prompt caching 后成本从每百万 token3 美元降至 0.3 美元,省 90%)。
- 核心原则:上下文结构尽量 “追加式”,稳定内容(系统指令、工具定义)放最前面形成固定前缀,每轮新内容追加在后面,前缀 KV Cache 可复用,仅需计算新追加部分。
- 注意:中途修改前缀内容(如增删工具、重写系统指令)会导致缓存作废,代价巨大。
- 建议:不擦除 Agent 执行过程中的错误步骤,失败是证据,模型看到错误可避免重复犯错。
- 问题:长任务中 Agent 易因目标被埋在上下文中间而 “忘记” 总体目标(“lost in the middle” 现象)。
- 解决方案:每步结束后让 Agent 重写 todolist,将当前目标和剩余任务刷新到上下文末尾,利用模型对末尾内容注意力更强的特性。
- 上下文工程是管理大模型推理时工作记忆的系统工程,目标是用最小高信噪比 Token 集合最大化期望结果概率。
- Agent 需上下文工程的原因:多步执行导致上下文不断膨胀,信息过多会稀释注意力、降低性能,无法跑复杂任务。
- 六层工程内容:压缩重启、外化记忆、即时加载、上下文隔离、工具设计、缓存友好架构。
- 加分细节:保留错误信息作为学习信号,Todo 复述对抗注意力衰减。
文章评论