AgileCoder is an innovative multi-agent software development framework inspired by agile methodology widely used in professional software engineering. The key to this framework is its task-oriented approach, rather than assigning fixed roles to agents. AgileCoder dynamically updates the backlog by creating a task backlog and dividing the development process into sprints, mimicking real-world software development, each sprint updates the backlog dynamically. AgileCoder supports a variety of models, including OpenAI, Azure OpenAI, Anthropic, and self-hosted Ollama models.
Demand population:
"The target audience is software developers, programming enthusiasts, and software engineering teams. AgileCoder emulates agile development processes, allowing developers to create and maintain software projects more efficiently, especially for teams that need to iterate quickly and respond to changes."
Example of usage scenarios:
Generate a Caro game written in Python.
Generate complete software projects based on complex software requirements.
Used for competitive programming tasks such as HumanEval and MBPP datasets.
Product Features:
• Task-oriented: Simulate real-world software development by creating task backlogs and sprints.
• Dynamic Update: Dynamically update the backlog of tasks during each sprint stage.
• Multi-model support: Supports multiple models such as OpenAI, Azure OpenAI, Anthropic, etc.
• Environment variable configuration: Supports configuration of model parameters through environment variables or .env files.
• Command Line Tools: Provides command line tools to generate software.
• Easy to install: easy to install via pip.
• High Accuracy: Ability to generate a wide range of software with high accuracy.
• Evaluation and Testing: Provides performance evaluations of different datasets to verify their effectiveness in generating code.
Tutorials for use:
1. Install AgileCoder : Run `pip install AgileCoder on the command line.
2. Configure environment variables: Set necessary environment variables according to the model used, such as API_KEY, RESOURCE_ENDPOINT, etc.
3. Cloning the repository: If you need to access the latest source code, you can clone the repository and switch to the new-flow branch.
4. Use the command line tool: generate software by command ` AgileCoder --task 'your software requirements'.
5. Customization options: Use additional options and logos as needed to customize the behavior of AgileCoder .
6. View Help Information: Run ` AgileCoder --help` to display a list of supported options and their descriptions.
7. Evaluation Effect: Use the provided evaluation dataset to test the performance of software projects generated by AgileCoder .