← Кузница ВАЙМАН
Кузница ВАЙМАН · Теория · Урок 14
Теория · Урок 14

Контекстное окно: сколько модель видит

«На двадцатом сообщении модель вдруг «забыла», что кошка рыжая, а стиль — акварель, хотя ты написал это в самом первом. Ты ничего не менял и не выходил из чата. Просто первое сообщение перестало помещаться в то, что модель видит перед ответом.»

⏱ 8–10 минут 🪟 живое окно модели 💬 кнопка одна, в чат
01

Главная мысль

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

02

Объяснение

Каждый ответ — чтение всей переписки заново

Ты спрашиваешь в чате что-то на пятнадцатом сообщении, и ответ учитывает то, что ты писал на третьем. Кажется, что модель помнит. На деле сайт перед каждым ответом собирает всю переписку в один длинный текст — твои сообщения и её ответы по порядку — и подаёт его модели целиком вместе с новым вопросом. Модель читает это как незнакомый текст, отвечает и снова ничего не хранит. Следующий ответ — снова с нуля, снова вся переписка.

Вся переписка до этогоподаётся заново целиком: твои сообщения и ответы модели по порядку
Твоё новое сообщениеприклеивается в конец того же текста
›
Модель читаетвсё как один незнакомый текст — от первой строки до последней
›
Ответпосле него модель снова пуста; следующий ответ — снова чтение с нуля

Отсюда простое следствие: модель ничего не «накапливает» о тебе за разговор. Всё, что она «знает» на пятнадцатом сообщении, — буквально текст четырнадцати предыдущих, поданный ей секунду назад. Убери из этого текста строку — и знания в ней не станет, без всяких следов.

Закон 1. У модели нет памяти между сообщениями. Есть переписка, которую ей каждый раз подают заново целиком, — и только она.
Зачем это тому, кто уже жмёт кнопку ▶
Отсюда цена длинного чата: каждое новое сообщение несёт за собой всю историю, и чем длиннее разговор, тем больше текста модель перечитывает ради одной реплики. Отсюда же «системная вводная»: то, что сервис ставит перед разговором — роль, правила, — просто первые строки того же текста, и они занимают то же окно. «Запомни на будущее» работает ровно до тех пор, пока эта фраза остаётся в подаваемом тексте; в новом чате её нет.

Окно конечное: старое выпадает первым

Текст, который подают модели, не может быть бесконечным: у модели есть предел — контекстное окно (context window). Считается оно в токенах (token) — кусках слов, урок 13. Пока переписка короче окна, модель видит всё. Когда длиннее — подаётся только хвост: последние сообщения, сколько влезло. Первое сообщение, где были «рыжая» и «акварель», выпадает первым. Модель не «забыла» — этого просто нет в том, что она читает. Проверь на окне ниже.

Задание. Уложи важное в последние три реплики — чтобы модель его точно видела.
Окно модели0 из 60 токенов
← старое выпадаетновое входит →
Окно здесь — 60 токенов, чтобы переполнить его за минуту. У настоящих моделей оно в тысячи раз больше, но устроено так же: что не влезло с конца — того для модели нет.
Что это доказывает. Модель не помнит разговор — она каждый раз читает только то, что влезло в окно. Важное надо держать близко к концу или повторять, иначе оно молча выпадает.

Заметь: виджет ничего не стирает — выпавшее сообщение остаётся в списке, ты его видишь. Не видит модель. Ровно так это выглядит и в настоящем чате: история на экране полная, а модели подают только хвост.

Закон 2. Окно конечное. Что не влезло с конца — того для модели нет: первые сообщения выпадают первыми, молча.
Зачем это тому, кто уже жмёт кнопку ▶
Признаки, что важное вышло за окно: модель переспрашивает то, что ты уже говорил; возвращается к «среднему» варианту (урок 4) там, где ты задал свой; нарушает правило, которое держала десять реплик. Не спорь с ней и не ищи сбой — повтори важное. Некоторые чаты сжимают старую историю в краткий пересказ, чтобы суть жила дольше окна; но пересказ — не оригинал: точная формулировка, цифра или порядок слов в нём могут пропасть. Проверяй, что модель держит, а не надейся.

Длинная вводная съедает окно

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

Вводная — первая и длиннаязанимает больше всех места и выпадает первой
›
История — серединавыпадает следующей, реплика за репликой, по мере роста разговора
›
Последнее сообщениевсегда в окне — единственное место с гарантией

Проверить просто: если ответы стали общими, спроси модель, что было в брифе. Она либо перескажет то, что ещё в окне, либо уверенно достроит по среднему (урок 20). В обоих случаях ответ — не про то, что «она думает», а про то, что сейчас лежит в окне.

Закон 3. Вводную — в начало, но коротко. Что длинное и первое, то выпадет первым, а место понадобится под важное.
Зачем это тому, кто уже жмёт кнопку ▶
Режь вводную до того, что модель действительно должна учитывать: не «весь бриф», а пять строк про аудиторию, тон и запреты. Полный документ — не в начало разговора, а в тот момент, когда он нужен, и с вопросом рядом. Если работа длинная, держи короткую вводную отдельно и вставляй её заново, когда ответы «поплыли», — это дешевле, чем новый чат, где придётся объяснять всё сначала.

Важное — в последних сообщениях

Раз последнее сообщение всегда в окне, а первое выпадает первым, правило простое: важное кладёшь ближе к концу. В новом запросе — последней строкой: «Держи: кошка рыжая, фон белый, стиль — акварель». В длинном разговоре — повторяешь через каждые несколько реплик, коротко, теми же словами. Это не занудство, а единственный способ гарантировать, что важное окажется в том тексте, который модель прочтёт.

Положи важное последней строкой

Заготовка — сообщение из трёх частей: короткая вводная, задача и «важное» в самом конце. Впиши своё или оставь пример. Кнопка откроет чат с этим текстом.

Сообщение появится здесь, когда заполнишь поля.
Открыть чат с этим текстом →

Сообщение спишет 1ⓥ ≈ 30 ₽ — цену сообщения сайт показывает под полем до отправки. Потом поговори с моделью ещё десяток реплик о правках и следи, когда она начнёт нарушать «важное». В этот момент повтори его последней строкой теми же словами — и сравни ответ.

Закон 4. Важное — последней строкой, и повторяется по ходу разговора. Место в окне гарантировано только тому, что стоит в конце.
Зачем это тому, кто уже жмёт кнопку ▶
Порядок внутри одного сообщения тоже имеет значение: модель читает подряд, и то, что стоит ближе к точке ответа, сильнее задаёт форму ответа. Схема рабочего сообщения: короткая вводная → материал → задача → ограничения последней строкой. Ограничений много — нумерованный список коротких строк, а не абзац: списки переживают пересказ лучше прозы. Повторяй важное теми же словами, не перефразируя: другая формулировка — другая полка (урок 18).

В файлах и документах — то же окно

Ты приложил длинный документ и спросил про его последний раздел — ответ пришёл про первые страницы. Это то же окно: файл превращается в текст и подаётся вместе с разговором. Что влезло — модель прочла; что не влезло — для неё не существует, и она достроит ответ по прочитанному началу, уверенно (урок 20). Файл не «загружается в память» — он занимает место в том же окне, что и переписка.

Файл → текстдокумент разворачивается в такие же токены, как и сообщения
›
Текст + переписка → одно окнофайл и разговор делят одно и то же место
›
Влезло — прочитаноне влезло — для модели нет, а ответ всё равно придёт, уверенный

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

Закон 5. Файл — тот же текст в том же окне. Что не влезло, модель не читала, но ответит так, будто читала. Спрашивай по частям.
Зачем это тому, кто уже жмёт кнопку ▶
Большой документ — кусками: вставляй тот раздел, о котором спрашиваешь, и спрашивай сразу. Не держи файл «на всякий случай» в начале длинного разговора — он выпадет, а ты будешь думать, что модель его помнит. Нужен разбор всего документа — серия коротких запросов «раздел 3: выжимка в пять строк», а потом собранные выжимки в один запрос: они короткие и влезут. Это и есть ручное сжатие контекста, и оно надёжнее автоматического.
03

Аналогия

Аналогия · помощник с одним столом

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

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

04

Что это значит на практике

  1. Важное — последней строкой. Ограничения, стиль, факты, которые нельзя потерять, — в конце сообщения, коротким списком, а не в первом абзаце первого сообщения.
  2. Повторяй, не переспрашивай. Ответы «поплыли» — не спорь и не ищи сбой: вставь важное заново теми же словами. Это дешевле нового чата.
  3. Вводную — коротко и в начало, документ — в момент вопроса. Не держи длинное «на всякий случай»: оно длинное и первое, значит выпадет первым.
  4. Длинный файл — по частям. Вставляй нужный раздел с вопросом рядом; выжимки коротких кусков собирай в один запрос.
05

Заблуждение, которое мешает

Заблуждение, которое убивает этот урок: «Модель помнит всё, что я написал в этом чате; если забыла — сбой или ленится».

Оно вредит сразу в трёх местах.

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

Второе: ты вставляешь в начало всё подряд «чтобы знала» — и первым выпадает именно это, потому что оно длинное и первое.

Третье: ты доверяешь ответу по файлу, половину которого модель не читала, — а ответ был уверенным, потому что уверенность здесь форма, а не знак (урок 20).

Из этой веры вырастает привычка спрашивать «что я ей говорил». Вместо неё — привычка спрашивать «что сейчас в окне».

06

Проверка

Выбери вариант — разбор появится сразу, и на верный, и на неверный.

1. На двадцатом сообщении модель перестала делать акварель, хотя ты просил её в первом. Что вернее?
2. Куда положить длинный бриф проекта в долгом разговоре?
3. Ты приложил документ на много страниц и спросил про последний раздел. Ответ — про первые страницы. Почему?

Понял?

Отмечай только то, что можешь прямо сейчас сказать вслух своими словами. Это не галочки для отчёта, а проверка, что урок улёгся.

Могу объяснить, почему у модели нет памяти: переписку ей подают заново перед каждым ответом, и только её
Понимаю, что «забыла» значит «вышло за окно», и что первые сообщения выпадают первыми, молча
Умею класть важное последней строкой и повторять его теми же словами, когда разговор длинный
Знаю, что вводная и файл — жильцы того же окна: вводную — коротко, документ — по частям и в момент вопроса

07

Итог

  1. Памяти нет — есть окно. Перед каждым ответом модель читает переписку заново, и видит ровно столько, сколько влезло с конца.
  2. «Забыла» = вышло за окно. Первые сообщения выпадают первыми; не спорь и не ищи сбой — повтори важное теми же словами.
  3. Важное — в конце, вводная — коротко, файл — по частям. Место в окне гарантировано только последнему сообщению; всё остальное — жильцы на время.
Следующий урок: Как выбирается следующее слово → Все уроки теории →