Як агент вирішує, що робити далі (Planning vs Reactive)

Йому не дають інструкцію. Не пояснюють порядок дій.
На цій сторінці
  1. Planning: коли агент думає наперед
  2. Reactive: коли агент діє по ситуації
  3. Чим вони відрізняються на практиці
  4. У коді це виглядає так
  5. 1) Planning: спочатку план, потім виконання
  6. 2) Reactive: крок за кроком по ситуації
  7. Аналогія з життя
  8. Що це означає на практиці
  9. Коротко
  10. FAQ
  11. Що далі

Коли агент отримує задачу, він не знає наперед, які кроки приведуть до результату.

Йому не дають інструкцію. Не пояснюють порядок дій.

Він має сам вирішити, що робити далі.


І тут можливі два підходи.

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

Обидва варіанти можуть привести до результату.

Але працюють вони по-різному.

І саме від цього залежить, як агент поводиться, коли щось іде не за планом.

Diagram

Planning: коли агент думає наперед

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

Він отримує задачу — і складає приблизний план дій.

Наприклад:

  1. Знайти потрібні дані
  2. Обробити їх
  3. Сформувати звіт
  4. Надіслати результат

І вже після цього починає виконувати кроки один за одним.


Такий підхід добре працює, коли:

  • Задача зрозуміла
  • Дані доступні
  • І мало шансів, що щось піде не так

Агент не приймає рішення на кожному кроці.
Він рухається за тим, що вирішив наперед.

Reactive: коли агент діє по ситуації

У цьому підході агент не будує план наперед.

Він дивиться на ситуацію — і обирає наступний крок прямо зараз.

Наприклад:

  • Спочатку пробує отримати дані
  • Якщо не вийшло — шукає інше джерело
  • Якщо даних достатньо — переходить до обробки

Тобто він не вирішує весь шлях одразу.

Він рухається крок за кроком, постійно перевіряючи:

"Що змінилося після попередньої дії?"

І на основі цього обирає наступну.


Такий підхід гнучкіший.

Якщо щось не спрацювало — агент не ламається.
Він просто змінює дію.

Чим вони відрізняються на практиці

AI-агент: Planning vs Reactive

Planning-підхід намагається знайти шлях наперед.
Reactive-підхід шукає його в процесі.


У першому випадку агент каже:

«Ось що я зроблю, щоб досягти результату».

У другому:

«Я зроблю це — і подивлюсь, що зміниться».


Planning може бути швидшим, якщо все йде за планом.

Але якщо щось пішло не так — план може зламатися.
І агенту доведеться перебудовувати його заново.


Reactive діє повільніше.

Але краще пристосовується до змін.

Він не очікує, що все спрацює з першого разу.

І саме тому часто продовжує рухатися там, де план зупиняється.

PlanningReactive
ПідхідШукає шлях напередШукає шлях у процесі
Як діє«Ось що я зроблю»«Спробую і подивлюсь»
ШвидкістьШвидше, якщо все працюєПовільніше
При помилціПлан ламаєтьсяПробує інший варіант
АдаптаціяПотрібно перебудувати планАдаптується у процесі

У коді це виглядає так

Нижче той самий принцип у простому форматі:
Planning спочатку будує план, а Reactive обирає наступний крок після кожного результату.

Спочатку маємо дії (інструменти), які агент може запускати:

PYTHON
def search_docs(state: dict):
    return {"notes": "docs-found"}


def call_api(state: dict):
    return {"api_data": "fresh-data"}


def write_report(state: dict):
    return {"report": "ready"}


TOOLS = {
    "search_docs": search_docs,
    "call_api": call_api,
    "write_report": write_report,
}


def run_action(action: str, state: dict):
    return TOOLS[action](state)

1) Planning: спочатку план, потім виконання

Тут агент наперед вирішує весь маршрут:

PYTHON
state = {}
plan = ["search_docs", "call_api", "write_report"]

for action in plan:
    result = run_action(action, state)
    state.update(result)

# state -> {"notes": "...", "api_data": "...", "report": "ready"}

2) Reactive: крок за кроком по ситуації

Тут агент після кожного кроку дивиться на стан і вирішує, що робити далі:

PYTHON
def choose_next_action(state: dict):
    if "notes" not in state:
        return "search_docs"
    if "api_data" not in state:
        return "call_api"
    if "report" not in state:
        return "write_report"
    return None


state = {}

while True:
    action = choose_next_action(state)
    if action is None:
        break

    result = run_action(action, state)
    state.update(result)

# state -> {"notes": "...", "api_data": "...", "report": "ready"}

У цьому прикладі обидва підходи дають один результат.
Різниця в тому, коли приймається рішення про наступний крок.

Повний приклад реалізації з підключеною LLM

PYPython
TSTypeScript · скоро

Аналогія з життя

Уяви, що ти їдеш у нове місто.

Можеш:

  • Заздалегідь прокласти маршрут
  • Або орієнтуватися по ситуації

Planning — це коли ти відкриваєш карту і будуєш шлях до кінця.

Ти знаєш:

  • Де повернути
  • Де зупинитися
  • Як об'їхати міст

І просто рухаєшся за планом.

Але якщо дорогу перекрили — доведеться зупинитися і перебудувати маршрут.


Reactive — це коли ти їдеш без повного плану.

Побачив затор — звернув.
Не знайшов вулицю — обрав іншу.

Ти не знаєш весь шлях наперед.

Але можеш швидко змінювати напрямок, якщо щось пішло не так.


Те саме з агентом.

Він може:

  • Або скласти план
  • Або реагувати на ситуацію

І обирає підхід залежно від задачі.

Що це означає на практиці

Planning добре працює, коли:

  • Задача зрозуміла
  • Середовище стабільне
  • І мало шансів, що щось зміниться

Reactive — коли:

  • Дані можуть бути неповними
  • Інструменти іноді не працюють
  • Або ситуація змінюється під час роботи

У реальних системах агент часто поєднує обидва підходи.

Він може скласти загальний план — але реагувати, якщо щось іде не за ним.

І саме це визначає, чи він зупиниться після першої помилки — чи знайде інший шлях до результату.


Коротко

Коротко

Агент може:

  • Спланувати кілька кроків наперед (Planning)
  • Або обирати дію по ситуації (Reactive)

Planning швидший, якщо все йде за планом.
Reactive гнучкіший, коли щось змінюється.

У реальних задачах агент зазвичай поєднує обидва підходи.

FAQ

Q: Чи планує AI-агент усі кроки наперед?
A: Не завжди. Він може скласти план або обирати наступну дію прямо під час роботи.

Q: Що краще — Planning чи Reactive?
A: Planning швидший у стабільному середовищі, Reactive краще працює, коли ситуація змінюється.

Q: Чи використовує агент лише один підхід?
A: У реальних задачах агент часто поєднує Planning і Reactive залежно від ситуації.

Що далі

Тепер ти знаєш, як агент обирає дії.

Але навіть найкращий підхід не гарантує, що він завжди зробить правильний вибір.

Чому?

Бо агент працює на основі моделі — а модель має свої обмеження.

І саме через них агент:

  • Може помилятися
  • Пропускати важливе
  • Або обирати не той інструмент
⏱️ 6 хв читанняОновлено Бер, 2026Складність: ★★☆
Практичне продовження

Приклади реалізації патерна

Перейди до реалізації на готових прикладах.

Інтегровано: продакшен-контрольOnceOnly
Додай guardrails до агентів з tool-calling
Зашип цей патерн з governance:
  • Бюджетами (кроки / ліміти витрат)
  • Дозволами на інструменти (allowlist / blocklist)
  • Kill switch та аварійна зупинка
  • Ідемпотентність і dedupe
  • Audit logs та трасування
Інтегрована згадка: OnceOnly — контрольний шар для продакшен агент-систем.
Автор

Цю документацію курують і підтримують інженери, які запускають AI-агентів у продакшені.

Контент створено з допомогою AI, із людською редакторською відповідальністю за точність, ясність і продакшн-релевантність.

Патерни та рекомендації базуються на постмортемах, режимах відмов і операційних інцидентах у розгорнутих системах, зокрема під час розробки та експлуатації governance-інфраструктури для агентів у OnceOnly.