ЁЯПл The SchoolтА║ЁЯУЛ AI AgentsтА║ЁЯМН рдзрдбрд╛ 08 тАФ Agent patterns: teams, critics, рдЖрдгрд┐ рдХрдзреА рдирд╛рд╣реА
ЁЯЦ╝я╕П See the drawing + lab ЁЯПа Course home ЁЯМ┐ Branch on GitHub тЬПя╕П View source
ЁЯЦ╝я╕П рдЖрдХреГрддреА рдЖрдгрд┐ labThe drawing + lab рдкреВрд░реНрдг рдкрд╛рдирд╛рд╡рд░ рдЙрдШрдбрд╛ тЖЧOpen full page тЖЧ

ЁЯМН рдзрдбрд╛ 08 тАФ Agent patterns: teams, critics, рдЖрдгрд┐ рдХрдзреА рдирд╛рд╣реА

ЁЯУН рддреБрдореНрд╣реА рдЗрдереЗ рдЖрд╣рд╛рдд: 8 рдкреИрдХреА рдзрдбрд╛ 08 тАФ рд╢реЗрд╡рдЯрдЪрд╛ рдзрдбрд╛!


ЁЯУж рдпрд╛ рдмреНрд░рдБрдЪрдордзреНрдпреЗ рдХрд╛рдп рдЖрд╣реЗ

рд╕рдВрдкреВрд░реНрдг course, рдЖрдгрд┐ рдкреНрд░рддреНрдпрдХреНрд╖ deployments рд╡рд╛рдкрд░рддрд╛рдд рддреЗ рдкрд╛рдЪ patterns тАФ рдкреНрд░рддреНрдпреЗрдХ рджреЛрдирджрд╛ рдХрд╛рдврд▓реЗрд▓рд╛ (рдХреНрд░рдорд╛рдВрдХрд┐рдд flow + sequence diagram) ЁЯМР patterns page рд╡рд░ тЖР рд╣реЗ рд╢реЗрдЬрд╛рд░реА рдЙрдШрдбреВрди рдареЗрд╡рд╛.

ЁЯзТ рдкрд╛рдЪ patterns, рд╢рд╛рд│реЗрдЪреНрдпрд╛ рднрд╛рд╖реЗрдд

1. ЁЯзН рдПрдХрдЯрд╛ рдХрд░реНрддрд╛ (single agent + tools) тАФ рдЖрдкрд▓рд╛ agent.py: рдПрдХ рд╡рд┐рджреНрдпрд╛рд░реНрдереА, рдПрдХ рдкрдЯреНрдЯрд╛, рдПрдХ loop. рдЗрдереВрди рд╕реБрд░реБрд╡рд╛рдд рдХрд░рд╛, рдЖрдгрд┐ рдЬрд┐рддрдХреЗ рджрд┐рд╡рд╕ рдЬрдореЗрд▓ рддрд┐рддрдХреЗ рдЗрдереЗрдЪ рд░рд╛рд╣рд╛ тАФ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рддрд▓реЗ рдмрд╣реБрддреЗрдХ рдореЛрд▓ рдпрд╛рдЪ рд░реВрдкрд╛рдд ship рд╣реЛрддреЗ.

2. ЁЯЧ║я╕П Planner + executor тАФ рдПрдХ рд╡рд┐рджреНрдпрд╛рд░реНрдереА project рдЪреЗ рддреБрдХрдбреЗ рдкрд╛рдбрддреЛ ("рдЕрднреНрдпрд╛рд╕ рд╕рд╣рд▓: 1 рд╢рд╣рд░ рдирд┐рд╡рдбрд╛, 2 train book рдХрд░рд╛, 3 рд╕рд╛рдорд╛рдирд╛рдЪреА рдпрд╛рджреА"), рдордЧ checklist рдПрдХреЗрдХрд╛ рдореБрджреНрджреНрдпрд╛рдиреЗ рдкреВрд░реНрдг рдХрд░рддреЛ (рдХрд┐рдВрд╡рд╛ рдореБрджреНрджреЗ рдХрд░реНрддреНрдпрд╛рдВрдХрдбреЗ рд╕реЛрдкрд╡рддреЛ). рд▓рд╛рдВрдм рдХрд╛рдорд╛рдВрд╡рд░ рд╡реАрд░рд╢реНрд░реАрдкреЗрдХреНрд╖рд╛ рд░рдЪрдирд╛ рд╕рд░рд╕ рдард░рддреЗ тАФ L04 рдордзрд▓реА рдХрд╛рдорд╛рдВрдЪреА рдпрд╛рджреА, рдЖрддрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рджрд░реНрдЬрд╛рдЪреНрдпрд╛ artifact рдЪреНрдпрд╛ рдкрджрд╛рд╡рд░.

3. ЁЯзСтАНЁЯПл Critic loop (generate тЖТ check тЖТ fix) тАФ рдПрдХ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рд▓рд┐рд╣рд┐рддреЛ, рджреБрд╕рд░рд╛ rubric рдиреБрд╕рд╛рд░ GRADE рджреЗрддреЛ ("tests pass? рд╕реНрд░реЛрдд рджрд┐рд▓реЗ?"), рдЖрдгрд┐ grade рд╣рд┐рд░рд╡рд╛ рд╣реЛрдИрдкрд░реНрдпрдВрдд рд▓рд┐рд╣рд┐рдгрд╛рд░рд╛ рджреБрд░реБрд╕реНрддреНрдпрд╛ рдХрд░рддреЛ. critic рдПрдЦрд╛рджреЗ model рдЕрд╕реВ рд╢рдХрддреЗ, рдкрдг рд╕рд░реНрд╡реЛрддреНрддрдо critics рдирд┐рд░реНрджрдп рдЖрдгрд┐ рдпрд╛рдВрддреНрд░рд┐рдХ рдЕрд╕рддрд╛рдд: test runners, compilers, linters (рдорддрд╛рдВрдкреЗрдХреНрд╖рд╛ рдЦрд░реЗ рд╕рддреНрдп рд╕рд░рд╕ тАФ L06).

4. ЁЯЪз Human-in-the-loop тАФ рд╡рд┐рджреНрдпрд╛рд░реНрдереА рд╕рдЧрд│реЗ рддрдпрд╛рд░ рдХрд░рддреЛ; рдЙрд▓рдЯрддрд╛ рди рдпреЗрдгрд╛рд▒реНрдпрд╛ step рд▓рд╛ (deploy, send, pay) рдорд╛рдгреВрд╕ рдордВрдЬреБрд░реА рджреЗрддреЛ. рд╣реЗ gate рддреБрдореНрд╣реА рдЖрддрд╛рдкрд░реНрдпрдВрдд рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рд│реЗрдд рдкрд╛рд╣рд┐рд▓реЗ рдЖрд╣реЗ (рдЗрдереЗ L05, MCP L05, ArgoCD рдЪреЗ sync button) тАФ рдХрд╛рд░рдг рд╕рдВрдкреВрд░реНрдг рд╕рднреНрдпрддрд╛ рдпрд╛рдЪ pattern рд╡рд░ рдЪрд╛рд▓рддреЗ: рдорд╕реБрджреЗ рд╡рд╛рд╣рддрд╛рдд, рд╕рд╣реНрдпрд╛ рдерд╛рдВрдмрд╡рддрд╛рдд.

5. ЁЯСп Team (multi-agent) тАФ researcher, writer, checker, рдкреНрд░рддреНрдпреЗрдХрд╛рдЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛ рдкрдЯреНрдЯрд╛ рдЖрдгрд┐ desk, рдПрдХрдореЗрдХрд╛рдВрдирд╛ artifacts рджреЗрдд. рдЦрд░реЛрдЦрд░ рд╕рдорд╛рдВрддрд░ рдХрд╛рдорд╛рд╕рд╛рдареА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА; рдкрдг рдЦрд░реНрдЪ, latency рдЖрдгрд┐ L06 рдЪреЗ compounding рджреЗрдЦреАрд▓ рдЧреБрдгрд╛рдХрд╛рд░рд╛рдиреЗ рд╡рд╛рдврд╡рддреЗ (researcher рдХрдбреВрди рдЖрд▓реЗрд▓реЗ рдПрдХ рдЪреБрдХреАрдЪреЗ "рддрдереНрдп" рдкреБрдврдЪреНрдпрд╛ рд╕рдЧрд│реНрдпрд╛рдВрдирд╛ рд╡рд┐рд╖рд╛рд░реА рдХрд░рддреЗ). Teams рдирд╛ foreman рд▓рд╛рдЧрддреЛ: рд╕реНрдкрд╖реНрдЯ рд╣рд╕реНрддрд╛рдВрддрд░рдг, рддрдкрд╛рд╕рддрд╛ рдпреЗрдгрд╛рд░реЗ artifacts, рдПрдХрдЪ рдЬрдмрд╛рдмрджрд╛рд░ output.

рдЖрдгрд┐ pattern рд╢реВрдиреНрдп тАФ agent рдЕрдЬрд┐рдмрд╛рдд рдирд╛рд╣реА ЁЯЩЕ: steps рдорд╛рд╣реАрдд рдЖрдгрд┐ рдард░рд▓реЗрд▓реНрдпрд╛ рдЕрд╕рддреАрд▓, рддрд░ SCRIPT рд▓рд┐рд╣рд╛ (рд╕реНрд╡рд╕реНрдд, рдирд┐рд╢реНрдЪрд┐рдд, debug рдХрд░рддрд╛ рдпреЗрдгрд╛рд░рд╛). рдПрдХрдЪ model call рдкреБрд░реЗрд╕рд╛ рдЕрд╕реЗрд▓, рддрд░ рдПрдХрдЪ call рдХрд░рд╛. рдорд╛рд░реНрдЧ рдЦрд░реЛрдЦрд░ рд╡рд╛рдЯреЗрдд рдХрд╛рдп рд╕рд╛рдкрдбрддреЗ рддреНрдпрд╛рдиреБрд╕рд╛рд░ рдмрджрд▓рдд рдЕрд╕реЗрд▓ рддреЗрд╡реНрд╣рд╛рдЪ agents рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреЗ рдореЛрд▓ рджреЗрддрд╛рдд. рд╕рд░реНрд╡реЛрддреНрддрдо agent architects рджрд░ рдЖрдард╡рдбреНрдпрд╛рд▓рд╛ "рдпрд╛рд▓рд╛ agent рдЪреА рдЧрд░рдЬ рдирд╛рд╣реА" рдЕрд╕реЗ рдореНрд╣рдгрддрд╛рдд.

ЁЯЧ║я╕П рдЖрдХреГрддреА (рдирд┐рд░реНрдгрдп, рдереЛрдбрдХреНрдпрд╛рдд)

flowchart TB
    q["a job arrives ЁЯУе"]
    s["ЁЯЩЕ steps known & fixed?<br/>тЖТ write a SCRIPT"]
    one["ЁЯЧгя╕П one answer needed?<br/>тЖТ one model call"]
    solo["ЁЯзН path varies by discovery?<br/>тЖТ SOLO agent + tools (start here)"]
    plan["ЁЯЧ║я╕П long/structured?<br/>+ planner & checklist"]
    crit["ЁЯзСтАНЁЯПл quality-critical?<br/>+ critic loop (prefer test runners)"]
    hitl["ЁЯЪз irreversible steps?<br/>+ human gates (always)"]
    team["ЁЯСп truly parallel workstreams?<br/>+ a team тАФ with a foreman"]
    q --> s --> one --> solo --> plan --> crit --> hitl --> team

тЭУ рдХрд╛рдп (рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛ рд╡рд╛рдкрд░рд╛рд▓ рдЕрд╢реА checklist)

ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛ тАФ capstone

рддреБрдордЪреНрдпрд╛ рдЖрдард╡рдбреНрдпрд╛рддрд▓реЗ рдПрдХ рдЦрд░реЗ, рд╡рд╛рд░рдВрд╡рд╛рд░ рдпреЗрдгрд╛рд░реЗ рдХрд╛рдо рдШреНрдпрд╛. рдирд┐рд░реНрдгрдпрд╛рдЪреА рдЖрдХреГрддреА рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рдЪрд╛рд▓реВрди рдкрд╛рд╣рд╛ (script? рдПрдХ call? solo?). рддреНрдпрд╛рддреВрди agent рдЯрд┐рдХрд▓рд╛ рддрд░: рддреНрдпрд╛рдЪрд╛ рдПрдХрд╛ рдкрд╛рдирд╛рдЪрд╛ spec рд▓рд┐рд╣рд╛ тАФ goal, рдкрдЯреНрдЯрд╛ (READ/WRITE рдЦреВрдг рдХреЗрд▓реЗрд▓реА tools), memory рдЪрд╛ рдЖрд░рд╛рдЦрдбрд╛, guardrails, рддреЗ рдХрд╛рдо рдЭрд╛рд▓реНрдпрд╛рдЪреЗ рд╕рд┐рджреНрдз рдХрд░рдгрд╛рд░реЗ eval тАФ рдЖрдгрд┐ patterns-page рдЪреНрдпрд╛ рд╢реИрд▓реАрдд рддреНрдпрд╛рдЪрд╛ sequence diagram рд░реЗрдЦрд╛рдЯрд╛. рддреЗрдЪ рдкрд╛рди рдореНрд╣рдгрдЬреЗ team рдЬреНрдпрд╛рд╡рд░реВрди рдмрд╛рдВрдзрдХрд╛рдо рдХрд░реВ рд╢рдХреЗрд▓ рдЕрд╕рд╛ deliverable. ЁЯУЛ

ЁЯОУ рдХрд░реНрддрд╛ рдкрджрд╡реАрдзрд░ рд╣реЛрддреЛ

рдЙрддреНрддрд░реЗ тЖТ рдкрд░рд┐рдгрд╛рдо тЖТ loop тЖТ рдкрдЯреНрдЯрд╛ тЖТ pad тЖТ рдирд┐рдпрдо тЖТ failures рдЪреА рдпрд╛рджреА тЖТ file рд╕реНрд╡рддрдГ тЖТ patterns. рдЖрддрд╛ рддреБрдореНрд╣реА agent рдмрдирд╡реВ рд╢рдХрддрд╛, рддреЛ рдореЛрдбреВ рд╢рдХрддрд╛, рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░реВ рд╢рдХрддрд╛, рддреНрдпрд╛рдЪреЗ eval рдХрд░реВ рд╢рдХрддрд╛ тАФ рдЖрдгрд┐, рд╕рд░реНрд╡рд╛рдд рджреБрд░реНрдореАрд│ рдХреМрд╢рд▓реНрдп рдореНрд╣рдгрдЬреЗ, agent рди рдмрдирд╡рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрдК рд╢рдХрддрд╛. ЁЯУЛЁЯОУ

git checkout main
python3 agent/agent.py --drive    # one last errand, for fun

ЁЯМН Lesson 08 тАФ Agent patterns: teams, critics, and when NOT to

ЁЯУН You are here: Lesson 08 of 8 тАФ the final lesson!


ЁЯУж What's in this branch

The complete course, plus the five patterns real deployments use тАФ each drawn twice (numbered flow + sequence diagram) on ЁЯМР the patterns page тЖР open it beside this.

ЁЯзТ The five patterns, in school words

1. ЁЯзН The solo doer (single agent + tools) тАФ our agent.py: one student, one belt, one loop. Start here, stay here as long as you can тАФ most real value ships in this shape.

2. ЁЯЧ║я╕П Planner + executor тАФ one student BREAKS DOWN the project ("research trip: 1 pick city, 2 book train, 3 pack list"), then works the checklist item by item (or hands items to doers). Structure beats heroics on long tasks тАФ the to-do list from L04, promoted to a first-class artifact.

3. ЁЯзСтАНЁЯПл The critic loop (generate тЖТ check тЖТ fix) тАФ one student writes, another GRADES against a rubric ("tests pass? cites sources?"), and the writer fixes until the grade is green. The critic can be a model, but the BEST critics are merciless and mechanical: test runners, compilers, linters (ground truth beats opinions тАФ L06).

4. ЁЯЪз Human-in-the-loop тАФ the student prepares everything; a human approves the irreversible step (deploy, send, pay). You've met this gate in every school now (L05 here, MCP L05, ArgoCD's sync button) тАФ because it's THE pattern civilization runs on: drafts flow, signatures gate.

5. ЁЯСп The team (multi-agent) тАФ researcher, writer, checker, each with its own belt and desk, passing artifacts. Powerful for genuinely parallel work; also multiplies cost, latency and L06's compounding (a wrong "fact" from the researcher poisons everyone downstream). Teams need a foreman: clear handoffs, checkable artifacts, one responsible output.

And pattern zero тАФ no agent at all ЁЯЩЕ: if the steps are known and fixed, write a SCRIPT (cheaper, deterministic, debuggable). If it's one model call, make one call. Agents earn their complexity only when the path genuinely varies by what's discovered along the way. The best agent architects say "this doesn't need an agent" weekly.

ЁЯЧ║я╕П Diagram (the decision, compressed)

flowchart TB
    q["a job arrives ЁЯУе"]
    s["ЁЯЩЕ steps known & fixed?<br/>тЖТ write a SCRIPT"]
    one["ЁЯЧгя╕П one answer needed?<br/>тЖТ one model call"]
    solo["ЁЯзН path varies by discovery?<br/>тЖТ SOLO agent + tools (start here)"]
    plan["ЁЯЧ║я╕П long/structured?<br/>+ planner & checklist"]
    crit["ЁЯзСтАНЁЯПл quality-critical?<br/>+ critic loop (prefer test runners)"]
    hitl["ЁЯЪз irreversible steps?<br/>+ human gates (always)"]
    team["ЁЯСп truly parallel workstreams?<br/>+ a team тАФ with a foreman"]
    q --> s --> one --> solo --> plan --> crit --> hitl --> team

тЭУ What (the checklist you'll reuse)

ЁЯзк Try it тАФ capstone

Take a real recurring task from your week. Walk the decision diagram honestly (script? one call? solo?). If an agent survives the walk: write its one-page spec тАФ goal, belt (tools marked READ/WRITE), memory plan, guardrails, the eval that proves it worked тАФ and sketch its sequence diagram in the patterns-page style. That page IS the deliverable a team can build from. ЁЯУЛ

ЁЯОУ The doer graduates

Answers тЖТ outcomes тЖТ the loop тЖТ the belt тЖТ the pad тЖТ the rules тЖТ the failure catalog тЖТ the file itself тЖТ the patterns. You can now build an agent, break one, secure one, eval one тАФ and, rarest skill of all, decline to build one. ЁЯУЛЁЯОУ

git checkout main
python3 agent/agent.py --drive    # one last errand, for fun
тЖР Previousbuild an agentFinished! Take the quiz тЖТcheck what stuck

This page is the lesson's README from the lesson-08-patterns branch, shown here so the whole School stays on one site. Code files open on GitHub at the same branch.