OpenDevin / OpenDevin

🐚 OpenDevin: Code Less, Make More
https://opendevin.github.io/OpenDevin/
MIT License
25.84k stars 2.85k forks source link

Create AutoDev agent #117

Closed rezzie-rich closed 1 week ago

rezzie-rich commented 1 month ago

What problem or use case are you trying to solve? The primary challenge is overcoming the limitations of using a single AI model, which can sometimes get stuck in loops or produce lower-quality content as the interaction lengthens. Incorporating two AI models, a small language model (SLM) and a large language model (LLM), with AutoDev's framework aims to enhance the efficiency and quality of generated content by ensuring detailed and focused responses tailored to user needs.

Describe the UX of the solution you'd like Users will interact seamlessly with both the SLM and LLM. The SLM acts as an intermediary, refining instructions and feedback for the LLM to ensure the generated content accurately meets user requirements. This setup will be embedded in the AutoDev framework, which automates software development tasks with AI agents, enhancing the user experience by providing a more efficient, autonomous, and secure development process.

Do you have thoughts on the technical implementation? The solution will utilize AutoDev's ability to manage AI agents and execute code . The SLM will be integrated to pre-process user requests and post-process the LLM's outputs, ensuring clarity and relevance. The LLM, being the primary model, will generate the content based on refined inputs. This setup can be hosted locally or accessed via API, depending on the user's preference and resource availability.

Describe alternatives you've considered An alternative considered was enhancing a single AI model's training to handle a wider range of tasks more effectively. However, this approach doesn't fully address the issue of maintaining focus and quality in extended interactions as efficiently as using two specialized models.

Additional context AutoDev is a Microsoft-developed AI-powered software development framework that aims to redefine the development process by enabling AI agents to autonomously perform tasks like code editing, advanced Git operations, and comprehensive testing. Incorporating AutoDev with the dual AI model architecture could significantly improve the automation and quality of software development tasks, leveraging the strengths of each AI model and AutoDev's autonomous capabilities for a synergistic effect. This integration offers a promising avenue for enhancing the adaptability, efficiency, and user experience of AI-driven development projects.

rezzie-rich commented 1 month ago

I think there should be 'api meta agents' working as a 'middle man' in between 'performer agents' (aka main interface agent, code generating agents, etc) possessing a hive mind.

Instead of just passing tasks from one agent to another, it should be carried by these agents for better quality control. With a specific task per agent and knowing the overall objective as per season due to the hive mind, this 'api meta agents' will monitor the whole ecosystem very closely.

This will make debugging easier as well since the issues can be pinpointed faster as these agents can log errors more effectively.

neubig commented 1 week ago

The core idea of this issue is that we should be able to have multiple agents coordinate with each-other. This is implemented in our micro-agent architecture, as well as delegator and planner agents. I'm not sure whether we need to use the AutoDev framework, but if there is a specific use case that it allows us to solve that is not easily solved by our current framework, we can open a new issue specifically about that use case!