@dongxi_nlp: https://x.com/dongxi_nlp/status/2066991890348572950
摘要
本文是“Context Is A Projection Harness”系列的第6篇,深入探讨了coding agent中context management的核心问题,提出了将完整历史投影为模型所需的小视野的Harness方法,包括Large-Result Preview、Idle-Gap Microcompact、Old-Span Collapse和Auto-Compact Near The Limit等关键技术。
查看缓存全文
缓存时间: 2026/06/17 01:43
Context Is A Projection
Harness 系列文章之 6,关于 context management。
在 coding agent的世界里,昨日的重现,就是将昨日重要的事情映射到今天。
A transcript records what happened. Context decides what matters now.
每个 coding agent 最后都会遇到同一个问题: session 会越来会长。
Model 读过文件,跑过命令,搜过日志,改过代码,收到过 validation output,也回答过旧问题。
这些 context 如何管理?
The Naive Append Loop
最直觉的做法很简单,append transcript。但其实这是 context flooding。
一开始,model 似乎更聪明,因为它能看到更多。
很快就会遇到问题:
-
旧 tool output 会和当前 evidence 竞争
-
巨大的 shell log 会淹没下一条 instruction
-
retry message,partial read,旧 plan,stale summary 全部挤在一个不断变大的 blob 里
The Multi-Turn Loop
比 Naive Append Loop 更成熟一点的是 5 phase loop,这部分放在文章的末尾。
The Core Split
成熟的 Harness 会把三件事分开:
-
Durable log 应该完整和简洁,它服务 resume,audit,evals 和 debugging。
-
Model-visible context 应该被选择,是 model 为下一步行动需要看到的视图。
-
app state 应该结构化。它不能依赖旧 transcript text 是否还在 prompt 里。
在此,我们定义出了projection:
Projection means to turn the full history into the small, relevant view the model needs for the next step.
这对应了这篇文章的标题:
Context Is A Projection
Projection Happens Before The Model Call
Context management 应该发生在 model call 之前。
Harness projection pipeline:
-
先从完整 session log 开始,这是 source of truth
-
再看 context pressure:下一轮回答,tool use,evidence 还需要多少 context 空间
-
保留最近几轮 verbatim,因为这里通常放着当前任务
-
大的 output 变成 preview,完整内容留在 prompt 外
-
已完成的旧片段做显式 summary
-
注入当前 app state:changed files,validation,goal,tasks 和 fresh evidence
Four Projection Moves
每个动作解决 context management 中面临的不同问题
Large-Result Preview
有些 tool result 太大,不适合在每个 turn 原样放进 context。
例如:
-
test logs,grep output
-
generated files, web fetches
-
dependency trees
弱 Harness 会随机截断,更强的 Harness 则会把完整结果放到别处,然后在 model-visible context 里放一个稳定 preview。
Model 得到足够继续工作的 evidence。
Harness 保留足够的 metadata,用来 resume,inspect,或者重新加载完整结果。
Idle-Gap Microcompact
有些 context 因为时间过去而变得不那么重要。
比如用户吃完午饭回来,或者 session 空闲了一夜。
最新 goal 仍然重要,最近几次 edit 仍然重要。
很久以前的重复 read 和 command output,未必重要。
microcompact 是一个小动作:
Old-Span Collapse
有时一整段 messages 已经完成使命,Harness 可以把这段折叠成 summary。但 summary 应该显式存在:
Model 知道 collapse 发生过,用户可以检查保留下来的内容。
resume 可以围绕 compact boundary 重建 conversation,而不会把 summary 当成一条随机的新 user message。
Auto-Compact Near The Limit
当 context pressure 很高时,Harness 应该在 model call 失败前 compact。
好的实现不能只写一句 “if too long, summarize”。
它需要:
-
warning thresholds:提示用户 context 还剩余多少百分比
-
hard blocking thresholds:超过限制前需要block model call,要求 compact 后再继续
-
recursion guards:防止 compact 又触发新的 compact
-
restored attachments or state blocks:compact 后重新加入attachments、file state、validation、goal 和 tasks。
auto-compact 要保护下一轮,同时保留继续工作所需的 evidence。
The Multi-Turn Loop
context 的管理,在 Multi-turn Loop 中尤其重要。
一个 Multi-turn Loop 大概如下,分为 5 个 phase:
在 loop 中,The next turn 从 committed runtime state 开始。
Phase 2 context projection 负责生成 model-visible view。
Phase 5 负责提交变化,让下一轮从真实的 runtime state 开始。
从 model call 开始,coding agent 的世界状态发生了变化,划分成了昨天和今天。
Model 不需要整个过去,它需要正确的过去、当前 state,以及足够支持下一步的 evidence。
Harness Context management 就是管理和决定 model call 看到的 selected view。
相似文章
@Xudong07452910: 开源项目推荐:Autocontext —— 让你的 AI Agent 递归自我进化 Autocontext 是一个递归自我改进的 harness,专为帮助你的 AI Agent(及其未来迭代)在任何任务上持续成功而设计。它通过迭代执行、真…
Autocontext 是一个开源递归自我改进 harness,帮助 AI Agent 通过迭代执行、评估和知识积累持续优化,生成可复用的 playbook、数据集甚至本地模型,适合构建生产级 Agent 工作流的开发者。
@dongxi_nlp: https://x.com/dongxi_nlp/status/2066290950352081336
本文讨论了Coding Agent中Markdown文件(如AGENTS.md和SKILL.md)通过Harness机制有效影响Agent行为的设计理念,强调了在正确时机加载不同上下文的重要性。
上下文压缩应该保留什么?我观察了六种智能体的处理方式[D]
分析六种AI编程智能体(Claude Code、Codex CLI、OpenCode、Cline、Cursor、Amp)如何趋同于分层渐进式压缩以处理长上下文,它们在保护内容(用户消息、有状态工具输出)以及是否告知模型压缩方面存在差异,并在成本与准确性之间进行权衡。
@dongxi_nlp: https://x.com/dongxi_nlp/status/2065200644802101633
文章提出在Coding Agent中,工具调用应视为契约而非简单函数,强调Harness在验证、权限、生命周期管理等环节的裁决作用,并详细讨论了工具契约的组成和生命周期。
@Potatoloogs: https://x.com/Potatoloogs/status/2057391224592667051
本文深度拆解了Agent Harness的概念,即包裹在LLM外部的工程基础设施,包括编排循环、工具调用、记忆系统、上下文管理等12个组件。文章引用Anthropic、OpenAI、LangChain等公司的实践,论证了harness对生产级AI Agent的关键作用。