SoL-Pi:NVIDIA Labs 出品,让 AI 编程 Agent 花更少的钱做更多的事
SoL-Pi(Scaling Auto-Research Loops for Efficient Agent Harnesses)是 NVIDIA Labs 于 2026 年 9 月开源的 Pi 编程 Agent 效率扩展工具。它的核心理念很直接:在让 Agent 做更多工作之前,先让执行框架本身更高效。通过四项经过自动研究循环验证的优化机制,SoL-Pi 能在不牺牲任务完成质量的前提下,显著减少 token 消耗、推理次数和 Agent 轮次。
- GitHub 星标:1,943+
- GitHub 仓库:https://github.com/NVlabs/SoL-Pi
- 许可证:MIT
- 语言:TypeScript
- 依赖:Node.js 22.19+ / Pi 0.85.1
- 官方文档:https://nvlabs.github.io/SoL-Pi/
核心功能
1. Action Fusion(动作融合)
传统 Agent 编辑完一个文件后,往往需要额外一轮来执行验证命令(如 npm test、pytest)。Action Fusion 允许在同一个工具调用中完成编辑 + 验证,减少不必要的模型往返。对于频繁的文件修改-验证循环,这一机制可以显著降低 token 开销。
2. ObservationPack(观察打包)
Agent 在执行过程中会产生大量大型文本输出(如编译错误、日志、测试结果),这些内容在后续轮次中常被重复读取。ObservationPack 将这些大文本转换为稳定句柄,需要时再按需分页召回,避免在上下文中反复回放冗余内容。
3. Evidence-Preserving Reducer(证据保持压缩器)
诊断日志往往是 Agent 理解错误的核心依据,但完整日志体积巨大。该机制将长日志压缩为紧凑的”收据”——前提是每条保留的引用都能与归档原文精确匹配。这样既大幅减少了上下文占用,又保留了可追溯的证据链。
4. Online Context Compact(在线上下文压缩)
已完成的任务步骤会逐渐变成上下文中的”死重”。Online Context Compact 在满足经济和窗口压力条件时,自动触发 Pi 的原生压缩机制,将已完成部分归档,Agent 在新轮次中继续执行剩余任务,实现长期运行的 Agent 的高效上下文管理。
适用人群
- 长期使用 Pi 等编程 Agent 的开发者:需要处理大型代码库、长时间运行任务,希望降低成本的用户
- AI Agent 研究者:关注 Agent 效率优化、上下文管理等技术方向的研究者
- 企业技术团队:使用内部 Agent 平台处理自动化开发任务,对 API 成本敏感的工程团队
- 开源贡献者:希望基于 Pi 扩展机制开发新功能的开发者
与同类工具对比
| 特性 | SoL-Pi | 原生 Pi | Continue / Codex |
|---|---|---|---|
| 降低成本 | ✅ 四大机制 | ❌ 无优化 | ⚠️ 有限支持 |
| 安装方式 | pi install 一键安装 | 需自行配置 | 各自独立 |
| 是否修改原代码 | ❌ 不修改 Pi 源码 | — | — |
| 启用方式 | 完全可选,默认关闭 | — | — |
| 证据可追溯 | ✅ 保留原始数据本地归档 | — | ❌ 通常丢弃 |
| 适用场景 | 长时 Agent 任务 | 通用 | 日常编码辅助 |
SoL-Pi 的独特价值在于:它不是让 Agent “少干活”,而是让同样的活儿用更少的资源完成。四个机制均为 opt-in(可选启用),默认全部关闭,用户可以根据需要逐步开启,风险可控。
如何使用
前置要求
- Node.js 22.19 或更高版本
- npm
@earendil-works/pi-coding-agent0.85.1
安装
# 第一步:安装 Pi 编程 Agent
npm install --global @earendil-works/pi-coding-agent@0.85.1
# 第二步:安装 SoL-Pi 扩展
pi install git:github.com/NVlabs/SoL-Pi
若只需在当前项目中使用,可添加 --local --approve 参数:
pi install git:github.com/NVlabs/SoL-Pi --local --approve
配置
创建配置文件 ~/.pi/agent/sol-pi.json(或项目级 .pi/sol-pi.json):
{
"version": 1,
"actionFusion": true,
"observationPack": true,
"evidencePreservingReducer": false,
"onlineContextCompact": false,
"cacheWriteReadRatio": 12.5
}
建议新手先启用前两项(Action Fusion 和 ObservationPack),它们不产生额外模型调用,风险最低。确认稳定后再逐步开启压缩器和上下文压缩功能。
完整配置示例
{
"version": 1,
"actionFusion": true,
"observationPack": true,
"evidencePreservingReducer": true,
"onlineContextCompact": true,
"cacheWriteReadRatio": 12.5,
"reducerProvider": "openai",
"reducerModel": "gpt-4o-mini"
}
注意:Evidence-Preserving Reducer 可能将日志发送至配置的模型端点,使用前请审阅 SECURITY.md。
验证安装
# 检查 SoL-Pi 配置是否生效
scripts/check-sol-pi-config.mjs --require-all-enabled
总结
SoL-Pi 代表了 AI Agent 工具从”能不能用”向”用得好不好”演进的重要一步。NVIDIA Labs 从实际研究中提炼出四项经过验证的效率机制,并以可扩展的扩展形式开放给社区,这种做法既保证了质量,又降低了使用门槛。
对于重度使用 Pi、Claude Code、Codex 等编程 Agent 的用户,尤其是需要处理大型代码库或长时间运行任务的场景,SoL-Pi 能带来切实的成本节省。更重要的是,它采用了”默认关闭、逐步启用”的保守策略,让你在没有风险的情况下体验效果。
推荐指数:★★★★☆(4/5 — 扣分原因:目前仅支持 Pi 生态,适用范围相对有限;arXiv 论文尚未正式发布)
如果你已经在使用 Pi 编程 Agent,或者计划开始使用,SoL-Pi 值得花几分钟试装一下。安装简单,随时可卸,不影响原有工作流。