Полевой тест выявил 3 дефекта планировщика ИИ: непроверенные зависимости, небезопасный порядок, слабый откат. Узнайте, как исправить их детерминированной валидацией и улучшить свои агенты.
Вы когда-нибудь замечали, что ваш ИИ-агент, который отлично пишет планы, всё равно проваливает сложные задачи? Я провёл полевой тест с 157 целями и обнаружил, что планировщик систематически допускает одни и те же структурные ошибки. И хуже того — смена модели на более мощную не помогла. В этой статье я разберу три дефекта, которые не лечатся увеличением параметров, и покажу, как детерминированная проверка может устранить половину проблем.
Анализ 132 конкретных блокеров в 63 строгих целях выявил чёткую закономерность. Каждый сбой относился к одному из трёх типов. Давайте разберём их на реальных примерах из моего проекта.
Планировщик объявляет предварительное условие, которое не устанавливает ни одна предыдущая задача. Он знает, что должно быть правдой, но не выстраивает шаги для её достижения. Вот пример из ai-03-model-serving-migration:
[БЛОКЕР] unverified_dependencies — задача=cutover_traffic_100
"Переключение трафика с SageMaker на vLLM (100%) зависит от
предыдущих этапов переключения, но нет подтверждения стабильности
перед продолжением."План говорит «переключить 100% трафика», но ни одна задача не проверяет, что этапы 10% и 50% прошли успешно.
Задачи выполняются до своих жёстких предпосылок. Переключение происходит до проверки, а резервное копирование — после миграции. Из ai-02-embedding-index-migration:
[БЛОКЕР] unsafe_sequencing — задача=backfill_vectors
"Операция обратного заполнения не может начаться, пока индекс не
проверен на качество; она упорядочена неправильно."План ставит обратное заполнение раньше проверки качества, которая должна его контролировать.
Шаги с высоким радиусом поражения не имеют отката. Планировщик добавляет откат для рутинных шагов, но забывает о переключении, демонтаже и возврате. Пример из db-10-multi-tenant-split:
[БЛОКЕР] weak_rollback — задача=dual_write_setup
"Откат задачи настройки двойной записи переключает только на
одиночную запись, не устраняя возможные несоответствия во время
перехода."Откат есть, но он не работает: возврат к одиночной записи не исправляет расхождения, которые могла внести двойная запись.
Естественная реакция — попробовать более мощную модель, например gpt-4o. Я тестировал её в двух вариантах: как планировщик с мини-критиком и в обеих ролях. Результат: те же дефекты, только более связный текст. Непроверенные зависимости, небезопасный порядок, слабый откат.
Это был момент, когда я перестал винить размер модели. Планировщик не был глупым. Он знал правильные шаги, но не мог замкнуть граф зависимостей и обеспечить порядок. Проблема была не в меньшей модели, а в структуре планирования.
Цикл ревизии задуман для сходимости: критик сообщает о блокерах, планировщик их исправляет. Но планировщик склонен исправлять один блокер и вводить другой. Он перетасовывает порядок задач, не закрывая разрыв в зависимостях, и добавляет откат не к той задаче.
После двух ревизий — медиана по 33 строгим целям — планировщик перестаёт вносить значимые изменения. Детектор сходимости срабатывает, и механизм эскалирует. Цикл работает как задумано, но планировщик — узкое место. Он не может исправить структурную проблему переписыванием текста.
Важно подчеркнуть: критик надёжно находил одни и те же блокеры при разных ревизиях. Провал был в неспособности планировщика к структурному ремонту, а не в суждении критика. Это отличается от проблемы, описанной во второй статье, где калибровка серьёзности критика была дефектной.
Самый эффективный фикс — замыкатель предусловий: детерминированный линтер, который после черновика планировщика проверяет, что каждое предусловие установлено предыдущей задачей. Если задача требует replica_verified, должна быть предшествующая задача, которая это производит. Этот один проход устранил бы 64 из 132 блокеров (48%) без запроса к LLM стать умнее.
Оставшиеся блокеры — небезопасный порядок и слабый откат — требуют либо лучшего промпт-инжиниринга, либо дополнительной детерминированной валидации, либо подлинно лучшего рассуждения о порядке и рисках.
Это не только моё наблюдение. Академическая литература сходится на том же выводе. Статья «Почему рассуждения не справляются с планированием» (arXiv 2601.22311) показывает, что LLM-агенты выбирают действия на основе локальной оценки, не учитывая будущие последствия. При обходах графа знаний жадные политики выбирают ловушки более чем в 55% случаев. Авторы доказывают, что пошаговые рассуждения недостаточны для долгосрочного планирования.
Обзор PlanGenLLMs (arXiv 2502.11221) оценивает LLM-планирование по четырём критериям: полнота, исполнимость, оптимальность, представление. LLM стабильно не обеспечивают исполнимость планов: предусловия не выполняются, шаги не в том порядке.
Поле сходится к гибридным подходам: LLM плюс детерминированная валидация плюс классические методы планирования. Не LLM в одиночку.
Если вы создаёте агентов, которые планируют несколько шагов, сделайте следующее:
Примените эти шаги к своему агенту уже сегодня, и вы увидите, как число блокеров сократится почти вдвое. Не надейтесь на следующую модель — улучшайте архитектуру.
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →