AutoCodeRover是什么?
AutoCodeRover是一个完全自主的AI代理,旨在解决GitHub仓库中的问题。它利用大型语言模型(LLM)的强大功能,结合复杂的代码分析和调试技术,自动为错误修复和功能添加生成补丁。通过理解代码的结构,它可以精确定位相关文件和函数,以创建有效的解决方案,无需手动干预。
主要特点
- 自主操作: 完全自动化解决GitHub问题的过程,从上下文收集到补丁生成。
- 结构感知搜索: 使用抽象语法树(AST)对代码库进行更深入、更准确的理解,超越了简单的基于文本的搜索。
- 测试驱动的故障定位: 可以利用项目现有的测试套件来识别错误的来源并验证其提出的修复方案。
- 多模型支持: 灵活的架构,支持各种LLM,包括来自GPT、Claude和Llama的模型。
- Web用户界面: 包括一个Web界面,用于可视化整个问题修复过程,提供代理操作的透明度。
- 高成功率: 表现出令人印象深刻的性能,在完整的SWE-bench基准测试中解决了大约16%的问题。
使用案例
- 自动化错误修复: 自动分析和修复GitHub问题中报告的错误,减轻开发团队的负担。
- 功能实现: 根据问题描述为新功能生成代码。
- AI研究: 作为自主软件工程和LLM驱动代码生成研究的平台。
- 基准测试: 评估不同LLM在真实世界软件工程任务上的能力。
入门指南
最好在Docker容器内运行AutoCodeRover,以确保所有依赖项都得到正确管理。
1. 设置API密钥 将您的OpenAI或Anthropic API密钥导出为环境变量。 ```bash export OPENAI_API_KEY=”your-api-key-here”
2. 构建Docker镜像 ```bash docker build -f Dockerfile -t acr .
3. 运行Docker容器 此命令还会为Web用户界面映射端口。 ```bash docker run -it -e OPENAI_KEY=”${OPENAI_KEY:-OPENAI_API_KEY}” -p 3000:3000 -p 5000:5000 acr
4. 执行任务
进入容器后,您可以在一个实时的GitHub问题上运行该代理。
```bash
PYTHONPATH=. python app/main.py github-issue –output-dir output –setup-dir setup –model gpt-4-0125-preview –task-id
将占位符替换为您想要解决的问题的详细信息。
定价
AutoCodeRover是一个在GPL-3.0许可下发布的开源项目,可以免费使用、修改和分发。