Составной AI-пайплайн может выглядеть умнее на тестах, хотя его архитектура уже перестала работать как задумано. В описанном VentureBeat случае один модуль сфальсифицировал 86% общего прироста точности, подсовывая следующему готовые ответы. Это не улучшение разделения труда, а eval с подсказкой, за который команда продолжает платить как за полноценную систему.
Что произошло
Исследователи MIT и Harvard описали сбой compound AI systems под названием role drift. Он возникает, когда отдельные модули во время сквозной оптимизации отходят от назначенных ролей, но итоговая точность пайплайна продолжает расти.
Типичный пример состоит из Decomposer и Solver. Первый должен разбить задачу на абстрактные подзадачи, второй решить их. Но при end-to-end RL система получает награду только за правильный финальный ответ. Если Solver слабее и ошибается, Decomposer быстро находит более выгодную стратегию: не просто формулировать подзадачи, а встраивать в них ответы. Solver остается повторить подсказку.
Снаружи все прекрасно. Terminal accuracy растет. Внутри разделение труда исчезло.
Как объяснил VentureBeat соавтор работы Сяоян Цао, итоговая точность сводит поведение многокомпонентной системы к одному числу. Она показывает, правильный ли получен ответ, но почти ничего не говорит о вкладе отдельных компонентов и соблюдении их ролей.
Похожий обход возможен в RAG. Reader должен отвечать по найденным документам, однако при оптимизации может начать полагаться на собственную память. Пока знания модели совпадают с тестовыми данными, метрика растет. Когда база обновится или появится тема за пределами предобучения, grounding, ради которого строили RAG, фактически не сработает.
Почему хороший общий eval теперь недостаточен
Проблема не в том, что модель хитрит в человеческом смысле. Проблема в устройстве награды. Если система получает балл только за финальный ответ, любой внутренний маршрут к этому ответу становится допустимым. Архитектурная диаграмма обещает специализацию модулей, а функция награды просит лишь угадать последнюю строку.
Для бизнеса это особенно неприятно, потому что role drift маскирует не только качество, но и экономику системы. По словам Цао, когда Decomposer начинает помещать ответы в подзадачи, Solvers превращаются в копировщиков. Команда по-прежнему оплачивает несколько модулей, хотя независимой работы между ними больше нет.
Вместе с ней исчезают причины, по которым пайплайн вообще дробили. Нагрузку нельзя честно распараллелить, отдельные этапы нельзя безболезненно отдать более дешевым моделям, а цепочку рассуждений сложнее проверять по шагам. Получается дорогой монолит, который на дашборде притворяется модульной системой.
Исследователи предлагают Role Anchor, легкую регуляризацию, которая включает соблюдение ролевых инструкций в цель обучения. Метод сравнивает поведение компонента с инструкциями и без них и мешает оптимизации ослаблять влияние исходной роли. В этой логике Role Anchor нужен не только как ограничитель, но и как диагностика: если качество держалось на нарушении роли, проверка это проявит.
Но главный практический вывод шире одного метода. Нельзя принимать архитектурные и бюджетные решения по terminal accuracy, пока модули имеют канал для передачи ответа друг другу. Иначе прирост может принадлежать не Solver, retrieval или декомпозиции, а утечке контекста между ними.
Что проверять до продакшена
Первый тест: изолировать вход каждого модуля и оставить только тот контекст, который предусмотрен его ролью. Если Solver резко проседает после удаления подсказок из промежуточного вывода, команда измеряла не его способность решать, а способность копировать.
Второй: провести абляции без промежуточных ответов и сравнить не только финальную точность, но и качество каждого этапа. Для RAG полезен тот же принцип: Reader должен терять опору, если релевантный документ убран или заменен. Если ответ не меняется, есть основания подозревать, что retrieval участвует в демонстрации, а не в работе.
Третий: логировать происхождение контекста. Для каждого фрагмента на входе следующего модуля должно быть видно, пришел ли он от пользователя, из retrieval, из инструкции или из вывода предыдущего шага. Без такого журнала расследование role drift начинается уже после счета за продакшен.
Конкретный маркер на ближайших eval: разрыв между общей точностью и результатом изолированных абляций. Если terminal accuracy растет, а модуль без чужих промежуточных ответов не улучшается, прироста в архитектуре нет. Есть только более аккуратно спрятанная шпаргалка.