OpenHands icon indicating copy to clipboard operation
OpenHands copied to clipboard

Do we have any plan on extending OpenDevin to a multi-agent framework?

Open assertion opened this issue 1 year ago • 2 comments

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): image AutoDev: Automated AI-Driven Development (https://arxiv.org/abs/2403.08299) : image magis: LLM-Based Multi-Agent Framework for GitHub Issue ReSolution (https://arxiv.org/pdf/2403.17927.pdf) : image

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?

assertion avatar Apr 24 '24 08:04 assertion

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.

zhonggegege avatar Apr 25 '24 08:04 zhonggegege

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 avatar Apr 25 '24 08:04 assertion

@assertion we are already multi-agent!

Check out the DelegatorAgent: https://github.com/OpenDevin/OpenDevin/blob/main/agenthub/delegator_agent/agent.py

rbren avatar Apr 25 '24 15:04 rbren

@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!

assertion avatar Apr 28 '24 13:04 assertion