上下文工程:Harness 的记忆管理
上下文窗口是最稀缺资源。学习 Harness 如何做上下文装配、压缩与隔离,让智能体"长跑不忘事"。
上下文工程 > 提示工程
单轮提示词 optimization 是初级问题;Agent 场景的核心矛盾是:任务越干越长,而窗口永远有限。上下文工程(Context Engineering)决定每一轮"给模型看什么"。
四种基本策略
- 装配(Assembly):系统规则 + 工具清单 + 关键记忆 + 当前任务的固定骨架,动态部分只换"弹药";
- 压缩(Compaction):历史快满时,用模型把旧对话压缩成摘要,保留结论与未完成事项(Claude Code 的 auto-compact 就是这个);
- 外置(Externalization):大块信息不进窗口,写进文件/数据库,只留指针,要用时再按需读取 —— "文件系统就是外部记忆";
- 隔离(Isolation):子任务交给子 Agent 在独立窗口里干,只把结论带回主对话,避免中间噪音污染主线。
什么时候用什么
- 信息后续还要用但很大 → 外置成文件;
- 信息只需短期参考 → 留在窗口;
- 历史超过窗口 70% → 触发压缩;
- 子任务探索空间大(如全局搜索)→ 隔离给子 Agent。
与站内知识的连接
这套思想你已经见过:Memory 课程的窗口/摘要策略 = 压缩;RAG = 按需外置检索;多轮对话 RAG 的查询凝练 = 隔离前的信息蒸馏。Harness 只是把这些从"单点技巧"组合成了"运行时记忆体系"。
评估一个 Harness 好不好,就问一句:任务跑到第 50 步时,模型还能看到最重要的事实吗?
📝 课后练习
quiz-1 智能体长任务中,对话历史接近上下文窗口 70% 时应该?