1.1 — Agent Architecture

CCDV-F Domain 1 · Task 1.1

What You Need to Know

Every agentic system starts from one decision: who owns the control flow.

The Three Tiers

Tier Who decides the next step
Augmented LLM Single model call with retrieval, tools and memory added
Workflow LLM calls and tools orchestrated through predefined code paths
Agent The model directs its own process and tool usage

The dividing line: whoever decides the next step names the tier. A hand-coded three-step chain is a workflow; a model choosing its own tool sequence is an agent.

Choosing Between Workflow and Agent

Find the simplest solution possible. Steps known in advance and repeating for every input → workflow. Number of steps unknown and each decision depends on the last → agent. Cost and latency belong inside this decision.

Supervisor Hierarchies and Subagents

A lead agent decomposes the goal, spawns specialised subagents and synthesises their results. Subagents do not share memory. A subagent’s context window starts fresh; only the delegation prompt travels. Every file path, error message, decision and convention the subagent needs must be in that brief. (Exception: Claude Code fork mode inherits the whole conversation.)

Isolation is the payoff: intermediate tool calls and large file reads stay inside the subagent; only its final message returns. Parallelism pays only when subtasks are independent.

When a multi-agent system misbehaves, trace the failure to the orchestrator first. Vague delegation produces duplicated work and gaps. The fix is almost always a better brief.

Key Concept: The single most-tested fact: subagents do not share memory. Distractors that rely on implicit shared state are always wrong.

Exam Traps

  • Choosing an agent as the default tier for a task with fixed steps
  • Assuming subagents can see the orchestrator’s conversation
  • Classifying a hand-coded pipeline as an agent because it chains several model calls
  • Believing more subagents means better results

Check your understanding

Practice Scenario

An observability platform team runs an orchestrator agent that breaks a codebase-wide dependency upgrade into per-service subtasks. The dependency-pinning policy was agreed in the orchestrator's own conversation, yet the subagents keep choosing versions that violate it. What is the cause, and the fix?

Report issue

Log in to save your progress.

Sources