«Циклы — это очередной хайп или нечто настоящее?» — спросил ведущий. Ответ Черни прозвучал решительно: «Да, они настоящие». «Два года назад мы писали исходный код вручную. Потом начали переходить к тому, что код пишут агенты. А теперь мы движемся к этапу, когда агенты дают задания другим агентам, и те уже пишут код, — продолжил он. — Насколько большим был шаг от исходного кода к агентам, настолько же важен и масштабен переход к циклам». Позже в выступлении (примерно на 32-й минуте видео на YouTube, опубликованного выше) Черни подробно описал циклы, которые он постоянно использует в собственной работе. Один агент непрерывно ищет способы улучшить архитектуру кода, другой — выявляет дублирующиеся абстракции, которые можно унифицировать. Они отправляют pull-запросы, как и любой разработчик, а поскольку код постоянно меняется, их работа не прекращается никогда.
Это мощная концепция, особенно если за ней стоит такая значимая фигура, как Черни. С переходом к агентному ИИ большинство пользователей сосредоточены на максимально качественном управлении своими агентами: ставят чёткие цели, отслеживают отдельные этапы прогресса и не дают им слишком далеко выходить за пределы исходной инструкции. Цикл же идёт дальше, позволяя целому рою агентов непрерывно и безостановочно работать в фоновом режиме. Это означает огромное доверие к ИИ — но, учитывая быстрое совершенствование моделей, такой подход может стать следующим шагом в делегировании реальной работы искусственному интеллекту.
Прежде всего стоит отметить, что идея не совсем нова. Рекурсивные циклы — функции, вызывающие сами себя для повторения действия, с условием, останавливающим цикл, — являются одним из базовых понятий начальных курсов по информатике. Здесь циклы следуют недетерминированной логике: суб-агент сам выбирает момент остановки вместо чёткого условия, но в основе лежит тот же принцип. Как только программисты начали использовать ИИ для выполнения задач, та или иная версия рекурсивного цикла, где ИИ надзирает за ИИ, должна была появиться неизбежно. В отличие от классических вычислений, агентные циклы могут быть до безобразия простыми. Один из популярных приёмов — так называемый цикл Ральфа (названный в честь Ральфа Виггама), который, по сути, суммирует всю проделанную моделью работу и спрашивает, достигнута ли цель. Это способ справиться с ситуацией, когда ИИ-модели «теряются» при длительной работе — по сути, модель зацикливают, переключая внимание до тех пор, пока задача не будет выполнена.
На циклы можно посмотреть и как на часть общего стремления к увеличению объёма вычислений на этапе исполнения. Как заметил ранее в этом месяце исследователь OpenAI Ноам Браун, современные модели способны решить практически любую задачу, если предоставить им достаточно вычислительных ресурсов. А значит, один из способов гарантированно решить проблему — просто наращивать вычислительные мощности до победного конца. Это особенно справедливо для задач, связанных с постепенным улучшением, таких как доработка кодовой базы: модель может просто вносить небольшие улучшения, пока не достигнет заданного порога. Или, как в примере Черни, она может продолжать итеративно улучшать код до тех пор, пока на это выделяются ресурсы.
Если это звучит дорого, то так оно и есть. Как и в случае с агентным ИИ, циклы расходуют токены значительно быстрее, чем простые чат-боты в формате «вопрос-ответ», а поскольку смысл в том, чтобы цикл работал постоянно, верхней границы затрат попросту нет. Для Anthropic, чей бизнес в конечном счёте строится на продаже токенов, это приемлемо, но для всех остальных такой способ работы может оказаться дорогим удовольствием. И всё же, в зависимости от задачи, которую решает агентный цикл, и при наличии правильных механизмов контроля за расходом токенов, отклонением от курса и другими типичными проблемами ИИ, выгода может оказаться настолько ошеломляющей, что перевесит затраты.