OpenDevin:一個面向通用型Agent AI軟件開發者的開放平臺

一、結論寫在前面
Code ??https://github.com/OpenDevin/OpenDevin??
Benchmark ??https://hf.co/spaces/OpenDevin/evaluation??
Slack ??https://bit.ly/OpenDevin-Slack??
論文標題:OpenDevin: An Open Platform for AI Software Developers as Generalist Agents
論文鏈接:??https://arxiv.org/pdf/2407.16741??
軟件是論文人類擁有的最強大的工具之一;它使熟練的程序員能夠以復雜而深刻的方式與世界互動。同時,得益于大型語言模型(LLMs)的改進,與周圍環境互動并產生影響的AIagent 也得到了快速發展。
論文介紹OpenDevin,這是一個社區驅動的平臺,旨在開發通過軟件與世界交互的通才及專才AI agent 。其特點包括:
(1) 一種交互機制,允許用戶界面、agent 和環境通過強大而靈活的事件流架構進行交互。
(2) 一個由沙盒操作系統和一個網頁瀏覽器組成的環境,agent 可以利用這些環境來完成任務。
(3) 一個接口,允許agent 以類似于實際軟件工程師的方式與環境交互。論文提供agent 以下能力:(a) 創建復雜的軟件,(b) 執行代碼,以及(c) 瀏覽網站以收集信息。
(4) 多agent 委托,允許多個專業agent 協同工作。
(5) 評估框架,便于對agent 在廣泛任務上的表現進行評估。
重要的是,OpenDevin不僅是一個概念框架,還包括了agent 、環境和評估的全面且即用的實現。截至目前,OpenDevin包含一個擁有超過10個已實現agent 的agent 中心,其中包括一個基于CodeAct架構實現的強大通用agent,并增加了網頁瀏覽[52]和代碼編輯功能[2]。用戶通過聊天界面與系統交互,該界面可視化agent 的當前動作并允許實時反饋。此外,評估框架目前支持15個基準測試,論文用這些基準來評估論文的agent。
二、論文的簡單介紹
2.1 論文的背景
隨著AIagent 逐漸能夠解決復雜問題,其開發與評估也變得更具挑戰性。近期,眾多努力致力于創建開源框架以促進agent 的開發。這些agent 框架通常包含:
(1) agent 與世界交互的接口(如基于JSON的函數調用或代碼執行)
(2) agent 運作的環境
(3)人機或agent 間通信的交互機制。這些框架通過多種方式簡化了開發流程(見表1,SC部分)。
在設計AIagent 時,論文還可考慮人類如何與世界互動。目前,人類與世界互動的最強方式是通過軟件——軟件驅動著論文生活的方方面面,從基本需求的物流支持到科學技術及AI本身的進步。鑒于軟件的強大功能及其在高效開發、使用和部署方面的現有工具,它為AIagent 以復雜方式與世界交互提供了理想的接口。然而,構建能夠有效開發軟件的agent 也帶來了獨特的挑戰。論文如何使agent 能夠有效創建和修改復雜軟件系統中的代碼?論文如何為他們提供工具,以便實時收集信息進行問題調試或獲取任務所需信息?論文如何確保開發過程的安全性,避免對用戶系統產生負面影響?
2.2 OpenDevin架構
論文使用OpenDevin描述了:(1) 如何定義和實現agent ,(2) 每個動作執行如何導致觀察結果,(3) 如何可靠地管理和執行agent 僅使用的技能,以及(4) 如何將多個agent 組合在一起以解決任務。圖3提供了概覽。
2.2.1 agent 定義與實現
一個agent 能夠感知環境狀態(例如,先前的動作和觀察結果),并在解決用戶特定任務時產生執行動作。
狀態與事件流。在OpenDevin中,狀態是一種數據結構,封裝了agent 執行所需的所有相關信息。該狀態的一個關鍵組成部分是事件流,它是一個按時間順序排列的過去動作和觀察結果的集合,包括agent 自身的動作和用戶交互(例如,指令、反饋)。然而,狀態不僅僅局限于事件流。

圖1:OpenDevin 用戶界面(UI,SD)允許用戶查看文件、檢查執行的bash命令/Python代碼、觀察agent 的瀏覽器活動,并直接與agent 交互。
還包括agent 操作的輔助信息,例如LLM調用的累積成本、用于跟蹤多agent 委托的元數據以及其他執行相關參數。
行動。受 CodeAct [63] 啟發,OpenDevin 通過一組核心通用行動將agent 與環境連接。IPythonRunCellAction 和 CmdRunAction 使agent 能在沙盒環境(如安全隔離的 Linux 操作系統)中執行任意 Python 代碼和 bash 命令。BrowserInteractiveAction 允許使用 BrowserGym 引入的特定領域語言與網絡瀏覽器交互。基于編程語言(PL)的行動空間既強大又靈活,可使用不同形式的工具(如 Python 函數、REST API 等)執行任何任務 ,同時保持可靠性和易維護性。這種設計也兼容需要預定義工具列表的現有工具調用agent。用戶可以輕松使用 OpenDevin 原始行動支持的 PL 定義工具(如為計算器編寫 Python 函數),并通過類 JSON 的函數調用體驗 使這些工具可供agent 使用。此外,框架強大的基于 PL 的原語使agent 能在直接相關 API 不可用時自行創建工具(如生成 Python 函數 )。
觀察。觀察描述agent 觀察到的環境變化。這可能由agent 的行動引起,也可能不是:它可以是 1) 用戶指示agent 執行特定任務的自然語言消息,2) agent 先前行動的執行結果(如代碼執行結果、可訪問性樹 、網頁截圖等)。
實現新agent 。agent 抽象設計簡單而強大,允許用戶輕松創建和定制各種任務的agent 。agent 抽象的核心在于 step 函數,它以當前狀態為輸入,基于agent 邏輯生成適當的行動。圖 2 展示了agent 抽象的簡化示例代碼。通過提供這種抽象,OpenDevin 允許用戶專注于定義所需的agent 行為和邏輯,而無需關心行動執行的底層細節。

圖 3:OpenDevin 由三個主要組件組成:1) agent 抽象,社區可以在此貢獻不同實現的agent (S2.1)到agent 中心(S3);2) 事件流,用于跟蹤動作和觀察的歷史記錄;3) agent 運行時,執行所有agent 動作并轉化為觀察結果(2.2)
2.2.2 agent 運行時:動作執行如何產生觀察結果
agent 運行時提供了一個通用環境,使agent 具備與人類軟件開發者相當的動作空間,使 OpenDevin agent 能夠處理廣泛的軟件開發和基于網絡的任務,包括復雜的軟件開發工作流程、數據分析項目、網頁瀏覽任務等。它允許agent 訪問 bash 終端以運行代碼和命令行工具,使用 Jupyter 筆記本進行即時編寫和執行代碼,并與網絡瀏覽器交互以進行基于網絡的任務(例如,信息搜索)。
Linux SSH 沙盒。對于每個任務會話,OpenDevin 會啟動一個安全隔離的 Docker 容器沙盒,其中所有來自agent 的 bash 命令都在此執行。OpenDevin 通過 SSH 協議連接到沙盒,執行agent 發送的任意命令,并將執行結果作為觀察結果返回給agent 。一個可配置的工作區目錄,包含用戶希望agent 處理的文件,會被掛載到這個安全沙盒中,供 OpenDevin agent 訪問。
Jupyter IPython。Linux 沙盒還支持運行一個交互式 Jupyter 服務器,agent 可以使用它進行交互式 Python 代碼執行和調試。
Web 瀏覽器。OpenDevin 實現了一個基于 Playwright 的 Chromium 瀏覽器。它通過 BrowserGym 定義的一組瀏覽器動作原語 與agent 進行交互,例如導航、點擊、輸入、滾動。執行這些動作后,瀏覽器運行時會提供關于瀏覽器當前狀態的豐富觀察結果,包括 HTML、DOM、可訪問性樹、截圖、打開的標簽頁等。這些觀察結果還可以通過可配置的屬性進行增強,使agent 更好地理解網頁觀察結果,例如使用截圖上的標記集、可見元素標記、焦點元素、可交互元素標記、視口內元素過濾 等。
表1:不同AIagent 框架的比較。SwE指的是“軟件工程”。標準化工具庫:如果框架包含可重用的工具用于不同的agent 實現;內置沙盒與代碼執行:如果支持沙盒執行任意agent 生成的代碼;內置網頁瀏覽器:如果為agent 提供完全功能的網頁瀏覽器訪問;人機協同:如果支持多輪人機協同(例如,人類可以在任務執行過程中中斷agent ,和/或提供額外反饋和指令);AgentHub:如果托管多種agent 實現;評估框架:如果提供對實施agent 在挑戰性基準上的系統評估;agent 質量控制(QC):如果框架集成測試(SE)以確保整體框架軟件質量

2.2.3 agent技能:可擴展的agent-計算機接口
SWE-Agent強調了精心設計的agent-計算機接口(ACI,即特定任務的專用工具)在成功解決復雜任務中的重要性。然而,創建、維護和分發大量工具可能是一個艱巨的工程挑戰,尤其是在論文希望這些工具可供不同agent實現使用時。為了應對這些挑戰,論文構建了AgentSkills庫,這是一個旨在增強agent能力的工具箱,提供了通過基本bash命令或Python代碼不易獲得的實用程序。
易于創建和擴展工具。AgentSkills設計為包含不同實用函數(即工具)的Python包,這些函數會自動導入到Jupyter IPython環境中(82.2)。將Python函數定義為工具的簡易性降低了社區成員為技能庫貢獻新工具的門檻。Python包的通用性也使得不同的agent實現能夠通過論文的核心動作IPythonRunCellAction輕松利用這些工具。
嚴格測試和維護。論文遵循軟件工程的最佳實踐,為AgentSkills中的工具編寫了廣泛的單元測試,以確保其可靠性和可用性。
納入標準與理念。在AgentSkills庫中,論文的目標并非包裝所有可能的Python包并重新教授agent 其使用方法(例如,LLM已知曉能讀取CSV文件的pandas庫,因此論文無需再創建工具來教導agent 讀取相同文件格式)。論文僅在以下情況添加新技能:(1)對于LLM而言,直接編寫代碼實現該功能并非易事(例如,編輯代碼并替換特定行),和/或(2)涉及調用外部模型(例如,調用語音轉文本模型,或代碼編輯模型)。
當前支持的技能。AgentSkills庫包含從SWE-Agent[72]改編的文件編輯工具,如edit file,允許從指定行修改現有文件;滾動功能scroll up和scroll down用于查看文件的不同部分。此外,它還包含支持閱讀多模態文檔的工具,如parse-image和parse-pdf,分別利用視覺-語言模型(例如,GPT-4V)從圖像中提取信息和從PDF中讀取文本。
2.2.4 agent 委托:協作多agent 交互
OpenDevin同樣支持多個agent 之間的交互。為此,論文采用了一種特殊動作類型AgentDelegateAction,使一個agent 能夠將特定子任務委托給另一個agent 。例如,具備有限網頁瀏覽能力的通用型CodeActAgent,可以通過AgentDelegateAction將網頁瀏覽任務委托給專門的BrowsingAgent,以執行更復雜的瀏覽活動(例如,導航網頁、點擊按鈕、提交表單,等等)。
2.3 AgentHub:社區貢獻agent 的集線器
基于論文的agent 抽象,OpenDevin支持廣泛的社區貢獻agent 實現,供終端用戶選擇,并作為不同agent 任務的基準。
CodeAct Agent。CodeActAgent 是基于 CodeAct 框架 的默認通用型agent 。在每個步驟中,agent 可以(1)通過自然語言與人類交流,以請求澄清、確認等,或者(2)通過執行代碼(即 CodeAct)來完成任務,包括執行 bash 命令、Python 代碼或特定于瀏覽器的編程語言。這種通用動作空間使得agent (v1.5 及以上版本)能夠執行多種任務,包括編輯文件、瀏覽網頁、運行程序等。
瀏覽agent 。論文實現了一個名為 Browsing Agent 的通用型網絡agent ,作為網絡agent 任務的簡單而有效的基線。該agent 類似于 WebArena中的agent ,但具有改進的觀察和動作,僅使用零樣本提示。在每個步驟中,agent 通過任務描述、瀏覽動作空間描述、使用可訪問性樹的當前瀏覽器觀察、先前動作以及帶有鏈式思考推理的動作預測示例來提示大型語言模型(LLM)。LLM 的預期響應將包含鏈式思考推理以及預測的下一個動作,包括完成任務并向用戶傳達結果的選項。
GPTSwarm agent 。GPTSwarm 開創性地使用可優化的圖來構建agent 系統,通過模塊化統一語言agent 框架。每個節點代表一個獨特的操作,而邊定義協作和通信路徑。這種設計允許自動優化節點和邊,推動多agent 系統的進步。
微型agent (Micro Agent)。此外,OpenDevin 支持創建微型agent ,這是一種針對特定任務的agent 。微型agent 復用了現有通用agent (例如,CodeAct Agent)的大部分實現。其設計旨在降低agent 開發的門檻,社區成員可以分享針對其特定用例表現良好的專用提示。無需編程,用戶只需提供agent 的名稱、描述、輸入和輸出的模式,以及可選的專用提示(例如,展示如何執行特定任務的示例演示),即可創建微型agent ,例如生成 git 提交消息的 CommitWriterAgent,以及用于糾正整個代碼庫拼寫錯誤的 TypoFixerAgent。
2.4 評估
為了系統地跟蹤構建通用數字agent 的進展,如表 2 所示,論文將 15 個已建立的基準集成到 OpenDevin 中。這些基準涵蓋軟件工程、網頁瀏覽和雜項輔助任務。這里論文將 OpenDevin 與不基于基準內容進行手動提示工程的開源可復現基線進行比較。請注意,為了簡潔起見,本節余下部分論文將 OpenDevin 簡稱為 OD。
2.4.1 結果概覽
在 OpenDevin 中,論文的目標是開發能夠通過軟件接口與世界交互的通用數字agent。論文認識到,軟件agent 不僅應在代碼編輯方面表現出色,還應在網頁瀏覽和各種輔助任務中表現優異,例如回答有關代碼倉庫的問題或進行在線研究。
表 2:OpenDevin 中的評估基準

表 3:OpenDevin agent 的選定評估結果(84)。完整結果請參見表 4(軟件)、表 5(網頁)、表 6(雜項輔助)

表3展示了一系列精選的評估結果。盡管OpenDevinagent 在每個類別中可能無法達到頂尖性能,但它們的設計考慮到了通用性。值得注意的是,同一個CodeActagent ,無需對其系統提示進行任何修改,就在三大任務類別(軟件開發、網頁交互和雜項任務)中展示了競爭性的表現。與通常為特定任務類別設計和優化的基準agent 相比,這一點尤為顯著。
2.4.2 軟件工程
接下來,論文在表4中報告軟件工程基準的具體結果。
2.4.2.1 SWE-Bench
SWE-bench旨在評估agent 解決真實GitHub問題的能力,如錯誤報告或功能請求。agent 與倉庫交互并通過文件編輯和代碼執行嘗試修復問題。agent 修改后的代碼倉庫會針對一個測試套件進行測試,該套件包含了從人類開發者對同一問題的修復中添加的新測試。每個測試實例都附帶一段“提示文本”,包含自然語言建議,指導如何解決問題。在本文中,論文報告的所有結果均未使用提示文本。為了便于訪問和高效測試,創建了一個規范子集,即SWE-bench Lite。出于成本節約考慮,論文默認使用此子集進行測試。
結果。如表4所示,論文最新版本的 CodeActAgent v1.8 通用agent ,使用 claude-3.5-sonnet 模型,達到了 26% 的解決率,與其他專門用于軟件開發的開源agent 相比具有競爭力。論文還使用 gpt-4o-mini 評估了 CodeActAgent v1.8。雖然它僅解決了 6.3% 的問題,但其成本不到其他模型的 1%。
2.4.2.2 HumanEvalFix
HumanEvalFix要求agent 在提供的測試用例幫助下修復給定函數中的bug。這些bug的設計確保了一個或多個測試用例會失敗。論文專注于該基準測試的Python子集,允許模型通過多輪自我調試來解決bug,并結合測試執行的反饋。論文遵循Muennighoff等人 [37] 的設置,使用pass@k [8]。
結果。如表4所示,OpenDevin CodeActAgent成功修復了Python分支中79.3%的bug。這顯著優于所有非agent 方法,幾乎是StarCoder2-15B [28, 32] 性能的兩倍。雖然SWE-Agent達到了87.7%,但Yang等人 [72] 為模型提供了一個完整的示范,展示了成功修復測試數據集中一個bug的樣本軌跡("1-shot"),而論文對OpenDevin的評估是0-shot(無示例)。由于HumanEvalFix是由人類創建的,所有bug都經過仔細驗證,在這個基準測試中達到100%是完全可行的,這也是論文在OpenDevin未來迭代中希望實現的目標。

2.4.2.3 ML-Bench
ML-Bench 評估agent 在18個GitHub倉庫中解決機器學習任務的能力。該基準包含9,641個任務,涵蓋169個多樣化的ML問題,要求agent 根據用戶指令生成bash腳本或Python代碼。在沙盒環境中,agent 可以迭代執行命令并接收反饋,使其能夠逐步理解倉庫上下文并滿足用戶需求。按照原始論文的設置,論文對ML-Bench的四分之一子集進行agent 評估。
結果。如表4所示,搭載GPT-4o的OpenDevinagent 在ML-Bench上取得了76.47%的最高成功率,超越了SWE-Agent (42.0470)。性能隨著模型能力的降低而下降。這些結果展示了Devinagent 在復雜ML任務中的有效性。論文注意到,在ML-LLM-Bench設置下,與非agent 方法相比,agent 顯示出減少幻覺和語法錯誤的潛力[57]。
2.4.2.4 Gorilla APIBench
Gorilla APIBench評估agent 使用API的能力。它包含涉及TorchHub、TensorHub和HuggingFace的任務。在評估過程中,模型會收到一個與API使用相關的問題,例如“識別一個能夠將錄音中的口語轉換為文本的API”。正確性評估基于模型的API調用是否在正確的領域內。
結果。如表4所示,使用GPT-4o的OpenDevin以36.4%的成功率,優于未專門微調用于API調用的基線模型。盡管Gorilla在APIBench上表現更佳,但Patil等人特別針對API調用對這一模型進行了微調。
2.4.2.5 ToolQA
ToolQA[81]評估agent 使用外部工具的能力。該基準包括涉及航班狀態、咖啡價格、Yelp數據和Airbnb數據等主題的任務,需要使用各種工具,如文本工具、數據庫工具、數學工具、圖形工具、代碼工具和系統工具。它分為兩個難度級別:簡單和困難。簡單問題側重于單一工具的使用,而困難問題則強調推理。在評估中,使用簡單子集來評估工具使用能力。
結果。與所有基線相比,使用GPT-4o的OpenDevin表現出最高性能。
2.4.2.6 BioCoder
BioCode是一個倉庫級代碼生成基準,評估agent 在生物信息學相關任務上的表現,特別是檢索和準確利用上下文的能力。原始提示包含相關代碼的上下文;然而,論文已將其移除,以展示OpenDevin在多輪交互中進行上下文檢索、自我調試和推理的能力。BioCoder包含157個Python函數和50個Java函數,每個函數針對生物信息學中的特定領域,如蛋白質組學、基因組學和其他專業領域。該基準通過在現有倉庫中生成代碼來針對實際代碼,其中相關代碼已被屏蔽。
結果。表4顯示,使用GPT-4o的OpenDevin達到了44.0\%的成功率。這一成績超越了所有基于提示的非agent 基線模型,其中單獨使用GPT-4僅能達到較低水平。BioCoder被證明是對非agent 方法特別具有挑戰性的基準,因為它們沒有整合任何倉庫級別的檢索方法,使得這些模型缺乏訪問關鍵的倉庫級別信息,如全局變量和函數聲明。
表5:OpenDevin網頁瀏覽評估結果

2.4.2.7 BIRD
BIRD 是一個針對文本到SQL任務(即,將自然語言翻譯成可執行SQL)的基準,旨在現實且大規模的數據庫環境中進行。論文從開發集中選取300個樣本整合到OpenDevin中,并基于執行準確性進行評估。
此外,論文擴展了設置,允許agent 進行多輪交互以得出最終的SQL查詢,使其能夠通過觀察SQL執行結果來糾正歷史結果。
結果。如表4所示,OpenDevin與GPT-4o在BIRD的一個子集上達到了47.3%的執行準確率,展示了OpenDevin作為SQLagent 的潛力。這一結果優于使用代碼LLM進行提示的方法,例如CodeLlama-7B-Instruct(18.3%)和CodeQwen-7B-Chat(31.3%)。
2.4.3 網頁瀏覽
論文在表5中報告了網頁瀏覽基準的評估結果。
2.4.3.1 WebArena
WebArena 是一個可自托管的、基于執行的網頁agent 基準,允許agent 自由選擇完成給定任務的路徑。WebArena包含812個人工精選的任務指令,涵蓋購物、論壇、開發者平臺和內容管理系統等多個領域。每個任務都配有一個手寫的測試用例,通過檢查網頁元素的狀態或agent 返回的文本答案來驗證agent 的成功。
結果。從表5中可以看出,論文的BrowsingAgent在使用領域通用提示技術的LLMagent 中表現出了競爭力。一些agent (例如AutoWebGLM)需要針對WebArena任務域的手動調整。這展示了通用瀏覽agent 與領域定制專家agent 之間的性能權衡,論文選擇更通用的瀏覽agent 作為OpenDevin中的構建模塊。
2.4.3.2 MiniWoB
MiniWoBt+是一個交互式網頁基準,內置獎勵函數。任務在125個不同的極簡網頁界面上合成初始化。與WebArena不同,任務更簡單,無需頁面變化,步驟更少,并提供低級別的逐步任務指導。需要注意的是,它包含一部分需要視覺能力才能成功解決的環境,許多現有工作選擇僅關注任務的一個子集。盡管如此,論文報告了全集的性能,并且只包括在全集上評估的基線。
結果。從表5中論文可以看到,論文的通用型BrowsingAgent在不對環境進行任何適應的情況下,完成了近一半的任務。然而,由于MiniWoBtt的合成性質,那些專門為環境訓練的先進agent ,通過強化學習或人類行為克隆的方式,幾乎已經達到了性能的飽和。這表明在通用型和專家型agent 之間存在著比WebArena基準更大的權衡。
2.4.4 雜項輔助
雜項輔助基準的結果在表6中報告。特別是,論文報告了以下結果:
2.4.4.1 GAIA
GAIA 評估agent 的通用任務解決技能,涵蓋不同的現實場景。它要求agent 具備多種能力,包括推理、多模態理解、網頁瀏覽和編程。GAIA包含466個精選任務,分為三個級別。由于需要將多種工具與agent 集成,設置GAIA傳統上具有挑戰性,但OpenDevin的基礎設施(例如,運行時\S2.2,今天2.3)顯著簡化了集成過程。
結果。在論文的實驗中,論文在GAIA(一級驗證)上取得了32.1的分數,顯著超過了原始的AutoGPT [14]。GAIA對多模態輸入和網頁導航技能的支持非常敏感,隨著OpenDevin基礎設施的改進,預計將進一步提高分數。
2.4.4.2 GPQA
GPQA 評估agent 在解決高難度研究生級別問題時協調工具使用的能力。它包含448個精選且難度較高的生物學、物理學和化學多選題。工具使用(例如,Python)和網絡搜索通常有助于agent 回答這些問題,因為它們提供了LLM通常無法進行的精確計算,并提供了超出LLM參數知識庫的信息訪問。
結果。結果展示在表6和表7中。論文觀察到,OpenDevin集成支持多種工具使用(例如,用于計算的Python)以及網頁搜索(用于搜索相關事實),使得生成的agent 能夠更好地解決復雜的多步驟問題,在GPQA[50]的主要和鉆石子集上分別超越了先前的最先進水平9.6%和12.3%。
2.4.4.3 AgentBench
AgentBench評估agent 在多輪開放式生成環境中的推理和決策能力。論文選擇了包含144個任務的代碼基礎操作系統(OS)子集。OpenDevin的agent 通過多輪方式使用bash命令直接與特定任務的OS交互,結合交互和推理來自動完成任務。
結果。在論文的實驗中(表6),OpenDevin CodeActAgent v1.5在使用gpt-4o的情況下在AgentBench上達到了57.6%的分數,超過了原論文中使用gpt-4的42.4%基線。有趣的是,當使用較弱的模型如gpt-3.5-turbo時,OpenDevinagent 通常表現不如原基線agent 。這一發現表明,像OpenDevin中實現的通用agent 需要一定的基礎模型能力閾值——特別是遵循指令的能力——才能有效運作。
2.4.4.4 MINT
MINT是一個基準測試,旨在評估agent 通過多輪交互使用工具和由GPT-4模擬的自然語言反饋解決挑戰性任務的能力。論文使用Eurus[76]中使用的編碼和數學子集進行評估。論文遵循與原論文相同的設置,允許agent 最多進行五次迭代,并給予兩次提出解決方案的機會。
結果。如表6所示,OpenDevinagent 在原基準測試中與默認agent 表現相當,數學子集上有所改進。
表6:OpenDevin雜項輔助評估結果

2.4.4.5 ProofWriter
ProofWriter是一個合成數據集,旨在評估大型語言模型(LLMs)的演繹推理能力。與 Logic-LM [43] 一樣,?論文專注于最具挑戰性的子集,其中包含 600 個需要 5 步推理的實例。為了最小化語義解析潛在錯誤的影響,論文使用 Logic-LM 提供的邏輯形式。
結果。如表 6 所示,OpenDevin agent 使用符號求解器來解決任務,達到了與最先進的神經符號模型(即 Logic-LM相當的性能。
2.4.4.6 Entity Deduction Arena
實體推理競技場(Entity Deduction Arena,EDA)評估agent 通過戰略性提問推斷未知實體的能力,類似于"20個問題"游戲。這個基準測試考驗agent 在多輪對話中的狀態跟蹤、戰略規劃和歸納推理能力。論文評估了兩個數據集"Things"(物品)和"Celebrities"(名人),每個數據集包含100個實例,并報告這兩個數據集的平均成功率。
結果。表6顯示,CodeActAgent與原論文 報告的結果相比,產生了可比的性能。
本文轉載自 ??AI帝國??,作者: 無影寺

















