Зубков Андрей – Как понять нейросеть: секреты мышления ИИ (страница 4)
В ответ вы получаете структуру, которую можно быстро заполнить после проверки в официальной публикации или в надёжной новости. Модель не подменяет источник, но помогает не забыть важные части и быстро собрать понятный текст.
Запомнить стоит следующее:
- Модель обучается на больших массивах текстов и формирует «статистическую память»: умение продолжать и обобщать по закономерностям, а не доставать документы из архива.
- Она не «знает» конкретный документ по запросу, поэтому уверенный тон не гарантирует точность деталей, особенно дат, чисел и редких исключений.
- Для новых событий и актуальных правил используйте модель как помощника по структуре и вопросам, а факты подтверждайте внешним источником или данными, которые вы сами ей дали.
Глава 7. Ограничения памяти и времени модели
Иногда кажется, что модель «всё поняла»: вы подробно объяснили задачу, она ответила разумно, а через несколько дней в новом чате ведёт себя так, будто вас видит впервые. Или в длинном диалоге она внезапно путает детали: меняет даты, забывает ограничения, возвращается к старой версии требований. Ещё одна частая ситуация — вы просите: «подумай подольше и найди идеальное решение», а ответ всё равно получается поверхностным или обрывается на полпути, как будто у модели кончилось терпение.
Ключевой принцип простой: модель отвечает только на основе текста, который видит прямо сейчас, и делает это в ограниченное время и объёме. Она не хранит вашу личную историю «в голове» и не может бесконечно долго размышлять. У неё есть границы по тому, сколько текста она учитывает и сколько шагов может сделать, пока формирует ответ.
Отсюда следуют три важных следствия для работы.
Во‑первых, почему модель не помнит прошлые сессии и не хранит личную историю. Обычный чат для модели — это отдельный эпизод: вы открыли диалог, написали сообщения, модель увидела их и ответила. Когда вы начинаете новый чат, у модели нет доступа к вашим прошлым перепискам, если только конкретный сервис специально не подставляет их в текущий разговор.
Даже если вам кажется, что «это один и тот же аккаунт», для модели это не означает автоматическую память о вас. Поэтому фразы вроде «ты же знаешь, чем я занимаюсь» или «как мы обсуждали вчера» не дают опоры: в новом чате этих данных просто нет. Если вам важно, чтобы модель учитывала контекст о вас или проекте, его нужно снова дать в тексте — коротко и по делу.
Во‑вторых, как устроено «забывание» внутри одного диалога. У модели есть ограничение на объём текста, который она может удерживать в работе одновременно. Это часто называют контекстным окном: условная «рамка», внутри которой находятся последние сообщения и часть предыдущих.
Когда диалог разрастается, старые куски текста начинают не помещаться в эту рамку. Тогда сервис либо обрезает начало переписки, либо модель фактически перестаёт опираться на ранние детали, потому что они не попали в текущий вход. Снаружи это выглядит как забывание: вы когда-то указали «не упоминай цены» или «пиши на “вы”», модель соблюдала, а потом перестала. Причина обычно не в упрямстве и не в «плохом настроении», а в том, что важное условие оказалось слишком далеко в начале диалога и больше не учитывается.
Практический вывод: чем длиннее разговор, тем важнее держать ключевые требования ближе к текущему месту. Если условия критичны, их стоит повторять в сжатом виде, а не надеяться, что модель «помнит всё с самого начала».
В‑третьих, как планировать работу, учитывая, что модель не может «думать долго» как человек. Модель генерирует ответ по шагам, и у неё есть ограничения: сколько текста она может выдать и сколько вычислений сервис готов потратить на один ответ. Даже если попросить «размышляй час», это не превратится в человеческое долгое обдумывание.
Модель либо даст стандартный по глубине результат, либо начнёт растекаться по общим словам, либо упрётся в лимит и прервётся. Поэтому «долго думать» лучше заменять на «работать по этапам». Вы не увеличиваете волшебным образом время мысли, вы структурируете задачу так, чтобы модель последовательно делала небольшие понятные куски работы, а вы проверяли и направляли.
Один сценарий, который показывает, как это применять. Допустим, вы готовите письмо клиенту с итогами встречи и договорённостями. Сначала вы в одном сообщении даёте вводные: кто клиент, цель письма, тон (деловой, без фамильярности), три ключевых договорённости, что нельзя обещать и желаемый объём. Модель пишет черновик — всё выглядит хорошо.
Потом вы начинаете уточнять: «добавь абзац про сроки», «перепиши вступление мягче», «вставь список рисков», «сделай две версии — короткую и длинную», и диалог разрастается. На каком-то шаге модель вдруг добавляет обещание по срокам, которое вы просили не давать, и меняет тон на слишком дружеский.
Вместо того чтобы спорить с моделью, вы делаете следующее:
1) Останавливаете диалог и пишете короткий «якорь» — сжатый список неизменных правил: тон, запреты, факты, формат. Это 5–8 строк, без лишних объяснений.
2) Просите модель сначала повторить эти правила своими словами в 3–5 пунктах, чтобы убедиться, что они попали в текущий контекст.
3) Дальше даёте одну задачу за раз: «перепиши письмо, соблюдая якорь; не добавляй новых фактов; сделай 120–150 слов».
4) Если нужно «глубже», вы не просите «думай дольше», а делите работу: отдельно — список рисков, отдельно — формулировки про сроки в безопасном виде, отдельно — финальная сборка письма. Так вы укладываете рассуждение в управляемые шаги и снижаете шанс, что модель начнёт выдумывать или потеряет ограничения.
Что стоит унести и попробовать после прочтения:
- Если контекст важен, не рассчитывайте на память между сессиями: нужные факты и правила нужно заново дать в тексте.
- В длинных диалогах держите ключевые условия «рядом»: периодически делайте короткий якорь с неизменными требованиями.
- Вместо просьбы «думай долго» планируйте работу этапами: маленькие задачи, проверка, затем сборка результата.
Глава 8. Роль случайности в ответах
Иногда это выглядит странно: вы задаёте один и тот же вопрос два раза — и получаете два разных ответа. В первый раз нейросеть пишет коротко и по делу, во второй — добавляет лишние детали, меняет порядок шагов или предлагает другие идеи. Возникает ощущение, что она «передумала» или «капризничает». На практике причина обычно проще: в генерации ответа есть доля случайности.
Ключевой принцип такой: языковая модель не выбирает единственно правильную фразу. Она каждый раз собирает ответ как последовательность наиболее вероятных вариантов. В этот выбор часто добавляется случайность, чтобы текст не был одинаковым и «застывшим». Случайность здесь — это не хаос, а регулируемая примесь, которая позволяет модели иногда выбирать не самый очевидный следующий кусочек текста.
Чтобы понять механику, полезно представить процесс по шагам. Модель пишет не «сразу весь ответ», а по частям: слово за словом (точнее, кусочками слов). На каждом шаге она оценивает несколько возможных продолжений и назначает им вероятности: какие варианты сейчас подходят лучше, а какие хуже. Дальше нужно выбрать один вариант и перейти к следующему шагу — и так до конца.
Если бы модель всегда брала самый вероятный вариант, ответы были бы очень стабильными, но часто однообразными. Формулировки повторялись бы, идеи были бы предсказуемыми, а иногда текст становился бы «заезженным»: одинаковые вступления, одинаковые выводы, одинаковые списки. Поэтому во многих режимах работы модель выбирает не строго «самое вероятное», а из нескольких вероятных — и тут появляется случайность.
Эта случайность напрямую влияет на разнообразие. Когда она выше, модель чаще «разрешает себе» взять вариант, который чуть менее вероятен, но всё ещё подходит по смыслу. В результате меняются формулировки: другие слова, другой тон, другой порядок. А иногда и сами идеи: другие примеры, другие варианты решения, другие пункты списка. Это особенно заметно в задачах, где нет одного правильного ответа: придумать темы для поста, варианты заголовков, способы сформулировать просьбу, идеи подарков, черновик письма.
Отсюда и ответ на вопрос, почему один и тот же запрос может давать разные ответы. Во‑первых, при каждом запуске модель может сделать другие выборы на нескольких шагах подряд, и маленькое отличие в начале «разветвляет» весь текст дальше. Во‑вторых, в запросе часто есть пространство для интерпретации: вы не указали длину, формат, аудиторию, критерии качества — и модель каждый раз может «додумать» это по‑разному. В‑третьих, влияет контекст диалога: даже если вам кажется, что запрос тот же, модель опирается на предыдущие сообщения, а значит, стартовые условия уже не идентичны.
Эта же логика объясняет, почему иногда ответы отличаются не только стилем, но и содержанием. Если вы спрашиваете: «Составь план статьи про здоровое питание», то возможны десятки нормальных планов. Модель не «вспоминает один правильный», она каждый раз строит один из допустимых вариантов. А когда вы спрашиваете факты (например, «какая дата…»), случайность может привести к более рискованным догадкам, если модель не уверена или если в запросе не хватает уточнений. Снаружи это выглядит как нестабильность, но внутри это та же механика выбора из нескольких продолжений.