ЁЯМН рдзрдбрд╛ 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)
- рдкреНрд░рддреНрдпреЗрдХ pattern рдореНрд╣рдгрдЬреЗ рддреНрдпрд╛рдЪ loop рдЪреА рд░рдЪрдирд╛ тАФ L02 рдЪреЗ рддреАрди рдареЛрдХреЗ, рд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рдЧреБрдВрдбрд╛рд│рд▓реЗрд▓реЗ. рдХреЛрдгрддреНрдпрд╛рд╣реА framework рдЪреА рдЖрдХреГрддреА рд╡рд╛рдЪрд╛ рдЖрдгрд┐ рдЖрддрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рджрд┐рд╕реЗрд▓: planners рдореНрд╣рдгрдЬреЗ рд╕рдВрд░рдЪрд┐рдд output рдЕрд╕рд▓реЗрд▓реЗ brains; critics рдореНрд╣рдгрдЬреЗ рджреБрд╕рд░рд╛ loop рдЬреНрдпрд╛рдЪреА tools graders рдЖрд╣реЗрдд; teams рдореНрд╣рдгрдЬреЗ artifacts рджреЗрд╡рд╛рдгрдШреЗрд╡рд╛рдг рдХрд░рдгрд╛рд░реЗ loops.
- рдЕрдВрджрд╛рдЬрд╛рдкреЗрдХреНрд╖рд╛ artifacts: рд╣рд╕реНрддрд╛рдВрддрд░рдг рддрдкрд╛рд╕рддрд╛ рдпреЗрдгрд╛рд▒реНрдпрд╛ рдЧреЛрд╖реНрдЯреА рдЕрд╕рддреАрд▓ рддреЗрд╡реНрд╣рд╛рдЪ patterns рдЪрд╛рд▓рддрд╛рдд (files, PRs, JSON) тАФ chat transcripts рдирд╛рд╣реА.
- рдкреНрд░рддреНрдпреЗрдХ pattern рд╕рд╛рдареА evals (L06): solo = рдкрд░рд┐рдгрд╛рдо рддрдкрд╛рд╕рдгреА; critic = grade рдЦрд░реЛрдЦрд░ рдЧреБрдгрд╡рддреНрддреЗрд╢реА рдЬреБрд│рддреЛ рдХрд╛?; team = end-to-end рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХ рднреВрдорд┐рдХреЗрд╕рд╛рдареА.
- рдЦрд░реНрдЪрд╛рдЪреЗ рднрд╛рди: рдЬреЛрдбрд▓реЗрд▓реА рдкреНрд░рддреНрдпреЗрдХ рднреВрдорд┐рдХрд╛ tokens рдЖрдгрд┐ latency рдЧреБрдгрд╛рдХрд╛рд░рд╛рдиреЗ рд╡рд╛рдврд╡рддреЗ. patterns page рдкреНрд░рддреНрдпреЗрдХ pattern рд╕реНрд╡рддрдГрдЪрд╛ рдЦрд░реНрдЪ рдХреБрдареЗ рд╡рд╕реВрд▓ рдХрд░рддреЛ рддреЗ рджрд╛рдЦрд╡рддреЗ.
ЁЯзк рдХрд░реВрди рдкрд╛рд╣рд╛ тАФ 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