MultiDevin
Let Devin create other Devins to delegate and accelerate work
What is MultiDevin?
MultiDevin is a version of Devin that constitutes 1 “manager” Devin and up to 10 “worker” Devins. The manager Devin creates the worker Devins, distributes a task to each worker Devin, then merges the changes from all successful worker Devins into one branch or pull request.
Reasons to use MultiDevin
- 🏎️ Speed: Worker Devins run in parallel.
- 💪 Reliability: Each Devin is given a much smaller task to work on, so is much more likely to complete it successfully.
- 💚 Ease-of-use: Manager Devin only incorporates successful worker runs into the final PR (+ you can define what “success” means!). Even if one or two workers fail, you still get a mergeable PR out of it.
- 🧹 Cleanliness: MultiDevin creates one PR with several small fixes rather than one PR per fix. This becomes much easier to maintain and merge.
When to use MultiDevin
MultiDevin is very good at getting through large backlogs of smaller tasks. Use MultiDevin when:
- 🥷 Each task can be performed in isolation.
- ⏳ Tasks can be performed incrementally, i.e. a regular ‘drip’ of PRs that each solve a small portion of the overall backlog.
- 🟢 Devin has a high likelihood of solving the task without extensive prompting (e.g. lint errors, code smells, etc.)
- 👍 Success can be easily defined (i.e. a warning no longer shows up/build passes).
Kick off a MultiDevin run
To select MultiDevin, click the dropdown besides “Running with” and choose “MultiDevin”.
Then, click “Create a new MultiDevin batch”. Fill out the fields with the necessary information, and drag + drop a .csv into the Tasks box. Click “Create MultiDevin” when you’re done.
Finally, select the MultiDevin task you’d like to run, configure the number of MultiDevin workers (minimum 1, maximum 10), and hit “Enter” to start your MultiDevin run!
Each worker will be given one task to work on.
You should now see the following MultiDevin UI: