Princeton Researchers Unleash Open-Source AI Programmer: SWE-agent Aims to Revolutionize Software Development
Princeton, NJ – A team of researchers at PrincetonUniversity’s NLP group has unveiled SWE-agent, an open-source AI programmer and software engineer system capable of automatically resolving issues within GitHub repositories. Leveragingthe power of large language models (LLMs) like GPT-4, SWE-agent can analyze, edit, test, and execute code, making it apotential game-changer in the software development landscape.
SWE-agent operates through a novel Agent-Computer Interface (ACI), enabling it to seamlessly interact with codebases. This innovative interface allows SWE-agent to perform tasks such as code browsing, editing, testing, and execution, all within the context of a GitHub repository. The system has demonstrated impressive accuracy on the SWE-bench test set, achieving performance comparable to the closed-source AI programmer Devin, solving an average of oneproblem every 93 seconds.
SWE-agent represents a significant step forward in the field of AI-powered software development, said Dr. [Researcher Name], lead researcher on the project. By combining the capabilities of LLMs with a carefully designed ACI, we have created a system that can effectively understand andaddress complex software issues.
Key Features of SWE-agent:
- Pull Request Issue Resolution: SWE-agent can analyze GitHub repository issues and attempt to fix them by creating pull requests.
- Code Editing and Repair: The system can browse and edit files within a codebase, automatically fixing errors andvulnerabilities.
- Automated Syntax Checking: During code editing, SWE-agent utilizes linters to ensure code adheres to syntax standards.
- File Viewer: SWE-agent includes a dedicated file viewer that displays 100 lines of code per round, allowing for efficient code browsing and editing.
- Full Directory String Search: The system offers a comprehensive string search functionality across the entire directory, providing a concise list of files and code snippets matching the search criteria.
- Command and Feedback: Through ACI, SWE-agent receives and executes commands in natural language, providing relevant feedback.
- Test Writing and Execution: SWE-agent can write and execute test code to verify the effectiveness of its fixes.
How SWE-agent Works:
- Problem Understanding: SWE-agent utilizes natural language processing (NLP) techniques to comprehend the issue description within a GitHub repository. This step relies on its integrated LLM, whichparses and understands human-written problem reports.
- Agent-Computer Interface (ACI): SWE-agent interacts with the codebase through ACI, a set of commands and feedback formats designed to simplify the interaction between large models and computer systems. ACI enables SWE-agent to navigate the codebase, searchfor files, view and edit code, and even execute code.
- Code Analysis and Repair: After understanding the problem, SWE-agent analyzes the relevant code, pinpoints potential errors or vulnerabilities, and generates a repair solution. This may involve modifying existing code, adding missing code, or restructuring the code architecture.
- Automated Testing: To ensure the effectiveness of the fix, SWE-agent can automatically write and execute test cases. These test cases aim to verify whether the code changes have resolved the original issue and haven’t introduced new errors.
- Performance Feedback: Every action taken by SWE-agentgenerates feedback, which is used to assess the effectiveness of its work. In particular, within the SWE-bench benchmark, SWE-agent evaluates whether the generated pull requests truly resolve the issue.
- Iteration and Optimization: SWE-agent is designed for continuous iteration and optimization. The research team collects feedback and performancedata during use, continuously improving the ACI design and enhancing SWE-agent’s problem-solving capabilities and code repair accuracy.
Open-Source Availability and Future Potential:
SWE-agent is now open-source on GitHub, allowing developers and researchers worldwide to access, explore, and contribute to its development. Theresearch paper detailing the system’s architecture and performance will be published on April 10th.
The release of SWE-agent marks a significant milestone in the development of AI-powered software engineering. Its ability to automate complex tasks, such as code analysis, repair, and testing, has the potential to revolutionizethe software development process, increasing efficiency, reducing errors, and accelerating innovation. As SWE-agent continues to evolve and improve, it is poised to become an indispensable tool for developers and a driving force behind the future of software development.
【source】https://ai-bot.cn/swe-agent/
Views: 1