Программирование с ИИ
ENRU
5.3

Контекст сессии

почему к концу разговора ИИ начинает путаться

Что это

Контекст — это всё, что ИИ «видит» в текущем разговоре: твои сообщения, свои ответы, прочитанные файлы, вывод команд. У него есть предел, и когда разговор к нему приближается, качество ответов падает.

Падает оно не резко, а постепенно — поэтому важно узнавать признаки заранее.

Как выглядит в коде

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

Признаки, что контекст переполнен

ПризнакЧто происходит
ИИ забыл требование из началастарое вытеснено
Возвращается к отменённому решениюв контексте лежат обе версии
Противоречит себе в соседних ответахопирается на разные куски истории
Ответы стали короче и обобщённееместа под рассуждение меньше
«Перечитал» файл и выдал старую версиюпомнит первое чтение, не последнее

Последний признак — самый коварный при работе с агентом: файл давно изменён, а ИИ рассуждает о том, что видел в начале сессии.

Что занимает место

Больше всего съедают не твои сообщения, а:

  • прочитанные файлы — агент читает целиком, даже если нужна одна функция;
  • вывод команд — длинные логи, списки файлов, вывод тестов;
  • собственные ответы ИИ — особенно длинные листинги кода;
  • отменённые версии — всё, что вы перепробовали, остаётся в истории.

Как сказать ИИ

Главный приём — не копить лишнее.

Запрос
Прочитай только функцию fetch_weather из handlers/weather.py,
не весь файл.
Запрос
Покажи только последние 20 строк лога, не весь файл.

Когда сессия уже длинная, помогает сжатие — попросить ИИ подвести итог, чтобы перенести его в новую сессию:

Запрос
Подведи итог: что мы сделали, какие решения приняли
и что осталось. Коротко, чтобы я мог начать новый разговор
с этого текста.

Проверить, не поехал ли контекст:

Запрос
Какие требования к этой задаче ты сейчас помнишь?
Перечисли списком.

Если в списке нет того, о чём вы договаривались в начале, — пора начинать заново (статья 5.4).

На что смотреть

Файлы читаются целиком без надобности. Один файл на тысячу строк вытесняет весь предыдущий разговор.

Длинные логи вставляются полностью. Нужен кусок вокруг ошибки, а не всё.

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

«Ты же помнишь» как аргумент. Если ИИ забыл, повторить дешевле, чем выяснять, почему забыл.

Шпаргалка

  • Контекст конечен; чем длиннее сессия, тем меньше места задаче.

  • Признаки: забыл требование, вернулся к отменённому, противоречит себе.

  • Больше всего места съедают прочитанные файлы и вывод команд.

  • Проси читать часть файла и часть лога, а не всё.

  • Проверка: «какие требования ты сейчас помнишь?»

  • Длинный контекст не делает ИИ умнее.