選擇 Pi 程式開發代理的模型,關鍵看任務類型:日常開發建議從 Claude Sonnet 5.5 入手,或選擇 GPT-6.1 Sol 作為 OpenAI 方案。高難度除錯可嘗試 Claude Opus 5.5,例行工作可比較 MiniMax M3 和 DeepSeek V4.1 Flash,若程式碼必須留在本機則測試 Qwen3.8 27B。

Pi 是一個在終端機中執行的可擴充代理框架。框架負責管理對話與工具;模型則決定要讀取哪些檔案、執行哪些指令、修改什麼內容。Pi 讓你在同一工作流程中切換模型,因此可以在同一儲存庫上直接比較,而不是參照與你的專案無關的排行榜來做決定。

模型 ID 與可用性已於 2026 年 10 月 14 日 對照 Haimaker 目錄 進行確認。建議內容結合了目前的供應商資訊與小規模的獨立 Pi 評估。我們並未針對這些模型在 Pi 中執行新的 Haimaker 基準測試。

在 Pi 中應該從哪個模型開始?

從你已知道如何驗證結果的任務開始,使用 Sonnet 5.5 或 GPT-6.1 Sol。保持工具存取權限和儲存庫狀態不變,然後在同一任務上比較預算型候選。當較便宜的模型反覆使用失敗的方法,或需要過多人工修正時,再切換到 Opus。

Pi 工作負載建議嘗試的模型Haimaker 模型 ID取捨
日常編輯、測試與儲存庫操作Claude Sonnet 5.5anthropic/claude-sonnet-5-5每 token 成本高於預算型選項
使用 OpenAI 模型進行程式開發與規劃GPT-6.1 Solopenai/gpt-6.1-sol比較推理強度與總 token 數
高難度除錯或需求不明確Claude Opus 5.5anthropic/claude-opus-5-5token 費率較高;但可能減少嘗試次數
預算有限的例行程式開發MiniMax M3minimax/minimax-m3測試工具參數與失敗恢復能力
低成本背景任務DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flash重試與延遲可能抵消低費率的優勢
另一個預算比較選項GLM-5.3 Flashz-ai/glm-5.3-flash檢查長輸出與總任務時間
研究與大量文件輸入Gemini 3.8 Flashgoogle/gemini-3.8-flash大容量輸入仍需驗證答案正確性
高難度研究與推理Gemini 4 Argongoogle/gemini-4-argon新的付費候選,未包含在下方 Pi 評估中

Anthropic 的模型概覽 說明了目前 Claude 的各個層級。OpenAI 的 Sol 文件 涵蓋其程式開發與代理角色,Google 的模型清單 涵蓋 Gemini 的選項。這些說明有助於縮小候選範圍,但沒辦法直接告訴你哪個模型最適合你的程式碼庫。

這與我們的 Hermes 模型指南 使用相同的任務導向方法。Pi 的設定、模型循環與思考控制方式不同,因此請使用下方的 Pi 設定,而非直接複製 Hermes 的設定。

實際的 Pi 程式開發比較結果顯示什麼?

在假設預算型模型能更快或更省錢之前,先實際測試 Sonnet、Sol 和 Opus——一項小規模的 Pi 評估正好支持這個做法。結果也顯示,更多的推理可能增加檢查和工具調用,卻無法提升簡單任務的完成率。真正值得比較的是最終完成的工作成果——包括失敗的嘗試和審查所花的時間。

Ibragim Badertdinov 的個人程式開發評估 使用了 10 個任務,每種設定執行 3 次。9 月 30 日的結果報告如下:

模型與推理強度單次嘗試任務成功率回報的每任務耗時
Sonnet 5.5, high100%46 秒
GPT-6.1 Sol, medium100%1 分 7 秒
Opus 5.5, low100%37 秒
DeepSeek V4.1 Flash, max93.3%4 分 30 秒
GLM-5.3 Flash, max96.7%7 分 1 秒

這些是作者的結果,並非我們的。方法論 描述了來自作者工作的明確定義任務、自動化檢查與 API 存取。任務內容保持非公開,且結果使用的是 Pi 0.85.1,而非目前的 Pi 1.x 版本。相同的通過率也不代表相同的程式碼品質。

這項比較提供了一個理由:除了模型本身,也應測試推理強度。Opus 在 low 強度下完成這組小型測試的速度快於表中其他設定。但這並不表示 low 強度足以應付複雜的遷移工作。請在真實約束條件下執行任務,然後檢查額外的推理是否改變了修補內容,還是只增加了重複的檢查。

進行自己的比較時,請記錄成功完成、錯誤的工具參數、重試次數、耗時與最終帳單。我們的程式開發代理 API 成本指南 說明了為什麼僅看 token 費率可能得出錯誤結論。

如何將 Pi 連接到這些模型?

使用 Haimaker Connect 連接 Pi,無需手動撰寫供應商設定。先安裝 Pi,然後執行 Connect 來設定其原生檔案並驗證連線。

對於全新安裝,Pi 的快速入門 使用下方的目前 npm 套件,並需要 Node.js 22.19 或更新版本:

npm install -g --ignore-scripts @earendil-works/pi-coding-agent
pi --version

推薦方式:Haimaker Connect

執行設定精靈並選擇 Pi:

npx -y @haimaker/connect

若要將 Pi 搭配上述 Sonnet 建議使用,請明確選擇兩者:

npx -y @haimaker/connect --pi --model anthropic/claude-sonnet-5-5
pi --provider haimaker --model anthropic/claude-sonnet-5-5

Connect 會開啟瀏覽器登入或使用現有的 HAIMAKER_API_KEY。它會將 Haimaker 供應商寫入 models.json,將金鑰儲存在 Pi 的 auth.json 中,並驗證一次請求。之後 Pi 會直接向 Haimaker 發送請求。選項詳情請參閱 Connect 套件文件。

若未設定 --model,Connect 會設定 haimaker/auto。比較時請使用具名模型,以免路由在請求之間變更模型。Connect 只寫入單一模型條目;若要在 Pi 的選擇器中保留多個候選,請使用下方的手動設定。它會備份現有檔案,但會將 models.json 重寫為不含註解的 JSON。

使用 Haimaker Connect 設定 Pi,然後在同一儲存庫任務上比較模型。

將 PI 連接到 HAIMAKER

手動設定:在選擇器中保留多個模型

在將啟動 Pi 的 shell 中設定金鑰:

export HAIMAKER_API_KEY=your-haimaker-key

將此供應商新增到 ~/.pi/agent/models.json。如果已有現有的 providers 物件,請合併進去:

{
  "$schema": "https://pi.dev/schemas/models.schema.json",
  "providers": {
    "haimaker": {
      "baseUrl": "https://api.haimaker.ai/v1",
      "api": "openai-completions",
      "apiKey": "${HAIMAKER_API_KEY}",
      "models": [
        {
          "id": "anthropic/claude-sonnet-5-5",
          "name": "Claude Sonnet 5.5",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 1000000,
          "maxTokens": 128000
        },
        {
          "id": "openai/gpt-6.1-sol",
          "name": "GPT-6.1 Sol",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 922000,
          "maxTokens": 128000
        },
        {
          "id": "minimax/minimax-m3",
          "name": "MiniMax M3",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 1000000,
          "maxTokens": 128000
        }
      ]
    }
  }
}

上述限制描述的是已確認的 Haimaker 目錄,可能與供應商直接 API 不同。Pi 支援在供應商認證中使用環境變數插值;參閱其模型設定指南。在發送大型儲存庫上下文之前,先從範圍明確的任務開始。

使用兩個識別符號選擇模型:

pi --provider haimaker --model anthropic/claude-sonnet-5-5

在 Pi 中,開啟 /model 以選擇其他已設定的模型。選擇器會重新載入 models.json。此範例省略了自訂定價中繼資料,因為費率會變動;請查看供應商帳單,而非將未設定工作階段的成本顯示視為實際的零成本執行。

使用你已有的供應商帳號

對於內建供應商,執行 /login 並依照 Pi 的驗證流程操作,然後使用 /model 選擇模型。Pi 的供應商參考 列出了 API 金鑰變數與供應商特定選項。訂閱與計量 API 金鑰可能有不同的存取權限與計費方式,因此請使用你的帳號實際支援的連線方式。

如何設定思考層級與切換模型?

將模型選擇與思考強度視為獨立變數。第一次比較時使用中等強度(若支援的話),然後在需要更多推理的任務上提高強度。Pi 會將層級限制在所選模型的能力範圍內。選擇強度時請比較 token 用量與完成情況;不同供應商對相同層級的解讀方式不同。

Pi 的 CLI 參考 支援明確指定模型與強度:

pi --provider haimaker --model openai/gpt-6.1-sol --thinking medium

在互動式工作階段中,/thinking 可變更強度,/scoped-models 可選擇使用 Ctrl+P 循環切換的模型。一開始請在該循環中放入 2 個模型:一個例行工作候選和一個更強的替代方案。只有當新模型能解決反覆出現的失敗時才新增。使用 Ctrl+S 從模型選擇器儲存啟動預設值。

手動切換模型可保持選擇的可見性。Haimaker 的 haimaker/auto 在 API 端進行路由。若要在 Pi 內部進行路由,請使用透過擴充功能實現的虛擬模型路由。請另行設定並測試該擴充功能。models.json 中的多個條目提供可選擇的模型;清單本身不會在它們之間做選擇。

Pi 也將程式開發模型與分類器和影像模型 分開。目前的文件列出 GPT-6 Luna 透過 Decisions API 作為 Codemode 使用的分類器,而非主對話選擇器中的模型。遵循社群建議時,請確認模型的 API 與角色,尤其是針對較舊 Pi 版本提出的建議。

哪些本地模型值得在 Pi 中嘗試?

當你有工作站等級的記憶體並想進行本機推論時,可比較 Qwen3.8 27B、Muse Glimmer 30B 和 Qwen3 Coder 30B。較小的機器可使用 Gemma 4 E4B 或 Qwen3 8B。請檢查本機模型是否正確使用 Pi 的工具,以及在指令失敗後能否恢復。

Pi 有文件記載的 llama.cpp 路由器整合,適用於 GGUF 模型。如果你已使用 Ollama,請設定其獨立的 OpenAI 相容端點。下載(pull)適合機器的模型,然後將其確切標籤新增到 models.json:

ollama pull qwen3.8:27b
{
  "providers": {
    "ollama": {
      "baseUrl": "http://localhost:11434/v1",
      "api": "openai-completions",
      "apiKey": "ollama",
      "models": [
        {
          "id": "qwen3.8:27b",
          "name": "Qwen3.8 27B local",
          "reasoning": true,
          "input": ["text", "image"],
          "contextWindow": 32768,
          "maxTokens": 8192
        }
      ]
    }
  }
}

佔位金鑰讓 Pi 能處理本機供應商的驗證;Ollama 會忽略它。將此供應商與任何雲端設定合併,然後選擇它:

pi --provider ollama --model qwen3.8:27b

Qwen3.8 的 Ollama 頁面 顯示約 18GB 的下載量,這還不包含上下文狀態與執行時緩衝區。24GB GPU 或 32GB 以上統一記憶體的機器是執行有範圍限制之工作階段的起點。此範例中的 32K 上下文是保守的起始設定,並非保證能容納。較小的機器與其他候選模型,請參閱我們的 Ollama 程式開發模型指南。

本機推論將模型的提示詞保留在你的機器上。外部工具仍可能將資料發送到其他地方,而帶有 cloud 標籤的模型使用託管推論。若要保持程式碼隱私,請同時檢查端點與已啟用的工具。

常見問題

我可以在不失去 Pi 工作階段的情況下切換模型嗎?

可以。使用 /model 即可在現有 Pi 工作階段中切換模型。Pi 會記錄模型與思考層級的變更,恢復工作階段時會自動還原。使用 /scoped-models 可選擇 Ctrl+P 循環切換時可用的模型。

為什麼我的自訂模型沒有出現在 Pi 中?

請確認 Pi 能解析供應商的認證資訊,且模型 ID 已寫入 models.json。環境變數必須存在於啟動 Pi 的處理程序中。分類器與影像模型使用獨立工具,不會出現在主要的 /model 選擇器中。

Pi 支援 Haimaker 和本機 Ollama 模型嗎?

支援。使用 npx -y @haimaker/connect —pi 透過 Pi 的原生檔案設定 Haimaker,或手動在 ~/.pi/agent/models.json 中新增供應商。Ollama 使用獨立的本機供應商,位址為 http://localhost:11434/v1,並使用確切的本機模型標籤。

從一個已驗證的儲存庫任務開始,保持 Pi 的工具與上下文不變,比較兩個模型。保留能正確完成任務且等待與審查工作較少的模型。當新版本修正你實際遇到的問題時,再重複進行該比較。