Devika AI:开源代理式人工智能软件工程师
概述
Devika AI 是一款开源的代理式人工智能软件工程师。它旨在理解复杂的人类指令,将其分解为可操作的步骤,进行研究,并编写代码以实现指定目标。Devika 旨在成为专有 AI 软件工程师(如 Cognition AI 的 Devin)的具有竞争力的开源替代品,其宏伟目标是在 SWE-bench 等基准测试中达到并最终超越其性能。
主要目的和目标用户群
- 主要目的:通过提供能够以最少的人工指导处理复杂编码任务的 AI 结对程序员,(包括创建新功能、修复错误或开发整个项目),彻底改变软件开发。
- 目标用户群:开发者、软件工程师和团队,他们正在寻找高级 AI 助手来自动化和简化其编码工作流程,特别是那些对开源解决方案和利用大型语言模型进行软件工程任务感兴趣的人。
功能详情和操作
- 指令理解:解释软件开发任务的高级人类指令。
- 任务分解:将复杂目标分解为可管理、按顺序的步骤。
- 信息研究:利用网络浏览功能和上下文关键字提取来收集相关信息。
- 代码生成:根据研究和任务要求,用多种编程语言编写代码。
- LLM 支持:支持各种大型语言模型,包括 Claude 3、GPT-4、Gemini、Mistral、Groq 和通过 Ollama 的本地 LLM。建议使用 Claude 3 模型以获得最佳性能。
- 动态状态跟踪:可视化和跟踪代理的进度和当前状态。
- 聊天界面:支持自然语言交互,用于提供指令和接收更新。
- 项目管理:按项目组织和管理软件开发任务。
- 可扩展架构:设计为易于集成新功能。
- Web 界面:通过网页浏览器访问,用于用户交互和项目管理。
- 配置:允许用户配置各种服务(Bing、Google Search、OpenAI、Gemini、Claude、Mistral、Groq、Netlify)的 API 密钥和 API 端点(Bing、Google、Ollama、OpenAI)。
用户益处
- 提高效率:自动化软件开发过程中的大部分工作,加快项目完成速度。
- 减少人工工作量:最大限度地减少编码和研究任务中对人工干预的需求。
- 提高生产力:充当 AI 结对程序员,使开发者能够专注于更高级的设计和问题解决。
- 访问高级 AI:利用最先进的 LLM 和 AI 规划能力进行复杂的代码生成。
- 开源灵活性:提供透明且可定制的专有解决方案替代品。
- 简化工作流程:将研究、规划和编码整合到一个单一、连贯的过程中。
兼容性和集成
- 操作系统:需要 Python >= 3.10 和 < 3.12、NodeJs >= 18 和 Bun。
- 浏览器集成:使用 Playwright 进行浏览功能。
- API 集成:可配置各种搜索引擎(Bing、Google Search)和 LLM 提供商(OpenAI、Gemini、Anthropic、Mistral、Groq)的 API 密钥。
- 部署:支持 Netlify API 密钥,用于部署和管理 Web 项目。
- 本地 LLM 支持:与 Ollama 集成,用于运行本地语言模型。
客户反馈和案例研究
- 目前处于早期开发/实验阶段,有许多未实现/损坏的功能。
- 旨在成为 Cognition AI 的 Devin 的具有竞争力的开源替代品,其“过于雄心勃勃”的目标是达到并最终超越其 SWE-bench 基准分数。
- 欢迎社区贡献,以加速开发和功能实现。
- 提供演示(例如,
devika-pygame-demo.mp4)展示其功能。
访问和激活方法
- 源代码:可在 GitHub 上获取:
https://github.com/stitionai/devika。 - 安装:
- 克隆 GitHub 仓库。
- 导航到项目目录。
- 创建虚拟环境并使用
uv venv和uv pip install -r requirements.txt安装依赖项。 - 安装 Playwright 以获得浏览器功能:
playwright install --with-deps。 - 启动 Devika 服务器:
python devika.py。 - 对于前端,导航到
ui/目录,运行bun install,然后运行bun run start。
- 访问:在网页浏览器中导航到
http://127.0.0.1:3001访问 Devika Web 界面。 - 配置:API 密钥和端点通过 UI 中的设置页面进行配置,这会在根目录中创建一个
config.toml文件。