
Agent 功能越堆越重开发者反而越来越想要自由。拿 Claude Code、Codex 这些明星 Agent 来说它们像精装房子 Agent、MCP、计划模式、记忆、搜索一应俱全拎包入住。但对不少开发者而言功能越多往往意味着臃肿以及更少的自由。用游戏框架 libGDX 作者 Mario Zechner 的话说“Claude Code 变成了一个 80% 功能都用不上的宇宙飞船。”于是 Mario 干脆自己动手写了一个极简 Agent——Pi。Pihttps://github.com/earendil-works/pi是一个 minimal agent harness默认没有 MCP、子 Agent、Plan 模式、内置 Todo、后台 Bash 等先直接开工再随着项目推进把最顺手的工具、模型和工作流一点点装上去。它是一个干净的内核让 Agent 反过来适应你的工作流上面长成什么样由你决定。内核足够轻巧让它在多轮任务中更省 Token 埋下伏笔。这种理念在开发者群体里攒下了不少口碑GitHub 上获得 10 万 StarOpenClaw 把它当作底层框架Databricks CTO Matei Zaharia 也公开点赞过它在 Terminal-Bench 2.0 上的表现。现在我们就来拆解 Pi 区别于其他 Agent 的地方以及怎么让它接入硅基流动 API 跑起来。从“用 Agent 产品”到“拥有 Agent 外壳”很多 Coding Agent 的逻辑是给你一套已经设计好的工作流你来适应它。Pi 的逻辑反了过来。它的核心只有四个工具read、write、edit、bash系统提示词加工具定义加起来不到 1000 Token在所有主流 Agent 里是最短的。Pi 作者的判断很直接前沿模型已经被大量 RL 训练过天然就懂 Coding Agent 的基本套路用不着上万 Token 的提示词教它怎么做事。极简不等于简陋Pi 只是把控制权交还给你•不绑定模型支持硅基流动等任意第三方 API 提供商对话中途按CtrlL就能切换模型。•对话可“分叉”每次对话存为本地的树形文件你可以在任意历史节点重试像用 Git 管理代码一样管理对话/tree看全貌/export导出 HTML/share一键分享。•按需扩展Extensions、Skills、Packages 三层机制MCP、权限弹窗等“缺失”能力都可以后补官方给出 50 示例而不是默认塞给你。•四种运行模式支持交互式终端、print/JSON 脚本输出、RPC 进程通信、SDK 嵌入。也就是说你先拿到的是一个“毛坯房”项目规范、编码习惯、常用命令可以全部写进全局AGENTS.mdPi 每次启动自动加载。我们试着让它实现一个pr-review-lite项目你可以在项目根目录放一个AGENTS.md规定模块分层、测试要求等局部规则。这些都不是产品预设的而是你自己添加的。你也可以在settings.json里自行写全局配置用 Extensions 注册自定义工具深度改造 TUI 来定义自己的终端体验。需要新能力时装一个 Extension 然后执行/reload立刻生效。Pi 的产品理念有点像 Vim一开始什么都不配用着可能有点别扭可一旦配置好了它或许比任何开箱即用的 IDE 都更贴合你的习惯。上下文工程Pi 更省 Token模型价格当然重要但 Agent 到底烧多少 Token还取决于另一件事每次调用模型时到底带了多少无关上下文。Pi 的提示词和工具定义几乎固定不变四个工具、不到 1000 Token 的系统提示词。这意味着Prompt Caching 的命中率可以拉得很高实际跑起来既省钱又快。更关键的是Pi 把上下文管理的控制权交还给了开发者AGENTS.md放在项目根目录启动时自动读取项目级SYSTEM.md可以替换或追加默认系统提示还能在局部目录放AGENTS.md按需加载Skills 在模型用到时才加载进上下文不用就不占空间长会话则有 Context Compaction 自动压缩旧消息保留关键信息、丢掉中间过程的冗余。于是模型拿到的上下文能更集中地服务于当前项目和当前任务。这里拿pr-review-lite项目做了一组小对照让 Pi 和 WorkBuddy 在同一模型、同一项目规则下连续完成创建、优化、验收三轮开发任务。在这轮连续开发里Pi 的上下文与工作流设计确实让总 Token 消耗更低。当然这并不是严格 Benchmark工具调用轨迹、输出长度和交付物规模都会影响结果。更准确的说法是Pi 提供了控制上下文与工作流的能力而在这轮测试里这种控制与更低的总 Token 消耗同时出现。因此Pi 的优势在于“在多轮开发任务中减少上下文消耗的潜力更明显”你不必替无关信息买单。快速上手在 Pi 中接入硅基流动 API第 1 步安装 Pinpm install -g --ignore-scripts earendil-works/pi-coding-agent装好之后进入你的工作空间终端输入pi就能启动。第 2 步获取硅基流动 API Key打开硅基流动官网https://www.siliconflow.cn/models注册/登录后进「API 密钥」页面新建一个 Key复制保存。第 3 步配置 models.json这是关键一步。创建配置目录mkdir -p ~/.pi/agent编辑nano ~/.pi/agent/models.json写入{ providers: { siliconflow: { name: SiliconFlow Key, baseUrl: https://api.siliconflow.cn/v1, api: openai-completions, apiKey: $SILICONFLOW_NEW_API_KEY, models: [ { id: deepseek-ai/deepseek-ai/DeepSeek-V4-Flash }, { id: moonshotai/Kimi-K2.7-Code } ] } } }保存 nano 文件1. CtrlO 2. 回车 3. CtrlX第 4 步启动验证重新启动 Pi进入后执行/model或者按CtrlL就能看到你刚配置的硅基流动模型。选一个发条消息试试是否能正常运行。不止是极简底座还能开箱即用Pi 的生态比你想的要成熟一些。如果说 Pi 是极简主义底座Oh-My-Piomp就是其开箱即用版本。它内置了 LSP、DAP 调试器、MCP 支持、AST 工具定位类似 LazyVim 之于 Neovim。如果你觉得裸 Pi 太折腾omp 是一个折中选择。地址https://github.com/can1357/oh-my-pi还有人专门夸 Pi 的 Harness SDK 是“目前用过最好的 AI SDK”事件驱动的设计让搭建复杂的 UI 或自定义流程特别舒服如果你想做二次开发也许用起来会很顺手。总体来说Pi 从不急着定义你应该怎样写代码、怎样规划任务、怎样调用工具它把定义工作方式的权力交还给你。如果你觉得现在手头的 Agent 太“重”了这是一个很值得尝试的选择。一个彩蛋在终端里玩 DOOMYes, Doom runs.没错等 Pi 响应的时候你可以直接在终端里玩《毁灭战士》。官网用 DOOM Extension 展示它可扩展的 TUI 能力一个能渲染《毁灭战士》的 TUI渲染加载动画、进度条这些自定义组件自然也不在话下。