Паттерн экономии токенов в Claude Code на правке больших файлов

28.05.26

Интеграция - Нейросети

Паттерн в Claude Code: однострочный «ритуальный» Read снимает гейт Edit, а реальное содержимое для правки берётся компактным JSON из MCP code-index. На файлах в тысячи строк — десятки и сотни раз дешевле, чем штатный Read целиком.

Проблема

В Claude Code инструмент Edit не работает, пока файл не прочитан через Read в текущей сессии. Защита от правки вслепую — разумная, но дорогая. На файле в 2000 строк один Read тянет в контекст ~20 000 токенов. Дальше каждый turn пересчитывает накопленную историю через cache_read — и эта пачка раз за разом умножается на длину сессии. На активной разработке за день набегают сотни тысяч лишних токенов.

При этом самим Edit обычно меняется 1–3 строки. Остальные 1997 строк в контексте — балласт.

 

Решение

Гейт Edit устроен проще, чем кажется. Эксперимент 24 мая 2026 (Test A/B/D) показал: проверка file-path-based, не range-based. Один Read на путь — и Edit разрешён на любой строке этого файла, независимо от того, сколько строк прочитано.

Значит для снятия гейта достаточно Read(file_path, offset=1, limit=1) — около 30 байт, около 10 токенов. А содержимое для составления old_string берётся через MCP-сервер code-index — компактным JSON только нужной функции, класса или диапазона строк.

Цепочка из трёх шагов:

  • 1. mcp__code-index__get_function(repo, function_name) — тело функции (или get_class, или grep_body / find_symbol для поиска по содержимому, или read_file(line_start, line_end) для конкретного диапазона).
  • 2. Read(file_path, offset=1, limit=1) — ритуальный, ~10 токенов, снимает гейт.
  • 3. Edit(file_path, old_string, new_string) — точечная правка, old_string — из шага 1.

 

Арифметика

Экономия токенов на одной правке (Read целиком vs MCP-паттерн):

  • 200 строк: ~2 000 токенов → ~500 — в 4 раза дешевле
  • 1 000 строк: ~12 000 → ~1 000 — в 12 раз
  • 2 000 строк: ~20 000 → ~500 — в 40 раз
  • 30 000 строк: ~300 000 → ~500 — в 600 раз

Эффект усиливается через cache_read. Каждый turn после правки пересчитывает накопленный контекст. Файл, прочитанный целиком один раз, тянется во все последующие cache_read — на длинных сессиях это умножается на десятки и сотни turn'ов. Точечный Read эту хвостовую нагрузку обнуляет.

 

Когда применять

Два одновременных условия:

  • путь индексирован code-index (есть в daemon.toml);
  • точка правки известна — имя функции/класса из задачи или координаты, найденные через grep_body / find_symbol.

 

Когда НЕ применять

  • Файлы вне индексированных репо (~/.claude/**, C:/Temp/, любые ad-hoc) — MCP-контента взять неоткуда.
  • Нужен обзор файла целиком — начать с get_file_summary (карта без исходника), дальше точечно.
  • Бинарные форматы, oversize-файлы — MCP не помогает.
  • Файл только что изменён, watcher code-index не догнал (несколько секунд) — body из MCP отдаст старый снапшот, Edit вернёт «string not found». Лечится повторным get_function через секунду или обычным Read.

 

Замеры

По моим логам — 32 применения паттерна за один день в активной разработке (agents-mcp), около 30 за остальные 13 дней. Суммарно ~150 000 токенов экономии — на тарифах Sonnet это ~$0.45, на Opus ~$2.25. Цифра в долларах скромная.

Реальная польза — качественная: контекстное окно остаётся свободным под рабочую информацию (диффы, ответы тулов, состояния). На длинных сессиях это разница между «модель плывёт под собственной историей» и «модель помнит задачу до конца».

 

Настройка

Подключение code-index в .mcp.json проекта:

{
  "mcpServers": {
    "code-index": {
      "type": "http",
      "url": "http://127.0.0.1:8011/mcp"
    }
  }
}

Индексируемые репо в daemon.toml:

[[paths]]
path = "C:/MyProject"
alias = "myproject"
language = "rust"

И главное — правило в CLAUDE.md или ~/.claude/rules/. Без явной инструкции модель продолжает Read целиком — это привычка, она тянет к нему:

Перед Edit на индексированном файле:
1) контент берём через MCP code-index (get_function / get_class / grep_body / read_file с диапазоном);
2) Read(file_path, offset=1, limit=1) для снятия гейта;
3) Edit с old_string из шага 1.

Запрещены страничные Read (offset > 1) и Read целиком на индексированных файлах больше 500 строк.

С этим блоком модель применяет паттерн стабильно. Без него — забывает к третьей-четвёртой правке за сессию.

 

Связь с code-index

В связке с code-index паттерн раскрывается полностью: индекс находит функцию по имени за миллисекунды, отдаёт компактное тело, дальше — ритуальный Read и Edit. Это и есть основной сценарий работы code-index в Claude Code: не «семантический поиск ради поиска», а слой компактного контента для всех операций правки.

Исходники: github.com/Regsorm/code-index-mcp (MIT).

Вступайте в нашу телеграмм-группу Инфостарт

MCP ИИ AI нейросеть LLM Claude Code BSL 1С:Предприятие генерация кода AI-ассистент MCP-сервер разработка 1С токены контекст-окно code-index вайб-кодинг

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    19444    99    32    

83

Нейросети Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Задавайте вопросы базе 1С обычными словами: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения. Всё это работает в самой программе, а Codex и Claude подключаются по желанию.

16990 руб.

30.07.2026    12758    27    4    

27

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    70903    141    41    

149

Распознавание документов и образов Нейросети 1С:Предприятие 8 1С 8.3 1С 8.5 1C:Бухгалтерия 1С:Зарплата и Управление Персоналом 3.x Беларусь Россия Казахстан Армения Платные (руб)

ИИ-сканер документов с REST API для интеграции с 1С и корпоративными системами. Извлекайте данные из счетов, паспортов, дипломов, патентов и трудовых книжек за секунды. Точность человека - скорость машины. Приложение поддерживает восемь типов документов, четырех провайдеров ИИ (имеется возможность использования локальных ИИ), локальный REST API и экспорт в JSON. Важно! модель должна поддерживать функцию Vision (распознавание файлов и картинок). Запускайте используя локальные ИИ, без подписок и ограничений

6100 руб.

24.08.2026    497    2    0    

1

Нейросети 1С:Управление торговлей 11 Бесплатно (free)

Я не считаю покупку специализированных платных инструментов обязательной для разработки с ИИ: нужную обвязку тоже можно создать с агентом. Показываю этот подход на расширении УТ 11 с динамическим списком остатков. Одно задание Codex, 37 минут до проверки, работающая форма. Рассказываю, как устроено окружение, почему первую попытку пришлось переснять и что получилось в повторном прогоне.

17.09.2026    5250    71    Ibrogim    51    

18

Нейросети Разработчик Руководитель проекта 1C:ERP Бесплатно (free)

Служба на Rust, через которую Claude Code, Cursor или другой MCP-клиент вызывает узких ИИ-агентов. Агент — папка с prompt.md и config.toml, модель — строка в конфиге: DeepSeek, Claude Code по подписке, Codex или локальная модель. Агент получает MCP-инструменты, работает в фоне, каждый ход записывается. Внутри — цифры за три месяца: 10 351 вызов, 78 агентов.

17.09.2026    1588    0    Sorm    8    

10

Нейросети Бесплатно (free)

Отладка кода 1С традиционно выглядит примерно одинаково: поставить точку останова, запустить клиент, воспроизвести сценарий, дождаться остановки, посмотреть локальные переменные, пройти несколько строк, раскрыть очередную структуру или коллекцию, вычислить выражение — и повторить все это еще несколько раз. А что, если значительную часть этой рутины поручить AI-агенту?

15.09.2026    3480    andrew.ab    5    

15

Нейросети Разработчик Аналитик Руководитель проекта Бесплатно (free)

Я принёс команде приём, с которым нейронка наконец начала понимать нашу конфигурацию: у меня он работал, у коллег — нет. Дело было не в постановке задач и не в настройках: причина в том, что на их машинах индекс конфигурации считался бы несколько дней. Замер на одном и том же своде из 26 035 записей: три часа на процессоре против трёх с половиной минут на видеокарте. Разбираю, что такое индексация конфигурации и почему она дорогая ровно один раз, почему наша основная серверная машина — 64 ядра, 768 гигабайт памяти — на этой задаче проигрывает домашнему компьютеру, и почему приём одного человека упирается в вопрос, который никто не любит задавать.

09.09.2026    4654    solbol    9    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Sorm 138 28.05.26 13:01 Сейчас в теме
Да, можно и более жестко к вопросу подойти, например вот так:

"Запрещены страничные Read (offset > 1) и Read целиком на индексированных файлах" без всякого количества строк..
2. Sorm 138 01.06.26 12:11 Сейчас в теме
На Опус 4.8 дисциплина модели стала значительно более строже, и напоминать(если не вешать на хук, конечно:):)) что модель находится в индексированном каталоге - приходится гораздо реже(почти вообще не приходится).
НО! стали проявляться забавные эффекты - вот идут последовательные запросы к MCP, идут-идут, потом вдруг между ними - Read! И не "ритуальный", а обычный!:):) И потом опять начинается последовательное применение инструментов. Выглядит забавно.
3. starik-2005 3303 05.06.26 14:10 Сейчас в теме
(2)
вдруг между ними - Read
А иначе как они бабки будут зарабатывать?
zzz14; Sorm; +2 Ответить
4. Sorm 138 06.06.26 09:57 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация