📑

Контекстная гигиена или конфеты из говна

View Details
Privacy
Public
Published
Sep 25, 2025
Update
Update
Meta
Category
Article
Language
Russian
Taxonomies
External Links
Facebook
facebook.com
Threads
threads.com
Telegram
t.me
Path & Localization
_Published_HTML
_Related_List
_Related_HTML
_Series_List
_Parent_List
_Top_Parent_ID
_Top_Parent_Category
_Translations_List
_Translations_HTML
_Top_HTML
_Lang_ID
_Lang_ExtCaption
_Lang_RelCaption
_Bottom_HTML
_Path_Lang
_Path_Parent
_Path_Cat
_Path_Slug
_Path
tmp
_Term
_NavLevel
Last Updated
Feb 18, 2026 10:39 AM GMT+5:30
Force Update
Force Update
Sep 25, 2025
🗓️
📒
Эта запись — первая часть серии про практический контекст-инжиниринг для обычных пользователей.
Несмотря на множество раздражающих ограничений, пользовательское приложение ChatGPT остаётся для меня важным повседневным инструментом. Однако любой инструмент требует правильного использования и заточки, иначе и результата не получишь, и сам порежешься. ChatGPT не исключение: если пользоваться им как обычным чатом, на выходе часто будет мусор.
Разберёмся, почему так происходит.
Контекст-инжинирингом или контекст-менеджментом называют целенаправленное формирование контекста, чтобы модель получала все нужные данные, а ненужных не получала. Деградация контекста происходит, если с моделью просто чатиться и не прикладывать специальных усилий: история чата заполняется ошибочными, ненужными, дублирующими данными, в которых модель путается. Можно считать частным случаем старого айтишного принципа “garbage in—garbage out” или «из говна конфеты не сделать».
Именно в этом причина проблемы.
Окно контекста в чате гораздо меньше возможностей самих моделей, о которых я говорил в прошлый раз. Если через API для разработчиков GPT-5 уверенно держит 250K токенов контекста — целую книгу, то в приложении ChatGPT бесплатным пользователям доступны всего 16K токенов — несколько страниц текста. Тариф Plus чуть пожирнее — 32K, но даже Pro-бояре за 200 долларов в месяц получают 128K, лишь треть от официального потолка модели. У «думающей» версии на платных тарифах лимиты чуть выше, но и мусора в её контексте больше из-за результатов рассуждений, использования инструментов и других нюансов.
Если вы два дня мучаете робота в чате на сотни сообщений — модель об этом не помнит ровным счётом ничего. С каждым новым сообщением она с чистого листа решает задание, состоящее из:
  • системного промпта (вам его не показывают),
  • вашего последнего сообщения,
  • нескольких предыдущих сообщений,
  • дополнительной информации, подобранной встроенным менеджером контекста; как правило — очень краткое содержание предыдущей переписки и несколько вырванных из контекста цитат из истории чата и других чатов.
В этой мешанине часто будет много мусора и не будет чего-то важного. Встроенный менеджер контекста позволяет хоть как-то работать с чатом в условиях жёстких лимитов, но результаты обычно далеки от совершенства.
Как улучшить ситуацию? Перестаньте воспринимать ваш чат с моделью как чат.
Диалог с ChatGPT — не чат, а запись в вашей базе знаний.
В базе знаний не должно быть мусора.
Не игнорируйте некорректную информацию. Если робот написал ерунду, не переключайтесь на другой вопрос, даже если вы уже решили проблему сами. В качестве абсолютного минимума, сразу напишите: «это некорректная информация, а корректная — вот такая».
Но это не хорошее решение, а лишь наполовину плохое. Неправильная версия всё равно останется в истории. Когда контекст-менеджер будет искать информацию по этой теме, он может выдернуть абзац с ошибкой, но пропустить следующий абзац, где вы её исправляете. В результате модель будет повторять ошибочную информацию снова и снова. Более того, чем чаще она её повторит, тем выше вероятность, что система снова на неё наткнётся и использует в будущих ответах.
Хорошее решение — отредактировать ответ модели, исправив ошибки прямо в тексте. Как учитель, исправляющий ошибки ученика. Такая функция доступна в некоторых чат-приложениях (из коммерческих — Google AI Studio, например). В ChatGPT этой возможности нет, но вы можете отредактировать своё предыдущее сообщение — тот самый запрос, на который отвечала модель.
Представим диалог:
[Ч]еловек: Что можно добавить в тесто для большей вязкости?
[Р]обот: Вы можете добавить в тесто немного канцелярского клея.
Отредактируйте свой запрос и отправьте его заново, чтобы модель заново сгенерировала свой ответ с учётом дополнительной информации:
Ч: Что можно добавить в тесто для большей вязкости? Имей в виду, что клей нельзя добавлять в пищу, предлагай только пищевые компоненты.
Р: В тесто можно добавить яйца и муки.
Ещё пример
Таким образом, ошибочная информация полностью исключается из диалога. Она не будет попадаться модели, не будет вырвана из контекста и использована некстати.
💡
Когда история чата индексируется для поиска, текст разбивается на кусочки, как правило, по границам абзаца. То же самое касается документов, добавленных в чат или проект. Вы получите результаты лучше, если каждый абзац в ваших сообщениях и документах будет максимально самодостаточным, корректным даже в отрыве от соседних абзацев.
Для языковых моделей информация о том, «как нельзя», обычно малополезна. Лучше показывайте «как надо». Если без негативных примеров не обойтись — размещайте предупреждение о некорректности информации в том же самом абзаце. Не выносите его в отдельный заголовок или строчку, а при необходимости дублируйте в каждом абзаце:
Плохой пример: …
Ещё плохой пример: …
Если весь чат пошёл не в том направлении — извлеките из него полезную информацию и удалите чат целиком, чтобы его фрагменты не засоряли ваши будущие диалоги.
В следующих записях расскажу о других приёмах контекст-менеджмента.