Claude Opus 4.7 пропустил задачу в агентном режиме: тот же баг, что у дешёвой Gemma 4

Claude Code отрапортовал: работа закончена. 4 задачи из 5 отмечены как выполненные. Пятая, "Commit and open PR", осталась открытой. Агент перешёл к следующему запросу, будто незакрытого пункта и не существует.

Это был Claude Opus 4.7 с максимальным уровнем рассуждений (extra-high thinking). Самая мощная модель, которая у меня есть, на самой высокой настройке.

Claude Opus 4.7 пропустил задачу в агентном режиме: тот же баг, что у дешёвой Gemma 4

Как AI-агент управляет задачами в Tuplet

Контекст. Я разрабатываю открытый агентный фреймворк Tuplet. Архитектура по задачам простая:

  • Фреймворк даёт модели инструмент task manager - создать задачу, обновить статус, закрыть.
  • Модель сама решает, на какие подзадачи разбить пользовательский запрос.
  • Модель сама вызывает инструмент по ходу работы.
  • Модель сама объявляет "готово", когда считает список закрытым.

Ответственность за корректное закрытие списка лежит на модели. Фреймворк не навязывает поведение - предоставляет API.

Почему я подозревал только дешёвые модели

На прошлой неделе я тестировал в Tuplet модель Google Gemma 4. Цена привлекательная: около 8 центов за миллион токенов. Для продакшена на потоке это разница между рентабельным и нерентабельным сценарием.

На практике Gemma 4 регулярно "забывала" задачи. Из 5 пунктов отмечала 2-3. Остальные пропускала. Работу заявляла завершённой. Проверяешь список - половина не сделана.

Диагноз казался очевидным: модель слабая, контекст держит хуже, дисциплины меньше. Классическое "вы получаете то, за что платите".

План: усилить фреймворк, а не менять модель

Ответ казался логичным: раз модель сама не справляется, пусть её страхует фреймворк.

Идея такая: добавить в Tuplet слой верификации. Агент не может объявить работу законченной, пока в списке есть открытые пункты. Если пытается - фреймворк возвращает ошибку и требует либо закрыть оставшиеся задачи, либо явно их отменить с обоснованием.

Небольшой прототип я уже подкрутил. Полноценная реализация - в планах на ближайшее время.

В голове всё было логично: это помощь слабым моделям типа Gemma 4, чтобы они работали надёжно. Opus 4.7 такая страховка не нужна - он и так справляется.

Так я думал ровно до сегодняшнего утра.

Что произошло с Opus 4.7

Запускаю Claude Code на реальной задаче. Агент создаёт план из 5 шагов, работает 48 секунд, выдаёт результат.

На скриншоте: 4 галочки, одна пустая. "Commit and open PR" - незакрытая. Агент пишет: работа закончена.

Дальше интереснее. Я задаю другой, не связанный с этим списком вопрос. Агент отвечает. Открытая задача как стояла открытой, так и висит. Никакой попытки её закрыть, никакого упоминания, что что-то недоделано.

Если бы я не посмотрел на список сам, я бы просто поверил агенту на слово и пошёл дальше.

Частота - не одинаковая

Сразу оговорюсь: Opus 4.7 и Gemma 4 ломаются не одинаково. Разница в частоте огромная:

  • Gemma 4: пропуски почти в каждом сложном запросе.
  • Opus 4.7: редкие, единичные случаи.

Но редкие случаи - не то же самое, что их отсутствие. И это принципиально меняет выводы.

Переосмысление: guardrails - не костыль для бедных

Раньше я относился к framework-level guardrails как к дополнительной работе, нужной только чтобы дешёвые модели хоть как-то работали. Мол, Opus 4.7 это всё не нужно.

Сейчас я вижу иначе. Это страховка для всей системы:

  • Gemma 4 без неё работает плохо, с ней - приемлемо.
  • Opus 4.7 без неё работает отлично в 99% случаев, с ней - будет отлично в 100%.

Надёжность и интеллект - разные оси. Даже самая умная модель иногда тихо теряет задачу. Дисциплина в инструменте компенсирует не нехватку интеллекта, а нехватку гарантий.

Продакшен-системы строятся на гарантиях, а не на том, что "обычно работает". Раньше я это знал применительно к базам данных и распределённым системам. Теперь - применительно и к LLM-агентам.

Что дальше

Возвращаюсь к плану по Tuplet с другим настроением. Делаю верификацию задач уже не "ради Gemma 4", а как базовую часть любого производственного агента. Это примерно та же история, что с типизацией, тестами и транзакциями - скучные слои, которые дают главное свойство системы: предсказуемость.

Вопрос к читателям

Кто работает с Claude Opus 4.7 в агентных сценариях - как ощущения в сравнении с 4.6? Стало заметно лучше держать длинные списки задач, или разница в пределах погрешности?

И второй вопрос - тем, кто строит агентов: вы полагаетесь на дисциплину модели, или уже вводите какие-то жёсткие проверки на уровне фреймворка?

Начать дискуссию