What makes a system "multi-agent"

A system is multi-agent when multiple distinct LLM-driven actors with their own context, prompts, and tools coordinate on a task. Not every system with multiple LLM calls is multi-agent — a RAG pipeline with a rewriter call + a generator call is two LLM calls, but it's a workflow, not multi-agent. The distinguishing feature is agency: each agent has the autonomy to choose its next action.

Single-agent vs multi-agent — the decision (they will ask)

Default to single-agent. Multi-agent is the right answer when:

  1. Specialization wins — one agent's prompt/tools/context can't cover everything without bloat. Example: a code agent that needs both deep SQL knowledge and deep frontend knowledge benefits from sub-agents.
  2. Context isolation matters — separating context per role prevents prompt contamination. A "reviewer" agent shouldn't see the "writer's" chain of thought, only its output.
  3. Parallelism — independent subtasks (e.g., researching 5 competitors in parallel) genuinely run faster as 5 agents than as 1 agent doing them sequentially.
  4. Different model tiers per role — cheap Flash for triage, Pro for synthesis. Hard to do cleanly in a single agent.

Costs of multi-agent (mention these unprompted):

The canonical patterns (this is what the recruiter doc explicitly lists)

ReAct (Reasoning + Acting)

Single agent pattern. The agent interleaves reasoning steps with tool calls in a loop: Thought → Action → Observation → Thought → Action → … until done. Most production "agents" are ReAct under the hood. Key failure mode: infinite loops; mitigate with max-step cap.

Self-reflection (a.k.a. critique-revise)

The agent produces an output, then a second pass (same model or a different one) critiques it, then a revision pass incorporates the critique. Improves quality on hard tasks; doubles or triples cost. Good for code generation, long-form writing, complex reasoning.

Hierarchical delegation (supervisor / orchestrator-worker)