# 策展 · X (Twitter) 🔥🔥🔥

> 📖 本站完整內容索引（documentation index）：[llms.txt](/llms.txt)

> 作者：Aparna Dhinakaran (@aparnadhinak) · 平台：X (Twitter) · 日期：2026-07-05

> 原始來源：https://x.com/aparnadhinak/status/2073079029624943040

## 中文摘要

# 掌握迴圈：Agent Harness 實戰指南

harness 與其所搭配的模型契合度越高，屬於你的部分就越少。當今最強大的程式開發 Agent 都是「模型原生組合」：頂尖實驗室會將其最強的模型與自家的 harness 進行深度匹配。Claude Code 在 Anthropic 的模型上表現最強，而 Codex 則在 OpenAI 的模型上表現最佳。

但這種契合是有代價的：正是這種讓 harness 感覺如魔法般的緊密耦合，將你的工作流程綁定在單一廠商的模型、價格與產品介面上。當模型變得太昂貴、服務中斷，或是完全下架時，你的工作流程也會隨之崩潰。

隨著最強大的模型在每次發布時的效能提升幅度逐漸縮小，且開源權重模型的能力呈現爆發式成長，模型正逐漸成為一種商品。這就是為什麼現在決定你的 Agent 是成功還是失敗的關鍵，在於 harness，而不是模型本身。

因此，真正的選擇不在於選哪個模型，而在於你要掌握多少比例的 harness。我們透過梳理當前領域，並根據以下指標來比較各個 harness：

- **Capability（能力）**：模型與 harness 的契合度，以及其周邊生態系統：它能運用的工具、skill 與整合功能。
- **Freedom（自由度）**：你更換模型的難易度，以及你對工作流程的掌控程度。
- **Workflow（工作流程）**：每個 harness 實際服務的是哪種工作，以及哪類使用者？

所有這些分析都建立在我們對比較對象有共識的前提下；讓我們建立一個基準：到底什麼是 harness？

# 每個 harness 都是一個迴圈

harness 就是模型執行的一個 `while` 迴圈。單獨運作時，模型回答一次就會停止。而在迴圈中，它會編輯檔案、執行測試、讀取錯誤、修復程式碼，並重複這些步驟直到工作完成。

![這是一張名為「Agent Harness Architecture」的系統架構圖，展示了 AI 代理程式的運作流程與核心模組。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/cbc29c829a5c149f.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">該架構圖詳細描述了「Agent Harness Architecture」的組成部分，包含以下區塊與文字內容：

1. **頂部區塊**：System Prompt Assembly（包含 CLAUDE.md、Git Context、Environment、Tool List）。
2. **中心區塊（ITERATION LOOP）**：
   - **Context Management**：包含 Token budgets、Auto-compact、Window management。
   - **Tools &amp; Skills Registry**：包含 Built-in tools、SKILL.md、MCP、Plugins。
   - **Permissions &amp; Lifecycle Hooks**：包含 Allow/Deny rules、Approval、Pre/Post hooks。
   - **Subagent Management**：包含 Isolated sessions、Restricted tools。
3. **底部區塊**：Session Persistence &amp; Recovery（包含 JSONL state、Resume、Workspace validation、Health probes）。
4. **流程箭頭**：顯示了從 System Prompt Assembly 進入迭代循環，並透過 Session Persistence &amp; Recovery 進行狀態保存與恢復（Resume）的邏輯路徑。</div></details>

主要的 harness 都是各自獨立發展到此，並收斂於同一套組件。它們的差異在於當迴圈執行時，誰擁有控制權：兩個 harness 可能共享相同的基本循環，但感覺卻截然不同，這取決於你是否能讀取執行過程、接入自己的工具，以及推動工作流程向前發展。這段差距正是本指南其餘部分要探討的重點。

# Harness 地圖

我們將該領域放置在兩個軸線上，並為每個 harness 打分（滿分十分）：能力與自由度。

![本圖根據自由度與能力兩個維度評估 AI 程式碼 Agent，顯示開源工具（如 OpenHands、OpenCode 等）普遍擁有較高的自由度（位於右側「Own the frontier」象限），而閉源工具（如 Devin、Claude Code 等）則分佈在左側至中間區域。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/a0b1300efbb8be70.jpg)

<details class="chart-data"><summary>展開數據表</summary><table><thead><tr><th>項目</th><th>X</th><th>Y</th></tr></thead><tbody><tr><td>Devin</td><td class="rank-bar num bar-w-10"><span class="bar-val">1.0</span></td><td class="rank-bar num bar-w-90"><span class="bar-val">7.1</span></td></tr><tr><td>Antigravity</td><td class="rank-bar num bar-w-20"><span class="bar-val">2.1</span></td><td class="rank-bar num bar-w-70"><span class="bar-val">5.8</span></td></tr><tr><td>Droid</td><td class="rank-bar num bar-w-30"><span class="bar-val">2.5</span></td><td class="rank-bar num bar-w-90"><span class="bar-val">7.1</span></td></tr><tr><td>Copilot</td><td class="rank-bar num bar-w-30"><span class="bar-val">2.8</span></td><td class="rank-bar num bar-w-60"><span class="bar-val">4.4</span></td></tr><tr><td>Cursor</td><td class="rank-bar num bar-w-30"><span class="bar-val">3.3</span></td><td class="rank-bar num bar-w-80"><span class="bar-val">6.5</span></td></tr><tr><td>Claude Code</td><td class="rank-bar num bar-w-50"><span class="bar-val">4.8</span></td><td class="rank-bar num bar-w-100"><span class="bar-val">7.8</span></td></tr><tr><td>Codex</td><td class="rank-bar num bar-w-60"><span class="bar-val">5.8</span></td><td class="rank-bar num bar-w-100"><span class="bar-val">7.6</span></td></tr><tr><td>OpenHands</td><td class="rank-bar num bar-w-80"><span class="bar-val">8.1</span></td><td class="rank-bar num bar-w-90"><span class="bar-val">6.8</span></td></tr><tr><td>Cline</td><td class="rank-bar num bar-w-80"><span class="bar-val">8.1</span></td><td class="rank-bar num bar-w-70"><span class="bar-val">5.2</span></td></tr><tr><td>OpenCode</td><td class="rank-bar num bar-w-90"><span class="bar-val">8.8</span></td><td class="rank-bar num bar-w-100"><span class="bar-val">7.6</span></td></tr><tr><td>Goose</td><td class="rank-bar num bar-w-90"><span class="bar-val">8.9</span></td><td class="rank-bar num bar-w-60"><span class="bar-val">4.9</span></td></tr><tr><td>Pi</td><td class="rank-bar num bar-w-100"><span class="bar-val">9.8</span></td><td class="rank-bar num bar-w-80"><span class="bar-val">6.5</span></td></tr></tbody></table></details>

**Capability** 的評分標準在於模型與 harness 的契合度，以及其周邊生態系統：它帶來了多少工具，以及它能運用的 skill、整合功能與支援。**Freedom** 則是指你的設定在面對變動時的存活能力：你更換與混合模型的難易度，以及你的迴圈有多少部分被困在單一廠商的平台上。

開源與自由度並非同一回事。Droid 和 Cursor 是封閉原始碼，但幾乎可以執行任何模型。Codex 是開源的，但會盡可能引導你使用 OpenAI 的慣例與服務。

模型原生組合在能力上領先，其次是模型無關（model-agnostic）的工具、Pi 以及以輔助為主的 Agent。你可以選擇封閉且針對廠商優化的效能，或是轉向可替換、可攜式的工作流程。

# 自由度：離開有多難？

隨著模型選擇不再是決定性因素，harness 的真正考驗在於可攜性。這歸結為兩個問題：你能審計並 fork 程式碼嗎？以及你的工作流程（你建立的規則、整合與設定）是跟著你走，還是被困在廠商的生態系統中？

廠商正透過將你的日常迴圈遷移到他們自己的服務上，來積極擴大這種差距，讓你能在瀏覽器與終端機之間攜帶即時工作階段、在桌面應用程式內執行輔助 Agent，並直接將設計草圖交給程式開發 Agent，所有這些都在只有他們運行的介面上流暢進行。這些功能很強大，但設計目的就是為了讓你留在平台上。

社群工具沒有這種留存動機。因為它們可以被 fork，所以除非你同意，否則它們不會被隨意調整價格、悄悄降級或受到限制。在一個每個月都在重塑自我的領域中，最穩健的做法是保持模型的可替換性，並將你的工作流程放在你自己擁有的地方，這樣你累積的知識才能跟著你走。

# 能力：相同的模型，更好的 Agent

使用相同的模型，透過不同的 harness 執行相同的任務，結果會出現巨大差異；模型在自家實驗室的 harness 中執行時，得分通常會高出幾分。

這些高性能的預設值很誘人，但原生的優勢正在減弱。在複雜任務中的任何優勢，都可以透過將正確的步驟路由（route）給正確的模型來找回。

編排（Orchestration）而非原始模型效能，才是新的能力指標。模型有不同的性格；有些擅長規劃，有些擅長執行。未來不是一個綁定單一模型的工具，而是一個能跨模型進行編排的管理器。這需要一個能無縫切換模型的 harness，讓你使用頂尖模型進行高階規劃，並使用更便宜的開源權重模型來處理機械式的工作。

# 該使用哪一個？

合適的 harness 取決於手頭的工作。

![這張圖表將程式開發輔助工具與 AI 代理分為四大類別進行分類與整理。](https://pub-75d4fe1e4e80421b9ecb1245a7ae0d1a.r2.dev/curated/b4cf41806059fab1.jpg)

<details class="chart-data"><summary>展開畫面重點</summary><div class="me-note">圖片將程式開發工具分為四個象限，各象限包含多個工具名稱及其對應圖示：

1. **THE BEST, AT A COST**
   - Claude Code
   - Codex

2. **STAYING IN THE IDE**
   - Cursor
   - Copilot
   - Cline
   - Antigravity

3. **OWN THE HARNESS**
   - OpenCode
   - Goose
   - Pi
   - OpenHands

4. **HAND OFF OR ASSIST**
   - Devin
   - Droid
   - OpenClaw
   - Hermes</div></details>

**最好的，但有代價。** 使用 **Claude Code** 來獲得最強大的模型原生程式開發迴圈與最豐富的擴充介面，或者如果你的工作已經在 OpenAI 的終端機、IDE 和雲端中，則使用 **Codex**。這些是契合度最高的模型-harness 組合，也是大多數人的正確預設選擇。代價就在名稱中：契合度越高，你的工作流程可攜性就越低，因此請將你的指令與知識以你能擁有的形式保存，並盡量減少對雲端專屬介面的依賴。

**掌握 harness。** 使用 **OpenCode** 來獲得內建供應商選擇的開源 Claude Code 體驗；使用 **OpenHands** 作為可自架的 SWE-agent 平台；使用 **Goose** 作為廠商中立的通用 Agent；並使用 **Pi** 從最小迴圈開始構建。開放、模型無關，且由你自行組裝。更多的控制意味著更多的設定，而這正是當模型商品化、且將每個任務路由到正確模型成為關鍵時，最能發揮價值的層級。

**留在 IDE 中。** 使用 **Cursor** 來獲得最佳的日常 IDE 介面與底層模型選擇；當 GitHub 原生功能足夠時使用 **Copilot**；使用 **Antigravity** 作為內建編排功能的 Agent 優先 IDE；並使用 **Cline** 作為在執行前會確認每次編輯的開放 Agent。這些工具優化的是你工作的介面，而不是對迴圈的控制。

**交接或輔助。** 另一種專注於委派的工作型態。**Devin** 是一個完全自主的雲端工程師。**Droid** 是一個跨終端機、IDE、桌面的 Agent，可執行任何模型。**OpenClaw** 和 **Hermes** 是你聊天介面上隨時待命的個人助理，具備記憶、排程與長期執行的常規任務。OpenClaw 能在多個介面上觸及你，而 Hermes 則能跨模型供應商攜帶其記憶與 skill，這正是本指南的核心論點在助理上的體現。

租用頂尖模型在成本不那麼重要、且開箱即用的巔峰效能最重要時是正確的選擇。保持一個開放、模型無關的退路，是對這個快速發展領域未來走向的一場賭注，因為便宜且強大的模型已經縮小了能力上的差距。

# Harness 的未來

趨勢指向同一個方向：朝向迴圈與廠商平台的主導地位。

- **harness 之上正在形成一個層級。** Meta-harness 現在可以在單一介面後組合多個程式開發 Agent，在迴圈之外而非之內強制執行預算與權限，而 Issue Tracker 正成為 Agent 機隊的控制平面。這對 harness 的影響，就像路由器對模型的影響一樣：它重新定位了所有權問題，而不是解決它。你的路由策略是存在於開放的執行環境中，還是託管的控制台中，決定了你的編排是可攜的，還是被困在另一個你無法匯出的平台上。

- **匹配組合會過時。** 每個組件都編碼了一種關於模型無法單獨完成什麼的假設，而這些假設會腐朽。某個 harness 圍繞著一個在 context limit 邊緣偷工減料的模型，構建了複雜的壓縮與檢查點機制。下一個版本不再需要這種拐杖，這些鷹架就變成了死重。有人認為終點是一個最小化的 harness，因為掌握迴圈意味著當模型在你腳下移動時，你有能力重新調整它。

- **harness 開始自我改進。** Harness 現在可以從自身的執行軌跡（traces）中改進，儘管收益並不平均。如果迴圈是根據它所記錄的內容演進，那麼軌跡就成了 asset，而你只有在擁有迴圈的情況下才能保留它。

# 掌握迴圈

持久的 asset 是你構建並優化的迴圈，人類與 token 資本在此匯聚。

模型是租來的能力，而且正變得越來越便宜。harness 是控制迴圈，也是鎖定（lock-in）的來源。我們通常先選擇模型，然後讓 harness 隨之而來，但模型每幾個月就會更換，而 harness 才是你留下來的東西。執行它的 skill 也是如此：你對任何單一模型所學到的知識會隨著下一個版本發布而重置，而你對迴圈所學到的知識則會跨越所有模型持續累積。掌握迴圈，因為模型從來都不是你真正擁有的。

## 標籤

Agent, Harness, 產業趨勢, 教學資源, Anthropic, OpenAI
