Agentless - 无代理自动修复软件开发问题的学习资料汇总
Agentless是一种创新的无代理方法,旨在自动解决软件开发过程中遇到的各种问题。通过简单的两阶段流程 - 定位和修复,Agentless能够高效地修复代码缺陷。作为一个开源项目,Agentless为开发者和研究人员提供了丰富的学习资源。本文将汇总Agentless的相关学习材料,帮助您快速了解和使用这一强大工具。
🌟 项目概述
Agentless采用无代理方法自动解决软件开发问题。它的工作流程分为两个主要阶段:
-
🔍 定位:采用分层过程,首先定位到特定文件,然后定位到相关类或函数,最后定位到精细的编辑位置。
-
🛠️ 修复:根据定位的编辑位置生成多个候选补丁,以简单的diff格式呈现。然后进行测试过滤,并对剩余补丁重新排序,选择一个提交。
📚 学习资源
-
GitHub仓库: OpenAutoCoder/Agentless 这是Agentless的官方代码仓库,包含了完整的源代码、使用说明和示例。
-
论文: Agentless: Demystifying LLM-based Software Engineering Agents 这篇论文详细介绍了Agentless的设计理念和技术细节。
-
设置指南:
git clone https://github.com/OpenAutoCoder/Agentless.git cd Agentless conda create -n agentless python=3.11 conda activate agentless pip install -r requirements.txt export PYTHONPATH=$PYTHONPATH:$(pwd)
-
使用教程:
- 定位:
python agentless/fl/localize.py --file_level --related_level --fine_grain_line_level
- 修复:
python agentless/repair/repair.py --loc_file results/location/loc_outputs.jsonl
- 定位:
-
示例数据: swebench_lite_repo_structure.zip 包含了预处理过的SWE-Bench-lite问题结构信息。
-
评估结果: Agentless在SWE-bench lite基准测试中取得了最佳开源方法的成绩,修复了82个问题(27.3%),平均每个问题的成本仅为0.34美元。
🔗 相关项目
- SWE-bench: 软件工程基准测试平台
- Aider: 另一个基于AI的编码助手
- SWE-bench-docker: SWE-bench的Docker环境
🎓 深入学习
要深入了解Agentless,建议您:
通过这些资源,您将能够全面了解Agentless的工作原理,并在实际项目中应用这一强大的无代理自动修复工具。无论您是软件开发人员还是研究人员,Agentless都将为您的工作带来新的可能性。