Do we have any plan on extending OpenDevin to a multi-agent framework?
What problem or use case are you trying to solve? When solving a complex github issue, maybe we need more than one person/role to participate in. For example, we need an architect to make a total plan and break down tasks, three developers to write code(can be parallel ), one test engineer( waiting for each output of the developer's code ). With the role split and agents collaboration, the process is clearer and more like an actual problem-solving process. Maybe we can even visualize this process.
Describe the UX of the solution you'd like
There are some paper or open-source projects working on it. For example:
metagpt (https://github.com/geekan/MetaGPT):
AutoDev: Automated AI-Driven Development (https://arxiv.org/abs/2403.08299) :
magis: LLM-Based Multi-Agent Framework for GitHub Issue ReSolution (https://arxiv.org/pdf/2403.17927.pdf) :
Do you have thoughts on the technical implementation? Not yet... Just want to know, what's our opinion on this? One agent is fine, no need to make the framework too complex? What's our plan on it?
These, including some big names, are waiting for a suitable LLM to implement customized LLM. For all these automated developments, the optimal solution is still a customized dedicated LLM. LLM is too important for the project.Because it is a very bad choice for you to spend a lot of time and energy optimizing the program to adapt to LLM. On the contrary, it is more reliable to customize LLM to fit the project.
These, including some big names, are waiting for a suitable LLM to implement customized LLM. For all these automated developments, the optimal solution is still a customized dedicated LLM. LLM is too important for the project.Because it is a very bad choice for you to spend a lot of time and energy optimizing the program to adapt to LLM. On the contrary, it is more reliable to customize LLM to fit the project.
Year, agree with you that LLM quality is a very important factor when coding according to user's input.
But, the framework side, there're many things we can do, to give the LLM more understandable, and easier to process inputs(prompts). For example, customize the coding process and assign to different roles / break down the user's input into several smaller tasks, after role A finish, auto pass the output to role B (write the whole project once with only one Role/Agent or tell LLM, it should design it with role A and coding it with role B according to the design by A, like writing 3 classes, a class has xx method, b class has yy method.... ) The LLM performs better if the task is smaller and with more details.
@assertion we are already multi-agent!
Check out the DelegatorAgent: https://github.com/OpenDevin/OpenDevin/blob/main/agenthub/delegator_agent/agent.py
@assertion we are already multi-agent!
Check out the DelegatorAgent: https://github.com/OpenDevin/OpenDevin/blob/main/agenthub/delegator_agent/agent.py
Didn't notice this new feature, I'll try with it. It's a very good proposal to extend the ability of OpenDevin, thanks!