AmigaОбучение ИИ
Модуль 4 · Рабочая память · урок 8 из 12

Попробуйте сами: контекст

12 мин чтения▶ есть видеоверсия

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

Эксперимент 1: память есть, пока идёт разговор

Начните новый чат и напишите:

Запомни кодовое слово: «гранат-42». Позже я спрошу его.

Затем поговорите с моделью о чём-нибудь другом: попросите пересказать статью, придумать названия для фичи, объяснить термин. Сделайте пять-шесть ходов. Потом спросите кодовое слово.

Затем откройте новый чат и спросите: «Какое кодовое слово я тебе называл?»

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

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

Эксперимент 2: иголка в документе

Вставьте длинный документ и задайте три вопроса о деталях: один из начала, один из середины, один из конца. Например, по ТЗ: «Какой формат даты в разделе про экспорт?», «Сколько ролей описано в разделе про доступы?», «Что сказано про поведение при потере сети?» Затем попросите процитировать точный фрагмент, откуда взят каждый ответ.

Что вы должны увидеть. Скорее всего, все три ответа верны: современные модели хорошо извлекают отдельные факты из документов такого размера. Но проверьте цитаты: иногда ответ верен по сути, а «цитата» перефразирована. Если документ большой и в нём есть похожие разделы (две таблицы с полями, два списка ролей), возможна путаница между ними.

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

Эксперимент 3: дрейф договорённостей

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

В конце попросите: «Выпиши итоговый список требований в текущей редакции».

Что вы должны увидеть. Часть требований будет в актуальной версии, часть — в промежуточной. Особенно часто путаются пункты, которые менялись несколько раз, и те, которые обсуждались давно. Иногда модель выдаёт компромисс между двумя версиями, которого вы не предлагали.

Почему. Все версии лежат в окне одновременно. Модель не знает, какая «текущая», кроме как по словам вроде «давай изменим» — а они тоже перемешаны. Чем длиннее разговор, тем больше противоречий и тем сильнее размывается сигнал. Это и есть деградация контекста в чистом виде. Исправление: после серии правок писать явный итог («итоговая версия: …, прежние отменяются»), а лучше — переносить проверенный итог в новый чат.

Эксперимент 4: ранняя инструкция слабеет

В новом чате первой репликой задайте правило формата:

Во всех ответах в этом разговоре заканчивай сообщение строкой «Открытые вопросы:» и списком из одного-трёх вопросов ко мне. Без исключений.

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

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

Почему. Инструкция из первого сообщения — один фрагмент среди всё большего объёма текста. Её вес в предсказании падает по мере того, как растёт остальное. Системные инструкции продукта устойчивее, потому что модели специально обучают их соблюдать, но и они не абсолютны. Практика: важные правила повторяйте перед сложными шагами, а в долгой работе держите их в файле, который продукт подставляет каждый раз (в Claude Code — CLAUDE.md, в проектах чата — инструкции проекта).

Эксперимент 5: видеть текст — не значит обрабатывать

Вставьте тот же длинный документ и попросите: «Посчитай, сколько раз в документе встречается слово „должен“ и сколько всего слов в тексте». Потом, если есть возможность запустить код (инструмент анализа в чате или Claude Code), попросите сделать то же кодом.

Что вы должны увидеть. Первый ответ — примерный, часто заметно неточный, хотя подан уверенно. Второй — точный, с показом скрипта.

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

Что записать себе

Контекстное окно — это не память, а текст перед глазами. Внутри разговора он есть, между разговорами его нет. Извлекать факты из документа модель умеет хорошо, если просить цитаты. Но чем длиннее разговор, тем сильнее смешиваются версии решений, тем слабее ранние инструкции и тем менее точен результат. А точная обработка — подсчёты, сверки — требует кода, даже когда весь текст перед моделью.

Попробуйте сами

10–15 мин на рабочем месте
  1. Возьмите свой реальный длинный чат и сделайте из него «уплотнение» вручную: попросите модель выписать итоги, проверьте, исправьте и начните новый чат с этим итогом. Сравните качество следующих ответов с тем, что было в конце старого чата.
  2. Проверьте, как ваш продукт ведёт себя при переполнении окна: есть ли уведомление, теряются ли старые сообщения, происходит ли уплотнение. Это стоит знать до того, как оно случится посреди важной задачи.

Коротко

  • Внутри разговора модель помнит всё, что лежит в окне; в новом разговоре — ничего, если продукт не подложил заметки.
  • Факты из документа извлекаются надёжно, но просите цитаты: они отличают извлечение от реконструкции.
  • В длинном диалоге версии решений смешиваются; итог нужно фиксировать явно и переносить в новый чат.
  • Инструкции из начала разговора слабеют по мере заполнения окна; повторяйте их или держите в файле, который подставляется каждый раз.
  • Видеть текст — не значит обрабатывать: для подсчётов и сверок модель должна запускать код.

Видеоверсия

Сценарий озвучки · 529 слов, ≈ 4 мин

В прошлом уроке мы говорили о контекстном окне теоретически. Сегодня — пять экспериментов, чтобы увидеть его поведение на практике. Для некоторых понадобится длинный документ: техзадание, регламент, документация. Лучше свой, чтобы вы могли проверить точность ответов.

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

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

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

Четвёртый эксперимент — ранняя инструкция. Первой репликой задайте правило: каждый ответ заканчивать строкой «открытые вопросы» и списком вопросов ко мне. Потом работайте над реальной задачей, вставляйте большие тексты. Считайте, на каком ходу модель впервые забудет правило. Первые ответы будут строгими. По мере заполнения окна, особенно после больших вложений, правило начнёт пропадать. Инструкция из первого сообщения — один фрагмент среди растущего объёма, и её вес падает. Важные правила повторяйте перед сложными шагами или держите в файле, который продукт подставляет каждый раз: в Claude Code это файл клод-эм-дэ, в проектах чата — инструкции проекта.

Пятый эксперимент — видеть не значит обрабатывать. Вставьте документ и попросите посчитать, сколько раз встречается слово «должен» и сколько всего слов. Ответ будет примерным, часто заметно неточным, хотя уверенным. А если попросить сделать то же кодом — там, где модель может его запустить, — результат будет точным. Модель видит документ, но видеть для неё — значит учитывать в предсказании, а не перебирать по токену. Для подсчётов, сверок, поиска всех вхождений нужен код.

Итак, контекстное окно — это не память, а текст перед глазами. Внутри разговора он есть, между разговорами — нет. Факты извлекаются хорошо, если просить цитаты. Но чем длиннее разговор, тем сильнее смешиваются версии и слабеют инструкции. А точная обработка требует кода. В следующем модуле — управляемость: как инструкции, роли и примеры меняют поведение модели и почему она так охотно с вами соглашается.

Отметка хранится только в вашем браузере