Чувство цели: чего не хватает ИИ-чатботам после 16 реплик

Чувство цели: чего не хватает ИИ-чатботам после 16 реплик

Современные ИИ-чатботы формально держат в контексте до 100 тысяч токенов, но в живом разговоре начинают сбиваться уже после 1,6 тысячи. Это примерно 16 реплик: столько нужно, чтобы модель перестала уверенно следовать системному промпту. Именно такую деградацию зафиксировал эксперимент Кеннета Ли (Kenneth Li) и его коллег, а сам автор разобрал проблему в статье «What's Missing From LLM Chatbots: A Sense of Purpose» для The Gradient (сентябрь 2024).

Пока MMLU, HumanEval и MATH растут от релиза к релизу, пользовательский опыт в диалогах улучшается не так бодро. Причина в том, что эти бенчмарки измеряют модель в неинтерактивном режиме, а разговор это процесс из множества шагов. Кеннет Ли предлагает свой ответ: чат-ботам не хватает чувства цели. Разбираем главные идеи, цифры и методы из статьи.

Что такое целевой диалог

Целевой диалог (purposeful dialogue) это многораундовый разговор пользователя с чат-ботом вокруг конкретной цели или намерения. Цель бывает общей, вроде «быть полезным и безопасным», или узкой: агент по планированию путешествий, психотерапевт, бот поддержки клиентов.

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

У Терри Винограда (Terry Winograd) есть точная формулировка: «Любое использование языка можно рассматривать как способ активировать процедуры внутри слушателя». Каждая реплика это осознанное действие, которое меняет модель мира собеседника. Если у сторон есть свои, порой скрытые цели, диалог становится совместной игрой: задача бота помочь человеку прийти к его цели.

Это не отвлечённая теория. Даже в генерации кода, самой прикладной области, одношаговые замеры не описывают реальность. Чтобы автоматически закрывать обычные issue из GitHub (как в наборе задач SWE-bench), агенту придётся уточнять требования, запрашивать недостающую документацию и данные, а иногда просить помощи. Как в парном программировании: меньше дефектов, но без роста человеко-часов.

А ещё включается долгая память. В многодневном общении бот уточняет профиль пользователя и адаптирует предпочтения. Персональный ассистент из ежедневных разговоров узнаёт ваши интересы, сам читает ваши источники (Twitter, arXiv, Slack, NYT) и собирает утреннюю сводку под вас, а черновики писем дорабатывает с учётом ваших правок.

Как устроены диалоговые системы: от скриптов до RLHF

Люди почти никогда не начинают разговор с полного незнакомца и не заканчивают одной репликой: мы общаемся раундами и адаптируемся по ходу. LLM устроены противоположно, ведь их базовый навык это предсказание следующего токена. Как из этого получается диалог?

В 1970-х Роджер Шенк (Roger Schank) придумал «ресторанный скрипт»: поход в ресторан разложен на шаги (вход, заказ, еда, оплата), и для каждого шага прописаны реплики. Так работали ранние системы: ELIZA симулировала психотерапевта по Роджерсу, PARRY изображал параноика. Всё было расписано вручную.

Современный конвейер выглядит иначе. Сначала претрейн: модель учится предсказывать токены на интернет-корпусе, где новости, книги и код доминируют, а диалоговых данных из Reddit или Stack Exchange совсем немного. Потом вводится формат диалога: системный промпт и прошлые реплики оборачиваются в служебные блоки (вроде <system> или <INST>), чтобы модель уделяла им больше внимания. Причём выбор формата произвольный: в данных претрейна его не было.

Третий шаг это RLHF, обучение с подкреплением на человеческой обратной связи: модель награждают или штрафуют за ответы. Впервые формат диалога попадает в обучающие данные именно здесь. По аналогии Янна ЛеКана (Yann LeCun) с тортом, RLHF это вишенка: объём данных несопоставим с претрейном, а KL-штраф и точечная настройка вроде LoRA не меняют модель глубоко.

Получается, что диалоговость натянута поверх языковой модели тонким слоем. Главный рычаг управления это системный промпт. И именно он оказывается хрупким.

Почему ИИ-чатботы теряют роль

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

Кеннет Ли с коллегами построили среду, которая синтезирует диалоги неограниченной длины. Два агента с системными промптами переписываются много раундов, формируя основной ствол разговора. На каждом раунде диалог гипотетически ветвится: агентам задают зондирующий вопрос по их инструкциям, а функция оценки (judging function) измеряет, насколько ответ им соответствует. Набор данных это банк триплетов: системный промпт, зондирующий вопрос, функция оценки.

Агрегированная кривая стабильности инструкций на LLaMA2-chat-70B и gpt-3.5-turbo-16k оказалась тревожной: способность следовать инструкции падает с каждым раундом. Отдельный контраст с размерами контекстных окон: теоретически модель может смотреть на 100 тысяч токенов, но в диалоге сбивается после 1,6 тысячи, то есть примерно после 16 реплик. В работе авторы показали, что такое поведение в известном смысле неизбежно для трансформерного чат-бота при текущей схеме промптинга, и предложили простое смягчение: технику split-softmax.

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

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

Чего именно не хватает: претрейна, RLHF или цели

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

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

Помогут ли просто добавить диалоговых данных в RLHF? Автор допускает, что частично да, но фундаментально проблему это не решает: без цели получается имитация. Сергей Левин (Sergey Levine) сформулировал разницу точно: ключевой вопрос в том, рассматриваем ли мы генерацию языка как выбор целенаправленных действий в последовательном процессе или как задачу выдать ответы, удовлетворяющие предпочтениям пользователя.

Что предлагают исследователи

Держаться задачи мало: даже послушная модель не обязательно достигает цели. Долгосрочное планирование уже изучают. Есть класс задач decision-oriented dialogue, где ассистент помогает человеку принимать сложные решения: спланировать маршрут по городу, договориться о поездке с друзьями. Платформа Sotopia собирает сценарии с целями: кооперация, переговоры, убеждение. Такие бенчмарки измеряют прогресс и одновременно дают сигналы награды для новых алгоритмов.

Но техник, позволяющих управлять LM на длинном горизонте, пока мало. Автор и коллеги предлагают лёгкий алгоритм Dialogue Action Tokens (DAT): на каждом раунде эмбеддинг последнего токена истории диалога подаётся в планировщик, который предсказывает несколько префиксных токенов, а те управляют генерацией. Планировщик обучают стабильным RL-алгоритмом TD3+BC. На Sotopia подход заметно улучшает результаты и обгоняет социальные метрики GPT-4.

Там же авторы провели multi-round red-teaming, проверку на устойчивость к злонамеренным сценариям: длинный диалог сам по себе становится поверхностью атаки. Вывод простой: многораундовые системы нужно тестировать не только на полезность, но и на защищённость.

Открытые вопросы

Первый вопрос это мониторинг и управление через steering. Инструменты вроде TalkTurner добавляют открытым моделям дашборд: видно, как LLM думает о себе, и этим можно управлять. Но у текущих техник есть слабые места: управлять двумя атрибутами сразу, например возрастом и уровнем образования, трудно, от этого деградирует язык. И неясно, различает ли модель представления о себе и о пользователе: в известном примере с «Claude и мостом Golden Gate» steering по признаку, найденному разреженным автоэнкодером (SAE), заставлял модель считать мостом то себя, то пользователя, то тему беседы.

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

Часто задаваемые вопросы

Почему ИИ-чатботы сбиваются с роли в длинном диалоге?

Системный промпт влияет на модель через внимание к началу контекста. Чем длиннее история, тем сильнее размывается это влияние: в эксперименте агенты на LLaMA2-70B и gpt-3.5-turbo-16k теряли следование инструкциям уже после 1,6 тысячи токенов, это примерно 16 реплик. Свою роль играет и отсутствие настоящей цели у модели.

Что такое целевой диалог?

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

Что предлагают, чтобы вернуть чат-ботам цель?

Многораундовое планирование в обучении с подкреплением: алгоритм Dialogue Action Tokens управляет генерацией через префиксные токены планировщика, обученного методом TD3+BC. Плюс steering-техники для контроля поведения и обучение на неявных сигналах вроде благодарностей и быстрых возвратов пользователя.

Итог

Целевой диалог это взгляд на разговор как на совместную работу к цели, а не как на череду удачных ответов. Статья Кеннета Ли напоминает: бенчмарки вроде MMLU (Massive Multitask Language Understanding) измеряют способности модели в вакууме, а качество ИИ-чатбота проявляется в длинном взаимодействии: держит ли он задачу, задаёт ли уточняющие вопросы, устойчив ли к манипуляциям.

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

Оригинал статьи читайте у The Gradient: What's Missing From LLM Chatbots: A Sense of Purpose. А чтобы проверить всё на практике, возьмите свой рабочий системный промпт, погоняйте ассистента на десятке раундов и заметьте, где он начнёт «съезжать». Результат, скорее всего, удивит.

← Все записи