Оркестраційний патерн — це схема роботи

Патерн описує ролі, передавані артефакти, межі відповідальності, критерії перевірки та умову завершення. Конкретну роль може виконувати основна сесія, subagent, нова сесія або людина; важлива логіка процесу, а не назва функції.

Стійкий workflow описується звʼязком «роль → артефакт → перевірка».

ПатернКоли використовуватиПерший артефакт
Planner → Executor → VerifierЗадача зрозуміла, потрібні реалізація та контрольPLAN.md
Researcher → Implementer → ReviewerСпершу потрібно дослідити незнайому системуCODEBASE_NOTE.md
Architect → Coder → TesterЗмінюються модулі або межі відповідальностіARCHITECTURE_NOTE.md
Hypothesis A/B → Neutral VerifierЄ кілька пояснень неочевидного багаHYPOTHESES.md

Як обрати патерн

  • Відоме місце проблеми — planner / executor / verifier.
  • Незрозумілі маршрути та залежності — researcher / implementer / reviewer.
  • Змінюється структура системи — architect / coder / tester.
  • Є конкуруючі пояснення — neutral verifier.
  • Security, performance або test reviewer — це фокус перевірки, а не обовʼязково окремий патерн.

Ролі не потрібно множити механічно

Planner часто достатньо виконати в plan mode, researcher можна доручити read-only subagent, executor може працювати в основній сесії, а reviewer — у свіжому контексті. Tester може бути окремою сесією або людиною.

Вибір залежить від ризику, обсягу та ціни помилки, а не від симетрії схеми.

Формальний pipeline

Артефакти й статуси
Planner:
  PLAN.md → scope, risks, commands
Executor:
  diff + changed files → agreed boundary
Verifier:
  review report → VERIFIED | REWORK
Human:
  merge або повернення на доопрацювання

Finish line має бути конкретною

  1. Назвіть команду тестування або перевірки.
  2. Зафіксуйте дозволений список файлів.
  3. Вкажіть обмеження публічного API та diff.
  4. Визначте обовʼязковий фінальний статус.
  5. Опишіть умови повторної роботи або REWORK.
  6. Покажіть порядок ролей і точку людського рішення в pipeline diagram.

Канонічне джерело уроку · JavaRush

Відкрити матеріал JavaRush