Собственные прошлые ответы LLM "отравляют" дальнейший диалог

**Суть идеи** В многошаговых диалогах собственные ответы LLM становятся контекстом для следующих шагов и могут активно вредить итоговому результату. Модель «съедает свои слова»: её прошлые многословные или преждевременные выводы сбивают её же с толку позже. Сильный результат в одноходовом промпте не гарантирует устойчивости модели в длинном диалоге. **Как это работает** Проблема деградации часто кроется не в длине контекста, а в смысловом «шуме», который генерирует сама модель. * **Диагностика:** Если на N-ном шаге модель начала «плыть» или выдавать галлюцинации, попробуйте заменить её предыдущие ответы на нейтральные заглушки (например, «Принято» или `[Acknowledged]`). * **Локализация (Turn Surgery):** Исследуйте, какой именно прошлый ответ сломал логику. Часто удаление одного промежуточного ответа мгновенно чинит финальный результат, даже если этот ответ был сгенерирован в самом начале диалога. **Пример применения** *Задача:* Написание сложного кода с уточнениями в 5 шагов. 1. *User:* Сделай функцию парсинга CSV. 2. *Assistant:* (Пишет код + 3 абзаца лишних объяснений про pandas). 3. *User:* Добавь обработку ошибок сети. 4. *Assistant:* (Пытается переписать код, путается в прошлых абзацах, выдает халф-код). 5. *User:* Сделай финальный ассинхронный вариант. *Решение:* Перед шагом 5 очистите историю `Assistant` или замените её ответы на сухие факты: `[Turn 2]: Функция написана.`. Финальный ответ на шаге 5 станет точным и рабочим. **Шаблон для внедрения** Если вы строите агента и видите деградацию качества на 4+ шаге, используйте системную инъекцию для сброса «памяти о себе»: ```text [SYSTEM INSTRUCTION: HISTORY NEUTRALIZATION] Ignore your previous verbose explanations and intermediate assumptions. Treat all prior assistant turns as strictly acknowledged facts. Current state: [ВСТАВИТЬ КРАТКОЕ ОБЪЕКТИВНОЕ РЕЗЮМЕ ТОГО, ЧТО УЖЕ СДЕЛАНО] Focus ONLY on the new user request below without repeating past context. ``` **Границы применимости** * **Полезно:** Для сложных агентных задач, генерации кода, математики и многошагового планирования, где модель склонна к «инерции» и опоре на свои прошлые ошибки. * **Бесполезно/Вредно:** В креативных задачах, брейнштормах и ролевых играх, где стилистика и накопленный контекст прошлых реплик критически важны для сохранения тона и сюжета. **Ключевые выводы** * **Неочевидность:** Сброс истории помогает не из-за экономии токенов. Эффект улучшения сохраняется даже при замене ответов на заглушки *строго той же длины*. * **Статистика:** В 63.7% «сломанных» диалогов замена всего одного промежуточного ответа модели на нейтральный меняет финал с провала на успех (fail-to-success reversal). * **Парадокс:** Близость ответа к финальному запросу почти не влияет на его важность. Сломать логику может реплика из самого начала диалога. * **Зависимость от задачи:** Для Action-задач (API/Tools) сброс истории дает огромный буст (+22% к качеству), а для генерации кода может, наоборот, навредить (-13%), если модель потеряет важные архитектурные решения из прошлых шагов. Исследование: https://arxiv.org/html/2609.05882v1 Поддержать проект донатом: Сбер 2202 2084 9881 5282. Заранее спасибо.