Pi Agent 是怎么做上下文压缩的?尝试使用
@Remotion 和
@raft_hq 类似的新粗野风格做了一个拆解视频:
主线逻辑其实不复杂:
1. 超过「上下文窗口 − 16K」这条线,触发压缩。当然也有一些 OOM 的处理。
2. 找一个 cut point,切点之前的消息交给 LLM 写成结构化摘要,摘要本身也作为新记录写回 JSONL
3. 新 input = 摘要 + 切点之后的所有消息
这一步是有损的,旧细节只剩摘要,但 JSONL 的设计让你随时可以回溯。
看起来虽然 Pi Agent 本身的实现并不复杂,但由于强大的 Extension 机制,使用者完全可以自定义自己的压缩策略。
我想社区插件里应该有很多优秀的实现,有没有推荐的可以学习学习。