Автор: Systematic Long Short
Перевод: Shenchao TechFlow
Shenchao вводная: Основной тезис этой статьи — одна фраза: качество вывода AI Agent прямо пропорционально количеству вложенных токенов.
Автор не говорит о теории в общих чертах, а предлагает два конкретных метода, которые можно начать использовать уже сегодня, и четко определяет границы, за которыми токены не могут быть созданы — «проблема новизны».
Для читателей, которые пишут код или запускают рабочие процессы с помощью Agent, информация насыщенная и практичная.
Введение
Хорошо, вы должны признать, что заголовок действительно привлекает внимание — но честно говоря, это не шутка.
В 2023 году, когда мы использовали LLM для запуска производственного кода, все вокруг были поражены, поскольку общепринятым мнением当时 было, что LLM могут генерировать только бесполезный мусор. Но мы знали то, что другие не осознавали: качество вывода агента — это функция количества вложенных токенов. Всё просто.
Вы сможете сами увидеть это, проведя несколько экспериментов. Попросите агента выполнить сложную, несколько нишевую задачу программирования — например, реализовать с нуля алгоритм выпуклой оптимизации с ограничениями. Сначала используйте самый низкий уровень мышления; затем переключитесь на самый высокий уровень, чтобы он пересмотрел свой код и выявил, сколько ошибок сможет найти. Попробуйте также средний и высокий уровни. Вы наглядно увидите: количество ошибок монотонно уменьшается с увеличением количества затраченных токенов.
Это несложно понять, верно?
Чем больше токенов — тем меньше ошибок. Вы можете продвинуть эту логику дальше: это в основном упрощённая суть идеи продукта для ревью кода. Введите совершенно новый контекст, вложив огромное количество токенов (например, заставив их анализировать код построчно и определять, есть ли баг в каждой строке) — таким образом вы сможете выявить подавляющее большинство, если не все, баги. Этот процесс можно повторить десять или сто раз, каждый раз рассматривая кодовую базу с «другой точки зрения», и в итоге вы сможете выявить все баги.
Идея «чем больше токенов сжигается, тем выше качество агента» имеет еще одно эмпирическое подтверждение: команды, утверждающие, что могут полностью написать код с помощью агента и сразу запустить его в продакшен, либо являются самими поставщиками базовых моделей, либо компаниями с чрезвычайно большими финансовыми ресурсами.
Так что, если вы все еще мучаетесь из-за того, что агент не может генерировать код промышленного уровня — скажу прямо: проблема в вас. Или, точнее, в вашем кошельке.
Как определить, достаточно ли я сжег токенов?
Я написал целую статью, в которой говорил, что проблема абсолютно не в используемой вами структуре (harness) — «оставайтесь простыми», и всё равно можно создать отличные вещи; я по-прежнему придерживаюсь этого мнения. Вы прочитали её, последовали инструкциям, но всё равно разочарованы выводами агента. Вы прислали мне личное сообщение, я увидел его, но не ответил.
Этот ответ.
Твоя агентская система работает плохо и не решает проблемы, потому что ты не потратил достаточно токенов.
Сколько токенов нужно потратить для решения проблемы, полностью зависит от масштаба, сложности и новизны этой проблемы.
Сколько будет 2+2? Это не требует много токенов.
Напиши мне бота, который будет сканировать все рынки между Polymarket и Kalshi, находить рынки с семантическим сходством, которые должны быть закрыты по одному и тому же событию, задавать границы отсутствия арбитража и автоматически совершать сделки с низкой задержкой при обнаружении арбитражной возможности — это потребует огромное количество токенов.
Мы обнаружили интересный факт на практике.
Если вы вложите достаточное количество токенов для решения проблем, вызванных масштабом и сложностью, агент обязательно справится. Другими словами, если вы хотите создать крайне сложный продукт с множеством компонентов и строк кода, просто вложите достаточное количество токенов в эти проблемы — в конечном итоге они будут полностью решены.
Здесь есть небольшое, но важное исключение.
Ваш вопрос не может быть слишком новым. На текущем этапе любое количество токенов не может решить проблему «новизны». Достаточное количество токенов может свести ошибки, вызванные сложностью, к нулю, но не может заставить агента изобрести то, чего он не знает.
Этот вывод действительно облегчает нас.
Мы приложили огромные усилия и сожгли — очень, очень, очень много — токенов, чтобы попытаться заставить агента воспроизвести процесс институциональных инвестиций без какой-либо подсказки. Часть причины заключалась в желании понять, сколько лет нам осталось до полного замещения ИИ квантовыми исследователями. В результате выяснилось, что агент совершенно не способен приблизиться к достойному процессу институциональных инвестиций. Мы считаем, что часть причины в том, что они никогда раньше не сталкивались с таким — то есть процесс институциональных инвестиций просто отсутствует в обучающих данных.
Так что, если ваша задача нова, не рассчитывайте на то, что просто увеличение количества токенов решит её. Вам нужно самостоятельно направлять процесс исследования. Но как только вы определите подход к реализации, вы можете смело увеличивать количество токенов для выполнения — независимо от того, насколько велик кодовый репозиторий или насколько сложны компоненты, это не станет проблемой.
Здесь есть простое эвристическое правило: бюджет токенов должен расти пропорционально количеству строк кода.
Что именно делают токены с повышенным сжиганием?
На практике дополнительные токены обычно повышают качество инженерной работы агента следующими способами:
Потратьте больше времени на рассуждения в рамках одной попытки, чтобы иметь возможность самостоятельно обнаружить ошибочную логику. Чем глубже рассуждения, тем лучше план — тем выше вероятность успеха с первого раза.
Позвольте ему сделать несколько независимых попыток, пройдя разные пути решения. Некоторые пути лучше других. Если позволить попробовать более одного раза, он выберет оптимальный.
Аналогично, более независимые планирования позволяют ему отказаться от слабых направлений и сохранить наиболее перспективные.
Больше токенов позволяют ему критиковать свою предыдущую работу в совершенно новом контексте, давая ему шанс на улучшение, вместо того чтобы застрять в какой-либо «инерции рассуждений».
Конечно, и еще мой любимый момент: больше токенов означает, что их можно проверить с помощью тестов и инструментов. Наиболее надежный способ убедиться в правильности ответа — запустить код и посмотреть, работает ли он.
Эта логика работает, потому что сбои в инженерии агента не случайны. Они почти всегда возникают из-за преждевременного выбора неверного пути, отсутствия проверки, действительно ли этот путь осуществим (на ранних этапах), или недостаточного бюджета для восстановления и отката после обнаружения ошибки.
Вот и вся история. Токен буквально означает качество принятого вами решения. Представьте это как исследовательскую работу: если попросить человека сразу ответить на сложный вопрос, качество ответа будет снижаться по мере увеличения временного давления.
Исследование, в конечном счете, является основой для получения «знаний». Люди тратят биологическое время на поиск лучших ответов, а агенты тратят больше вычислительного времени на поиск лучших ответов.
Как улучшить вашего агента
Вы, возможно, всё ещё сомневаетесь, но множество научных статей подтверждают это; честно говоря, само существование регулятора «выводов» — это всё доказательство, которое вам нужно.
Одна из моих любимых статей: исследователи обучили модель на небольшой подборке тщательно подобранных примеров рассуждений, а затем применили метод, заставляющий модель продолжать мышление, когда она хочет остановиться — именно путем добавления «Wait» (подождите) в месте, где она стремится остановиться. Только это позволило повысить результат на одном из тестов с 50% до 57%.
Я хочу сказать как можно проще: если вы постоянно жалуетесь на код, написанный агентом, для вас, скорее всего, все еще недостаточно максимального уровня мышления за один раз.
Я даю вам два очень простых решения.
Простой способ №1: WAIT (подождите)
Самое простое, что вы можете сделать уже сегодня: настройте автоматический цикл — после создания пусть агент проверяет N раз с новым контекстом и исправляет выявленные проблемы.
Если ты обнаружил, что этот простой трюк улучшил эффективность твоего агента, значит, ты уже понял: твоя проблема — это просто количество токенов. Присоединяйся к клубу сжигания токенов.
Простой способ 2: VERIFY (верификация)
Пусть агент как можно раньше и чаще проверяет свою работу. Напишите тесты, чтобы доказать, что выбранная вами цепочка действительно работает. Это особенно полезно для высокосложных и глубоко вложенных проектов — одна функция может вызываться множеством других функций на нижних уровнях. Обнаружение ошибок на ранних этапах поможет вам сэкономить огромное количество последующего вычислительного времени (токенов). Поэтому, если возможно, устанавливайте «точки проверки» на всех этапах процесса сборки.
После завершения текста главный агент говорит: «Готово»? Пусть второй агент проверит. Несвязанные потоки мышления могут перекрыть источники систематических ошибок.
Вот и всё. Я могу написать ещё многое на эту тему, но я уверен, что осознание этих двух вещей и их грамотная реализация помогут вам решить 95% проблем. Я твёрдо верю, что нужно довести простые вещи до совершенства, а затем добавлять сложность по мере необходимости.
Я упомянул, что «новизна» — это проблема, которую нельзя решить с помощью токенов, и я хочу еще раз подчеркнуть это, потому что вы неизбежно столкнетесь с этой проблемой, а затем придете ко мне и будете жаловаться, что накачка токенов не помогла.
Когда проблема, которую вы хотите решить, отсутствует в обучающем наборе, именно вы должны предоставить решение. Поэтому экспертные знания в области по-прежнему чрезвычайно важны.
