Skip to main content

Plan-and-Solve Prompting(Патерн стратегічного планування та виконання)

ДЛЯ АГЕНТАChatGPTClaude

Двоетапна агентська архітектура, що розділяє стратегічну декомпозицію задачі на глобальний план від його послідовного тактичного виконання з динамічним репланінгом.

1. Огляд концепції та системна проблема

Коли розробник ставить штучному інтелекту велике інженерне завдання (наприклад, «переписати модуль авторизації з JWT на сесії у базі даних»), імпульсивна реакція агента полягає у миттєвому редагуванні першого випадкового файлу.

Такий суто реактивний підхід спричиняє критичні збої:

  1. Порушення порядку залежностей: Агент змінює компонент інтерфейсу до того, як оновив схему бази даних або створив необхідні типи TypeScript.
  2. Циклічні правки: Модель виправляє одну помилку, ламаючи інший пов'язаний файл, і застрягає в нескінченному латанні синтаксису без розуміння загальної картини.
  3. Втрата первинної мети: Після 10 кроків пошуку багів контекст забивається повідомленнями компілятора, і модель забуває початкову задачу користувача.

Plan-and-Solve усуває цю проблему через класичний принцип інженерії: Розділення стратегічного проєктування (Planning) та тактичної реалізації (Execution).

2. Архітектурна таксономія та ментальна модель

Патерн реалізується через три взаємодоповнюючі фази:

  • 1. Фаза дослідження та планування (Discovery & Planner Phase): Агент аналізує запит, попередньо читає файлову систему (Read-Only) і генерує чітко структурований граф дій: масив кроків із позначенням цілей, критеріїв успіху та необхідних файлів.
  • 2. Фаза виконання кроків (Solver / Execution Phase): Спеціалізований виконавець бере перший відкритий пункт плану, викликає необхідні інструменти (редагування файлів, запуск збірки), переконується у виконанні підзадачі та позначає пункт як завершений.
  • 3. Фаза динамічного перепланування (Replanning & Feedback Phase): Якщо під час виконання кроку виникає помилка, яку неможливо вирішити простим повтором (наприклад, виявлено відсутність потрібного модуля в системі), репланер переглядає решту пунктів плану, додаючи крок встановлення залежностей.

3. Технічний пайплайн та внутрішня механіка

Життєвий цикл роботи за патерном Plan-and-Solve:

  1. Plan Generation (Генерація структурованого плану): Модель формує валідний JSON-об'єкт із масивом задач: tasks: [{ id: 1, title: "DB Schema", status: "pending" }, { id: 2, title: "API Route", status: "pending" }].
  2. State Injection (Ініціалізація трекера): План записується в стан агента. Користувач бачить візуальний прогрес виконання у вигляді інтерактивного чекліста.
  3. Execution Loop (Ітеративне проходження): Оркестратор вибирає наступну задачу зі статусом pending. Контекст очищається від старих деталей налагодження, фокусуючись лише на поточній задачі та фінальній меті.
  4. Invariant Check & Status Transition (Контроль інваріантів): Після завершення кроку запускається лінтер або юніт-тест. Якщо перевірка успішна — статус змінюється на completed. Якщо ні — викликається метод replan(), який коригує невиконані кроки.

4. Практичні інженерні сценарії в продакшені

01. Комплексна міграція кодової бази

Перехід проєкту з Next.js Pages Router на App Router:

  • Крок 1: Аудит структури папки pages/ та виділення спільних Layouts.
  • Крок 2: Створення кореневого app/layout.tsx та базових стилів.
  • Крок 3: Поетапне перенесення статичних сторінок.
  • Крок 4: Переписування динамічних маршрутів та API Routes у route.ts.
  • Крок 5: Повний білд проєкту та видалення застарілих файлів.

02. Створення нових функцій за специфікацією (Spec-Driven Development)

Агент отримує бізнес-вимогу. Спочатку він пише документацію та схеми Zod, узгоджує їх із користувачем, і лише після отримання схвалення покроково генерує бекенд, клієнтські хуки та UI-компоненти.

03. Інфраструктурне розгортання серверів

Поетапне загартування Linux VPS:

  • Генерація плану з 6 етапів (SSH-ключі, UFW-фаєрвол, fail2ban, оновлення пакетів, створення non-root користувача, відключення парольного доступу).
  • Кожен пункт виконується окремо з обов'язковою перевіркою статусу порту перед відключенням попереднього методу зв'язку.

5. Підводні камені, типові помилки та безпека

  • Планування наосліп (Premature Planning): Складання плану без попереднього аналізу файлів репозиторію. Модель може спланувати використання бібліотек, яких немає в проєкті. Рішення: обов'язковий крок «Дослідження» (Discovery) перед запуском планувальника.
  • Надмірна жорсткість (Plan Rigidity): Агент наполегливо намагається виконати Крок 3, коли на Кроці 1 з'ясувалося, що архітектура вимагає принципово іншого підходу. Обов'язково впроваджуйте хуки динамічного репланінгу.
  • Мікроменеджмент на 30 кроків: Занадто дрібні кроки (наприклад, окремий крок для імпорту кожного типу) спалюють час і гроші. Тримайте рівень абстракції на рівні логічних функціональних блоків.
/ Часті запитанняSchema.org FAQPage

FAQ: Plan-and-Solve Prompting

Чистий ReAct діє «жадібно» (Greedy / Myopic): він обирає наступну дію суто на основі спостереження від попереднього кроку. У складних задачах (рефакторинг 20 файлів) такий підхід заводить агента в локальні оптимуми та глухі кути. Plan-and-Solve спочатку будує глобальну карту залежностей, що гарантує цілісність архітектури.
/ Внутрішня перелінковка
Всі терміни
Агенти & MCP

ReAct Pattern (Reasoning + Acting)

Фундаментальний алгоритмічний патерн автономних агентів, що чергує кроки внутрішніх міркувань (Thought), виконання зовнішніх інструментів (Action) та аналізу отриманого результату (Observation).

Читати термін
Вайбкодинг & IDE

Spec-Driven Development (SDD)

Провідна методологія інженерії програмного забезпечення епохи ШІ, де створення, узгодження та фіксація структурованої машинно-читабельної специфікації обов'язково передує генерації коду.

Читати термін
Вайбкодинг & IDE

Autonomous Loop (/goal mode)

Архітектурний патерн замкненого циклу виконання задач, у якому агент автономно чергує генерацію коду, запуск команд і верифікацію результатів до повного досягнення зафіксованої мети.

Читати термін
Агенти & MCP

Reflection Pattern (Рефлексія)

Архітектурний патерн підвищення надійності агентів, що розділяє процес на генерацію рішення (Generator), його критичний аудит (Critic) та ітеративне доопрацювання (Refiner).

Читати термін

Пов'язані матеріали екосистеми

Дізнайтеся більше про практичну реалізацію, термінологію та інструменти

Термін у глосарії

Специфікація перед кодом (Spec-First Вайбкодинг)

Інженерна методологія розробки з ШІ (Spec-Driven Development). Замість миттєвої хаотичної генерації коду розробник спершу змушує модель скласти структурований файл SPEC.md із архітектурою, типами даних та кроками реалізації.

Термін у глосарії

Spec-First Engineering (RFC-Driven AI Dev)

Методологія розробки за допомогою ШІ, де 80% зусиль розробника спрямовані на створення кришталево чіткої технічної специфікації (PRD/RFC) до генерації першого рядка коду.

Практичний гайд

Гайд по базі Gemini: промптинг (prompting)

Фундаментальний посібник із промптингу для Google Gemini: розбір фреймворку RTF (Role-Task-Format), типологія запитів, готові шаблони та усунення помилок.

Практичний гайд

Частина I. Архітектура ШІ-агентів: фундаментальні блоки

Десять фундаментальних блоків сучасного агента: таксономія моделей, рантайм-петля, техніки промптингу, дистиляція, навички (skills), пам'ять, function calling та юніт-економіка.

Новина

Claude Code оптимізував статус фонових субагентів: витрати на оновлення зменшилися на 99%

У CLI-версії Claude Code оновлення статусу фонових субагентів тепер виконує Haiku 5.5 на основі коротких нотаток, що знижує споживання лімітів.

Новина

OpenCode: у 30 разів більше використання DeepSeek за ту саму ціну

Співзасновник OpenCode Дакс заявив, що команда підвищила ефективність використання DeepSeek: тепер $10 дають обсяг, який раніше коштував $300.