
问题的核心这不是一个“把窗口做大一点”就能彻底解决的问题。窗口再大也赶不上项目历史的积累。真正的挑战在于当短期记忆注定失效时我们需要一套什么样的外部系统来充当长期记忆我整理了一个笔记仓库里面有几个相关设想不做具体实现方案只讨论可能的方向。健忘社会一个类比假设一个社会里每个人都患有严重健忘症只能同时记住三到五件事。执行几个动作之后之前的记忆全部清零。这样的社会还能不能完成复杂工程答案是能但有前提外部化所有中间状态必须写到外部便签上不能依赖人脑。原子化每一步任务所需的记忆量不能超过上限。提示机制人脑清空后必须靠外部线索便签的位置、信号灯知道下一步该做什么。当个体记忆小到只剩两个槽位时单干连稍复杂一点的任务都处理不了必须两人协作通过共享便签来模拟更强的计算能力。但协作人数超过某个临界点后沟通开销反而拖累效率。Agent 的上下文窗口就是那个健忘个体的记忆槽。我们需要为它设计一套好用的外部便签系统。几个方向上的设想以下内容不是成熟方案而是方向性的设计草图。大部分工程细节需要由 Agent 运行时的系统层处理而非让模型在提示词里自己折腾。Issue 树给每条消息一个地址像 Git 用 SHA-1 给每次提交一个唯一标识一样我们能不能给对话历史里的每条消息一个路径式的地址比如/0/1/2。配合每条消息的类型标记是提问、是陈述、还是无意义内容Agent 就能像访问文件系统一样精确回溯任何一条历史消息而不是靠语义搜索去猜。平方根边界一种自检指标通过一个简单的类比推导可以得到一个启发式边界如果把 N 个 token 的上下文压缩成 k 个 token当 (k \le \sqrt{N}) 时信息损失几乎必然发生。同理如果解决一个问题明明只需 k 个 token 的核心信息实际却消耗了超过 (k^2) 个 token 的上下文就说明对话中存在结构性冗余。这两个数字不是精确定理但可以作为 Agent 判断当前上下文是否健康的简单信号。惰性工具调用占位符代替输出工具调用产生的输出常常冗长且充满噪音直接塞回对话历史既浪费 token 又分散注意力。设想一种机制工具执行后只返回一个占位符如lazy{{...}}系统后台维护占位符与真实输出的映射。Agent 知道有这么个结果但不需要把整份结果背在身上需要时再去取。脚本库让每次操作留下资产Agent 经常执行相似的 Shell 命令序列出错后重试重试后再忘。与其每次动态拼命令不如让 Agent 把稳定下来的操作固化成脚本文件存放在按目标分类的目录里比如git/commit/auto-sign.exp.sh。脚本文件名本身就是提示词。随着时间的推移这些脚本积累成 Agent 的操作经验库。人类到底特殊在哪工具、语言、文字动物都有雏形。但动物没有“记录与读取”的外部循环。一只猩猩发明了更好的取食技巧如果没来得及教给同伴就死了这个技巧就从地球上永远消失。人类把知识刻在骨头、泥板、纸张和磁盘上让任何个体的偶然发明都能变成整个种群的永久资产。每一次存储介质的成本骤降都会带来一轮技术爆发。对于上下文有限的 Agent我们需要为它补上的正是这一层外部记录与读取系统。