04 · 上下文预算与压缩:超了先做什么
结论:隔离 → 卸载 → 清理 → 压缩,代价递增;压缩有损、只在思考链结束处做、缓存全失效;复述对抗漂移;评测用探针问题前后对比。
%%{init: {"flowchart": {"wrappingWidth": 190}}}%%
flowchart LR
IN["新内容要进入上下文<br/>(工具返回 · 检索结果 · 子任务)"] --> Q1{"必须进主窗口吗?"}
Q1 -->|"探索性 / 大量读取"| ISO["隔离:子 agent 在自己的窗口做<br/>只带摘要回来"]
Q1 -->|"是,但很大"| OFF["卸载:内容写文件 / 存储<br/>上下文只留引用 + 预览"]
Q1 -->|"是,且不大"| ADD["原样进入"]
ADD --> Q2{"总量接近清理线?"}
OFF --> Q2
Q2 -->|"是"| CLR["清理:删掉旧的、已被消费的工具返回<br/>保留调用记录与引用"]
Q2 -->|"否"| GO(["继续下一步"])
CLR --> Q3{"仍接近压缩线?"}
Q3 -->|"是"| CMP["压缩:一次模型调用把历史摘要成一段<br/>常驻层重注入 · 目标复述到末尾"]
Q3 -->|"否"| GO
CMP --> GO
classDef step fill:#fff7e0,stroke:#c98a00,stroke-width:2px,color:#222
classDef dec fill:#eef6ff,stroke:#5b8fd6,color:#222
classDef stop fill:#f0f0f0,stroke:#888,color:#222
class IN,ISO,OFF,ADD,CLR,CMP step
class Q1,Q2,Q3 dec
class GO stop
COMMENTS
评论存放在 GitHub Discussions, 用 GitHub 账号登录即可发表,支持 Markdown。 想针对正文某句话说?选中那段文字,点浮出的「评论」即可划线评论;觉得哪里写错了,发表时勾上「同时提交 Issue」。 有人回复你时 GitHub 会按你的通知设置发邮件,不用守在这里。