OpenHands: An Open Platform for AI Software Developers as Generalist Agents
作者: Xingyao Wang, Boxuan Li, Yufan Song, Frank F. Xu, Xiangru Tang, Mingchen Zhuge, Jiayi Pan, Yueqi Song, Bowen Li, Jaskirat Singh, Hoang H. Tran, Fuqiang Li, Ren Ma, Mingzhang Zheng, Bill Qian, Yanjun Shao, Niklas Muennighoff, Yizhe Zhang, Binyuan Hui, Junyang Lin, Robert Brennan, Hao Peng, Heng Ji, Graham Neubig
分类: cs.SE, cs.AI, cs.CL
发布日期: 2024-07-23 (更新: 2025-04-18)
备注: Accepted by ICLR 2025; Code: https://github.com/All-Hands-AI/OpenHands
💡 一句话要点
OpenHands:一个面向AI软件开发者作为通用智能体的开放平台
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: AI智能体 软件开发平台 通用智能体 开放平台 多智能体协作
📋 核心要点
- 现有AI智能体在复杂环境交互方面存在局限,难以像人类开发者一样灵活运用多种工具。
- OpenHands平台旨在构建能够编写代码、使用命令行和浏览网页的通用AI智能体,模拟人类开发者的工作流程。
- 通过集成软件工程和网页浏览等基准测试,OpenHands平台验证了其在复杂任务上的有效性,并促进了社区协作。
📝 摘要(中文)
本文介绍了OpenHands(原名OpenDevin),一个用于开发强大且灵活的AI智能体的平台,这些智能体能够像人类开发者一样与世界交互:编写代码、与命令行交互以及浏览网页。该平台支持新智能体的实现、与沙盒环境的安全交互以执行代码、多智能体之间的协调以及评估基准的整合。基于目前已整合的基准,我们对智能体在15项具有挑战性的任务上进行了评估,包括软件工程(例如,SWE-BENCH)和网页浏览(例如,WEBARENA)等。OpenHands以宽松的MIT许可证发布,是一个跨学术界和工业界的社区项目,拥有来自188多位贡献者的2.1K多项贡献。
🔬 方法详解
问题定义:当前AI智能体在软件开发和复杂任务处理方面面临挑战。它们难以有效地利用各种工具(如代码编辑器、命令行和浏览器)进行交互,从而限制了其解决实际问题的能力。现有方法往往专注于特定任务,缺乏通用性和灵活性,难以适应不断变化的环境和需求。
核心思路:OpenHands的核心思路是构建一个开放且可扩展的平台,使AI智能体能够像人类开发者一样,通过编写代码、与命令行交互和浏览网页来完成任务。该平台旨在提供一个安全、可控的环境,允许智能体自由探索和学习,并促进多智能体之间的协作。
技术框架:OpenHands平台包含以下主要模块:1) 智能体接口:定义了智能体与环境交互的标准方式,包括代码编写、命令执行和网页浏览等。2) 沙盒环境:提供一个隔离的、安全的执行环境,防止智能体执行恶意代码或对系统造成损害。3) 多智能体协调:支持多个智能体之间的通信和协作,共同解决复杂问题。4) 评估基准:集成了一系列具有挑战性的任务,用于评估智能体的性能和能力。
关键创新:OpenHands的关键创新在于其通用性和开放性。它不仅提供了一个完整的开发平台,还允许开发者轻松地集成新的智能体、工具和评估基准。这种开放的设计促进了社区协作,加速了AI智能体技术的发展。与现有方法相比,OpenHands更加注重智能体的自主性和灵活性,使其能够更好地适应复杂和动态的环境。
关键设计:OpenHands平台采用模块化设计,各个模块之间通过清晰的接口进行通信。沙盒环境使用容器化技术实现,确保代码执行的安全性。多智能体协调机制基于消息传递,允许智能体之间共享信息和协同工作。评估基准涵盖了软件工程、网页浏览等多个领域,全面评估智能体的能力。
🖼️ 关键图片
📊 实验亮点
OpenHands平台在包括SWE-BENCH和WEBARENA在内的15项具有挑战性的任务上进行了评估。实验结果表明,基于OpenHands开发的智能体在软件工程和网页浏览等任务上表现出色,证明了该平台在构建通用AI智能体方面的有效性。该项目已获得超过2.1K的贡献,表明其受到了社区的广泛关注和支持。
🎯 应用场景
OpenHands平台具有广泛的应用前景,可用于自动化软件开发、智能运维、网络安全等领域。通过赋予AI智能体更强的自主性和灵活性,OpenHands有望显著提高工作效率,降低开发成本,并推动人工智能在各个行业的应用。
📄 摘要(原文)
Software is one of the most powerful tools that we humans have at our disposal; it allows a skilled programmer to interact with the world in complex and profound ways. At the same time, thanks to improvements in large language models (LLMs), there has also been a rapid development in AI agents that interact with and affect change in their surrounding environments. In this paper, we introduce OpenHands (f.k.a. OpenDevin), a platform for the development of powerful and flexible AI agents that interact with the world in similar ways to those of a human developer: by writing code, interacting with a command line, and browsing the web. We describe how the platform allows for the implementation of new agents, safe interaction with sandboxed environments for code execution, coordination between multiple agents, and incorporation of evaluation benchmarks. Based on our currently incorporated benchmarks, we perform an evaluation of agents over 15 challenging tasks, including software engineering (e.g., SWE-BENCH) and web browsing (e.g., WEBARENA), among others. Released under the permissive MIT license, OpenHands is a community project spanning academia and industry with more than 2.1K contributions from over 188 contributors.