AI News HubLIVE
站內改寫2 分鐘閱讀

使用Pi程式設計代理

本文介紹了Pi,一款極簡的AI程式設計代理,專注於核心功能並透過擴充套件點增強。文章討論了其設計理念、安裝過程、以及如何構建自定義擴充套件,並評估了其在實際使用中的優勢。

來源KDnuggets作者: Shittu Olumide

Pi是一款由Mario Zechner開發的AI程式設計代理,其核心理念與大多數競品截然相反:不是儘可能多地內建功能,而是從最小可行核心開始,讓使用者透過擴充套件按需新增能力。Zechner在2025年11月發表的文章中解釋了他構建Pi的原因,他認為主流程式設計助手會注入使用者不可見的上下文,在不同版本間改變行為,且對模型實際接收到的內容缺乏透明度。因此,他構建了Pi——一個小型核心迴圈,周圍是擴充套件點,而不是功能完備且工作方式固定的產品。該專案迅速獲得關注,Flask和Jinja2的建立者Armin Ronacher在2026年1月公開支援Pi,隨後其公司Earendil Inc.收購了該專案,並推出了配套雲平臺Lefos。收購伴隨了治理文件RFC 0015,承諾Pi核心保持MIT許可,同時保留付費層和託管服務的空間。截至本文寫作時,Pi的GitHub倉庫已超過70,000星。

Pi的整個內建工具集只有四個:read、write、edit和bash。執行pi --help即可確認。其他代理原生提供的功能,Pi都留給使用者新增:沒有MCP支援、沒有子代理編排、沒有計劃模式、沒有許可權確認彈窗、沒有內建待辦跟蹤、也沒有後臺bash執行。理由是令牌成本:其他代理的預設系統提示往往在7,000到10,000令牌,而Pi的系統提示設計在1,000令牌以下,僅注入使用者自己的AGENTS.md檔案。其假設是前沿模型已經透過強化學習在代理任務上訓練過,更小的提示讓模型有更多上下文預算用於實際工作。

安裝Pi只需一條命令。它作為npm包釋出在Earendil的作用域下。推薦使用npm install -g --ignore-scripts @earendil-works/pi-coding-agent,或者使用獨立安裝指令碼。我在乾淨環境中執行npm命令,約11秒完成,安裝了131個包,pi --version返回0.80.3,確認安裝成功。認證有兩種方式:如果提供商支援,在Pi會話中執行/login可以啟動OAuth流程;否則,在啟動前設定環境變數,如export ANTHROPIC_API_KEY=sk-ant-your-key-here。開始會話只需cd your-project-directory後輸入pi。會話中,/model可以切換提供商,Ctrl+P可迴圈收藏的模型。Pi支援15個以上提供商,包括Anthropic、OpenAI、Google、Ollama等。

由於Pi沒有內建許可權確認,使用者可以自己構建一個TypeScript擴充套件。文章展示了一個實際擴充套件:它使用pi.on("tool_call")鉤子攔截bash命令,檢查是否包含高風險操作(如rm -rfsudogit push --force),並透過ctx.ui.confirm請求確認,返回{ block: true, reason: ... }阻止執行。擴充套件還可以透過pi.registerTool新增自定義工具,如count_words,使用TypeBox schema進行輸入驗證。pi.registerCommand則新增斜槓命令。測試時,使用pi -e ./permission-gate.ts --list-models anthropic載入擴充套件,該命令在安裝的Pi二進位制上成功執行。

在實際使用中,Pi的極簡主義在三個方面表現突出:首先是會話樹,透過/tree可以在任意點分支,嘗試不同方法而不會丟失原始執行緒;其次是多提供商切換,支援主流API和本地模型;第三是擴充套件的可控性,使用者可以根據自己的威脅模型構建許可權處理。Pi的文件詳細描述了擴充套件API,足以構建幾乎任何內建功能未包含的內容。