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,足以構建幾乎任何內置功能未包含的內容。