开场:上下文管理正在成为 Harness 优化的核心战场
随着 Agent 任务变长,上下文管理不再是可选项。它正在成为 Harness 优化的核心战场。
一句话速览:ACE → MCE → Meta-Harness:优化对象从 prompt 内容演进到管理机制代码。
一、优化对象的演进:五层递进
模型越智能、越强大,我们能优化的目标就越复杂、方法越通用。这条演进线从调 prompt 一路到优化写优化器的代码:
| Level | 优化对象 | 说明 |
|---|---|---|
| Level 1 | 指令 Prompt | 手写提示词,引导模型行为 |
| Level 2 | 结构化上下文 | 把上下文组织成结构化条目 |
| Level 3 | 工作流 | 优化多步骤的编排流程 |
| Level 4 | Harness 代码 | 优化决定信息存取与呈现的系统代码 |
| Level 5 | 优化器代码 | 优化「优化 Harness 的机制」本身 |
二、问题:上下文膨胀——简单追加 = 失控
把所有工具响应和模型生成简单追加到上下文中,随着 Agent 任务时长增加会迅速失控。
长上下文研究会持续进步,但目前长上下文智能和上下文工程往往交织在一起:上下文管理是在 LLM 有限注意力下构建更结构化、简洁上下文的关键层。
三、ACE:Agentic Context Engineering
说人话:上下文就是 AI 的工作记忆——它眼前能看到的所有资料。ACE 的思路是:别让记忆变成一锅粥,要维护一本条理清晰的工作手册。干活的人(Generator)照手册干活,复盘的人(Reflector)总结经验教训,管手册的人(Curator)把教训一条条整理进手册。手册越用越精,不会越用越厚。
上下文是不断演进的剧本,不能任由 Prompt 不断增长。
ACE(Zhang et al. 2025)维护一份结构化的 bullet point 剧本,每条包含 identifier 和 description。三个组件协作维护这份剧本:
- Generator 生成器: 执行任务、生成轨迹,参考剧本中的 bullet points 作为指引。
- Reflector 反思器: 从成功和失败的轨迹中提炼洞察,萃取经验教训。
- Curator 策展器: 用增量的、条目化的 entries 更新结构化上下文,定期精炼去重。
关键设计: Curator 输出结构化的 (identifier, description) 条目,用确定性逻辑合并进剧本,从不重写整块 prompt blob。这避免了迭代重写时的上下文坍缩和简洁偏差。
四、MCE:Meta Context Engineering
说人话:ACE 是把手册整理好,MCE 追问了一个更深的问题:整理手册的方法本身是不是也能优化?比如按时间排还是按主题排?记大纲还是记细节?MCE 把记什么(内容)和怎么记(方法)分开,两头一起进化:不仅笔记越来越好,记笔记的方法也越来越聪明。
分离机制与内容,双层优化。 MCE(Ye et al. 2026)在 ACE 基础上更进一步:将如何管理上下文(机制/Skill)与上下文中有什么(内容)分离,在两个层面同时优化。
一个 MCE Skill 定义了上下文函数 c = F(x; ρ):
- ρ = 静态组件(prompts、知识库、代码库)
- F = 动态算子(搜索、选择、过滤、格式化)
双层优化(就两句话): 内层——用当前的记笔记方法,把笔记写到最好;外层——比较不同的记笔记方法,选出最好的那套方法。先优化内容,再优化方法,轮流来。
内层:c* = argmax J_train(c; s) ← 给定 skill s,找最优上下文
外层:s* = argmax J_val(c*) ← 找最优 skill(在验证集上)
- Skill 数据库: H = {(s_i, c_i, J_train_i, J_val_i)} 跟踪历史
- 技能进化: s_new = crossover(task, H) ← Meta-agent 执行 agentic crossover
- 上下文优化: c_new = engineer(task, s_new; c_prev, Rollouts)
实现:上下文函数 = 文件系统中的目录。 MCE 中一个 context function 被实例化为专用目录中的文件集合:
- 静态文件: skill.md(存储任务最重要的知识)
- 动态文件: 上下文数据和 rollout 记录
meta-level 和 base-level 优化都在标准编码环境中执行,使用工具集:Read, Write, Edit, Bash, Glob, Grep, TodoWrite。
五、Meta-Harness:优化 Harness 的 Harness
说人话:这是套娃的最外层。ACE 优化笔记内容,MCE 优化记笔记的方法,Meta-Harness 直接优化整个工作台的源代码。相当于让 AI 重新装修整个车间,远不止换工具、换方法。威力最大,但也最烧算力(每改一版都要完整试运行打分)。
优化对象:决定信息存储、检索和呈现的代码。 Meta-Harness(Lee et al. 2026)更深一层:被优化的不再是上下文内容,而是决定什么信息应该被存储、检索和呈现给模型的代码本身。它是优化 Harness 的 Harness。
- Proposer 本身是一个编码 Agent
- 输出是 Pareto 前沿上的 Harness 候选集合
- 执行历史通过文件系统访问: coding agent 用 grep/cat 按需读取,避免全塞进 prompt
- 每个提出的 harness 是文件系统中的字典: 包含源码、分数、轨迹和状态更新
六、三种方法对比
| 方法 | 核心思路 | 更新方式 | 定位 |
|---|---|---|---|
| ACE | 从轨迹中学习 | 规则化的 Generator→Reflector→Curator 管线维护结构化 bullet points | 更新规则仍手工设计 |
| MCE | 进化管理机制 | free-form skills 存储知识,双层迭代进化 skill 和 context | 机制本身可变 |
| Meta-Harness | 优化整个系统代码 | Proposer 是编码 Agent,输出 Pareto 前沿候选集 | 最通用但计算最重 |
结语
一旦 harness 设计变成可执行的搜索空间,强编码 Agent 就能利用人类工程师使用的同一设计空间。 上下文工程的未来是让系统自动学会什么时候存什么、怎么检索、怎么呈现——再聪明的手写 prompt 也只是过渡。