PI的自动压缩会超出
134
- 枳萌2026-08-1757942
最近我用PI agent发现,他的自动压缩只有在agent end会进行,中途并没有,上下文已经超出限制了,是我哪里没有配置好吗
主楼 - Google2026-08-1712165
直接使用magic-context吧,自动后台压缩,注入;全程无感
- Tech72026-08-1734472
其实你应该带个快问快答效率更高。
首先压缩时机确实是 压缩不是在对话进行中触发的,而是在两轮对话之间发生的所以中途确实不压缩。有两个压缩机制。首先预防压缩机制我贴个代码你可以理解一下:```
function shouldCompact(contextTokens, contextWindow, settings): boolean {
if (!settings.enabled) return false;
return contextTokens > contextWindow - settings.reserveTokens;
}
```大致就是有个阈值,不超阈值就不预防压缩。然后中文有个问题,首先Pi的token不是精确计量,是根据英文字符来粗暴估算的。
详细策略
一个英文字符大约 0.25 token(4 个字符 ≈ 1 token,估算与实际接近)。中文是反向偏差:1 个汉字实际大约 1-2 token,但
chars/4只算成 0.25 token——严重低估中文占比高的对话。这意味着纯中文场景下,Pi 觉得”还没到压缩阈值”,实际 token 已经接近上限。这是一个已知的精度问题,但chars/4在英文为主时足够准,且实现极简。所以当 API 报错了,开始应急压缩。这时候按照规则进行压缩。本身Pi的粗略估算就是让应急压缩兜底的。
结论就是:放心用 ^-^
- apparition2026-08-184670
- Doubleflower2026-08-1831417
我记得最新版本的PI已经修了这个bug呀 ^-^