最近挖到一个 Pi 插件 pi-optchat,真的很强,它直接把主 Agent 的 compaction 关了,换成一棵摘要树来记东西
它实现的是 Victor Taelin 的 OptChat 方案,核心就一句话:聊天记录本身就是记忆。Victor 自己说这是他从 GPT-3 以来最大的一次工作流升级
原理其实不复杂
每条消息都原样存进日志,永远不删。短的直接留原文,长的让一个 compactor 模型压成 512 字节左右的一行。相邻两行再合成一行,一层层往上合,最后长成一棵二叉树,越新的消息越细,越老的越粗
每一轮对话都从全新的上下文开始,模型看到的是这棵树的一个视图,上限 128KB,满了就一次性合并回 64KB,平时只在末尾追加,所以几乎每轮都能吃到 prompt cache。哪一行看着太模糊,模型就用 zoom 一层层点开,一直点到当初的原话
区别就在这
默认的 compaction 是把旧对话压成一段摘要,原文从上下文里消失了,压错了也找不回来。摘要树是原文一条不删,只是看的时候折叠起来,需要就展开
作者说,在 200K 上下文的模型上做 A/B,原本跑到 100K token 左右就放弃的长任务,开了它之后能把整个任务跑完
另外它还顺手做了几件事:work 和 personal 这种 profile 各记各的,一个 profile 就是一条永远不结束的对话,能在后台派子 Agent 干活,实时看它干到哪
同一个 profile 再开一个 Pi 窗口,会自动变成一个能直接对话的子 Agent,最绝的是它还能把 Claude Code、Codex、ChatGPT 的历史记录导进来
安装
pi install npm:pi-optchat
传送门 👉 https://github.com/jonaslsaa/pi-optchat