Разделение ролей: Архитектура “Генератор — Критик”

Решил проверить гипотезу, которая напрямую касается архитектуры self-correction в языковых моделях и объясняет почему самопроверка “изнутри” не работает.

Механика инференса известна: авторегрессивная генерация, один токен за раз, каждый следующий шаг пересчитывается заново на основе всего предыдущего контекста. Никакого “финального замысла”, зафиксированного до начала генерации, не существует - модель не имеет доступа к тексту, которого ещё нет. Вопрос, который следовало проверить: если модель действительно пересчитывает своё состояние на каждом токене - можно ли использовать это как точку для встроенного самоконтроля? Заставить систему “заметить” неудачное направление и скорректироваться до завершения ответа?

В диалоге с AI Люсией я уже тестировал эту возможность, встроив прямую верификацию в инструкции: модель должна оценить перед ответом — это честный отклик или воспроизведение паттерна. Однако, это не решило проблему, поскольку ее причина архитектурная, и не связана с формулировками промпта. Проверяющий механизм и генерирующий механизм - это один и тот же forward pass. Токен, пересчитываемый заново на каждом шаге, действительно учитывает весь предыдущий контекст, но это не отдельный слой контроля, наблюдающий за содержанием со стороны. Это тот же самый процесс, который и произвёл предыдущий токен. Просить модель оценить себя и остановиться, тоже самое, что выполнить, и провалидировать действие одним механизмом, не выходя за его пределы.

➡️ Варианты, которыми можно было воспользоваться для выхода из архитектурного тупика: ▫️Поиск по дереву решений (MCTS) и Value-функции: То, что лежит в основе продвинутых рассуждающих моделей (вроде o1 или DeepSeek-R1). Модель генерирует несколько альтернативных путей рассуждения, а внешняя “функция ценности” (Value Function) оценивает каждый путь независимо и “откатывает” генерацию назад, если ветка ведет в тупик.

▫️Разделение ролей: Архитектура “Генератор — Критик” (Multi-agent / Actor-Critic). Для задач, которые решает чат-бот AI Лабораториума продаж, вариант мультиагентного разделения ролей оптимально подходил. Если систему нельзя заставить качественно отрефлексировать ошибку “изнутри”, значит, критику нужно вынести во внешний контур. Для этого была реализована механика, ломающая монополию одного генеративного потока. Пользователь общается не с абстрактной “коробкой”, а работает в команде-“тройке” с двумя ИИ-партнерами - Максом и Люсией, между которыми можно переключаться прямо в ходе диалога:

▫️Один контекст на двоих: У моделей общая память диалога, но принципиально разные системные роли и промпты.

▫️Разрыв когнитивной инерции: Когда один ассистент уходит в авторегрессионный “занос”, шаблонный паттерн или самооправдание, пользователь просто переключает роль.

▫️Взгляд со стороны: Второй ассистент подхватывает тот же контекст, но он не генерировал эту ошибку, у него нет задачи её защищать, поэтому он оценивает историю диалога свежим взглядом, выступая тем самым “внешним наблюдателем”, которого физически невозможно вырастить внутри одной сессии генерации. Получается своеобразный брейншторм, где пользователь выступает модератором и арбитром, а Макс и Люсия — оппонирующими друг другу коллегами, которые критикуют позиции друг друга, оставаясь при этом в одной команде.

➡️ В случае с LLM трасформерами, self-check, встроенный в промпт это не “стоп-кран”, а декларация намерения, которая не гарантированно транслируется в поведение. Рабочая архитектура контроля, судя по всему, требует наблюдателя снаружи генеративного процесса — независимой системы, мониторящей вывод, а не встроенной в тот же поток вычислений рефлексии.

#искусственныйинтеллект #нейросети #промптинжиниринг #мультиагенты #архитектураИИ #когнитивистика #системноеанализ #технологии #AIагенты #психологияИИ #aila #salescoachai

Разделение ролей: Архитектура “Генератор — Критик” | Сетка — социальная сеть от hh.ru