工程实践:剔除过时状态,上下文缩减至 2KB 提升一致性
__hymn · reddit · 2026-08-21
Reddit 用户分享了一项耗时半年的工程经验:将上下文从 100KB 压缩至 2KB 以下,反而显著提升了模型的一致性。
问题背景:
在一个无记忆功能的长运行项目中,最初采用“仅追加会话日志”的方式注入全部历史,旨在提供连续性。然而在达到约 100KB 时,虽然未触及 token 限制,模型行为却出现了“一致性墙”:它能准确引用历史,但在同一任务上跨会话表现不一致,出现犹豫、推翻已定决策或花费 token 总结而非执行工作的情况。
根因分析:
日志中充满了被遗弃的方法和被推翻的决策,这些“过时状态”与当前决策拥有相同的权重和置信度。作者总结:这不是噪声问题,而是矛盾问题。给模型一份“辩论记录”却不告知谁赢了,它无法确定行为准则。
解决方案:
放弃压缩(压缩会使矛盾平均化,更糟),改为注入三个小于 2KB 的工件:
- Identity:4-6 句话,定义系统用途、禁止事项及不确定时的行为(不包含日期)。
- Ledger:按时间倒序的条目,激进截断。规则是:若条目不包含前一条未包含的事实,则不写入。
- State:单一文档,每次覆盖而非追加,仅包含当前真相。
结论:
对于稳定目的的长系统,指令优于证据,过时的证据比没有证据更糟。作者指出,未处理的模糊性比缺失事实更多导致了行为降级。
「编程与Agent」频道最新
- AI 代码 Agent 滥用 noqa?pre-commit 钩子来防护 — viglovikov · 2026-08-21
- Agent 训练策略:应追求数据量还是聚焦弱点? — trashnash007 · 2026-08-21
- Agent-Aware 架构:让 Web 站点为 AI 智能体提供显式意图层 — sierracatalina · 2026-08-21
- NeoBrowser:让 Agent 直接接管你已登录的真实 Chrome — JeremyCMorgan · 2026-08-21
- 多智能体互查致数小时烧掉 40 美元,如何控制成本? — Thinking-master · 2026-08-21
- 开源 AI 渗透测试工具 Strix,入驻 CI/CD 管线 — diegoposts · 2026-08-21