type
status
date
slug
summary
tags
category
icon
password
OpenDevin:少编码,多创造 自主 AI 软件工程师
使命 🎯
欢迎来到 OpenDevin,这是一个旨在复制 Devin 的开源项目,Devin 是一个能够执行复杂工程任务并与用户在软件开发项目上积极协作的自主 AI 软件工程师。本项目致力于通过开源社区的力量复制、增强和创新 Devin。
OpenHands
All-Hands-AI • Updated Nov 22, 2024
进行中
OpenDevin 仍在进行中。但您可以运行 alpha 版本来看到端到端的工作流程。
要求
- Python >= 3.10
- NodeJS >= 14.8
安装
首先,确保 Docker 正在运行:
然后拉取我们的最新镜像 这里
然后启动后端:
然后在第二个终端:
您将在 localhost:3001 看到 OpenDevin 运行
选择模型
我们使用 LiteLLM,因此您可以使用任何基础模型运行 OpenDevin,包括 OpenAI、Claude 和 Gemini。
LiteLLM 有一份 完整的提供商列表。
要更改模型,设置
LLM_MODEL
和 LLM_API_KEY
环境变量。例如,要运行 Claude:
您还可以设置用于向量数据库存储的嵌入的基 URL:
您还可以自定义用于向量数据库存储的嵌入模型:
在命令行上运行
您可以从命令行运行 OpenDevin:
🤔 什么是 Devin?
Devin 代表了一个旨在驾驭软件工程复杂性的前沿自主代理。它利用了如 shell、代码编辑器和网络浏览器等工具的组合,展示了 LLMs 在软件开发中未被挖掘的潜力。我们的目标是探索和扩展 Devin 的能力,识别其优势和改进领域,以指导开源代码模型的进步。
🐚 为什么是 OpenDevin?
OpenDevin 项目源于复制、增强和超越原始 Devin 模型的愿望。通过吸引开源社区的参与,我们旨在解决代码 LLMs 在实际场景中面临的挑战,创造出显著贡献于社区的作品,并为未来的进展铺平道路。
⭐️ 研究策略
使用 LLMs 完全复制生产级应用程序是一个复杂的任务。我们的策略包括:
- 核心技术研发: 专注于基础研究,以理解和改进代码生成和处理的技术方面。
- 专业能力: 通过数据策划、训练方法等提高核心组件的有效性。
- 任务规划: 开发用于错误检测、代码库管理和优化的能力。
- 评估: 建立全面的评估指标,以更好地理解和改进我们的模型。
🛠 技术栈
- 沙盒环境: 使用 Docker 和 Kubernetes 等技术确保代码的安全执行。
- 前端界面: 开发用户友好的界面,用于监控进度和与 Devin 交互,可能利用 React 框架或创建 VSCode 插件以获得更集成的体验。
🚀 下一步
对我们来说,MVP 演示非常紧急。以下是最重要的事项:
- UI:聊天界面、命令演示的 shell、浏览器等。
- 架构:具有稳定后端的代理框架,可以读写和运行简单命令。
- 代理:能够生成 bash 脚本、运行测试等。
- 评估:与 Devin 的评估一致的最小评估流程。
在完成 MVP 构建后,我们将转向包括基础模型、专业能力、评估、代理研究等不同主题的研究。
如何贡献
OpenDevin 是一个社区驱动的项目,我们欢迎所有人的贡献。无论您是开发者、研究人员,还是对使用 AI 推进软件工程领域充满热情,都有很多参与方式:
- 代码贡献: 帮助我们开发核心功能、前端界面或沙盒解决方案。
- 研究和评估: 为我们理解 LLMs 在软件工程中的作用做出贡献,参与评估模型,或提出改进建议。
- 反馈和测试: 使用 OpenDevin 工具集,报告错误,提出功能建议,或提供关于可用性的反馈。
详情请参阅 此文档。
QA问答对
- Q: OpenDevin是什么? A: OpenDevin是一个开源项目,旨在复制和增强Devin的功能,后者是一个能够执行复杂工程任务并与用户合作的自主AI软件工程师。
- Q: Devin的主要功能有哪些? A: Devin能够利用工具如shell、代码编辑器和网络浏览器来处理软件工程的复杂性,展示LLMs在软件开发中的潜力。
- Q: 如何安装OpenDevin? A: 安装OpenDevin需要先确保Docker运行正常,然后拉取最新的Docker镜像,并按照文档中的步骤设置环境变量和启动后端与前端服务。
- Q: OpenDevin支持哪些模型? A: OpenDevin使用LiteLLM,支持多种基础模型,包括OpenAI、Claude和Gemini等。
- Q: 如何更改OpenDevin使用的模型?
A: 通过设置
LLM_MODEL
和LLM_API_KEY
环境变量,用户可以更改OpenDevin使用的模型。
- Q: OpenDevin的研究策略包括哪些方面? A: OpenDevin的研究策略包括核心技术研发、提升专业能力、任务规划和建立评估指标。
- Q: OpenDevin使用哪些技术栈? A: OpenDevin使用的技术栈包括沙盒环境技术如Docker和Kubernetes,以及可能的前端框架如React或VSCode插件。
- Q: OpenDevin的下一步计划是什么? A: OpenDevin的下一步是构建一个最小可行产品(MVP),包括UI、架构、代理和评估流程。
- Q: 我如何为OpenDevin项目做出贡献? A: 可以通过代码贡献、参与研究和评估、提供反馈和测试等方式为OpenDevin项目做出贡献。
- Q: 如何加入OpenDevin的社区? A: 有兴趣加入OpenDevin社区的人可以通过填写在线表格表达兴趣,并等待团队的联系。
- 作者:Doiiars
- 链接:http://doiiars.com/article/OpenDevin-Enhancing-AI-Software-Engineering?target=comment
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章