| name | session-hygiene-plus |
| description | Агрессивный контроль контекстного окна. Принудительное сжатие каждые 10-15 сообщений, мониторинг разбухания, превентивная очистка. Сэкономлено ~150K токенов на каждой гигиене. |
| tags | ["context","tokens","hygiene","cost-optimization"] |
Session Hygiene Plus — Агрессивная гигиена контекста
Активировать: в любой долгой сессии (10+ tool calls или 20+ сообщений).
Цель: Держать контекст ≤50K токенов. Не допускать разбухания до 180K+.
Почему это важно
Реальные данные из логов:
- 400+ сообщений → ~178-184K токенов в контексте
- После сжатия → ~2-3K токенов
- Каждое сжатие экономит ~175K токенов на следующих вызовах
- Разница: ~4.7₽ на каждом ответе (сжатый vs раздутый)
Протокол
Фаза 1: Мониторинг (каждые 5 действий)
Следи за индикаторами разбухания:
| Индикатор | Тревога | Действие |
|---|
| >15 tool calls в текущем контексте | 🟡 | Проверь: все ли результаты ещё нужны? |
| >3 прочитанных больших файла (>10K chars) | 🟡 | Закрой неиспользуемые |
| Длина диалога >30 сообщений | 🟠 | Жди авто-гигиену или спровоцируй |
| Чувствуешь что "много текста в голове" | 🔴 | Форсируй сжатие: ответь коротко + начни новый контекст |
Фаза 2: Сжатие (ручное)
Hermes делает авто-гигиену при ~85% контекстного окна (~890K из 1M). Это ПОЗДНО.
Лучше самому вызвать сжатие раньше:
- Ответь пользователю кратко (2-3 предложения)
- В следующем ответе контекст уже сжатый (Hermes сожмёт старые сообщения)
- Если нужно — используй
memory или skill чтобы не потерять данные
Фаза 3: Тяжёлые данные → сразу в execute_code/delegate_task
Правило: если результат длиннее 2000 символов — не тащи в контекст
- Большой JSON → обработай в execute_code, верни summary
- Много файлов → delegate_task, получи summary
- Логи → фильтруй через execute_code
- API ответы → проверь только ключевые поля
Anti-Patterns
- ❌ Читать 3 файла подряд → read_file ×3 → в контексте 3 файла → каждого результата нет в контексте. Используй execute_code.
- ❌ Накапливать intermediate результаты → результат шага 3 не нужен на шаге 8. Закрывай за собой.
- ❌ Ждать авто-гигиену → она приходит при 890K токенов. Ты уже сжёг кучу денег до этого.
- ❌ Длинные ответы пользователю с пересказом всего сторилайна → ответь по делу.
Триггеры для форсирования сжатия
| Ситуация | Действие |
|---|
| Начинается новая тема в середине сессии | Ответь коротко, дальше новый контекст |
| Закончил большую задачу | Сохрани ключевое в memory, дальше новый контекст |
| Пользователь пишет "не то" | Отбрось старый контекст, загрузи свежие данные |
| Скоро авто-гигиена | Сделай шаг сам — ответь, дай системе сжать |
Cost Impact
| Стратегия | Токенов на ответ | Стоимость (за 100 ответов) |
|---|
| Без гигиены (180K контекст) | ~200K input + 1K output | ~540₽ |
| С авто-гигиеной (890K триггер) | ~180K × 5, потом 3K | ~250₽ |
| С превентивной гигиеной (50K) | ~50K input + 1K output | ~135₽ |
| Агрессивная (execute_code + делегирование) | ~10K input + 1K output | ~32₽ |
Разница между "без гигиены" и "агрессивной": ~500₽ на 100 ответов.
Быстрый чек
После каждых 10 tool calls:
- Сколько сейчас сообщений в сессии? (вспомни примерно)
- Есть ли данные, которые уже не нужны?
- Мог ли я сделать это в execute_code/delegate_task?
Если на любой вопрос ответ "да" → проведи гигиену.