Abstract

OpenHands 是由 UIUC、CMU、Yale、UC Berkeley 等學術機構與 Contextual AI 共同推動的開源 AI 軟體開發通用 Agent 平台(MIT 許可證),以 Docker 沙盒確保安全執行、CodeAct 架構實現基於程式語言的動作空間設計。平台整合 15 個業界標準基準測試,在 SWE-Bench Lite 以 26% 解決率與同類開源專家 Agent 相比毫不遜色,已累積 32K GitHub stars 與超過 188 位貢獻者。

OpenHands

Overview

OpenHands(原名 OpenDevin)是一個開源的 AI 軟體開發通用 Agent 平台,基於大型語言模型(LLM)驅動,旨在讓 AI Agent 以接近人類軟體工程師的方式與世界互動——透過寫程式碼、操作命令列、瀏覽網頁等。該專案由 UIUC、CMU、Yale、UC Berkeley 等學術機構與 Contextual AI、All Hands AI 等產業夥伴共同推動,採用 MIT 開源許可證,吸引了超過 188 位貢獻者與 2,100+ 次程式碼提交,截至論文發表時已累積 32K GitHub stars。

OpenHands 的誕生反映了一個更大的產業趨勢:隨著 LLMs 在程式碼生成與複雜推理上的能力大幅提升,研究者開始探索讓 AI 擔任「軟體工程師」的可能性。傳統的 AI 助手受限於一次性回覆的模式,難以勝任需要多步驟探索、反覆試錯的軟體開發任務。OpenHands 的核心願景是填補這個缺口,提供一個安全、彈性且可擴展的框架,讓研究人員與開發者能夠快速原型化、測試與部署各類 AI Agent,從軟體工程任務到網頁瀏覽、科學研究等多元應用場景。

值得注意的是,雖然 OpenHands 最初受 Cognition.ai 的 AI 軟體工程師 Devin 啟發,社群貢獻已迅速將其能力邊界擴展至軟體工程之外的更廣泛領域,成為一個真正的一般性 AI Agent 開發平台。^[raw/papers/openhands.md]

研究背景與動機

AI Agent 的快速發展得益於 LLMs 在程式碼生成與複雜推理上的突破性進展。從最早的 AutoGPT 到後續的 LangChain、MetaGPT、AutoGen 等框架,研究者持續探索如何讓 AI 不僅能回應單一查詢,更能感知環境、主動規劃並執行多步驟任務。然而,多數現有框架仍存在幾個共同問題:缺乏安全的程式碼執行環境、難以整合多樣化的評測基準、以及缺少可擴展的 Agent 協作機制。OpenHands 的設計正是對這些痛點的直接回應——它提供了一個整合性的平台,讓研究者能在一個共同的框架下比較不同 Agent 設計的優劣。^[raw/papers/openhands.md]

與 Devin 的關係

OpenHands 最初命名為 OpenDevin,明確以 Cognition.ai 的 Devin 為對標產品。然而,Devin 從未開源其技術細節,僅透過行銷部落格與少數 demo 展示能力。OpenHands 的出現填補了這個資訊鴻溝——它是完全開源的、基於學術研究社群的成果,任何人都能檢視其原始碼、複製其實驗,並在相同的基準上進行創新比較。這種開源透明的精神,也讓 OpenHands 在學術界獲得了高度的關注與引用,並成為後續許多相關研究的重要基準。^[raw/papers/openhands.md]

Core Contributions

OpenHands 的主要貢獻可歸納為以下五點:

  1. 互動機制(Event Stream Architecture):透過事件流架構連接使用者介面、Agent 與環境,支援多輪對話、動作執行與觀測回饋的動態追蹤。所有互動歷史皆以結構化方式持久化,使 Agent 能在複雜任務中保有完整的上下文記憶。
  2. 安全執行環境(Docker Sandbox Runtime):每個任務會在隔離的 Docker 容器中執行,防止 Agent 的操作對宿主系統造成副作用。這種安全設計讓研究人員能放心地讓 Agent 執行來自網頁或使用者提供的未知程式碼。
  3. 代理人-電腦介面(Agent-Computer Interface, ACI):基於 SWE-Agent 提出的 ACI 概念,OpenHands 提供標準化的技能工具庫(AgentSkills),降低社群貢獻新工具的門檻,同時確保工具品質與一致性。
  4. 多 Agent 協作(Multi-Agent Delegation):支援 AgentDelegateAction 機制,讓專業 Agent 能分工合作完成複雜任務,例如讓通用 Agent 將特定子任務委託給專門的瀏覽或程式碼編輯 Agent。
  5. 統一評測框架:整合 15 個業界標準基準測試,涵蓋軟體工程、網頁瀏覽與綜合輔助三大類別,提供公平、可重現的效能比較基礎。這種系統性的評測設計,使研究者能客觀比較不同 Agent 架構的優劣,加速領域進步。

這些設計使得 OpenHands 不僅是一個概念框架,更是可直接部署使用、包含多種預設 Agent 與完整評測流程的生產級平台。^[raw/papers/openhands.md]

Architecture / Approach


Agent 抽象層(§2.1)

OpenHands 的核心是 State 與 Event Stream。State 封裝了 Agent 執行所需的所有資訊,包括累積的 LLM 呼叫成本、元資料追蹤、以及用於多 Agent 委託的追蹤資訊。Event Stream 則以時序記錄過往的 Actions 與 Observations,使 Agent 能夠在多輪互動中保有上下文記憶,並支援人類在任務執行過程中提供回饋或干預。

Agent 可執行的核心動作基於 CodeAct 架構,包含三類原始行為:

  • IPythonRunCellAction:在沙盒中執行任意 Python 程式碼
  • CmdRunAction:執行 bash 命令列指令
  • BrowseInteractiveAction:透過 BrowserGym 定義的領域特定語言操作網頁瀏覽器

這種基於程式語言(Programming Language, PL)的動作空間設計,比傳統 JSON 函式呼叫更強大且彈性。Wang et al. (2024a) 的研究表明,PL 基礎的動作空間足夠可靠且易於維護,同時能讓 Agent 在缺乏特定 API 時自行生成工具來完成任務——這是傳統工具呼叫架構難以實現的能力。^[raw/papers/openhands.md]

執行環境 Runtime(§2.2)

Runtime 以 Docker 沙盒為核心,連接一個 REST API 伺服器,內建三個關鍵元件:

  • Bash Shell:執行命令列工具與腳本,模擬軟體工程師的終端操作
  • Jupyter IPython Server:處理互動式 Python 程式碼執行,支援即時回饋與迭代開發
  • Playwright Chromium 瀏覽器:基於 BrowserGym 提供導航、點擊、輸入、滾動等操作,並返回 HTML、DOM、Accessibility Tree 與截圖等豐富觀測

OpenHands 支援任意 Docker 映像,透過構建模制自動將 OpenHands Action Execution API 安裝到使用者提供的映像中,實現高度灵活的環境定制能力。^[raw/papers/openhands.md]

技能庫 AgentSkills(§2.3)

SWE-Agent (Yang et al., 2024) 強調了精心設計的 Agent-Computer Interface(ACI)在成功完成複雜任務中的重要性。然而,創建、維護與分發大量工具可能成為艱钜的工程挑戰。AgentSkills 的設計即為解決此問題——這是一個 Python 套件,其中的工具函式會自動匯入 IPython 環境,供不同 Agent 實作共享使用。

技能準入原則相當嚴謹:僅當 LLM 難以直接寫程式達成某任務(如需要精確定行的 edit_file 編輯),或需呼叫外部模型(如視覺語言模型處理 PDF/圖片解析)時,才會新增技能。目前已支援包括檔案編輯、滾動檢視、PDF 解析、圖片解析等,並持續由社群擴充。^[raw/papers/openhands.md]

多 Agent 協作(§2.4)

透過 AgentDelegateAction,一個 Agent 可將子任務委託給另一個專業 Agent。例如通用型 CodeActAgent 可將複雜的網頁瀏覽任務委託給專門的 BrowsingAgent,後者配備了更豐富的瀏覽操作原語與策略,展現分工合作的彈性。這種設計使得系統能以模組化方式組合不同專業能力的 Agent,而非為每個任務從頭構建單一大型 Agent。^[raw/papers/openhands.md]

AgentHub

OpenHands 內建一個 AgentHub,收錄超過 10 種由社群貢獻的 Agent 實作:

  • CodeActAgent:預設通用型 Agent,基於 CodeAct 架構,可執行 Python/Bash/瀏覽器操作,在軟體工程、網頁瀏覽與綜合輔助任務中均表現競爭力。v1.5 以上版本無需任何系統提示修改即可横跨三大任務類別。
  • BrowsingAgent:專精網頁瀏覽的 Agent,以零樣本提示為基礎,在 WebArena 與 MiniWoB++ 上達到與同等級基線相當的表現。
  • GPTSwarm Agent:基於可優化圖結構的多 Agent 系統,以圖結構統一語言 Agent 框架的模組化設計,支援節點與連邊的自動優化。GPTSwarm 的創新在於將 Agent 系統的每個元件(推理、工具使用、記憶等)表示為圖中的節點,通過自動優化找到最優的 Agent 組合策略。這種元最佳化的方法論對未來的 Agent 架構設計具有重要的參考價值。^[raw/papers/openhands.md]
  • Micro Agent:輕量化的專業 Agent,複用既有通用 Agent 的實作,僅需貢獻特定提示即可,降低社群參與門檻,讓非深度學習背景的開發者也能貢獻專業領域的 Agent。這種漸進式的貢獻模式鼓勵了非深度學習背景的開發者參與,對壯大社群生态有重要作用。

值得注意的是,同一個 CodeActAgent(不做任何系統提示修改)即可横跨軟體開發、網頁互動與綜合輔助三大類別,展現真正的通用性,這在當時的開源 Agent 框架中是罕見的設計目標。^[raw/papers/openhands.md]

Key Results


OpenHands 在 15 個基準測試上進行了系統性評估,以下為主要亮點:

評測基準概述

OpenHands 選擇的 15 個基準測試代表了軟體開發與通用 AI Agent 研究中最具影響力的評測集合。SWE-Bench 由 Jimenez et al. (2024) 提出,是目前最具影響力的軟體工程 Agent 評測,收錄了真實 GitHub Issue 與對應的修復方案,測試 Agent 在完整軟體開發生命週期中的能力。WebArena (Zhou et al., 2023a) 提供了 812 個涵蓋購物論壇、開發者平台、內容管理系統的真實網站任務,是評測網頁 Agent 事實標準。GAIA (Mialon et al., 2023) 設計用於評測通用 AI 助理的綜合能力,要求 Agent 同時具備推理、多模態理解、網頁瀏覽與程式碼能力。GPQA (Rein et al., 2023) 則專注於研究生等級的 Google-Proof 問答,確保答案無法透過網路搜尋直接取得。這種多維度的評測設計,使 OpenHands 的效能評估具有高度的可信度與全面性。^[raw/papers/openhands.md]

Software Engineering

BenchmarkAgentModelResult
SWE-Bench LiteCodeActAgent v1.8claude-3.5-sonnet26.0%
HumanEvalFixCodeActAgent v1.5gpt-4o79.3%
ML-BenchCodeActAgent v1.5gpt-4o76.5%
BioCoder (Python)CodeActAgent v1.5gpt-4o27.5%
Gorilla APIBenchCodeActAgent v1.5gpt-4o36.4%
ToolQACodeActAgent v1.5gpt-4o47.2%

SWE-Bench Lite 測試 Agent 解決真實 GitHub Issue 的能力,CodeActAgent 以 26% 與 SWE-Agent (18%)、AutoCodeRover (19%)、Aider (26.3%) 等開源專家 Agent 相比毫不遜色。HumanEvalFix 的 79.3% 更幾乎是同等非 Agent 方法的兩倍,展現 CodeAct 動作空間在錯誤修復任務上的優勢。ML-Bench 的 76.5% 顯示 Agent 在機器學習程式碼生成上的強大能力。

值得注意的是,這些結果是在 0-shot 設定下取得的(即不提供任務範例),若允許 SWE-Agent 等使用 1-shot 示範,差距可能進一步縮小。這也凸顯了 OpenHands 在設計上對公平比較的堅持——所有結果均不針對特定基準內容進行手工提示工程。

BioCoder 的 27.5% 反應了生物資訊學領域程式碼生成的獨特挑戰:任務需要跨文件上下文檢索與專業領域知識,Agent 需具備主動探索程式碼庫的能力而非依賴提示中的上下文。Gorilla APIBench 的 36.4% 與 ToolQA 的 47.2% 顯示 API 呼叫與工具使用任務仍有相當大的最佳化空間。^[raw/papers/openhands.md]

Web Browsing

BenchmarkAgentModelResult
WebArenaBrowsingAgent v1.0claude-3.5-sonnet15.3%
WebArenaCodeActAgent v1.8 (delegate)claude-3.5-sonnet15.5%
MiniWoB++BrowsingAgent v1.0gpt-4o40.8%

在 WebArena(812 個真實網站任務,含購物、論壇、開發者平台等領域)中,OpenHands 的 BrowsingAgent 與同類 Domain-General 基線相當。值得注意的是,CodeActAgent 透過 AgentDelegateAction 委託給 BrowsingAgent 後,效能幾乎相同(15.5% vs 15.3%),驗證了多 Agent 協作設計的可行性。MiniWoB++ 達成 40.8%,超越同為 gpt-4o 的基線方法。

WebArena 的 15% 水準雖然與專業 Agent 相去不遠,但與頂尖閉源系統或經過大量訓練的專門模型相比仍有差距。這顯示網頁瀏覽 Agent 仍是一個極具挑戰性的研究問題,特別是在需要長期規劃與複雜操作序列的任務上。WebArena 的作者在原始論文中也指出,即使是人類志願者也只能達到約 78% 的準確率,說明了任務本身的難度層級。^[raw/papers/openhands.md]

Miscellaneous Assistance

BenchmarkAgentModelResult
GAIAGPTSwarm v1.0gpt-4o32.1%
GPQACodeActAgent v1.8claude-3.5-sonnet52.0%
AgentBench (OS)CodeActAgent v1.5gpt-4o57.6%
ProofWriter (5-hop)CodeActAgent v1.5gpt-4o78.8%

GPQA 研究生級問答中,CodeActAgent 達到 52%,接近專家人類表現(81.3%)的一半,大幅超越純 Few-shot Chain-of-Thought 基線。ProofWriter 的 78.8% 更接近 Logic-LM (79.6%) 的符號推理效能,顯示 CodeAct 在符號任務上的潜力。GAIA 的 32.1% 顯示通用任務助理仍有相當大的進步空間,這也呼應了 OpenHands 將持續最佳化通用 Agent 設計的長期目標。^[raw/papers/openhands.md]

與其他框架的比較

從框架層面來看,OpenHands 是少數同時支援標準化工具庫、沙盒執行環境、內建瀏覽器、人機協作、AgentHub、評測框架與品質控制的開源 Agent 平台。相較於 AutoGPT/LangChain 等通用框架,OpenHands 更聚焦於軟體開發場景的深度優化;相較於 SWE-Agent 等專家系統,OpenHands 的多 Agent 設計提供了更靈活的擴展能力。這種兼顧通用性與專業性的平衡設計,是 OpenHands 在開源 Agent 框架競爭中的主要差異化優勢。

值得注意的是,表1(論文§C)的比較顯示,現有開源框架中能同時滿足所有這些條件的選擇極為稀少。OpenHands 的出現填補了這個生態缺口,讓研究者能在統一的基礎架構上探索不同的 Agent 設計理念,而無需從零構建基礎設施。這種「平台的平台」角色,使 OpenHands 不僅是一個產品,更是一個推動整個社群創新的基礎建設。^[raw/papers/openhands.md]

Limitations


儘管 OpenHands 展現了通用 Agent 的潜力,仍有以下限制:

  • 通用性與專業性的取捨:同一個 CodeActAgent 能在多類任務上取得競爭力表現,代價是犧牲特定領域的最佳化基線。專業 Agent(如 SWE-Agent、Aider)通常針對軟體工程任務做了專門的提示工程與工具設計,在特定基準上可能更優。例如 SWE-Agent 在 SWE-Bench 上使用了 1-shot 示範,而 OpenHands 堅持 0-shot 公平比較,若允許示範則可能提升分數。
  • 長期任務穩定性:軟體工程任務(如 SWE-Bench)涉及多步驟推理與環境探索,Agent 在複雜情境下仍可能迷失方向、選擇非最優策略,或在長達數百步的任務中遺失關鍵上下文。SWE-Bench 的 26% 解決率顯示即使是最新模型,仍有大量真實世界軟體工程挑戰尚待克服。
  • 安全與風險:論文附錄 (§A) 提及開發安全且可靠的 Agent 仍具挑戰性。雖然 Docker 沙盒提供隔離保護,但 Agent 生成的程式碼仍可能帶有安全漏洞,或在某些場景下產生負面副作用。特別是當 Agent 需要瀏覽網頁或下載外部資源時,攻擊者可能透過惡意網頁或相依套件滲透任務環境。
  • 評測成本與覆蓋度:完整 SWE-Bench(2294 個實例)評估預估需 3 計算),限制了快速迭代與大規模實驗的可行性,也成為研究社群進一步最佳化的障礙。此外,15 個基準測試雖然覆蓋主要類別,但每個類別內的任務多樣性仍有提升空間。
  • 工具生態成熟度:AgentSkills 目前收錄的技能數量仍然有限,隨著社群貢獻增加,工具品質參差不齊與介面一致性的維護將是長期挑戰。如何在開放貢獻與品質控制之間取得平衡,是下一階段發展的關鍵議題。社群治理模式的建立將是 OpenHands 未來發展的重要課題。

這些限制也呼應了 AI Agent 研究整體面臨的核心問題,包括 agent-readmesclaude-code-analysis 等相關實體所探討的安全性、可靠性與評測標準議題。^[raw/papers/openhands.md]

社群與開源生態

OpenHands 的另一項重要價值在於其對開源生態系統的推動。作為一個完全開源的專案,OpenHands 允許任何人自由使用、修改與商業部署(MIT 許可證)。其 188 位貢獻者與 2,100+ 次程式碼提交的規模,顯示了社群驅動開發模式的成功。這種開放性不僅加速了研究創新,也讓產業應用能基於經過充分測試的框架構建,降低了從研究到生產的轉換成本。

除了技術貢獻,OpenHands 的開源性質也促進了知識的共享與標準的形成。透過在統一的平台上發布 benchmark 結果,研究者能更準確地追蹤領域進展,識別尚未解決的挑戰,並形成共識的評測方法論。這對於整個 AI Agent 領域的健康發展具有深遠的影響,也為未來更強大的通用 Agent 系統奠定了方法論基礎。^[raw/papers/openhands.md]


相關頁面