Назад в блог

Модель знает, получится ли код, ещё до того, как его напишет

Новая работа про latent programming horizon: простой пробинг скрытых состояний coding-агента предсказывает, заработает ли код, и даже его будущее на ~25 шагов вперёд. Мы копаем тот же латент с другой стороны — в оценке кандидата — и пришли к тем же выводам.

Авторы: slavb18

Латентный горизонт: провал траектории виден сверху раньше, чем агент до него дойдёт

Coding-агент берёт задачу и уходит в работу: читает файлы, грепает проект, гоняет тесты, правит код. Медианная попытка — 52 шага и 36 тысяч токенов. И часто уже в начале этой траектории понятно, что задача не решится. Только узнаёте вы об этом в конце, когда токены сожжены.

Свежая работа «Latent Programming Horizons in Coding Agents» (Silva, Tu, Monperrus) показывает: сама модель понимает это заметно раньше. Ответ уже лежит в её внутренних состояниях.

Что сделали

К скрытым состояниям агента подключили простой классификатор — логистическую регрессию. Модель не дообучали, новых голов не добавляли: чистый линейный пробинг активаций. Масштаб серьёзный — 1231 задача из SWE-Bench Verified и Pro, около 22,7 тыс. запусков агента и ~80 тыс. изменений кода на двух открытых моделях.

И этот простой пробинг вытаскивает из активаций:

  • заработает ли код целиком — AUC до 0,83
  • стало ли падающих тестов меньше — до 0,84
  • компилируется ли код — до 0,78
  • не сломал ли агент то, что уже работало

0,5 здесь — случайное угадывание, так что сигнал сильный. Причём важная деталь: лучше всего он читается не из последнего слоя, а примерно из середины сети. Финальный слой заточен предсказывать следующий токен; «понимание» о состоянии кода живёт глубже.

Latent programming horizon

Дальше интереснее. По внутреннему состоянию «сейчас» частично предсказывается не только текущий статус кода, но и будущий. Модель чувствует направление примерно на 25 шагов вперёд: AUC ~0,55 на Verified и ~0,65 на более сложном Pro. Слабый сигнал держится даже на 50 шагах — около 0,52 и 0,60. Это и назвали latent programming horizon — латентным горизонтом программирования.

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

Практический смысл прямой: провальную попытку можно гасить рано, а не после 36 тысяч токенов. Ветвиться, поднимать effort, подключать модель посильнее — по сигналу изнутри, а не по факту провала.

Мы читаем латент с другой стороны

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

У нас совет экспертов спорит не текстом, а латентно: LoRA-адаптеры обмениваются скрытыми состояниями, а сам латент мы декодируем — своим автоэнкодером (CALM) и через голову модели (logit-lens). В наших прогонах латент читается на 89-95%, а итоговый исход калибруется (Brier 0,068). То есть мы буквально достаём «что модель думает» из промежуточного представления и превращаем это в аудируемое решение.

И независимо от авторов пришли к тем же трём выводам:

  1. Сигнал живёт в середине, а не на выходе. Последний слой — про следующий токен, смысл лежит глубже. Наш декод латентного дебата тоже идёт из промежуточных состояний, а не из финального ответа.
  2. Простой ридаут бьёт чтение вывода. Им хватило логистической регрессии, нам — линейного декодера поверх скрытых состояний. Дорогая часть не «прочитать», а получить сам разделяющий сигнал: у нас его даёт латентный спор экспертов.
  3. Главный приз — не прочитать сигнал, а рулить по нему. Авторы прямо пишут: следующий шаг — использовать сигнал для управления агентом. У нас это эскалация к человеку, когда эксперты латентно не сходятся, — вмешиваемся по внутреннему расхождению, а не по итоговому провалу.

Если коротко

Модель знает про свою работу больше, чем говорит в ответе. И для кода, и для оценки человека полезное «мнение» лежит не в финальном токене, а в середине сети — и читается простым пробингом. Фронтир теперь не «модель побольше», а умение слушать её на середине мысли и вмешаться, пока бюджет ещё не сожжён.

Работа: https://arxiv.org/abs/2607.05188


📚 Читайте также

iconicompany

агрегатор аутстаффинга ·
проектная работа для ИТ-специалистов

заказчикам Платформа

Вход для заказчиков — отдельная страница, не витрина для специалистов.

примечания к спецификации
  • из проекта imatching берётся только тема кабинета — функциональность кабинета не переносится
  • цвета — из темы кабинета imatching
  • шрифты — из темы кабинета imatching: Bricolage Grotesque · Public Sans · JetBrains Mono
  • регистр — «воздух публичного сайта», а не плотность кабинета
  • тип продукта — landing, публичный сайт
  • не админка
  • не мобильное приложение
  • ориентир по типу продукта — skillstaff.ru, и только по типу
  • бренд и оформление skillstaff.ru не копируются
  • темы различаются: собственный продукт (эта витрина) и движок (страница «Платформа»)
  • собственный продукт — ИТ-аутстаффинг; витрина сделана для него
  • тендерная история на главную не выносится — она живёт на странице «Платформа»

© 2026 iconicompany

отклик — ссылкой на hh-резюме · без регистрации