TL;DR
PEEK — принцип: в начало каждой новой сессии вставляется короткий структурированный документ с ориентационным знанием о большом тексте — что содержит, как организован, какие ключевые сущности и форматы. Не пересказ содержания, а карта навигации. После каждой сессии карта обновляется и сохраняется для следующей.
Главная находка: при повторной работе с одним документом модель каждый раз начинает с нуля — тратит первые итерации на «изучение» структуры заново. История переписки не спасает: она накапливает шум и конкретные выводы прошлых задач, а не структурное понимание контекста. Ориентационное знание («документ содержит 847 строк, жалобы делятся на 4 категории, даты в DD.MM.YYYY») переиспользуется для любой задачи. Задача-специфичное («пользователь спросил про пятницу») — одноразовое. История смешивает оба типа. Карта хранит только первый.
PEEK решает это через контекстную карту — компактный постоянный документ в начале промпта, который обновляется по мере работы. Модель получает «записную книжку аналитика» — всё структурное знание о контексте, накопленное за предыдущие сессии, без шума.
Схема метода
Два шага, которые повторяются при каждой новой сессии. Каждый шаг — отдельный запрос. Карта живёт вне LLM — в текстовом файле, Notion или заметках.
ШАГ 1 — РАБОЧАЯ СЕССИЯ (каждый раз):
[Карта из прошлой сессии] + [задача] → ответ модели
ШАГ 2 — ОБНОВЛЕНИЕ КАРТЫ (после сессии):
[Карта] + [описание что нашли] → обновлённая карта → сохранить для следующего раза
Пример применения
Задача: Руководитель сервиса Самоката еженедельно анализирует 200+ отзывов клиентов на Wildberries — ищет паттерны жалоб, тренды по городам, сезонные аномалии. Каждый раз объясняет модели структуру данных заново.
Промпт (Шаг 1 — рабочий запрос):
[КОНТЕКСТНАЯ КАРТА — Отзывы Самокат, Q3 2025]
## Структура данных
CSV, 847 строк. Колонки: дата, город, оценка (1–5), текст отзыва,
категория жалобы, ID курьера (если указан). Даты — формат DD.MM.YYYY.
## Ключевые сущности
- Города: Москва (61%), СПб (23%), регионы (16%)
- Категории жалоб: «опоздание» (38%), «качество продуктов» (29%),
«поведение курьера» (18%), «приложение» (15%)
- Период: 1 июля — 30 сентября 2025
## Известные паттерны
- Жалобы на опоздание растут в пятницу вечером и воскресенье утром
- Молочка и хлеб — лидеры жалоб на качество
- Регионы дают оценки на 0.4 балла ниже при схожих жалобах
## Форматы и ловушки
- ~12% строк без категории жалобы — нужно определять по тексту
- ID курьера есть только в 30% жалоб на поведение
---
Вот новые отзывы за последние 2 недели: [вставить данные]
Задача: найди паттерны, которые не укладываются в известные категории.
Промпт (Шаг 2 — обновление карты):
Ты только что проанализировал отзывы Самоката.
Вот текущая контекстная карта: [карта выше]
Обнови карту на основе этого анализа:
1. Добавь новые ориентационные находки — то что пригодится для ЛЮБОЙ
задачи с этими данными (новые паттерны, уточнения форматов, новые сущности)
2. НЕ добавляй выводы, специфичные для этой задачи
3. Обнови или удали устаревшее
4. Держи карту до 400 слов
Выдай только обновлённую карту в том же формате.
Результат: В Шаге 1 модель сразу переходит к анализу — без трёх итераций на «изучение» структуры. В Шаге 2 выдаст обновлённую карту: скорректированные проценты, новые обнаруженные паттерны, уточнённые форматы. Следующую сессию начнёте уже с обогащённой картой.
Почему это работает
Слабость LLM: Модель не помнит предыдущие сессии. Каждый новый чат — чистый лист. При работе с одним большим документом она заново «открывает» структуру: где что лежит, как называются поля, какие сущности важны. Это токены и время. Хуже — она может открыть это неправильно.
Почему история переписки не решает: Когда вы продолжаете старый чат, история накапливает шум — конкретные выводы, промежуточные рассуждения, отвергнутые гипотезы. Ориентационное знание в этом потоке теряется. Исследование показало: накопление сырой истории ухудшает качество почти во всех случаях.
Как карта это обходит: Карта хранит только то, что переиспользуется для любой задачи. Не «в прошлый раз пользователь спросил про пятницу», а «жалобы на опоздание растут в пятницу» — это структурное знание о контексте. Модель получает его сразу, без итераций на переоткрытие.
Рычаги управления: - Размер карты → для большинства задач хватает 300–500 слов; больше — сам станет шумом - Частота обновления → обновляй раз в 3–5 сессий, не после каждой - Секции → добавляй под свою задачу: «Реusable Results» (промежуточные вычисления, которые долго пересчитывать), «Domain Constants» (коды, справочники, константы) - Заморозка карты → если документ стабилен, можно остановить обновления и просто переиспользовать карту как есть
Шаблон промпта
Шаблон контекстной карты (Шаг 1):
[КОНТЕКСТНАЯ КАРТА — {название контекста}]
## Структура контекста
{Как организован материал: формат, объём, разделы, вложенность}
## Ключевые сущности
{Важные объекты, их названия, типичные значения, частоты}
## Известные паттерны
{Закономерности, открытые в предыдущих сессиях — чтобы не переоткрывать}
## Форматы и константы
{Форматы дат, единицы измерения, коды, теги, справочные значения}
## Ловушки и исключения
{Пропуски в данных, аномалии, нестандартные случаи}
---
{Задача на эту сессию}
Шаблон обновления карты (Шаг 2):
Вот моя текущая контекстная карта для {название контекста}:
[карта]
Я только что {описание сессии: что анализировал, что обнаружил}.
Обнови карту:
1. Добавь ориентационное знание — то, что пригодится для ЛЮБОЙ задачи с этим контекстом
2. НЕ добавляй выводы, специфичные только для этой задачи
3. Обнови или удали устаревшее
4. Держи карту до {лимит} слов
Выдай только обновлённую карту в том же формате.
Плейсхолдеры:
- {название контекста} — «Договор с Ромашкой», «База отзывов Q3», «Документация REST API»
- {описание сессии} — коротко что делал в этой сессии и что нашёл
- {лимит} — 300–500 слов для большинства задач
🚀 Быстрый старт — вставь в чат:
Вот шаблон контекстной карты (метод PEEK).
Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.
[вставить шаблон выше]
LLM спросит о структуре вашего документа, ключевых сущностях и форматах данных — потому что карта должна отражать именно ваш контекст. Она возьмёт паттерн из шаблона и создаст первую версию карты под вашу задачу.
Ограничения
⚠️ Одноразовые контексты: Если работаете с документом один раз — карта не нужна. PEEK даёт эффект только при повторных сессиях с одним и тем же контекстом.
⚠️ Ручное ведение: Оригинальная система обновляет карту автоматически. Вручную это требует дисциплины — легко забыть обновить или накопить в карте мусор из задача-специфичных выводов.
⚠️ Граница ориентационное/специфичное размыта: На практике модель иногда добавляет в карту выводы, которые не переиспользуются. Нужно иногда проверять обновления вручную.
⚠️ Быстро меняющийся контекст: Если документ обновляется ежедневно (например, пополняемая база), карта устаревает быстрее, чем успевает накопить ценность.
Ресурсы
PEEK: Context Map as an Orientation Cache for Long-Context LLM Agents Авторы: Zhuohan Gu, Qizheng Zhang, Omar Khattab, Samuel Madden MIT CSAIL, Stanford University GitHub: github.com/zhuohangu/peek
