Ошибка агента на первом шаге рвёт цепочку целиком

Длинная цепочка инструментов уязвима: если модель неправильно отрезала фрагмент текста на первом шаге, следующий инструмент получит невалидные данные и откажет. Откажет не потому, что сломан, а потому что результат первого шага оказался мусором.

Классический случай: агент должен найти номер счёта в документе, затем проверить статус счёта, затем отправить уведомление. На первом шаге модель вытащила номер, но вместе с ним прихватила конец строки. Второй инструмент получил '12345 ---' вместо '12345', отказал, цепочка сломалась.

Валидация промежуточных результатов

Решение в том, чтобы проверять результат каждого вызова инструмента прежде, чем передавать его следующему. На деле это означает, что каждый инструмент возвращает не просто результат, а структурированный ответ вида 'успех: да, данные: X, предупреждение: если есть'. Модель читает предупреждение и может попробовать исправить данные или откатиться.

Важная деталь: модель не может просто переделать первый шаг заново. Переделка инструмента выглядит как новый независимый вызов, и модель конкурирует сама с собой. Поэтому разработчики добавили явный режим коррекции: если на шаге два обнаружилась ошибка с шагом один, модель может явно указать в описании инструмента, что это retry первого, и система повторит.

Парадокс: самые надёжные цепочки агентов — это те, где каждый инструмент может отказать. Если инструмент молча возвращает неполные данные, цепочка ломается незаметно, но если откажет громко, модель видит ошибку и может скорректировать подход.