Pi:會自己撰寫工具、可自我擴充的極簡編程代理
— 次瀏覽
Pi 是一款開源終端機編程代理,圍繞著低於 1,000 token 的系統提示與四個核心工具(Read、Write、Edit、Bash)打造。它不內建工具,而是按需自行撰寫 TypeScript 擴充。採用 MIT 授權,v0.78.1(2026 年 6 月 4 日)。
npm install -g --ignore-scripts @earendil-works/pi-coding-agent Pi 是什麼
Pi 是一款開源的命令列編程代理,採取與多數 2026 年框架相反的賭注:它不使用龐大的系統提示與數十個綑綁工具,而是提供一個低於約 1,000 token 的系統提示,且只有四個核心工具——Read、Write、Edit 與 Bash。其官網的訴求直截了當:「代理框架很多,但這一個是你的。」
這個專案最初是 Mario Zechner 的作品,現由 Earendil Inc. 開發,並有 Armin Ronacher(Flask 與 Jinja2 的作者)參與貢獻。程式碼放在 badlogic/pi-mono 單一倉庫(monorepo)中,採用 MIT 授權,並以 @earendil-works/pi-coding-agent 發佈到 npm。撰文時最新版本為 v0.78.1,標記日期為 2026 年 6 月 4 日,五月期間發佈節奏快速(v0.75 至 v0.78)。
差異化關鍵:它會自行打造能力
其定義性特徵是自我擴充。如果某項能力不存在,你就請 Pi 來打造,它會撰寫一個 TypeScript 擴充模組,提供新的工具與指示,接著便能呼叫它。這讓基礎脈絡保持極小,同時讓功能面隨各專案成長。此倉庫也乾淨地拆分為可重用的元件:一個與供應商無關的 LLM 層(@earendil-works/pi-ai)、一個代理執行階段(@earendil-works/pi-agent-core)、一個終端機 UI 函式庫(@earendil-works/pi-tui),以及編程代理 CLI 本身。
Pi 標榜四種操作模式——互動式、print/JSON、RPC 與一個 SDK——外加樹狀結構的工作階段歷史與 15+ 種供應商整合。近期的發佈展現了這款面向自動化工具的實務面向:v0.77.0 新增了 Claude Opus 4.8 支援、用於選擇性停用工具的 --exclude-tools,以及供無頭登入使用的裝置碼驗證;v0.78.0 透過 --name 新增了具名的啟動工作階段,並透過 OSC 8 超連結新增了可點擊的檔案路徑;v0.78.1 擴大了供應商涵蓋範圍。
它如何比較
| 面向 | Pi | 典型的大型框架 |
|---|---|---|
| 系統提示 | 低於約 1,000 token | 數千 token |
| 內建工具 | 4(Read/Write/Edit/Bash) | 眾多、固定 |
| 新能力 | 代理自行撰寫擴充 | 等待新版發佈 |
| 功能面 | 隨各專案成長 | 出貨時即固定 |
快速上手
使用 npm 全域安裝(--ignore-scripts 旗標為官方文件所載的形式),或使用安裝指令稿:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
# or
curl -fsSL https://pi.dev/install.sh | sh
接著在倉庫中執行 pi,當你遇到缺口時,請它打造所缺的工具,而不是去找外掛市集。
實務者備註
若你在意 token 預算與可重現性,這種極簡提示的做法最具吸引力:較小的基礎脈絡意味著操控模型的隱藏指示較少,而各專案的擴充是可檢視的 TypeScript,你能對其做 diff 並提交。其取捨在於你是在信任這個代理去撰寫它接著就會執行的程式碼——--ignore-scripts 安裝旗標與官方文件所載的容器化路徑,都是維護者預期你會為它建立沙箱的訊號。請把生成的擴充當作其他相依套件一樣對待:在它們以 Bash 存取權執行之前先審閱它們。
較少被考量的角度
有趣的長期問題是:「代理自行撰寫工具」究竟會產出耐久、可共享的能力,還是在各專案間散布出大量近乎重複的一次性擴充。一個讓每個倉庫自行成長其工具集的框架,是把外掛生態系的策展問題,換成了碎片化問題——五個專案各自可能重新發明出略有不同的「執行測試並摘要失敗」工具。在此模式下勝出的團隊,很可能會是把代理所撰寫的擴充當作一等原始碼來對待者:加以版本控管、審閱,並提升進共享的內部函式庫,而非每次都從頭重新生成。