互动实验室实验 4 / 8
本章目录

实验 04 · 上下文预算模拟器

对应第 10–11 章。本实验把规则、历史、文件和日志画成有限预算,比较删除旧输出、摘要和子 Agent 隔离。

1. 实验问题

上下文窗口不是硬盘。内容接近上限前,模型就可能因为重复、冲突和无关材料降低可靠性。不同治理策略释放的不是同一种信息:丢日志保留决定,摘要牺牲细节,子 Agent 把中间过程搬到独立窗口。

先把历史、文件和日志都调高,让总占用超过 100%。观察系统并不会自动知道该丢哪一部分。

2. 调整预算

窗口从 8k 换到 128k 只改变绝对 Token 容量,比例和相关性问题仍然存在。大窗口能容纳更多材料,却不保证模型更容易找到真正重要的信息。

3. 比较策略

“丢弃旧工具输出”最确定,但可能失去诊断细节;“摘要压缩”保留决定和状态,但属于有损改写;“子 Agent”让主线程只接收总结,却产生委派成本和信息遗漏风险。

实际系统通常组合:大日志落盘并截断,旧历史摘要,工具定义延迟加载,探索任务交给子 Agent,目标与验收标准永久保留。

4. 设计一份保留清单

压缩前写下不可丢失项:

  1. 用户当前目标和最新纠正;
  2. 权限与不可触碰边界;
  3. 已确认架构决定;
  4. 当前工作树和已修改文件;
  5. 已运行检查与结果;
  6. 未解决风险和下一步。

再写可丢弃项:重复日志、已被新版本取代的旧文件内容、撤销方案的细节和无关工具 schema。

5. 代码挑战

给 run_shell 结果增加 truncated 和 log_path,只把关键头尾回填 history。实现 compact_history 时先删除旧工具大输出,再生成结构化摘要。用恢复测试验证:只给摘要和当前文件,新的 Agent 能否准确继续验证步骤。

实验结束后,你应能解释“上下文够不够”为什么至少包含容量、相关性、来源、版本和恢复性五个问题。