初识 pi:不止是另一个 AI 编码助手
本教程共 30 篇 · 第 1 篇 · 更新于 2026-08-10 · 约 5 分钟阅读
本节目标:搞懂 pi 是什么、它跟 Copilot/Cursor 这类工具的区别在哪,以及它为什么坚持”你自带密钥”这个设计。读完你能判断 pi 适不适合自己的开发习惯。
一句话说清楚 pi 是什么
pi(全称 pi-coding-agent)是一个跑在终端里的 AI 编程助手。你在项目目录下启动它,然后用自然语言说你要做什么——它会读代码、跑命令、改文件,像个坐在你旁边的协作者。
它不是 IDE 插件,不绑定任何编辑器。你用什么写代码都行,VSCode、Neovim、甚至记事本,pi 在终端里等你。
pi 跟 Copilot、Cursor 不是一回事
很多开发者第一次听到”AI 编程助手”会直接联想到 GitHub Copilot 或 Cursor。它们确实都在帮你写代码,但工作方式差很远:
- Copilot / Cursor 嵌在编辑器里,主打补全和行内建议,你敲一个函数名它帮你写完。交互发生在你写代码的同时。
- pi 是终端里的对话式 Agent。你给它一个任务描述,它自己规划、读写文件、执行命令,然后带着结果回来。交互发生在你”发号施令”之后。
打个比方:Copilot 像副驾驶帮你打方向盘,pi 像你把车钥匙交给一个老司机,告诉他目的地就行。
设计哲学:核心极简,能力靠扩展
pi 的作者 Mario Zechner(也是游戏框架 libGDX 的创始人)有一个很明确的观点:Agent 工具不该越做越臃肿。
所以 pi 的核心刻意保持最小——没有内置 MCP、不搭载子代理、不弹权限窗、不搞 Plan 模式。这些功能如果你需要,通过扩展(Extensions)或技能包(Skills)自己装。
好处很明显:核心代码量小、启动快、出问题容易排查。你装的东西都是你自己选的,不受”全家桶”拖累。
BYOK:带着你自己的密钥来
这是 pi 最核心的原则——自带密钥(Bring Your Own Key)。
pi 本身不带任何 AI 模型,也不替你付 API 费用。你想用哪个模型,就去对应的平台申请一个 API Key,交给 pi。DeepSeek、Anthropic、OpenAI、Google Gemini、Groq、本地 llama.cpp……pi 支持多家主流模型提供商,密钥在你手里。
这跟 Copilot 那种按月订阅、绑定单一服务的模式完全不同。BYOK 意味着:
- 你选模型,不是工具替你选。DeepSeek 便宜就多用 DeepSeek,复杂任务切 Sonnet,你说了算。
- 账单透明。每笔 API 调用走你自己的账号,用了多少花多少,没有中间商加价。
- 没有厂商锁定。pi 不依赖任何一家模型厂商,你随时换提供商。
四种运行模式,不止聊天
pi 提供了四种工作模式,覆盖日常开发到自动化流水线的各种场景:
| 模式 | 怎么用 | 什么时候用 |
|---|---|---|
| 交互模式 | 直接敲 pi | 日常开发,边聊边改 |
| Print 模式 | pi -p "你的需求" | 一次性任务,出结果就走 |
| JSON 模式 | pi --mode json | 需要程序解析输出时 |
| RPC 模式 | pi --mode rpc | 编辑器插件、进程间通信 |
新手 90% 的时间都在交互模式。等你用熟了,Print 模式放进脚本里能省大把时间。
会话是树,不是直线
pi 的会话管理跟聊天软件不太一样。每次对话自动保存,但保存的不是一条直线,而是一棵树。
你在第 3 轮的时候想尝试另一个方案?分叉(fork)出去就行。之前的对话还在,新方向独立推进。几条思路并行探索,哪条好走用哪条,不用来回撤销。
Tip这个设计在你需要对比不同实现方案的时候特别好用。比如重构一个模块,你可以开两个分支,分别试方案 A 和方案 B,最后对比效果。
哪些场景适合用 pi
pi 不是万能的,但下面这些场景它特别趁手:
- 在终端里快速改代码、修 bug,不想切到 IDE 去等补全
- 一个项目里频繁切换不同模型(DeepSeek 跑日常、Sonnet 跑复杂重构)
- 团队需要自定义工具链,用 TypeScript 写个扩展就行
- 需要在 CI 或容器里自动执行编码任务
- 本地跑模型,数据不出机器
Notepi 假设你熟悉命令行。如果你还不太习惯终端操作,可以先花点时间把 cd、ls、git 这些基础命令练熟,再回来看 pi 会更顺。