Паттерн экономии токенов в 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% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

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

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

15250 руб.

25.08.2025    62502    129    36    

136

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

Нейросеть для 1С, которая пишет рабочий код на BSL по вашей конфигурации: четыре месяца и больше сорока релизов после первой статьи про бесплатный MCP-сервер mcp-1c. Разберём, что изменилось: память на больших базах упала в разы, поиск по коду ускорился, добавилась параллельная работа и совместимость с Claude, Cursor и другими ИИ-клиентами. И что осталось прежним.

08.07.2026    6220    VyachGo    3    

24

Нейросети EDT Программист 1С:Предприятие 8 Россия Абонемент ($m)

LLM-агенты уже неплохо рассуждают о коде 1С — но рассуждают вслепую. Модель не видит вашу конфигурацию: ей либо копируют модули в чат руками, либо выгружают конфигурацию в файлы и индексируют — и индекс устаревает в момент первой правки. А главное — агент не может ничего сделать: прочитал, посоветовал, а вносить правку снова человеку. Мы решали эту задачу для своей линейки 1C Intelligence Suite — это её вторая часть, о которой мы рассказываем публично.

1 стартмани

08.07.2026    2339    galich    13    

8

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

Почему разработчики не всегда начинают пользоваться ИИ-инструментами, даже если у них уже есть доступ к GPT-чату, Copilot, OpenCode и 1С:Напарнику. Показываем, как через личные разговоры, короткие воркшопы и понятные аналогии – калькулятор, поисковик, автодополнение и Dota 2 – можно снизить страхи, скепсис и недоверие к генеративным нейросетям. Разбираем, почему одних рассылок и лозунгов про «будущее» недостаточно, и как маленькие быстрые победы помогают людям попробовать ИИ в рабочих и бытовых задачах. Статья будет полезна руководителям и тимлидам, которые сталкиваются с сопротивлением сотрудников и хотят привести команду к спокойному, практичному отношению к современным ИИ-инструментам.

06.07.2026    1441    leemuar    16    

7

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

Реальный ML там, где вы зачем-то используете AI. Вкатываемся под катом!

01.07.2026    2535    starik-2005    58    

27

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

Простым языком про ИИ-агентов: чем агент отличается от LLM, как работает function calling и зачем нужен MCP. Разбираем структуру JSON, цикл работы агента и показываем "амнезию" модели на эксперименте с Ollama. Для тех, кто хочет понять "базу" без занудства. Часть 1.

26.06.2026    2164    Junior_1C    33    

21

Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

Бесплатный MCP-сервер, который даёт ИИ-ассистенту (Claude, Cursor и др.) читать данные рабочей базы 1С простыми словами — остатки, документы, справочники, регистры. Агенту не нужно знать язык запросов 1С: он описывает, что хочет, а сервер строит запрос сам. Работает на любой конфигурации (УТ, ERP, БП, самописная), только чтение, отдаёт лишь то, что доступно текущему пользователю. Вторая функция — отдаёт актуальную структуру метаданных любой конфигурации (таблицы, поля, типы), что полезно и при разработке как контекст для ИИ-агента. Реализован как расширение конфигурации.

22.06.2026    12229    Prepod2003    15    

19

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

ИИ-агенты в корпоративной разработке 1С: почему инициатива исходит снизу, а не сверху.

17.06.2026    4694    Junior_1C    42    

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

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