LLM-агента для разработки ПО это уже очень близко
Продолжая серию статей по вычислительной лингвистике, я подготовил русскую версию своей статьи. Большие языковых модели (Large Language Models, LLMs) значительно увеличили свою точность в последние годы. Исследователи уже не ограничиваются получением простых ответов — теперь они стремятся к созданию автономных агентов, способных к многошаговому рассуждению и принятию сложных решений. Важную роль в этом играют законы масштабирования, в частности подход Chinchilla (Hoffmann et al., 2022), который подчёркивает, что при заданном бюджете вычислительных ресурсов целесообразно сочетать увеличение размера модели (число параметров) с увеличением корпуса данных — вместо того, чтобы бесконтрольно увеличивать число параметров, используя при этом ограниченный набор тренировочных данных. Оказывается, что более компактные модели, обученные на более разнообразных датасетах, могут превосходить крупные, но недообученные аналоги.
Более того, при достижении определённого порога масштабирования у языковых моеделей появляются эмержентные способности — неожиданные навыки и поведение, которые проявляются, когда емкость модели превышает критический уровень (Wei et al., 2022). К таким способностям относятся рассуждение, креативность и даже умение «саморефлексировать» перед тем, как выдать финальный ответ. Исследования в области Evolving Deeper LLM Thinking (KH et al., 2025) показывают, что эти возможности становятся более ярко выраженными по мере увеличения размеров языковых моделей и повышения разнообразия данных. Всё это прокладывает путь к созданию агентов, которые могут планировать, действовать и непрерывно адаптироваться к обратной связи из реального мира.
Обучение с подкреплением
Ещё одно важное направление — валидация промежуточных шагов рассуждения. Например, в работе Let«s Verify Step by Step (Lightman et al., 2023) описывается методика проверки каждого промежуточного вывода в цепочке рассуждений (chain-of-thought). Модель O1 от OpenAI аналогичным образом реализует парадигму «думать в слух», где каждый шаг рассуждения явно проверяется на согласованность и корректность. Такие подходы помогают на ранних этапах определять ошибки и выдавать более надёжные решения в многошаговых задачах — что особенно важно для языковых моделей, действующих как агенты в реальной среде.
Помимо масштабирования и верификации, всё более заметную роль играет обучение с подкреплением (RL), которое помогает направлять поведение языковой модели. Например, система DeepSeek-R1 (Guo et al., 2025) вознаграждает модель за постепенное усрешное продвижение в многошаговом рассуждении, а обучение с подкреплением по обратной связи от человека (Reinforcement Learning from Human Feedback, RLHF) стало ключевым методом для согласования (alignment) ответов модели с человеческими предпочтениями. В отличие от стандартных методов дообучения, RLHF опирается на относительную обратную связь — например, парные сравнения или ранжирование предпочтительных ответов, — чтобы построить модель вознаграждения, отражающую человеческие ценности (Dong et al., 2024). Политика (policy) языковой модели затем итеративно обновляется для максимизации вознаграждения, встраивая согласованность (alignment) в процесс принятия решений.
Прямое оптимизационное согласование предпочтений (Direct Preference Optimization)
Недавнее нововведение — Direct Preference Optimization (DPO) — подразумевает, что сама языковая модель может играть роль модели вознаграждения, исключая необходимость в отдельном компоненте для расчёта награды (Rafailov et al., 2023). Вместо того чтобы использовать внешний модуль для предсказания «стоимости» каждого варианта ответа, языковая модель непосредственно «впитывает» в себя сигналы предпочтений и обновляет свои параметры, чтобы соответствовать этим предпочтениям. Переход от классического RLHF к более унифицированному подходу с прямой оптимизацией упрощает тренировочный конвейер и снижает риск несоответствия между моделью-политикой и моделью вознаграждения. На практике DPO может приводить к более стабильной динамике обучения и более эффективным обновлениям, так как модель больше не полагается на вторичный механизм обратной связи.
Все эти шаги — стратегии, вдохновлённые Chinchilla, эмержентные способности, поэтапная верификация и методы RL (включая DPO) — формируют надёжную основу для создания сложных агентов, способных не просто генерировать текст, но и планировать, рассуждать и действовать в реальном времени. В следующих разделах мы рассмотрим, как эти элементы переплетаются, делая языковые модели более адаптивными, тем самым приближая их к подлинной автономности.
Эволюция модели вознаграждения
Ещё одно важное достижение в этой области — растущая популярность приёмов обучения по шагам (process supervision), при котором промежуточные шаги рассуждения или цепочка мыслей (Chain-of-Thought, CoT) явно оцениваются и оптимизируются, а не ограничиваются проверкой только итогового ответа. Например, в работе Process Supervision-Guided Policy Optimization for Code Generation (Dai et al., 2024) показано, как оценка промежуточных шагов в контексте генерации кода может сделать результаты более интерпретируемыми и надёжными. Ориентируя модель на поэтапную корректность, удаётся снизить риск накопления ошибок при решении сложных задач.
Ключевым механизмом в подобных техниках является KL-дивергенция (Kullback-Leibler divergence) — мера, которая часто используется в обучении с подкреплением для балансировки исследования новых политик с сохранением близости к «базовой» или «эталонной» политике. В ходе обновления политики — особенно при RLHF — KL-дивергенция служит регуляризатором, не позволяя обновлённой модели слишком сильно отклоняться от исходного распределения поведения. Это обеспечивает стабильность обучения и защищает от катастрофических сдвигов в выходных данных модели, которые могут возникнуть из-за переадаптации к шумной или непоследовательной обратной связи.
SWE-Agent
На базе описанных основ исследователи начали изучать, как большие языковые модели могут использовать внешние инструменты в ходе рассуждения. Один из примеров — идея о том, что модель может «самообучаться» вызывать специализированные API (например, для запросов к базе данных или исполнения кода) в критические моменты цепочки рассуждений (Schick et al., 2023). Такой подход позволяет модели «делегировать» сложные или специфичные для контекста задачи — например, проверку фрагмента кода или получение актуальных данных — вместо того, чтобы полностью полагаться на внутренне заученные знания. Наблюдая, когда и как модель принимает решение о вызове внешних сервисов, разработчики получают более прозрачное представление о её процессе принятия решений, что упрощает управление и согласование (alignment). Таким образом, модель одновременно выступает и планировщиком, и исполнителем, используя набор инструментов для более продвинутого решения задач.
Ещё более наглядный показатель реальной компетентности модели — это способность исправлять фактические ошибки в программном обеспечении и проходить уже существующие наборы тестов. Одним из бенчмарков, специально созданных для такой проверки, является SWE-Bench (Jimenez et al., 2023). Он представляет собой набор проблем с GitHub соответствующие фрагменту кода и набору автоматизированных тестов. Чтобы пройти испытание, предложенное моделью исправление должно устранить ошибку или реализовать новую функцию так, чтобы все тесты успешно выполнялись — это объективный критерий корректности, не оставляющий места для неоднозначности. На практике это означает, что модель должна проанализировать описание задачи, интегрировать изменения в существующий код и проверить своё решение с помощью тестов. Таким образом демонстрируются не только многошаговое рассуждение и адаптация, но и способность к итеративному улучшению, ведь модель может переопробовать или доработать решение до тех пор, пока тесты не будут пройдены.
Разумеется, даже масштабные и согласованные модели время от времени совершают ошибки, поэтому ещё одной важной составляющей агентов является способность обнаруживать и устранять собственные промахи. Недавние исследования показывают, что большие языковые модели можно перевести в режим самодиагностики, при котором они последовательно переоценивают каждый шаг рассуждения или фрагмент кода, выискивая несоответствия или сбои (Chen et al., 2023). Этот итеративный процесс перекликается с RL-ориентированным совершенствованием, предлагаемым в DeepSeek-R1 (Guo et al., 2025), где модель получает промежуточные «вознаграждения» за частичные исправления, приближающие её к полностью корректному решению. Задача состоит в том, чтобы поощрять петлю обратной связи внутри самого архитектурного цикла рассуждений модели, уменьшая потребность в постоянном внешнем надзоре и делая её более устойчивой в ситуациях, когда немедленное участие человека невозможно.
Заключение
Для усиления отладки в языковых моделях всё чаще пытаются смоделировать пошаговую методологию, которой часто придерживаются разработчики при поиске и исправлении багов. В одном из подобных подходов используется коммуникативная агентная структура, разбивающая процесс отладки на стадии — от выявления и воспроизведения проблемы до изоляции первопричины, формулирования гипотезы о способе её устранения, внесения изменений в код и финальной валидации (Yang et al., 2024). Обучение языковых моделей на данных, имитирующих подобный рабочий процесс, помогает им усваивать более систематизированный подход к решению проблем, повышая не только точность, но и интерпретируемость результатов. Наблюдая, как именно модель анализирует каждый этап, разработчики могут целенаправленно давать обратную связь и корректировать процесс там, где это нужно.
Ссылки
Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. https://arxiv.org/pdf/2203.15556
KH, Lee et al. (2025). Evolving Deeper LLM Thinking. AI Journal. https://arxiv.org/abs/2501.09891
Wei, J. et al. (2022). Emergent Abilities of Large Language Models. https://arxiv.org/abs/2206.07682
Guo, D. et al. (2025). DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. https://arxiv.org/abs/2501.12948
Lightman, H. et al. (2023). Let«s Verify Step by Step. https://arxiv.org/abs/2305.20050
Dong, H. et al. (2024). RLHF Workflow: From Reward Modeling to Online RLHF. https://arxiv.org/abs/2405.07863
Pang, B. et al. (2025). BOLT: Bootstrap Long Chain-of-Thought in Language Models Without Distillation. https://arxiv.org/abs/2502.03860v1
Dai, N et al. (2024) Process Supervision-Guided Policy Optimization for Code Generation. https://arxiv.org/abs/2410.17621
Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. https://arxiv.org/abs/2305.18290
Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. https://arxiv.org/abs/2302.04761
Jimenez, CE. et al. (2023). SWE-BENCH: Can Language Models Resolve Real-World GitHub Issues? https://arxiv.org/abs/2310.06770
Chen, X. et al. (2023). Teaching Large Language Models to Self-Debug.https://arxiv.org/abs/2304.05128
Yang, W. et al. (2024). COAST: Enhancing the Code Debugging Ability of LLMs through Communicative Agent Based Data Synthesis. https://arxiv.org/abs/2408.05006
Habrahabr.ru прочитано 6891 раз
