Devyan is an experimental project whose goal is to orchestrate a team composed of multiple agents to solve programming tasks. It is built on OpenAI's GPT series models, allowing agents with different roles to each perform their own duties, covering multiple stages of the software development process.
Main capabilities:
- Architect Agent: designs the architecture of the solution based on user input.
- Programmer Agent: implements the solution according to the architectural design.
- Tester Agent: tests the implemented solution to ensure it meets requirements and has no defects.
- Reviewer Agent: reviews the architecture, implementation, and test results, and provides a comprehensive analysis.
How to use:
- Clone the repository: git clone https://github.com/your-username/devain.git,然后进入目录 cd devain.
- Create a virtual environment: python -m venv venv, then activate it: source venv/bin/activate (on Windows use venv\Scripts\activate).
- Install dependencies: pip install -r requirements.txt.
- Set environment variables: create a .env file in the project root directory and add the OpenAI API key and Serper API key: OPENAI_API_KEY = your_openai_api_key_here SERPER_API_KEY = your_serper_api_key_here
- Run the main script: python main.py.
- Enter the problem you want to solve as prompted. For example, the prompt is: ## Welcome to Devain## ------------------------------- What problem do you want us to solve?, and after entering it, the agent team will process it.
Dependencies include: requests, langchain, python-decouple.
Project structure and contribution method:
- Fork the repository.
- Create a feature branch (git checkout -b feature/your-feature).
- Commit changes (git commit -m 'Add some feature').
- Push the branch (git push origin feature/your-feature).
- Open a pull request.
To-do/improvement directions (from the repository description):
- Create a custom tool for writing files.
- Create a custom tool for creating directories.
- Modify the prompts in the task to make them more detailed and clearer.
- Stackoverflow tool.
Limitations: This project is explicitly marked as an Experimental Project. The materials do not provide more information about charging, pricing, supported platforms, final results, or specific use cases, and no relevant details are currently provided.