brainax

Чат изнутри: system, user, история

Урок 11 из 23 курса «ИИ: курс с нуля». Бесплатно, с анимациями и тестом.

Чат: один длинный документ

Тебе кажется, что вы переписываетесь. На деле приложение склеивает всё в один документ с ролями. System: скрытые инструкции приложения. User: твои сообщения. Assistant: ответы модели. Модель получает этот документ целиком и дописывает к нему следующую реплику assistant. Звучит странно, на деле просто: чат это сценарий, который модель продолжает.

System: скрытые настройки

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

Каждый раз перечитывает всё

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

Когда чат свернул не туда

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

Помнит ли ИИ другие чаты

Сама модель нет: от твоих переписок она не дообучается на ходу, и каждый новый чат для неё чистый лист. Но во многих приложениях есть функция памяти. Она сохраняет заметки о тебе, например «готовится к экзамену по химии», и подставляет их в начало чата, как system-сообщение. Обычно эти заметки можно посмотреть и удалить в настройках. Проверь, что там лежит.

Проверь себя

  1. Ты отправил новое сообщение в длинный чат. Что получает модель?
    Правильный ответ: Всю историю чата заново, сверху донизу. Между сообщениями модель ничего не помнит, поэтому приложение каждый раз отправляет ей всю историю, пока та влезает в окно контекста.
  2. Модель упорно возвращается к идее, от которой ты отказался. Что лучше?
    Правильный ответ: Новый чат с коротким списком главного. Отвергнутая идея лежит в истории, и модель её перечитывает. В новом чате её нет, а главное ты передашь сам.
  3. Куда попадают пользовательские инструкции из настроек?
    Правильный ответ: В скрытую system-часть каждого нового чата. Приложение подставляет их в начало каждого чата, как system-сообщение. Саму модель они не переучивают.

← Промпт, который работает Покажи пример: few-shot →