Планирование и декомпозиция
Разбиваем сложные задачи
Проблема: Без планирования ИИ сразу бросается в задачу и часто застревает. Это как собирать мебель из IKEA, не глядя в инструкцию — может, соберёшь, но потратишь время и наделаешь ошибок.
Решение: Думай перед тем, как делать
Планирование (planning) — это способность агента подумать о цели до того, как он начнёт действовать: сначала набросать маршрут из шагов, а затем выполнять их по одному, корректируя маршрут по ходу дела. Вместо того чтобы реагировать на каждый запрос изолированно, планирующий агент держит в голове явное многошаговое намерение. Это тесно связано с рассуждением по цепочке мыслей (chain-of-thought): модель проговаривает свои мысли, но планирование идёт дальше — превращает эти мысли в упорядоченный список конкретных подзадач, которые запускают реальные вызовы инструментов.
Как это работает
Под капотом агент крутит цикл агента (agent loop): он разбивает цель на подзадачи, выбирает следующее действие, выполняет его (поиск в вебе, запуск кода, вызов API), читает результат и решает — продолжать, повторить или переписать план. Частая реализация — паттерн ReAct, где модель на каждом шаге чередует Мысль → Действие → Наблюдение. Некоторые агенты идут дальше и используют схему «plan-and-execute»: один вызов модели набрасывает весь план целиком, а затем более дешёвый цикл выполняет каждый шаг — это экономит токены и помогает не сбиться на длинных задачах. В крупных системах оркестратор может распределить план между несколькими агентами.
Когда применять — и какие компромиссы
Бери планирование, когда задача требует нескольких зависимых шагов, затрагивает разные инструменты или длится достаточно долго, чтобы агент начал «уплывать» от цели. Для одного вопроса («какая столица у Франции?») планирование — чистый перерасход. Главные ловушки: ошибочный начальный план может каскадом породить кучу лишних шагов, каждый шаг планирования стоит дополнительных токенов и времени, а агенты, которые никогда не пересматривают план, упрямо идут по маршруту, который реальность уже сломала — поэтому хорошие агенты сверяются после каждого шага. Разбор на примере: «Найди трёх конкурентов продукта X и пришли мне сравнение на почту». Планирующий агент разбивает это на (1) определить продукт, (2) найти конкурентов, (3) собрать цены и функции для каждого, (4) построить таблицу сравнения, (5) составить и отправить письмо. Если на шаге 2 нашлось только два серьёзных конкурента, агент обновляет план — расширяет поиск, а не выдумывает фейкового третьего — и продолжает. Именно такое адаптивное перепланирование не даёт ему галлюцинировать и прийти к неверному ответу.
Представьте это как шахматиста:
- 1. Анализ: "Какова текущая позиция на доске?"
- 2. Планирование: "Нужно захватить центр, развить фигуры..."
- 3. Разбивка: "Сначала пешка, потом конь, потом слон..."
- 4. Выполнение: Делаю первый ход
- 5. Переоценка: "Соперник сходил. Нужно ли менять план?"
Стратегии планирования
- Декомпозиция задач: Разбить большие цели на мелкие подзадачи
- Приоритизация целей: Решить, что важнее сделать первым
- Отслеживание зависимостей: Знать, какие задачи зависят от других
- Уточнение плана: Обновлять план на основе новой информации
Интересный факт: Лучшие планирующие агенты используют технику "Дерево мыслей" — они исследуют несколько возможных планов как ветви дерева, оценивают каждый и выбирают лучший путь. Это как мысленно симулировать разные варианты будущего перед решением!
Попробуйте сами!
Используй интерактивный планировщик ниже, чтобы увидеть, как агент разбивает сложную задачу на шаги. Посмотри, как он создаёт и корректирует план в процессе работы!
Частые вопросы
Что такое планирование (planning) у ИИ-агентов?
Планирование — это способность агента сначала составить маршрут из шагов для достижения цели, а потом выполнять их по одному, корректируя план по ходу. Вместо реакции на каждый запрос изолированно агент держит явное многошаговое намерение и разбивает сложную задачу на конкретные подзадачи.
Чем планирование отличается от цепочки мыслей (chain-of-thought)?
Цепочка мыслей — это когда модель проговаривает рассуждения текстом перед ответом. Планирование идёт дальше: оно превращает эти рассуждения в упорядоченный список подзадач, которые запускают реальные действия и вызовы инструментов, и позволяет агенту пересматривать план по мере выполнения.
Когда агенту нужно планирование, а когда оно лишнее?
Планирование нужно, когда задача требует нескольких зависимых шагов, затрагивает разные инструменты или длится долго, из-за чего агент рискует уплыть от цели. Для одного простого вопроса вроде «какая столица у Франции?» планирование — лишний перерасход токенов и времени.
Какие минусы и риски у планирующих агентов?
Ошибочный начальный план может каскадом породить кучу лишних шагов; каждый шаг планирования стоит дополнительных токенов и задержки; а агенты, которые не пересматривают план, упрямо идут по маршруту, который реальность уже сломала. Поэтому хорошие агенты сверяются с результатом после каждого шага и при необходимости перепланируют.
Попробуй сам
Интерактивное демо этой техники
Спланируй трёхдневную поездку в Санкт-Петербург.
День 1: Эрмитаж. День 2: Петергоф. День 3: прогулка по Невскому проспекту. Приятного путешествия!
Декомпозиция задачи:
- Логистика (транспорт, жильё) — первый приоритет
- Достопримечательности — зависит от (1)
- Маршруты по дням — зависит от (2) и географии
- Бюджет — зависит от (1)+(2)
Зависимости: жильё → район → маршруты дня
Структурированный план:
🔹 Подготовка:
- Жильё: рядом с метро Невский проспект (центр)
- Транспорт: единый проездной на 3 дня
🔹 День 1 (центр):
- 10:00 Эрмитаж (3 ч) → обед → 15:00 Русский музей (2 ч) → Невский проспект вечером
🔹 День 2 (пригород):
- 09:00 электричка в Петергоф → фонтаны (4 ч) → возврат → Мариинский театр вечером
🔹 День 3 (культура):
- 10:00 Петропавловская крепость → обед → Кунсткамера → прогулка на кораблике по каналам
Бюджет: ~15,000 руб (жильё 6,000 + билеты 4,000 + еда 4,000 + транспорт 1,000)
Агент-планировщик сначала анализирует зависимости между задачами, а потом строит план. Это даёт структурированный результат вместо случайного списка.
Создайте бесплатный аккаунт для решения челленджей
3 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения