这款开源的AI编程工具,最近火了

说到 “AI 程序员”,我想你一定会想到 Cognition Labs 的 Devin,这是全球首个 “AI 程序员”,它能自主学习新技术、端到端构建和部署应用、自主查找和修复代码 Bug,甚至训练和微调 AI 模型等,功能非常强大,但是它每月 500 美元的订阅费劝退了一大批人。

今天我就给你推荐一个开源的 “AI 程序员”,叫做 OpenHands。

OpenHands 具备自然语言编程能力,能自动生成高质量的代码,它通过多智能体协作的方式,可以像人类一样执行各种开发任务,比如修改代码、运行命令、浏览网页、调用 API,甚至从 StackOverflow 复制代码片段等。

你可以把 OpenHands 看成是一个由多个智能体组成的 “AI 程序员”,这些智能体可以协同工作,将复杂任务分解为多个子任务,然后由不同的智能体协同完成。这种多智能体协作的方式大大减少了开发者的编码工作量,提高了开发效率。

它还可以在 Docker 上运行,所以设置和试用都非常简单。

OpenHands 的 Slogan 是 Code Less,Make More,8 个月前它才开源,现在在 GitHub 上已经获得超过 41,900 个星标,超过 200 位贡献者,相当受欢迎。

特别值得关注的是 OpenHands 在 SWE-bench 这种接近真实的测试中排名很靠前。

SWE-bench 是专门评估 LLM 解决真实软件问题的基准测试工具,通过 GitHub 的 Issue-Pull Request 配对来测试编程能力,数据集包含 12 个流行 Python 仓库的 2294 组 Issue-Pull Request 对,是衡量 AI 软件开发能力的黄金标准。

下图是 SWE-bench 官网的截图,可以看到 OpenHands 排名靠前。

前面我们说了,可以在 Docker 上运行 OpenHands,同时这也是最简单的使用 OpenHands 的方式。不过,得确保你的 Docker 版本至少是 26.0.0,或者 Docker Desktop 得是 4.31.0 以上。官方推荐在 Linux 或 Mac OS 上用,如果你用的是 Windows,那就得通过 WSL 来跑 Docker了。

先拉取 OpenHands 的 Docker 镜像,命令如下:
docker pull docker.all-hands.dev/all-hands-ai/runtime:0.19-nikolaik

然后,用下面这个命令来启动 OpenHands 容器:

docker run -it --rm --pull=always \
    -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.19-nikolaik \
    -e LOG_ALL_EVENTS=true \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v ~/.openhands-state:/.openhands-state \
    -p 3000:3000 \
    --add-host host.docker.internal:host-gateway \
    --name openhands-app \
    docker.all-hands.dev/all-hands-ai/openhands:0.191
启动后,打开浏览器,输入 http://localhost:3003,就能访问 OpenHands 平台了。

第一次使用,你需要先设置一下,首先得选择一个 LLM 供应商和 LLM 模型,然后输入 API Key,你也可以随时通过选择 SettingsUI 的按钮来更改这些设置。

如果你想用的模型不在列表中,可以通过高级选项手动输入模型名称和 Base URL。

官方手册介绍说现在跟 OpenHands 配合比较好的模型有:Claude 3.5 Sonnet、GPT-4/GPT-4o、Llama 3.1 405B、DeepSeek-V2.5。

因为很多模型是收费的,所以考虑到成本和输出质量官方给出了一些建议:强烈推荐使用 Claude 3.5 Sonnet,GPT-4o 比较差,o1-mini 比 GPT-4o 还要差,开源模型使用 Llama 3.1 405B 和 DeepSeek-V2.5,它们比一些闭源模型都强。

你还可以将 OpenHands 连接到本地文件系统,以脚本化的无界面模式运行 OpenHands,可以通过友好的 CLI 与其交互,或 GitHub Action 中使用。

通过 OpenHands 写代码,不仅快,花费也很少。OpenHands 一天写的代码,能超过一名初级工程师一周写的代码,而且费用很少,只需十几美元的 Token。

你还记得么,今年 6 月 19 日那天,AI 领域的领军人物吴恩达在他的博客里分享了他在父亲节那天用开源 AI 编程框架 OpenDevin 给女儿写了一个生成算术练习题的 Python 程序,OpenDevin 体验非常好,编写代码的速度比他要快得多。他当时就说这些工具运行良好,可能会让越来越多的人受益。

吴恩达当时用的 OpenDevin 就是现在的 OpenHands,你可以试试。

网站入口:https://www.all-hands.dev/

用户指南:https://docs.all-hands.dev/

GitHub 链接:https://github.com/All-Hands-AI/OpenHands

投稿或者提供线索,请联系:jet@damoxinglab.com


(文:AI大模型实验室)

欢迎分享

发表评论