---
title: Pi 程式開發代理最佳模型（2026）：依任務選擇
description: 為日常程式開發、高難度除錯、預算型工作或本機使用選擇 Pi 模型。包含目前模型 ID、思考設定與 Haimaker 設定方式。
date: 2026-10-14T00:00:00.000Z
location: 加州舊金山 – 2026 年 10 月 14 日
image: /images/best-models-for-pi-coding-agent-hero.jpg
keywords: >-
  pi 程式開發代理最佳模型, pi agent 最佳模型, pi 程式開發代理模型, pi.dev 模型, pi agent claude, pi
  agent openai, pi agent 本地模型, pi haimaker
models:
  - provider: anthropic
    slug: claude-sonnet-5-5
    name: Claude Sonnet 5.5
    note: 日常程式開發的起點。
  - provider: openai
    slug: gpt-6.1-sol
    name: GPT-6.1 Sol
    note: OpenAI 的程式開發與代理工作選項。
  - provider: anthropic
    slug: claude-opus-5-5
    name: Claude Opus 5.5
    note: 高難度除錯與模糊任務的候選。
  - provider: minimax
    slug: minimax-m3
    name: MiniMax M3
    note: 例行代理工作的預算型候選。
  - provider: deepseek
    slug: deepseek-v4.1-flash
    name: DeepSeek V4.1 Flash
    note: 除了 token 費率外，也請比較重試次數與耗時。
faq:
  - question: 我可以在不失去 Pi 工作階段的情況下切換模型嗎？
    answer: >-
      可以。使用 /model 即可在現有 Pi 工作階段中切換模型。Pi 會記錄模型與思考層級的變更，恢復工作階段時會自動還原。使用
      /scoped-models 可選擇 Ctrl+P 循環切換時可用的模型。
  - question: 為什麼我的自訂模型沒有出現在 Pi 中？
    answer: >-
      請確認 Pi 能解析供應商的認證資訊，且模型 ID 已寫入 models.json。環境變數必須存在於啟動 Pi
      的處理程序中。分類器與影像模型使用獨立工具，不會出現在主要的 /model 選擇器中。
  - question: Pi 支援 Haimaker 和本機 Ollama 模型嗎？
    answer: >-
      支援。使用 npx -y @haimaker/connect --pi 透過 Pi 的原生檔案設定 Haimaker，或手動在
      ~/.pi/agent/models.json 中新增供應商。Ollama 使用獨立的本機供應商，位址為
      http://localhost:11434/v1，並使用確切的本機模型標籤。
locale: zh-tw
translationKey: best-models-for-pi-coding-agent
---
選擇 Pi 程式開發代理的模型，關鍵看任務類型：日常開發建議從 **Claude Sonnet 5.5** 入手，或選擇 **GPT-6.1 Sol** 作為 OpenAI 方案。高難度除錯可嘗試 **Claude Opus 5.5**，例行工作可比較 **MiniMax M3** 和 **DeepSeek V4.1 Flash**，若程式碼必須留在本機則測試 **Qwen3.8 27B**。

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

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

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

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

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

[Anthropic 的模型概覽](https://platform.claude.com/docs/en/models/overview) 說明了目前 Claude 的各個層級。[OpenAI 的 Sol 文件](https://developers.openai.com/api/docs/models/gpt-6.1-sol) 涵蓋其程式開發與代理角色，[Google 的模型清單](https://ai.google.dev/gemini-api/docs/models) 涵蓋 Gemini 的選項。這些說明有助於縮小候選範圍，但沒辦法直接告訴你哪個模型最適合你的程式碼庫。

這與我們的 [Hermes 模型指南](/zh-tw/blog/hermes-agent最佳ai模型/) 使用相同的任務導向方法。Pi 的設定、模型循環與思考控制方式不同，因此請使用下方的 Pi 設定，而非直接複製 Hermes 的設定。

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

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

Ibragim Badertdinov 的[個人程式開發評估](https://ibragim.dev/leaderboard/) 使用了 **10 個任務，每種設定執行 3 次**。9 月 30 日的結果報告如下：

| 模型與推理強度 | 單次嘗試任務成功率 | 回報的每任務耗時 |
|---|---|---|
| Sonnet 5.5, high | 100% | 46 秒 |
| GPT-6.1 Sol, medium | 100% | 1 分 7 秒 |
| Opus 5.5, low | 100% | 37 秒 |
| DeepSeek V4.1 Flash, max | 93.3% | 4 分 30 秒 |
| GLM-5.3 Flash, max | 96.7% | 7 分 1 秒 |

這些是作者的結果，並非我們的。[方法論](https://ibragim.dev/writing/mini-benchmark-for-coding-agents/) 描述了來自作者工作的明確定義任務、自動化檢查與 API 存取。任務內容保持非公開，且結果使用的是 **Pi 0.85.1**，而非目前的 Pi 1.x 版本。相同的通過率也不代表相同的程式碼品質。

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

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

## 如何將 Pi 連接到這些模型？

使用 [Haimaker Connect](https://haimaker.ai/connect/) 連接 Pi，無需手動撰寫供應商設定。先安裝 Pi，然後執行 Connect 來設定其原生檔案並驗證連線。

對於全新安裝，Pi 的[快速入門](https://pi.dev/docs/latest/quickstart) 使用下方的目前 npm 套件，並需要 **Node.js 22.19 或更新版本**：

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

#### 推薦方式：Haimaker Connect

執行設定精靈並選擇 Pi：

```bash
npx -y @haimaker/connect
```

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

```bash
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 套件文件](https://www.npmjs.com/package/@haimaker/connect)。

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

<div class="post-cta">
  <p>使用 Haimaker Connect 設定 Pi，然後在同一儲存庫任務上比較模型。</p>
  <a href="https://haimaker.ai/connect/?utm_source=blog&utm_medium=cta&utm_campaign=best-models-for-pi-coding-agent_mid" class="cta-button">將 PI 連接到 HAIMAKER</a>
</div>

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

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

```bash
export HAIMAKER_API_KEY=your-haimaker-key
```

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

```json
{
  "$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 支援在供應商認證中使用環境變數插值；參閱其[模型設定指南](https://pi.dev/docs/latest/models)。在發送大型儲存庫上下文之前，先從範圍明確的任務開始。

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

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

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

#### 使用你已有的供應商帳號

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

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

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

Pi 的 [CLI 參考](https://pi.dev/docs/latest/cli) 支援明確指定模型與強度：

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

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

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

Pi 也將程式開發模型與[分類器和影像模型](https://pi.dev/docs/latest/models#use-classifier-models) 分開。目前的文件列出 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 路由器整合](https://pi.dev/docs/latest/llama-cpp)，適用於 GGUF 模型。如果你已使用 Ollama，請設定其獨立的 OpenAI 相容端點。下載（pull）適合機器的模型，然後將其確切標籤新增到 `models.json`：

```bash
ollama pull qwen3.8:27b
```

```json
{
  "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 會忽略它。將此供應商與任何雲端設定合併，然後選擇它：

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

[Qwen3.8 的 Ollama 頁面](https://ollama.com/library/qwen3.8) 顯示約 **18GB 的下載量**，這還不包含上下文狀態與執行時緩衝區。24GB GPU 或 32GB 以上統一記憶體的機器是執行有範圍限制之工作階段的起點。此範例中的 32K 上下文是保守的起始設定，並非保證能容納。較小的機器與其他候選模型，請參閱我們的 [Ollama 程式開發模型指南](/zh-tw/blog/適合程式設計代理的最佳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 的工具與上下文不變，比較兩個模型。保留能正確完成任務且等待與審查工作較少的模型。當新版本修正你實際遇到的問題時，再重複進行該比較。
