Skip to content

Support multi-agent #4

Description

@kination

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions