不重复读取所有会话的思想开发
这个思想通常叫 按需加载 / 懒加载(Lazy Loading) 的上下文管理,在 AI 编码语境里更常见的说法有几个:
上下文工程 / Context Engineering —— 精心控制"喂给模型的内容",只放当前任务需要的最小信息,是这条铁律最贴切的总称。
最小充分上下文(Minimal Sufficient Context) —— 只读"够用且相关"的部分,不多不少。
检索式按需读取(Retrieval / RAG 思路) —— 先检索定位(grep/glob),再定点取用,而非全量灌入。这跟 RAG(检索增强生成)是同一套路子:用索引找到相关片段,只加载那几段。
渐进式披露(Progressive Disclosure) —— 需要时才展开更深的细节,别一上来铺全部。
工程上还对应两个经典原则:
YAGNI(You Aren't Gonna Need It) —— 不预读用不上的东西。
局部性原理(Locality) —— 只加载当前工作集附近的内容(类似 CPU 缓存的空间局部性)。
一句话概括你这条铁律:用检索定位替代全文加载的最小充分上下文工程。核心是"按需、就近、够用",既省 token 又不丢准确性。
铁律18 已写好并挂上索引。
铁律18:按需读取上下文,严禁通读 — 存在 selective-context-read-rule.md,MEMORY.md 索引已加(紧接铁律17)。
六条要点:
先 grep 定位行号,再定点 Read ±20 行,不整读大文件
日志用 --since/tail/grep 收窄,不 cat 全量
跨会话只读交接点,不重跑诊断
文件未变就不重读
大范围勘察委派子代理,主上下文只留结论
效率红线:该读的行读全读准,省 token 不靠猜
这条铁律从下一个会话起对我生效(它会随 MEMORY.md 载入)。要不要我现在就按它开新会话续做阶段19 剩余开发?

浙公网安备 33010602011771号