Pi 是什么:一个「极简、能自己长大」的 AI 编程 Agent
60 秒版
- Pi 是运行在终端里的 极简 AI 编程壳(minimal terminal coding harness),作者 Mario Zechner(libGDX 等)
- 默认只给模型 4 个工具:
read、write、edit、bash——其余能力不堆在核心里 - 需要子 Agent、计划模式、浏览器控制等?用 Extension / Skill / Pi Packages 自己装,甚至 让 Pi 现场写扩展
- 它不是 Cursor 那种「编辑器里补全」,更像 可定制的 Agent 运行时;也可嵌入别的产品(如 OpenClaw)
- 想深入了解:官网 pi.dev · 源码 pi-mono
一、先澄清几个误区
Pi 不是传统意义上的 AI IDE。
如果你期待的是:打开一个带 AI 面板的代码编辑器、点点补全就能写业务——那 Pi 的主战场不在这里。它和 Cursor 等产品解决的问题有交集(都能改代码),但产品形态不同:Pi 活在终端对话 + 工具调用里,而不是以编辑器为中心。
Pi 也不是「Cursor 替代品」或「Claude Code 替代品」。
更准确的说法是:Pi 是一个 Agent Harness(智能体运行壳)——关心的是如何组织 Agent、扩展能力、管理会话与工作流,而不是「多一个补全按钮」。
Pi 并不追求开箱即用的功能大全。
官网 明确说:默认跳过子 Agent(sub-agents)、计划模式(plan mode)等——你若需要,可以请 Pi 帮你做,或安装社区里的 Pi Package。这是一种刻意的做减法设计。
二、Pi 到底是什么
Pi 的官方定义可以概括成一句话:
A minimal terminal coding harness.
极简的终端编码 Harness。
它想让你 adapt pi to your workflows, not the other way around——适应你的工作流,而不是你被迫适应产品内置的那套功能表。
因此 Pi 更关注:
- 如何组织 Agent 与工具调用
- 如何用扩展把能力「长」出来
- 如何在终端环境里完成复杂工程任务
而不是单纯回答:「下一行代码怎么补全?」
Pi 支持多种使用方式:交互式终端界面、打印/JSON 输出、RPC 对接其他进程,以及 SDK 嵌入自有应用。后者在 OpenClaw 等项目里已有实际集成,说明它不仅是「个人玩具 CLI」,也可以作为底层 Agent 运行时。
三、为什么「只有 4 个工具」
Pi 故意把内置工具压到最少,默认只有:
| 工具 | 大致用途 |
|---|---|
read | 读文件 |
write | 写文件 |
edit | 编辑文件 |
bash | 执行 shell(查目录、grep、跑脚本等) |
没有一长串专用 API。查文件列表、搜索代码?模型通过 bash 调用 ls、grep、find 等——因为前沿模型在「当编程 Agent」这件事上已被大量训练,作者认为再堆专用工具反而浪费上下文。
这种设计与「功能越加越多」的 Agent 产品相反。Pi 的赌注是:
核心越小,外壳越灵活。
其余一切——子 Agent、计划模式、浏览器自动化、MCP、特殊 UI——都不默认塞进内核,而通过下一节的扩展体系解决。
四、能力从哪来:扩展体系
Pi 的大量能力来自 Extension First(扩展优先)。可以用你熟悉的事物来类比:
| Pi 概念 | 不妨理解为 |
|---|---|
| Extension | 像 VS Code 插件:用 TypeScript 加命令、快捷键、工具、界面 |
| Skill | 像一份「遇到某类任务就照做」的说明书(工作流提示) |
| Pi Package | 把扩展、Skill、提示模板、主题打成一个包,通过 npm 或 git 分享 |
| Session 分叉 | 有点像 Git 分支:一条对话线走不通,可以开枝试另一条,再合并或放弃 |
官网还强调一点很独特的能力:你可以让 Pi 自己写 Extension。
也就是说,AI 不只是「调用现成工具」,而是在你的指导下创造工具、改工具、组合工具,甚至 reload 自己的扩展。这对喜欢折腾工作流的人来说,比等官方发版新功能更快。
Session(会话) 也不只是聊天记录。Pi 支持分支、回溯、并行尝试不同方案(Side quest),适合步骤多、需要试错的长任务——不必把所有尝试都挤在同一条对话里。
关于 MCP: Pi 默认不内置 MCP。官方倾向用 Extension、Skill,或「带 README 的 CLI 小工具」代替。是否认同这种做法可以另议;对读者而言,记住一点即可:Pi 选择用可编程扩展,而不是在核心里绑死一种协议。
五、和常见 AI 编程工具有何不同
不必做「谁更强」的排行榜,只从产品哲学看差异(Claude Code 等与 Pi 同属「终端 Agent」一类,此处不展开横评):
| 维度 | 典型 AI IDE(如 Cursor) | Pi |
|---|---|---|
| 核心体验 | 在编辑器里写代码、补全、改 diff | 在终端里对话,用工具读写仓库 |
| 功能策略 | 产品持续内置新能力 | 核心极简,需要的能力自己装或自己造 |
| 适合谁 | 日常业务开发、希望少配置 | 爱定制流程、愿意折腾扩展的人 |
有人把 Pi 比作 Neovim / Emacs / tmux 那一类:高度可黑客化(hackable) 的环境——默认体验克制,上限由你自己决定。
六、适合谁、不太适合谁
可能适合你,如果……
- 你愿意用终端(或愿意为此学一点基础)
- 你想定制「Agent 怎么工作」,而不只是换模型
- 你对「让 Agent 自己写扩展」这类实验感兴趣
- 你需要把 Agent 嵌进自己的系统(SDK 场景)
可能暂时不适合,如果……
- 你只想要「装好就能写代码」、完全不想碰扩展
- 你完全不使用命令行
- 你更需要的是团队协作的 IDE 功能(审查面板、设计稿等),而不是 Agent 运行时
Pi 在 Linux、SSH、DevOps、本地/私有化模型 等场景里讨论较多,是因为它从根上就是 Terminal First 的设计;但这不意味着只有运维才能用——而是说,它的主场在「工程环境」而不是「图形界面优先」。
七、生态一眼
Pi 鼓励社区通过 Pi Packages 分享扩展组合。官方与社区包里常见方向包括(举例,非完整列表):
| 方向 | 举例 |
|---|---|
| 多 Agent | 子 Agent 编排类 package |
| 浏览器 | 控制 Chrome、做 E2E 验证 |
| 文档 | Markdown / PDF 预览 |
| 交互 | 更丰富的用户确认与提问 |
你不需要一次装齐。官网的态度是:缺什么,就让 Pi 帮你做,或装一个匹配你 workflow 的包。
模型侧,Pi 支持多家提供商(Anthropic、OpenAI、Google、本地 Ollama 等),通过统一层切换——对笔记读者而言,记住「不绑死单一模型」即可,细节见官方文档。
八、总结
Pi 最重要的,不是「又会写代码了」。
而是把 AI 编程推进到另一种想象:
- 从「辅助补全」到「可编排的执行体」
- 从「产品定义功能」到「用户(和 Agent)扩展功能」
一句话收束:
Pi 不是 AI IDE,而是一个可自定义、能自我扩展的 Agent Harness。
若把「给 Agent 套工程外壳」类产品统称为 Agent Harness,Pi 是其中走 极简内核 + 自我扩展 路线的一个代表。(更系统的 Harness 概念可参考笔记:[[Harness Engineering 简介与主流实践]]。)
延伸阅读
| 资源 | 链接 | 说明 |
|---|---|---|
| 官网 | pi.dev/ | 产品定位、特性概览 |
| 源码 | github.com/badlogic/pi… | monorepo(packages/coding-agent 等) |
| npm | www.npmjs.com/package/@ea… | CLI 包(命名以 README 为准) |
| OpenClaw | github.com/openclaw/op… | SDK 嵌入示例 |
| 作者站点 | mariozechner.at/ | 设计 rationale 文章入口 |
| 为何不用 MCP | mariozechner.at/posts/2025-… | 官方立场一文 |
| Pi 发布文 | mariozechner.at/posts/2025-… | 产品介绍与动机 |