HyperAgent  by FSoft-AI4Code

Generalist AI agents for scalable software engineering

Created 2 years ago
255 stars

Top 99.2% on SourcePulse

GitHubView on GitHub
Project Summary

Generalist Software Engineering Agents to Solve Coding Tasks at Scale

HyperAgent is a generalist multi-agent system designed to automate a broad range of software engineering tasks across multiple programming languages. It targets developers and researchers seeking to streamline complex coding challenges, offering a unified approach that mimics human developer workflows for efficient task completion from conception to verification.

How It Works

The system employs a modular architecture comprising four specialized agents: Planner, Navigator, Code Editor, and Executor. This design enables HyperAgent to manage the entire software engineering lifecycle. Its core advantage lies in its generalist nature, allowing it to adapt to diverse SE challenges and programming languages (currently Python and Java) with minimal configuration, distinguishing it from task-specific agents.

Quick Start & Requirements

Installation requires pre-installing Zoekt for code search and universal-ctags for semantic search. Zoekt installation involves Go setup, while ctags setup requires following specific instructions and setting the CTAGS_COMMAND environment variable. A dedicated conda environment is mandatory: conda create -n hyperagent python=3.10. HyperAgent is then installed via pip3 install -e .. Usage can be via a command-line interface (python3 main.py --repo ...) or a Python API (from hyperagent import HyperAgent). Links for Zoekt/ctags setup are provided in the README.

Highlighted Details

  • Achieves state-of-the-art performance on benchmarks: 31.4% Resolved Rate on SWE-Bench Verified and 25% on SWE-Bench Lite.
  • Demonstrates 53.3% Pass@5 on repository-level code generation (RepoExec-Python).
  • Successfully fixed 249 bugs in Defects4J-Java for fault localization and program repair.
  • Designed for multi-language support, currently handling Python and Java, with plans for expansion.

Maintenance & Community

Direct contact is available via email at bdqnghi@gmail.com. Further information and project context can be found on the FPT AI Center website (https://www.fpt-aicenter.com/ai-residency/). The project is associated with the arXiv preprint arXiv:2406.11912.

Licensing & Compatibility

HyperAgent is released under the permissive MIT License. This license permits broad usage, including commercial applications and integration into closed-source projects without significant restrictions.

Limitations & Caveats

Current language support is limited to Python and Java, with future expansion planned. The setup process involves external dependencies (Zoekt, universal-ctags) and a specific conda environment, adding complexity. The README notes that results on SWE-Bench are currently undergoing verification.

Health Check
Last Commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.