一句话结论
OpenPI Footer 当前显示整条 branch 的累计 cache 百分比;这个数字能看效率,却很难回答“哪一次模型/工具/system/context 变化打断了已经工作的 prefix cache”。
OMP 已实现一个很窄的 warm → cold detector。建议先在 OpenPI 做 provider-aware 的逐 turn 诊断研究,验证误报率后再决定是否提供 opt-in marker;不要把所有 cacheRead=0 都叫 cache miss。
固定证据
对比固定在:
- OpenPI
main@2a69d3f32994da4123f1312b7fa84ef3d6119be1
- OMP
main@7623b960540518bb1291808bbae28332065e9dba
OMP 当前:
- 只有上一轮实际读回至少 2048 cache tokens、当前轮
cacheRead=0、并且显式 prefix cache 发生 rewrite 时才判定 invalidation:detector contract
- 它刻意排除首轮、tiny context、连续冷轮,以及 OpenAI/Google 等 implicit best-effort cache 的传播噪声,避免制造假结论:provider boundary
- marker 默认关闭:setting
OpenPI 当前:
为什么值得讨论
OpenPI 的核心优势之一是 ordinary turn 的静态面小、工具渐进披露。要持续证明这个优势,需要能定位真实 cache 回退发生在哪个 turn,而不是只看 Session 结束后的平均数。
这可以帮助验证:
- capability group 加载是否导致 prefix 重写;
- tool schema / prompt 文案变动是否破坏 cache;
- compaction、branch move、model/thinking change 的成本;
- 某次 cache 降低是可控 invalidation,还是 provider 的正常 best-effort 波动;
- OpenPI 与 Bare Pi / OMP benchmark 的静态税和动态税分别来自哪里。
OpenPI 应保留的优势
- 这是 operator-facing 诊断,不向模型注入纠偏策略;
- 默认关闭,不增加普通 transcript 噪声;
- 只解释 Pi 已提供的 authoritative usage,不发明 provider 账单事实;
- provider 语义不清楚时显示 unknown,而不是推断“用户导致 miss”;
- 不把 cache 优化变成硬编码 workflow。
建议研究形态
先实现纯函数 + trace report,不急着做 UI:
- 定义上一轮 warm、当前轮 cold、reprocessed tokens 的最小条件;
- 按 provider/cache 类型区分 explicit prefix cache 与 implicit best-effort cache;
- 对 model、thinking、active tools、compaction/branch change 记录可选的本地原因标签,但只能标作 correlation,不能冒充 provider 因果;
- 用真实 Session usage 回放测试误报/漏报;
- 只有结果可信,再加 opt-in transcript marker 或
/model-info 明细。
非目标
- 不保证 provider cache 一定命中;
- 不把
cacheRead=0 一律当异常;
- 不自动切模型、改 thinking 或阻止工具加载;
- 不把 OpenPI 变成 provider adapter;
- 不默认显示每轮 token 详情。
完成条件
与现有 Issue 的关系
一句话结论
OpenPI Footer 当前显示整条 branch 的累计 cache 百分比;这个数字能看效率,却很难回答“哪一次模型/工具/system/context 变化打断了已经工作的 prefix cache”。
OMP 已实现一个很窄的 warm → cold detector。建议先在 OpenPI 做 provider-aware 的逐 turn 诊断研究,验证误报率后再决定是否提供 opt-in marker;不要把所有
cacheRead=0都叫 cache miss。固定证据
对比固定在:
main@2a69d3f32994da4123f1312b7fa84ef3d6119be1main@7623b960540518bb1291808bbae28332065e9dbaOMP 当前:
cacheRead=0、并且显式 prefix cache 发生 rewrite 时才判定 invalidation:detector contractOpenPI 当前:
model-info遍历 active branch,把cacheRead / (input + cacheRead + cacheWrite)聚合成一个百分比:aggregate metriccache N%,没有 turn boundary 或突变信息:footer projection为什么值得讨论
OpenPI 的核心优势之一是 ordinary turn 的静态面小、工具渐进披露。要持续证明这个优势,需要能定位真实 cache 回退发生在哪个 turn,而不是只看 Session 结束后的平均数。
这可以帮助验证:
OpenPI 应保留的优势
建议研究形态
先实现纯函数 + trace report,不急着做 UI:
/model-info明细。非目标
cacheRead=0一律当异常;完成条件
与现有 Issue 的关系