mksglu/claude-context-mode: не теряйте контекст при больших выходных данных.

Другая половина проблемы контекста.

рынок Лицензия: Массачусетский технологический институт

Каждый вызов инструмента MCP в Claude Code сбрасывает необработанные данные в контекстное окно размером 200 КБ. Снимок драматурга стоит 56 КБ. Двадцать выпусков GitHub стоят 59 КБ. Один журнал доступа — 45 КБ. Через 30 минут 40% вашего контекста исчезнет.

Вдохновлено Cloudflare Кодовый режим — который сжимает определения инструментов из миллионов токенов в ~1000 — мы спросили: а как насчет другого направления?

Контекстный режим — это сервер MCP, который находится между Claude Code и этими выходами. 315 КБ становятся 5,4 КБ. Снижение 98%.


cc-04.mp4


claude mcp add context-mode -- npx -y context-mode

Перезапустите Клод Код. Сделанный.

Установка плагина (включает навык автоматической маршрутизации + перехват субагента)

/plugin marketplace add mksglu/claude-context-mode
/plugin install context-mode@claude-context-mode

Устанавливает сервер MCP + навык, автоматически маршрутизирующий большие выходные данные через контекстный режим + ловушку PreToolUse, которая вводит маршрутизацию контекстного режима в подсказки субагента. Никаких подсказок не требуется.

Местное развитие
claude --plugin-dir ./path/to/context-mode

MCP стал стандартным способом использования внешних инструментов для агентов ИИ. Но в его основе есть напряжение: каждое взаимодействие с инструментом заполняет контекстное окно с обеих сторон — определения на входе, необработанный вывод на выходе.

С Активно более 81 инструмента, 143 тыс. токенов (72%) расходуются до вашего первого сообщения.. И тогда инструменты начинают возвращать данные. Один снимок драматурга занимает 56 КБ. А gh issue list сбрасывает 59 КБ. Запустите набор тестов, прочитайте файл журнала, получите документацию — каждый ответ съедает то, что осталось.

Режим кода показал, что определения инструментов можно сжать на 99,9%. Контекстный режим применяет тот же принцип к выводам инструмента — обрабатывает их в песочнице, чтобы в модель попадали только сводные данные.

Инструмент Что он делает Контекст сохранен.
batch_execute Запуск нескольких команд + поиск по нескольким запросам за ОДИН вызов. 986 КБ → 62 КБ
execute Запускайте код на 10 языках. Только стандартный вывод входит в контекст. 56 КБ → 299 Б
execute_file Обработка файлов в песочнице. Необработанный контент никогда не уходит. 45 КБ → 155 Б
index Чанк уценки в FTS5 с рейтингом BM25. 60 КБ → 40 Б
search Запрос индексированного контента с помощью нескольких запросов за один вызов. Извлечение по требованию
fetch_and_index Получить URL-адрес, преобразовать в уценку, индексировать. 60 КБ → 40 Б
stats Отслеживание токенов сеанса с разбивкой по каждому инструменту.
Read more:  Роберт Де Ниро заявил: «Мы не можем прекратить» протесты против «хулигана» Трампа

Каждый execute вызов порождает изолированный подпроцесс со своей собственной границей процесса. Скрипты не могут получить доступ к памяти или состоянию друг друга. Подпроцесс запускает ваш код, захватывает стандартный вывод, и только этот стандартный вывод входит в контекст диалога. Необработанные данные — файлы журналов, ответы API, снимки — никогда не покидают «песочницу».

Доступны десять языковых сред выполнения: JavaScript, TypeScript, Python, Shell, Ruby, Go, Rust, PHP, Perl, R. Bun автоматически определяется для ускорения выполнения JS/TS в 3–5 раз.

Аутентифицированные CLI работают через сквозную передачу учетных данных — gh, aws, gcloud, kubectl, docker наследовать переменные среды и пути конфигурации, не раскрывая их в диалоге.

Когда выходные данные превышают 5 КБ и intent предоставляется, контекстный режим переключается на фильтрацию на основе намерений: он индексирует весь вывод в базу знаний, ищет разделы, соответствующие вашему намерению, и возвращает только соответствующие совпадения со словарем доступных для поиска терминов для последующих запросов.

Как работает база знаний

index Инструмент разбивает содержимое уценки на блоки по заголовкам, сохраняя при этом блоки кода нетронутыми, а затем сохраняет их в файле. SQLite FTS5 (Полнотекстовый поиск 5) виртуальная таблица. Поиск использует Рейтинг БМ25 — алгоритм вероятностной релевантности, который оценивает документы на основе частоты терминов, обратной частоты документов и нормализации длины документа. Портер стемминг применяется во время индекса, поэтому «running», «runs» и «run» соответствуют одной и той же основе.

Когда ты звонишь searchон возвращает соответствующие фрагменты контента, ориентированные на соответствие условиям запроса, а не полные документы и не приблизительные значения, а фактический проиндексированный контент с умным извлечением того, что вы ищете. fetch_and_index распространяет это на URL-адреса: выборка, преобразование HTML в уценку, фрагмент, индекс. Необработанная страница никогда не входит в контекст.

Read more:  Командир ХАМАС убит при попытке покинуть туннель Рафах; найдена винтовка убитого солдата ЦАХАЛа

В результатах поиска вместо усечения используется интеллектуальное извлечение. Вместо того, чтобы возвращать первые N символов (которые могут пропустить важную часть), контекстный режим определяет, где в содержимом появляются термины вашего запроса, и возвращает окна вокруг этих совпадений. Если ваш запрос — «токен аутентификации JWT», вы получите абзацы, в которых действительно встречаются эти термины, а не произвольный префикс.

Регулирование прогрессивного поиска

search Инструмент включает в себя прогрессивное регулирование для предотвращения переполнения контекста из-за чрезмерных отдельных вызовов:

  • Вызовы 1-3: Нормальные результаты (2 на запрос)
  • Звонки 4-8: Сокращенные результаты (1 на запрос) + предупреждение
  • Звонки 9+: Заблокировано — перенаправляет на batch_execute

Это поощряет пакетную обработку запросов через search(queries: ["q1", "q2", "q3"]) или batch_execute вместо того, чтобы делать десятки отдельных звонков.

stats Инструмент отслеживает потребление контекста в режиме реального времени. Полезно для отладки использования контекста во время длительных сеансов.

Метрика Ценить
Время работы сеанса 2,6 мин.
Вызовы инструментов 5
Байты возвращены в контекст 62,0 КБ (~ 15,9 тыс. токенов)
Проиндексировано байт (осталось в песочнице) 140,5 КБ
Коэффициент экономии контекста 2,3x (снижение на 56%)


Инструмент Звонки Используемый контекст
пакетное_выполнение 4 58,2 КБ
поиск 1 3,8 КБ

При установке в качестве плагина контекстный режим включает в себя перехватчик PreToolUse, который автоматически вводит инструкции маршрутизации в подсказки субагента (инструмента задач). Субагенты учатся использовать batch_execute в качестве основного инструмента и search(queries: [...]) для последующих действий — без ручной настройки.

Измерено в реальных сценариях:

Снимок драматурга — 56,2 КБ в необработанном виде → 299 Б контекста (сохранено 99%)
Проблемы с GitHub (20) — 58,9 КБ в необработанном виде → 1,1 КБ в контексте (сохранено 98%).
Журнал доступа (500 запросов) — 45,1 КБ в необработанном виде → 155 Б контекста (сохранено 100 %)
Документация Context7 React — 5,9 КБ в необработанном виде → 261 Б контекста (сохранено 96%)
Аналитика CSV (500 строк) — 85,5 КБ в необработанном виде → 222 Б контекста (сохранено 100 %)
Журнал Git (153 коммита) — 11,6 КБ в необработанном виде → 107 Б контекста (сохранено 99%)
Тестовый вывод (30 комплектов) — 6,0 КБ в необработанном виде → 337 Б контекста (сохранено 95%)
Исследование РЕПО (субагент) — 986 КБ необработанных данных → 62 КБ контекста (сохранено 94 %, 5 вызовов против 37)

Read more:  Историческим решением суд приговорил трех полицейских к 17 годам лишения свободы за пытки и сексуальное насилие в отношении Азула Рохаса.

За полный сеанс: 315 КБ необработанных данных превращаются в 5,4 КБ. Время сеанса до замедления составляет от ~30 минут до ~3 часов. Остаток контекста через 45 минут: 99% вместо 60%.

Полные сравнительные данные по 21 сценарию →

Эти подсказки работают «из коробки». Бегать /context-mode stats после каждого, чтобы увидеть экономию.

Глубокое исследование репо — 5 звонков, контекст 62 КБ (необработанные: 986 КБ, сохранено 94%)

Research https://github.com/modelcontextprotocol/servers — architecture, tech stack,
top contributors, open issues, and recent activity. Then run /context-mode stats.

Анализ истории Git — 1 звонок, контекст 5,6 Кб

Clone https://github.com/facebook/react and analyze the last 500 commits:
top contributors, commit frequency by month, and most changed files.
Then run /context-mode stats.

Парсинг веб-страниц — 1 звонок, контекст 3,2 КБ

Fetch the Hacker News front page, extract all posts with titles, scores,
and domains. Group by domain. Then run /context-mode stats.

Поиск документации — 2 звонка, контекст 1,8 КБ

Fetch the React useEffect docs, index them, and find the cleanup pattern
with code examples. Then run /context-mode stats.
  • Node.js 18+
  • Клод Код с поддержкой MCP
  • Необязательно: Bun (определяется автоматически, JS/TS в 3–5 раз быстрее)

git clone https://github.com/mksglu/claude-context-mode.git
cd claude-context-mode && npm install
npm test              # run tests
npm run test:all      # full suite

С

2026-02-25 06:23:00


1772006353
#mksgluclaudecontextmode #не #теряйте #контекст #при #больших #выходных #данных

По теме

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.