Overview
Let devin break complex tasks into sub-tasks and run multiple specialized agents in parallel or sequence.
Motivation
Single-turn and single-session chat works for isolated questions. Larger tasks — refactor a module, write + run tests, fix the resulting failures — need coordination across multiple LLM calls with different roles and contexts.
Proposed Work
- Define an
Agent trait: name, system_prompt, run(task: &str) -> Result<String>
- Built-in agent roles to start with:
planner — decomposes a high-level goal into a task list
coder — writes or edits code given a spec
reviewer — checks output against the original goal
- Orchestrator loop: planner produces tasks → coder executes each → reviewer validates → loop on failure
/agent <goal> chat command to trigger multi-agent flow from inside the REPL
- Cap parallel agents and add a
--max-agents flag
Notes
- apfel runs locally; parallel agents mean multiple concurrent HTTP connections to the same server — test for contention
- Results from sub-agents feed back into the main conversation history
Overview
Let devin break complex tasks into sub-tasks and run multiple specialized agents in parallel or sequence.
Motivation
Single-turn and single-session chat works for isolated questions. Larger tasks — refactor a module, write + run tests, fix the resulting failures — need coordination across multiple LLM calls with different roles and contexts.
Proposed Work
Agenttrait:name,system_prompt,run(task: &str) -> Result<String>planner— decomposes a high-level goal into a task listcoder— writes or edits code given a specreviewer— checks output against the original goal/agent <goal>chat command to trigger multi-agent flow from inside the REPL--max-agentsflagNotes