你是不是也遇過這種情況:開了某個 AI 程式助手,它硬要你走「先規劃 → 再開子代理 → 再審查」的流程,結果改一個小 bug,也得等它跑完一整串儀式?咖啡都喝完了,bug 還在讀取中。
市面上很多 Coding Agent 越來越像「整套 IDE 替代品」,而不是「幫你省時間的夥伴」。如果你想要的是:極簡、快、能嵌進自己習慣的終端工作流,那值得認識 Pi Coding Agent(pi.dev)。
這篇會帶你從「它是什麼」一路走到「怎麼安裝、怎麼設定、怎麼跟 Cursor 分工」。讀完後,你應該能判斷 Pi 是否適合自己的工作流,也知道該從哪一種模式開始試。
快速參考
| 項目 | 說明 |
|---|---|
| 是什麼 | 跑在終端機的 AI 程式助手(作者:libGDX 創始人 Mario Zechner) |
| 安裝 | npm install -g @earendil-works/pi(詳見下方安裝章節) |
| 核心特色 | 僅 4 個內建工具、可擴充、不綁定特定 IDE 流程 |
| 適合誰 | 已有終端工作流、想要輕量 Agent 的開發者 |
| 不適合誰 | 需要全功能 IDE 整合、重度 GUI 操作的使用者 |
| 延伸閱讀 | Pi vs Claude Code · Oh My Pi |
目錄
什麼是 Pi Coding Agent?
Pi Coding Agent 是跑在終端機(Terminal)裡的 AI 程式開發助手,作者是 Mario Zechner(GitHub 帳號 badlogic,Java 遊戲框架 libGDX 的創始者),套件目前發佈在 @earendil-works 之下。它的設計哲學可以濃縮成一句話:
世界上有很多 Agent 框架,但這一個是你的——工具來適應你,不是你來適應工具。
先講一個對照組。Devin 是 Cognition 推出的自主 AI 軟體工程師(devin.ai):接到任務後會自行拆解步驟、讀 repo、寫 code、跑測試、開 PR,人類多半只需審核結果。這類「大而全」的 agent 平台內建規劃模式與子代理編排,能獨立完成整個 feature,但工作流往往也由工具決定,而不是開發者自己拼裝。
Pi 剛好站在對面,走的是 「極簡核心+按需擴充」:
- 核心工具很少:預設只給模型四個工具(下面會逐一說明)
- 不把所有工作流塞進核心:子代理、網頁存取或 MCP 等能力可透過套件與 Extension 加入
- 規則與能力由你組合:
AGENTS.md、Skills、Extensions、Pi Packages 都能納入專案設定
到底是哪四個工具?
這是很多介紹文章都跳過的地方,但它其實是理解 Pi 的鑰匙。預設情況下,Pi 只給模型這四個:
| 工具 | 做什麼 | 對應你平常的動作 |
|---|---|---|
read | 讀檔案 | cat / 在編輯器裡打開檔案 |
write | 建立或覆寫檔案 | 新增檔案、整檔重寫 |
edit | 局部修改檔案 | 改幾行、套一個 patch |
bash | 執行 shell 指令 | 你在終端敲的任何東西 |
還有三個唯讀工具 grep、find、ls 是內建的,但不在預設清單裡,要用 --tools 明確指定才會開啟(Windows 上另有 powershell)。
為什麼四個就夠?因為 bash 本身就是萬能鑰匙——需要搜尋就跑 rg,需要跑測試就跑 npm test,需要裝東西就 npm install。工具數量少,模型的選擇就少,出錯與繞路的機會也跟著少,system prompt 也能壓得極小。
白話說:你在專案資料夾打 pi,就能用自然語言叫 AI 讀檔、改 code、跑測試;要不要加 MCP、子代理、網頁搜尋,全由你決定。
四層架構(看懂 Pi 在幹嘛)
| 層級 | 做什麼 |
|---|---|
| CLI / TUI | 終端互動介面:訊息、編輯器,以及顯示 token 用量與花費的狀態列 |
| Agent 協調 | ReAct 迴圈:想 → 做 → 看結果 → 再修正 |
| 工具與上下文 | 四個核心工具,加上 Extension 注入的額外上下文或工具 |
| 持久化 | Session 樹狀歷史、JSONL 日誌,可 fork、可匯出 |
這裡要先講清楚一件很重要的事:Pi 預設沒有「執行前請你確認」的彈窗。它唯一會攔你的是首次開啟專案時的 trust 詢問(下面 Project Trust 那節會說);工具真的要動手改檔案或跑指令時,不會再問第二次。這是刻意的設計取捨,也代表安全防線得由你自己架——最實際的做法就是先 commit,並善用下面會提到的唯讀模式。
把 AI 直接放在終端的好處很實際:不用再「複製錯誤訊息 → 貼到聊天窗 → 複製修復 code 回來」。Linter 報錯、測試失敗,Agent 可以直接讀輸出並迭代修正。
Pi vs Cursor vs Claude Code:該選誰?
Pi 不是 Cursor 的平替,而是不同取捨。下面這張表先幫你快速抓到方向;實際功能仍會隨版本與已安裝套件改變:
| 維度 | Pi Coding Agent | Claude Code | Cursor Agent |
|---|---|---|---|
| 核心取向 | 極簡核心,靠套件與 Extension 擴充 | 終端工作流,並整合 Anthropic 生態 | IDE、CLI 與雲端 Agent 工作流 |
| 上下文來源 | AGENTS.md/CLAUDE.md、Skills、Prompt Templates、Packages 與 Extensions | CLAUDE.md、對話內容、Skills、MCP 與工具搜尋 | 專案索引、Rules、@ 上下文與對話內容 |
| Sub-agents | 核心不預設提供,可由套件加入 | 官方支援 Subagents | 提供背景與平行 Agent 工作流,名稱與能力依產品版本而定 |
| Plan mode | 用 Prompt Template 或 Extension 組合 | 官方支援 Plan mode | 官方支援 Plan mode |
| 程式碼搜尋/索引 | 由 Extension 或套件自行加入 | 依工具、上下文與工作流而定 | 提供 codebase understanding/索引,實際行為依設定與版本而定 |
| Session | 樹狀分支 + compact | Session resume、branching、平行 sessions 與 compact | 多個 chat/Agent sessions,並支援平行 Agent 與 worktree |
| 部署 | CLI / RPC / SDK 嵌入 | CLI、IDE、Desktop、Browser 與 Agent SDK | Desktop IDE、CLI 與 Cloud Agent |
| Token 取捨 | 核心設計偏小,細節由你控制 | 依模型、工具與上下文而定 | 依模型、索引、Rules 與專案上下文而定 |
| 最適合 | 終端實驗、SDK 嵌入、可版本控制的 Agent 設定 | Anthropic 生態與終端工作流使用者 | 日常 IDE 編輯、平行 Agent 與 UI 工作流 |
依場景選工具
| 你的情境 | 建議 |
|---|---|
| 大型 monorepo、要靠自動索引 | Cursor / Claude Code |
| Side project、終端一把梭 | Pi |
| 本地模型、低 VRAM、要控 token | Pi |
Agent 設定要進 Git(AGENTS.md、.pi/) | Pi |
| 自建產品要嵌 Agent(SDK) | Pi |
| UI 調像素、邊預覽邊改 | Cursor |
實戰分工可以這樣想:主專案用 Cursor 改 UI、做多檔 refactor;Pi 負責終端批次任務、長跑腳本或低成本實驗。同一目錄、同一時間只讓一邊寫檔;若要並行,請用 Git worktree 隔離。兩個 Agent 同時改同一檔案,最後通常不是協作,是 merge conflict 的聯誼會。
四種運作模式
Pi 不只有「開 TUI 聊天」:
| 模式 | 怎麼用 | 適合 |
|---|---|---|
| Interactive(互動) | 專案目錄執行 pi | 日常對話、除錯、改 code |
| Print / JSON | pi -p "分析此 repo" 或 JSON event stream | 腳本自動化、結構化事件流 |
| RPC | stdin/stdout JSON 協議 | 非 Node 系統整合 |
| SDK | 嵌入自己的 TS 應用 | 自建 Agent 產品 |
互動模式裡有一組很實用的即時控制:Agent 還在跑的時候,你不必乾等,可以直接插話。
| 按鍵 | 行為 | 什麼時候用 |
|---|---|---|
Enter | Steering:排入一則糾偏訊息,等目前這輪工具呼叫跑完就送出 | 看到它方向歪掉,想馬上拉回來 |
Alt + Enter | Follow-up:排隊下一則訊息,等目前所有工作結束後才接上 | 已經想好下一步,先排隊不打斷 |
Esc | 中斷目前工作,並把排隊中的訊息退回編輯器 | 完全跑錯,直接喊停 |
Alt + ↑ | 把排隊中的訊息取回編輯器修改 | 打完才發現講錯 |
另外兩個新手很容易卡住的:多行輸入是 Shift + Enter(直接按 Enter 會送出),Ctrl + G 可以開外部編輯器寫長 prompt。
長對話別硬撐——用 /compact 壓縮舊訊息,或用 /tree 回到某個節點、從那裡繼續另一條路。完整歷史仍保存在 JSONL session 檔案中,但壓縮後的摘要不是逐字備份,重要決策最好另外寫進專案檔案。
上下文工程:Pi 真正厲害的地方
AI 回得好不好,八成看上下文怎麼塞。Pi 的策略是:Harness 保持極簡,上下文全部可組合、可版本控制。
1. Context Files(AGENTS.md / SYSTEM.md)
Pi 啟動時會從目前目錄往上尋找並載入指令檔:
| 載入順序 | 路徑 | 用途 |
|---|---|---|
| 全域 | ~/.pi/agent/AGENTS.md | 個人通用規範 |
| 父目錄 | 向上尋找的 AGENTS.md 或 CLAUDE.md | Monorepo 子專案繼承 |
| 當前目錄 | ./AGENTS.md 或 ./CLAUDE.md | 專案專屬規則 |
這幾層是疊加的,不是互相取代——全域規範會跟專案規範一起進 context。如果某個目錄放了 AGENTS.override.md,Pi 在那一層會改讀它、跳過該層的 AGENTS.md / CLAUDE.md,其他層照常疊加;monorepo 裡想讓某個子專案「不吃上層某些規則」時很好用。
範例(專案根 AGENTS.md):
# Project Instructions
- 改 code 後跑 `npm run check`。
- 不要動 production 設定檔。
- 不確定時先問我。改完記得重開 pi 或執行 /reload,不然它讀的還是舊的。
再上一層是 system prompt 本身,這跟 AGENTS.md 不同——AGENTS.md 是附加的專案說明,SYSTEM.md 是整份換掉預設系統提示:
| 檔案 | 放哪裡 | 效果 |
|---|---|---|
SYSTEM.md | .pi/SYSTEM.md(專案)或 ~/.pi/agent/SYSTEM.md(全域) | 完全取代預設 system prompt |
APPEND_SYSTEM.md | 同上兩個位置 | 在預設 prompt 後面追加 |
九成情況你要的是 APPEND_SYSTEM.md,拿來放「一律用繁體中文回答」「危險操作先問」「不確定就停下來問人」這類跨專案共通規則。SYSTEM.md 是核彈級選項:換掉之後 Pi 內建那套關於工具使用的指示也會一起消失,除非你很清楚自己在替換什麼,否則別動它。專案特有的規範請留在 AGENTS.md。
2. Skills:按需載入的能力包
Skills 是 Markdown 檔,frontmatter 有 name 和 description。Pi 只在 system prompt 放摘要;Agent 要用 read 才載入全文——避免一次塞爆 context。
手動觸發:/skill:git-workflow。發現路徑分兩類——全域的 ~/.pi/agent/skills/、~/.agents/skills/,以及專案層的 .pi/skills/、.agents/skills/(專案 skills 需先 trust 專案才會載入)。
順帶一提,如果你原本就有 Claude Code 或 Codex 的 skills,不必搬家,在 settings.json 的 skills 陣列指向那些目錄就能共用。
3. Prompt Templates:可重用的 / 指令
帶參數的 Markdown 模板,例如 /review src/auth.ts 展開成完整審查 prompt。支援 $1、$ARGUMENTS 等替換。適合標準化 code review、部署 checklist。
4. Extensions:用程式碼決定進 context 的東西
前面三種都是 Markdown,Extension 則是 TypeScript 模組——能註冊新工具、新的 / 指令、快捷鍵與自訂 TUI。對「上下文工程」來說最關鍵的是它能訂閱 context 事件,在每一次呼叫模型之前動手改 message 陣列。
具體能拿來做什麼:依照這一輪的問題動態撈相關檔案塞進去(也就是自己接一套 RAG)、把不需要的舊訊息剔掉、或在特定情況下追加提醒。換句話說,前三種是「準備好素材等模型來拿」,Extension 是「模型每次開口前,你都能插手一次」。這也是為什麼社群套件能做到 MCP、子代理這些核心沒有的東西——它們本質上都是 Extension。
門檻確實比寫 AGENTS.md 高,但不必自己從零開始:官方的建議是直接叫 Pi 幫你寫一個(write + bash 它都有),寫完 /reload 就能用。
Project Trust(安全邊界)
當專案含有 .pi/ 資源或專案層級的 .agents/skills,而你又還沒對這個資料夾做過決定時,Pi 會在啟動時問你要不要 trust 這個專案。這個問題比它看起來嚴重,因為按下信任等於一次同意四件事:
- 載入
.pi/settings.json - 載入
.pi/底下的各種資源 - 自動安裝該專案宣告但你還沒裝的套件
- 執行專案自帶的 Extension(也就是跑 repo 裡的 TypeScript)
第 3、4 點值得再看一次——git clone 一個陌生 repo 再進去打 pi,按下信任的瞬間就等於同意執行對方寫的程式碼。所以第一次打開陌生專案,先看一下有沒有 .pi/、裡面放了什麼,再決定。這個確認不是裝飾品。
信任決定會存進 ~/.pi/agent/trust.json,之後不會再問。互動模式裡可以用 /trust 手動記錄決定;非互動模式(-p、--mode json、--mode rpc)不會跳提示,預設直接忽略這些專案資源,需要時用 --approve 單次放行。
為什麼 Pi 刻意不內建 MCP、子代理、Plan mode?
這不是單純的「功能缺失」,而是把取捨交回使用者:
| 刻意省略 | 為什麼 | 需要時怎麼辦 |
|---|---|---|
| MCP | 工具描述可能增加上下文負擔 | 寫成 CLI + README 讓 Skill 呼叫,或安裝 MCP adapter |
| Sub-agents | 不預設綁定特定編排方式 | 用 tmux 開多個 pi,或安裝支援子代理的套件 |
| Plan mode | 不強迫所有人採用同一套規劃儀式 | 把計畫寫成 plan.md,或用 Prompt Template/Extension |
| 內建 To-do 清單 | 狀態放在對話裡容易讓模型混淆 | 用 TODO.md,跨 session 也還在 |
| 權限確認彈窗 | 不假設你要哪一種安全模型 | 用容器隔離,或自己寫確認用的 Extension |
| 背景 bash | 背景任務不易觀察 | 用 tmux,開著看得見也能直接介入 |
官方文件的精神很直白:Ask Pi to build it, or install a package.
留意其中的共同模式:被拿掉的東西,多半是把「狀態」藏在工具內部的功能(plan mode、to-do、子代理的內部脈絡)。Pi 的主張是——狀態應該落在你看得到、能版控、換工具也還在的檔案裡。這不只是省 token,而是決定了出事時你能不能自己查。
套件安裝範例:
pi install npm:pi-mcp-adapter # 社群 MCP adapter
pi install npm:pi-subagents # 社群子代理套件
pi install npm:pi-web-access # 社群網頁存取套件
pi install npm:pi-mcp-adapter -l # 加 -l 改裝在專案層(寫進 .pi/settings.json,可隨 repo 共用給團隊)安裝前請認真看一眼來源。 官方文件把話講得很白:pi package 以完整系統權限執行——Extension 會跑任意程式碼,Skill 也能指示模型執行任何指令。它跟 VS Code 外掛不同,沒有沙箱。上面三個是目前下載量最高的社群套件,但「熱門」不等於「審核過」。
套件選型:不要一開始裝滿排行榜
pi.dev/packages 有社群套件目錄。比較穩的做法是從 Tier 0 起步,痛點出現再加。 套件不是自助餐,不必看到排行榜就每盤夾一點。
| Tier | 組合 | 什麼時候升級上來 |
|---|---|---|
| Tier 0 | 只有 AGENTS.md,零套件 | 起手式。先把四個工具用熟 |
| Tier 1 | 補一個最痛的缺口(MCP adapter 或子代理) | 你能講出「我卡在哪」,而不只是「聽說這個好用」 |
| Tier 2 | 再加網頁存取、目標追蹤這類長任務輔助 | 任務跨多個 session,或 context 一直爆 |
判斷要不要升級的標準只有一個:你能不能講出上一層具體卡住你的地方。 講不出來就代表還沒到。
想試某個套件又不想弄髒設定檔,用 -e 跑一次性試用——它只裝到暫存目錄,這次執行結束就沒了:
pi -e npm:pi-web-access # 只在這一次 session 生效,不寫進 settings.json
pi list # 看目前到底裝了哪些(治療「我什麼時候裝的這個」)
pi remove npm:pi-web-access # 用不到就拿掉pi-mcp-adapter:MCP 但不炸 context
先講清楚 Pi 為什麼不內建 MCP,你才知道 adapter 在解什麼問題。
一般 MCP 的做法是:連上 server 之後,把它所有工具的名稱、描述、參數 schema 全部寫進 system prompt。這些描述在你打第一個字之前就已經佔住 context,而且每一輪對話都會重付一次。接兩三個 server,工具描述佔掉上萬 token 是很常見的事——不管你這次要不要用到它們。
Pi 作者的立場是:與其如此,不如把能力包成 CLI 工具配一份 README,讓 Skill 按需去讀(--help 就是天然的工具描述)。想看完整論證可以讀他那篇 What if you don't need MCP?。
但你如果本來就有一堆 MCP server 要用,adapter 就派上用場。常見策略是只暴露一個代理工具,讓模型需要時才去發現與呼叫實際的 MCP 工具,把「一開始就全塞」換成「用到才載」。至於是否 lazy 啟動、能不能指定某些工具直接暴露,各家版本設定不同——安裝前看該套件自己的文件,別把某一個套件的行為當成所有 MCP 整合的通則。
pi-subagents:子代理怎麼編排
子代理套件常見的做法是提供 scout、planner、worker、reviewer 之類的角色,各自跑在獨立的 context 裡,支援鏈式或並行執行。角色名稱與運作模式由套件決定,安裝前請看它自己的文件——光是 npm 上就有好幾個不同作者的子代理套件,設計差很多。
實戰 prompt 範例:
Use scout to map the auth flow, then planner for an implementation plan.
Run parallel reviewers: correctness, tests, and unnecessary complexity.注意:並行工作通常會增加模型呼叫與 token 成本;裝了套件也不代表一定會自動跑 reviewer,仍要在 prompt 或 AGENTS.md 裡明確要求。
實戰工作流:從設定到收尾
Pi 沒有「唯一官方流程」,但下面這套在實戰中最穩。「純 Pi」欄位是零套件就做得到的做法——請先照這欄跑熟,右欄的套件等真的卡住再說:
| 階段 | 做什麼 | 純 Pi 怎麼做 | 裝了套件可以再加 |
|---|---|---|---|
| 0 設定 | 一次性建立規則 | 寫 AGENTS.md、APPEND_SYSTEM.md | — |
| 1 釐清 | 講清楚要達成什麼 | 自然語言描述目標,請它先寫成 plan.md | 目標追蹤類套件(如 pi-codex-goal,提供 /goal 之類的長期目標指令) |
| 2 探索 | 只看不改,弄懂現況 | 開唯讀模式(下面有指令) | 子代理套件的 scout、網頁存取套件查外部文件 |
| 3 實作 | 小步改,隨時可回退 | 主 session 用 edit 逐步改,一段一段 commit | 子代理套件的 worker |
| 4 驗證 | 讓它自己知道有沒有做完 | bash 跑 test/lint,失敗就讓它讀輸出重來 | 子代理套件的 reviewer |
| 5 維護 | 別讓 context 爛掉 | /compact 壓縮、/tree 換分支、/new 重開 | 記憶/context 管理類套件 |
Phase 2 的唯讀探索值得單獨拿出來講,因為這是 Pi 少見的乾淨做法——用 --tools 限制工具清單,模型就物理上做不到改檔案,不必靠 prompt 拜託它別亂動:
pi --tools read,grep,find,ls -p "說明這個 repo 的驗證流程,以及測試放在哪裡"沒有 write、edit、bash,它就只能讀。第一次接觸陌生 repo 用這招最安心。
三個反模式請避開:
- 一開始裝滿熱門榜——context 與認知負擔暴增
- 長專案只靠對話記憶——應寫進
AGENTS.md、plan.md這類檔案,/compact之後對話裡的細節就不保證還在 - 沒給驗證條件就「改到好」——一定要指定 test/lint 成功才算完
探索階段原則:計畫寫進檔案(plan.md、context.md),先讀本地,不足再 web,大改前先跟人確認。
安裝與第一次實戰(約 10 分鐘)
前置:Node.js。本文撰寫時 @earendil-works/pi-coding-agent 的 engines 要求 Node 22.19 以上,這個門檻偏高,不少人的環境還停在 18 或 20,先確認再裝:
node -v # 低於 v22.19 的話先用 nvm / fnm / mise 升級Pi 更新很勤,這個數字可能會往上跑。要看當下的真實要求,可以直接查 npm:npm view @earendil-works/pi-coding-agent engines。
版本沒問題就可以裝了,兩種方式擇一:
# 方式 A:官方 npm(方便鎖版本)
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# 方式 B:macOS / Linux 一鍵腳本(背後一樣是 npm 全域安裝)
curl -fsSL https://pi.dev/install.sh | sh--ignore-scripts 是官方寫法,用意是安裝時不執行相依套件的生命週期腳本;Pi 本身不需要它們,加上去比較安全。之後要移除就用 npm uninstall -g @earendil-works/pi-coding-agent(設定與 session 會留在 ~/.pi/agent/)。
裝完確認一下:
pi --help接著登入模型。Pi 支援兩條路:訂閱制登入(/login 目前內建 Claude Pro/Max、ChatGPT Plus/Pro、GitHub Copilot 等選項,憑證存到 ~/.pi/agent/auth.json),或是直接吃環境變數的 API key:
cd /path/to/your-sandbox-project # 先用可弄髒的 side project
# 路線 A:訂閱制
pi
/login
# 路線 B:API key
export ANTHROPIC_API_KEY=sk-ant-...
pi供應商清單會隨版本變動,以 /login 實際顯示的為準。CI 用 API key 時走環境變數或 CI secret,不要把金鑰寫進 repo。
第一次驗證,先讓它讀就好:
Summarize this repository and tell me how to run its checks.這一句同時測到 read、bash 跟 AGENTS.md 有沒有被載入——它要能講出你的測試指令,代表整條鏈都通了。
再進階試試三個日常會一直用到的:輸入 @ 模糊搜尋並附上檔案、!npm run lint 直接跑 shell 並把輸出餵給模型(!! 則是跑了但不餵)、pi -p "Summarize" 跑非互動模式。
新手常見踩坑
| 狀況 | 怎麼修 |
|---|---|
pi: command not found | 確認 npm global bin 在 PATH |
| 安裝時噴 engine 版本錯誤 | Node 升到 22.19 以上 |
| 沒 API key | 在 Pi 內 /login,或 export ANTHROPIC_API_KEY=... |
| AI 亂改重要檔 | Pi 沒有內建 undo,改前先 commit,靠 git 回退;探索階段用 pi --tools read,grep,find,ls |
改了 AGENTS.md 卻沒生效 | 執行 /reload 或重開 pi |
| 聊越久越糊 | /compact 壓縮,或 /new 直接重開一局 |
| 不小心把對話帶歪,想回到岔路前 | /tree 挑一個節點跳回去繼續 |
| 想要 MCP 但沒有 | pi install npm:pi-mcp-adapter |
其中「沒有內建 undo」是最需要肌肉記憶的一條。Pi 沒有權限確認彈窗,edit 跟 bash 說改就改——官方文件自己也建議:想要能安心回退,就用 git 或其他 checkpoint 機制。養成「開工前先 commit」的習慣,比任何 AGENTS.md 規則都有效。
想再深入的話
這篇是概覽,本站另外有兩篇往下鑽的:
- 想知道作者當初為什麼要另起爐灶,而不是繼續用 Claude Code——看〈為什麼要發明 Pi Coding Agent?從作者角度理解 Pi vs Claude Code〉。本文講的是「Pi 怎麼用」,那篇講的是「Pi 為什麼長這樣」。
- 覺得 Pi 太素、想要有人先幫你配好一套——看〈Oh My Pi(omp)是什麼?〉。它是建在 Pi 上的預設組合包,等於幫你跳過本文的 Tier 1、Tier 2 選型。
官方文件則從 Quickstart 開始最省事,接著看 Using Pi 補齊指令與旗標。
結語:回歸極簡,但別回歸低效
Pi Coding Agent 重新定義了「AI 助手該怎麼存在於開發流程裡」——不試圖接管整個 IDE,而是當一個快、可配置、可版本控制的終端夥伴。
三個 takeaway:
- 極簡核心(
read/write/edit/bash四個工具)換來 token 效率與完整上下文控制權 - 能力按需加(Packages / Skills / Extensions),不要一開始裝滿
- 跟 Cursor 分工:IDE 改 UI、Pi 跑終端批次與實驗——同一 worktree 別兩邊同時寫
不過為了公平,也講一下什麼情況先別碰 Pi:如果你需要有人幫你把護欄架好(權限彈窗、undo、內建 plan 與 to-do),或是你正在動一個不能出錯的正式專案卻還不熟 git 回退,那 Cursor 或 Claude Code 會讓你舒服很多。Pi 把方向盤完整交給你,也就代表撞牆的責任一起交過來了。反過來說,如果你的痛點正好是「工具管太多」,那這份控制權就是它最值錢的地方。
想試的話,先用 sandbox 專案跑一輪:到 pi.dev 安裝 → /login → 寫一份 AGENTS.md → git commit 留一個乾淨起點 → 跑一個小任務驗證讀檔、編輯與 shell 執行的閉環。覺得順了,再按需加入社群套件。先把核心用熟,再加配料;不然最後可能只剩一鍋「設定燉湯」。
參考資料
- Pi 官方文件:查閱安裝方式、核心概念與目前功能。
- Quickstart:四個預設工具的官方說明與第一次上手流程。
- Using Pi:查閱啟動方式、互動指令、CLI 旗標與 context files。
- Skills:Skill 的載入位置、frontmatter 規格與撰寫方式。
- Sessions/Compaction:樹狀 session 與壓縮機制的細節。
- Extensions:查閱 Extension 的載入位置與擴充方式。
- Pi Packages:npm/Git 套件的安裝、篩選與安全性說明。
- Pi Packages 目錄:查閱社群套件與各套件自己的說明。
- Pi GitHub Repository:查閱原始碼與版本變更。
- Mario Zechner:Pi Coding Agent 設計理念:作者本人解釋為什麼要做這樣一個極簡 harness。
- Mario Zechner:What if you don't need MCP?:官方文件在「No MCP」處指向的完整論證。
