Исследователи из KAIST показали, что предоставление торговому боту на базе языковой модели возможности переписывать собственный промпт каждые пять дней позволило поднять коэффициент Шарпа с 2,94 до 4,00 и обеспечить преимущество в 50 базисных пунктов в ходе 50-дневного испытания. Прирост был достигнут за счет того, что бота заставили перенести все вычисления из текстового описания в исполняемый код Python.

Почему статические промпты неэффективны

Большинство LLM-агентов, исполняющих код, начинают работу с фиксированного системного промпта — блока текста, который диктует модели правила поведения. Зачастую в промпте инструмент написания кода рассматривается как необязательное дополнение. Модель может продолжать «размышлять» о волатильности или ожидаемой доходности, но она записывает числа обычным текстом, а затем принимает решение об объеме инвестиций, основываясь на расплывчатых предположениях. В результате возникает разрыв: модель может генерировать абсолютно корректный код, однако итоговый размер сделки выбирается вне этого кода, что делает решение уязвимым для галлюцинаций.

Подход EvolveTrade

Команда KAIST заменила статический промпт мета-агентом, который анализирует эффективность бота на скользящем пятидневном окне. После каждой проверки мета-агент переписывает системный промпт, ужесточая «контракт» между языковой моделью и её интерпретатором кода. Новый промпт предписывает три конкретных шага:

  • Составить таблицу метрик для каждого актива с помощью Python.
  • Применить явные математические формулы для оценки активов.
  • Вычислять целевые веса портфеля внутри кода, а не в тексте markdown.

На практике эволюционировавший бот вызывал инструмент Python 11 раз за торговый цикл — для расчета метрик, проверки лимитов риска и калибровки весов, — в то время как базовый агент вызывал инструмент лишь однажды, полагаясь на текстовые эвристики во всем остальном.

Цифры, которые имеют значение

В ходе 50-дневного бэктеста на стандартном наборе активов эволюционировавший агент показал:

  • Коэффициент Шарпа: 4,00 против 2,94 у статического агента.
  • Совокупная доходность: 10,56 % против 8,88 % у статического агента.

Преимущество в 50 базисных пунктов напрямую связано с более тесной привязкой действий к детерминированной математике. Сделав процесс принятия решений моделью полностью наблюдаемым и воспроизводимым, исследователи устранили элемент «угадывания», который обычно снижает эффективность торговых стратегий на базе LLM.

Кто выигрывает, а кто проигрывает

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

Ограничения и контраргументы

За чем следить дальше

Вывод: Предоставление LLM возможности переписывать собственный набор инструкций заставляет каждое торговое решение превращаться в проверяемый код, превращая расплывчатого текстового агента в дисциплинированный механизм с более высокой доходностью. Разработчики, игнорирующие «контракт» между промптом и инструментом, рискуют упустить прибыль.