应用介绍
长时间跑编码 Agent 的人都知道账单是怎么涨起来的:改完一个文件,接着必然要跑一遍校验命令,这是两次模型往返;一份几十 KB 的日志读进上下文之后,后面每一次请求都要把它原样再发一遍;已经做完的子任务还赖在上下文里不走;有时候整整一次前沿模型调用,只是为了从一大段日志里挑出影响下一步的那三行。
SoL-Pi 是 NVIDIA 研究团队做的一个扩展,装在 Pi 编码 Agent 上面,专门收拾这四件事。它的来路有点特别:团队本来在研究怎么把 Agent 的自动研究循环规模化,中途冒出一个问题——在扩大循环之前,Agent 能不能先把自己跑的这套框架变得更省?于是拿 535 个可执行环境跑搜索,最后活下来四个机制,就是这个开源版本里的东西。
四个机制分别管四段:Action Fusion 让一次编辑和它的后续校验命令合成同一次工具调用;ObservationPack 把重复出现的大段结果换成一个稳定句柄,需要原文时按页精确取回;Evidence-Preserving Reducer 把长诊断日志压成简短回执,但只有当保留的每一句引用都能和归档原文逐字对上才生效;Online Context Compact 把做完的计划步骤标成可压缩点,交给 Pi 自己的压缩流程处理。
设计上有几条硬规矩值得说:不打 Pi 的补丁、不把 Pi 源码 vendor 进来,只用公开扩展接口;每个机制默认全关,配置文件不写就一个都不启用;原始观察内容留在本地,压缩失败时原结果原样不动。省的是重复的往返和被反复重放的上下文,不是靠提前收工、跳过验证或者藏证据换来的。MIT 协议,需要 Node.js 22.19 以上和对应版本的 Pi。
Action Fusion 合并工具调用:一次编辑或写入可以带上它的后续校验命令,在同一次工具调用里跑完,省掉一次可预测的模型往返。
ObservationPack 观察句柄:重复出现的大段文本结果变成稳定句柄加一段简短摘录,原文存在本地,需要时按 ID 和偏移量分页精确取回,上下文窗口不用一直背着它。
Evidence-Preserving Reducer 有据可查的压缩:长诊断日志压成紧凑回执,但每一句保留的引用都要和归档原文逐字校验通过才采用,压缩失败就原样保留,不会把证据弄丢。
Online Context Compact 在线压缩:完成的计划步骤成为候选压缩点,结合成本和窗口压力判断后交给 Pi 原生压缩,压缩成功后自动开新一轮继续原任务。
默认全关的开关式设计:四个机制都是显式启用,配置文件缺失就一个都不开;项目级和用户级配置分开,前者优先且不做合并。
不改 Pi 本体:只调用 Pi 的公开扩展接口,不打补丁不 vendor 源码,认证、服务商地址、主模型和 shell 行为都仍旧由 Pi 掌管。
本地留档:ObservationPack 和 Reducer 的归档写在会话目录下,内容留在本机;启用远程压缩前需要确认日志是否可以外发。
SoL-Pi 是 NVIDIA 研究团队做的一个扩展,装在 Pi 编码 Agent 上面,专门收拾这四件事。它的来路有点特别:团队本来在研究怎么把 Agent 的自动研究循环规模化,中途冒出一个问题——在扩大循环之前,Agent 能不能先把自己跑的这套框架变得更省?于是拿 535 个可执行环境跑搜索,最后活下来四个机制,就是这个开源版本里的东西。
四个机制分别管四段:Action Fusion 让一次编辑和它的后续校验命令合成同一次工具调用;ObservationPack 把重复出现的大段结果换成一个稳定句柄,需要原文时按页精确取回;Evidence-Preserving Reducer 把长诊断日志压成简短回执,但只有当保留的每一句引用都能和归档原文逐字对上才生效;Online Context Compact 把做完的计划步骤标成可压缩点,交给 Pi 自己的压缩流程处理。
设计上有几条硬规矩值得说:不打 Pi 的补丁、不把 Pi 源码 vendor 进来,只用公开扩展接口;每个机制默认全关,配置文件不写就一个都不启用;原始观察内容留在本地,压缩失败时原结果原样不动。省的是重复的往返和被反复重放的上下文,不是靠提前收工、跳过验证或者藏证据换来的。MIT 协议,需要 Node.js 22.19 以上和对应版本的 Pi。
软件功能
Action Fusion 合并工具调用:一次编辑或写入可以带上它的后续校验命令,在同一次工具调用里跑完,省掉一次可预测的模型往返。
ObservationPack 观察句柄:重复出现的大段文本结果变成稳定句柄加一段简短摘录,原文存在本地,需要时按 ID 和偏移量分页精确取回,上下文窗口不用一直背着它。
Evidence-Preserving Reducer 有据可查的压缩:长诊断日志压成紧凑回执,但每一句保留的引用都要和归档原文逐字校验通过才采用,压缩失败就原样保留,不会把证据弄丢。
Online Context Compact 在线压缩:完成的计划步骤成为候选压缩点,结合成本和窗口压力判断后交给 Pi 原生压缩,压缩成功后自动开新一轮继续原任务。
默认全关的开关式设计:四个机制都是显式启用,配置文件缺失就一个都不开;项目级和用户级配置分开,前者优先且不做合并。
不改 Pi 本体:只调用 Pi 的公开扩展接口,不打补丁不 vendor 源码,认证、服务商地址、主模型和 shell 行为都仍旧由 Pi 掌管。
本地留档:ObservationPack 和 Reducer 的归档写在会话目录下,内容留在本机;启用远程压缩前需要确认日志是否可以外发。


