Pi:四個工具加一段很短的提示詞,把終端編碼代理做減法

摘要

一個刻意做小的終端編碼代理:四個工具、不到一千個 token 的系統提示詞,其餘交給一套代理能自己動手寫的擴充機制。沒有內建計畫模式、沒有任務清單、不附工具伺服器,而且對「為什麼不做」講得很清楚。免費且開源。

軟體名稱
Pi
版本
0.87.1
收費
免費
開源
開源
作業系統
macOSLinuxWindows
更新時間
2026-10-06 12:09

編碼代理這兩年一直在長大。每隔幾週就多一樣東西:子代理、計畫模式、權限彈窗、背景外殼、內建任務清單、附帶的一組外部工具伺服器、針對某個模型調整過的提示詞片段。每一項聽起來都合理。而誠實的測試方法很簡單:把其中大部分關掉,工作照樣做得完。真正還會用到的,通常就是讀檔案、改檔案、跑命令這三件事。

還有第二種更少被討論、也更腐蝕信任的毛病。很多代理會悄悄往上下文裡塞文字,卻不讓你看見。行為變了,說法是「這樣代理會更聰明」。對一個想知道工具到底在幹什麼的工程師來說,早上九點還跑得好好的流程,十點就崩掉,原因往往不是有人要求改動,而是新版本把自己的指示換了措辭。

Pi 把這兩個問題當成設計約束,而不是拿來抱怨。四個工具、不到一千個 token 的系統提示詞,並且刻意拒絕實作幾乎所有「看起來很酷」的東西。缺的部分不是不做,而是留給代理自己用腳本語言寫擴充補上。作者是一位開源老兵,寫過一套知名遊戲框架;2026 年春天專案被一家公益公司接手,創辦人是一位被廣泛使用的網頁框架的作者,專案此後也聚起了非常大的關注。

在終端機裡跑起來的 Pi

四個工具,一段一次讀得完的提示詞

整套工具就是:讀檔案、寫檔案、以精確字串替換的方式編輯檔案、執行外殼命令。這就是這個專案全部的標準配置。相較於一般 harness 動輒上萬 token 的系統提示詞(還要把針對特定模型的片段算進去),差別不是說法上的:在平常情況下,還沒開始幹活,上下文窗口已經先被吃掉相當一部分。

量到的結果比原則更有意思。在可比的寫程式任務上,同樣的工作比同類代理快上一倍半到兩倍。在一座百萬行程式庫裡做的橫向評測顯示,在大多數「成本與通過率」的組合上,它都領先兩套知名商業 harness。而只是一句打招呼,它花掉大約一千一百個 token,不到窗口的千分之四;另一個顯眼的同類則要一萬八千個,佔百分之七。

它也在一個終端基準裡擠進前五,同榜的另外三個都是功能完備的商業產品。一個「幾乎什麼都沒有」的工具贏過「什麼都有」的工具,正好印證作者的判斷:模型已經在大量代理工作上看過訓練,本來就知道編碼 harness 是什麼,不需要用一大堆支架去提醒它。

能自己擴充,才是真正的那個功能

「小」不是閹割,而是換了一種定義:什麼算功能。四個工具是地板,更高的能力用擴充搭出來——寫一個模組,註冊自訂工具、加上斜線命令、擴充鍵盤快捷鍵、訂閱事件、自己排布終端介面。專案附了五十多個範例,涵蓋子代理、計畫模式、權限閘門、路徑保護、遠端執行、沙箱、外部工具整合、自訂編輯器、狀態列與浮層。

更有意思的另一半是:你不必自己寫。要一個資料庫查詢工具,就讓代理用外殼跑一段腳本;要一個小小的渲染面板,就讓它寫一個元件。重新載入,新能力立刻生效。工具的能力邊界由你的工作流決定,而不是由廠商的路線圖決定。擴充可以打包給團隊,也可以公開給所有人,生態裡已經出現了加上語言伺服器支援的分支,以及一個能在終端機裡跑完整遊戲的擴充。

由代理自己寫出來的擴充

四種入口,對應四種使用者

互動模式有完整的終端介面、差分渲染、較新的鍵盤協定、行內圖片與可點擊連結。一次性模式問一句、答完就退出,並輸出機器可讀的事件流,適合管線與自動化。另有一種模式透過標準輸入輸出講一套小協定,讓代理能嵌進沒有腳本執行環境的地方。還有一種是函式庫模式——至少有一個多平台助手就是這樣搭起來的。

模型支援廣而不重:十幾家提供方、數百個模型,會話中途就能換,自訂的提供方與模型也可以透過設定檔或擴充加進來。

兩種插話方式值得單獨一提,因為它們直接處理「黑箱感」。按 Enter 是即時引導:當下的工具呼叫立刻被打斷,新的指令進入上下文。按另一個組合鍵則是排隊:等這一輪跑完再處理。你可以改變方向而不必打斷節奏,而且清楚自己用的是哪一種。

刻意不做的清單

專案保留了一頁「沒做什麼」,這種誠實很少見也有用。不附外部工具伺服器:一套主流的瀏覽器自動化伺服器會把二十一個工具定義一次灌進上下文,一萬三千多個 token,佔窗口百分之七到九,而那時工作還沒開始;改成讓代理自己讀需要的說明、呼叫命令列工具,用多少付多少。

不內建計畫模式:計畫就寫在一個純文字檔裡,代理能讀、能改、能引用,還能跟程式一起進版本控制。沒有任務清單,理由是這種清單讓模型困惑的次數比讓它聚焦的次數多。沒有背景外殼,因為終端多工工具本來就做這件事,而且完全可觀察。沒有子代理,因為在同一個終端裡再開一個實例,比藏起來的委派更看得見。

這些全部都能用擴充補回來,而這正是重點:核心保持單薄,卻沒有失去任何關鍵能力。作者自己的說法是,他造了一台專門生產追加功能的機器,然後自己住在一個刻意簡樸的房間裡。

適合誰

如果你已經厭倦「功能長得比用處快」的工具,或者想讓自己的工作流而不是廠商的路線圖來決定工具的形狀,這是目前最值得認真玩的終端編碼代理。它不是少一個功能,而是從另一個前提出發。代價是你得願意花一個小時寫一個擴充,或者讓代理自己動手。極簡在這裡是一種工程哲學,不是粗製濫造的藉口。

Pi下載地址
支援的作業系統: macOS Linux Windows