Контекст и лимиты · разбор метода ICM · сентябрь 2026

Лимиты Claude: 4 шага разложить контекст по слоям в 2026

Лимит съедает не работа, а то, что грузится ДО работы. У меня это был один файл инструкций на 37 тысяч знаков, который читала каждая сессия, включая те, где режется видео. Разложил его по слоям методом ICM и замерил: постоянная часть похудела почти на треть, а помощник не потерял ни одного правила

Метод называется Interpretable Context Methodology, вышел в марте 2026 и делает странную на первый взгляд вещь: выкидывает фреймворк и отдаёт управление структуре папок. Ниже четыре шага, которыми я разложил свой рабочий файл, и честные цифры замера до и после. Сразу предупреждаю про одно место, где красивое обещание расходится с проверкой: разбор этого места внизу, в разделе про границы

В чём вообще беда с лимитами

Есть контекст, который ты грузишь осознанно: файл, который правишь, задача, которую ставишь. И есть контекст, который грузится САМ, каждую сессию, до первой твоей строчки. Второй и съедает лимит незаметно

У меня им был CLAUDE.md, файл-навигация по проекту. Туда за полгода приросло всё: карта репозитория, правила работы, прецеденты с суммами ущерба, точные формулировки, как обходить защиты. Каждое правило было полезным. Проблема была в том, что все они читались всегда

Сессия, в которой я режу видео, читала абзац про то, чем грозит неосторожная команда в базе. Сессия, в которой я считаю ипотеку, читала правила публикации в соцсетях. Это и есть налог, который платится каждый раз

Что предлагает ICM

Метод описан в статье Interpretable Context Methodology: Folder Structure as Agentic Architecture, авторы Jake Van Clief и David McDermott, Eduba и Университет Эдинбурга, март 2026. Код открыт под лицензией MIT

Идея простая до обидного. Вместо того чтобы писать код, который передаёт контекст между шагами, помнит состояние и ловит ошибки, ты раскладываешь работу по пронумерованным папкам. Папка это стадия. Внутри обычные текстовые файлы, которые говорят помощнику, какую роль играть на этом шаге. Механическую работу, где ИИ не нужен, делают маленькие скрипты рядом. Чем это отличается от надстроек, плагинов и MCP, разобрано отдельно

Вторая половина метода называется Model Workspace Protocol. Каждая стадия несёт файл-контракт CONTEXT.md, где написаны три вещи: что стадия берёт на вход, что делает и что отдаёт наружу. Иерархия контекста в методе пятислойная

Страница статьи Interpretable Context Methodology на arXiv с описанием структуры папок как архитектуры агента
Первоисточник метода, снят мной с живой страницы arXiv 14 сентября 2026. Отсюда взяты и авторы, и номер статьи, и формулировка про папки вместо фреймворка

Как это выглядит у меня после разбора

Я оставил в постоянном файле только два вида содержимого: КАРТУ (где что лежит) и ТРИГГЕР каждого правила (когда оно включается и кто его страхует). Всё остальное уехало на слой ниже

Выглядит это так. Раньше в файле лежал абзац с полным описанием правила, прецедентом и суммой ущерба. Стало: одна строка вида «правило такое-то, включается тогда-то, держит его такой-то сторож, полный текст по указателю». Помощник, которому правило понадобилось, идёт по указателю и читает целиком. Помощник, который режет видео, не читает вообще

Собственный замер 14 сентября 2026 по двум файлам на моём диске: монолит до разбора весил 37013 знаков (бэкап лежит рядом с датой), слой 0 после разбора весит 24976 знаков. В прикидке по токенам это 14236 против 9606, то есть минус 32 процента на каждой сессии

Слой ниже у меня лежит отдельной папкой и весит примерно столько же, сколько раньше весила выкинутая часть. Он никуда не делся, просто перестал грузиться без спроса

Чтобы не гадать на глаз, вот раскладка по типам содержимого. Слева то, что остаётся наверху, справа то, что уезжает вниз:

Что этоСлой 0, грузится всегдаСлой 3, по требованию
карта проекта, где что лежитданет
строка «правило есть, включается тогда-то»данет
имя сторожа, который правило проверяетданет
полный текст правила с исключенияминетда
прецедент и что случилось в прошлый разнетда
суммы ущерба, примеры, длинные разборынетда

Таблица прокручивается вбок →

Сколько это экономит на цифрах

Что мерюДо разбораПосле разбора
знаков в постоянном файле3701324976
прикидка в токенах142369606
читается каждой сессиейвсётолько карта и триггеры
полные тексты правилв том же файлеотдельной папкой, по требованию

Таблица прокручивается вбок →

Экономия около 4630 токенов на сессию. Немного, если сессия одна. Существенно, если сессий двадцать в день и каждая начинается с этого налога

Шаг 1. Померь, сколько весит твой постоянный контекст

Найди файл, который читается у тебя ВСЕГДА. У Claude Code это CLAUDE.md в корне проекта, у других помощников файл называется иначе, но он есть почти везде: файл с правилами и описанием проекта. Если ты с Claude Code ещё не работал, начни с разбора самого инструмента

Посчитай его размер одной строкой в терминале:

wc -c CLAUDE.md

Что увидишь: число байт и имя файла. Для русского текста байт примерно вдвое больше, чем знаков, это нормально

Дальше грубая прикидка в токенах: раздели число ЗНАКОВ на 2.6. Это не точный счётчик, а порядок величины, и для решения его достаточно

Признак успеха: у тебя есть число. Не ощущение «файл большой», а конкретные символы и прикидка в токенах

Шаг 2. Раздели файл на триггер и тело

Пройди по файлу сверху вниз и на каждом куске задай один вопрос: это нужно ЗНАТЬ ВСЕГДА или это нужно ПРОЧИТАТЬ, КОГДА ДОЙДЁТ ДО ДЕЛА?

Всегда нужны: карта проекта, куда что класть, как называются главные папки, короткая строчка «правило такое-то существует и включается вот тогда». Это триггер

По требованию нужны: полный текст правила, история, почему оно появилось, что случилось в прошлый раз, точные формулировки исключений, примеры. Это тело

Практическая подсказка. Если абзац содержит слова «прецедент», «в прошлый раз», «однажды», «например, вот такой случай» - почти наверняка это тело

Признак успеха: ты можешь про каждый абзац сказать, зачем он в сессии, где чинят видео

Шаг 3. Унеси тела в слой 3 и оставь указатели

Заведи рядом папку под полные тексты. У меня это отдельная папка внутри рабочего каталога, у тебя может быть любая, главное чтобы она НЕ подгружалась автоматически

Перенеси туда все тела. На их месте в постоянном файле оставь одну строку по формуле: что за правило, когда включается, кто его проверяет, где лежит полный текст

Перед тем как радоваться, сделай проверку на потери. Я делал так: собрал множество всех имён сторожей и всех ссылок из старого файла, собрал то же из новой пары «слой 0 плюс слой 3» и сравнил. Совпало символ в символ, значит ничего не выпало

Проверку на потери я делал так и записал результат: множество имён сторожей и множество ссылок из старого монолита совпало с тем же множеством в новой паре «слой 0 плюс слой 3» символ в символ, то есть ноль потерь при переносе

Признак успеха: помощник по указателю доходит до полного текста правила, а без нужды его не читает

Полный текст статьи ICM в браузере: описание контракта стадии и пятислойной иерархии контекста
Вторая редакция статьи читается прямо в браузере. Здесь лежит описание контракта стадии, по которому собран четвёртый шаг

Шаг 4. Поставь контракт на каждую стадию процесса

Это вторая половина метода, и без неё первая работает вполсилы. Если у тебя есть процесс из нескольких шагов, положи в каждую стадию файл CONTEXT.md из трёх разделов

Первый: ВХОД. Откуда стадия берёт материал, и только оттуда. Канон простой: вход берётся из выходной папки предыдущей стадии, а не из её черновиков

Второй: ЧТО ДЕЛАЕТ. Своими словами, коротко. Если стадию выполняет отдельный помощник, пригодится разбор про постановку задачи агенту

Третий: ВЫХОД. Что уходит наружу. Хорошо, когда наружу уходит ровно один файл, а версии и промежуточные куски остаются внутри стадии

Отдельная деталь, которую легко пропустить: в разделе ВХОД стадия объявляет только ТЕ правила слоя 3, которые ей реально нужны. Не все скопом. Иначе слои разложены, а грузится снова всё

Признак успеха: стадия знает, откуда берёт вход и что отдаёт наружу, и не лезет в чужие промежуточные файлы

Открытый шаблон структуры ICM на GitHub с готовым каркасом нумерованных папок
Готовый каркас папок под метод, лицензия открытая. Удобно, когда не хочется собирать структуру с нуля

Контракт стадии умещается в три строки, и вот из чего они состоят:

Раздел контрактаЧто в нём пишетсяЧастая ошибка
Inputs, входоткуда стадия берёт материалтянет черновики предыдущей стадии вместо её выходной папки
Process, что делаетодна-две фразы своими словамипревращается в пересказ всего процесса целиком
Outputs, выходчто уходит наружу, лучше один файлнаружу уезжают все промежуточные версии

Таблица прокручивается вбок →

Где обещание расходится с проверкой

Тут начинается часть, ради которой стоило считать самому

В статье ICM приводятся цифры сравнения: три стадии примерно по 5600, 5500 и 4900 токенов против примерно 42000 у монолитного подхода. Выглядит как падение в разы. Но эти числа собраны как самоотчёты 33 участников, без контрольного сравнения, то есть это не измерение, а опрос

Мой собственный замер дал 32 процента на постоянном файле. Не в разы. И я называю именно эту цифру, потому что она снята с двух файлов на моём диске, а не собрана опросом

Значит ли это, что метод плохой? Нет. Механизм верный и проверяется логикой: содержимое, которое грузится всегда, стоит дороже содержимого, которое поднимается по требованию, и разница равна тому, что ты убрал из постоянной части. Просто кратность у каждого будет своя, и зависит она от того, сколько в твоём файле лежало тел, а не триггеров

Чего этот способ не делает

Он не уменьшает контекст самой работы. Про то, как помощник вообще держит сказанное между сессиями, у меня есть отдельный разбор про память. Если ты открыл файл на три тысячи строк и просишь его переписать, слои тут ни при чём: это обычная загрузка файла в помощника, и весит она столько, сколько весит

Он не заменяет чистку. Часть моего файла надо было просто выкинуть, а не переносить: устаревшие правила, повторы одного и того же в трёх местах. Слои этого не видят, это работа руками

И он не работает, если указатели врут. Строка «полный текст по указателю» бесполезна, когда по указателю пусто. После разбора проверь каждый адрес, иначе помощник получит обещание вместо правила

Все три кадра в этой статье сняты мной с живых публичных страниц 14 сентября 2026 скриптом shot.py, который лежит в папке статьи. Адрес каждой снятой страницы записан в манифесте кадров, это не мокапы

В итоге у тебя

Постоянный файл стал картой и списком триггеров, рядом лежит папка с полными телами, каждая стадия процесса несёт свой контракт. Налог, который платила каждая сессия, уменьшился на измеримую величину, и ты знаешь эту величину числом, а не на ощупь

Плюс четыре вопроса, которые теперь есть к любому совету «оптимизируй контекст»:

  1. что именно грузится всегда, и сколько это весит в знаках
  2. это триггер или тело, и почему оно обязано быть в постоянной части
  3. цифра экономии измерена или собрана опросом
  4. по каждому указателю действительно что-то лежит

Третий вопрос самый полезный. Он же отделяет метод, который можно проверить, от метода, который приятно пересказывать

Источники

Каждая ссылка открыта мной 14 сентября 2026, цифры замера сняты в тот же день

Памятка: что проверить после разбора

Шесть строк, на которых чаще всего разъезжается результат

Сохрани себе

  • число ДО разбора записано, иначе экономию не с чем сравнить
  • в постоянной части не осталось слов «прецедент», «в прошлый раз», «однажды»
  • множество имён сторожей и ссылок совпало до и после, ничего не выпало
  • по каждому указателю физически лежит файл, а не обещание
  • слой с телами НЕ подгружается автоматически, проверено запуском чистой сессии
  • стадия объявляет во входе только нужные ей правила, а не все скопом

Куда это ведёт

Слои контекста это частный случай навыка, который окупается везде

Тот же вопрос «это нужно всегда или по требованию» разбирает раздутую инструкцию, перегруженный процесс и любую систему, которая просит внимания больше, чем отдаёт

На Лагере я веду через это за руку, на живых проектах, от первого замера до собранной структуры

Забрать путёвку в ИИ-Лагерь

Кнопка ведёт в мой закрытый канал. Жмёшь «Подать заявку», впускаю сразу, бот пишет в личку и отдаёт путёвку. Бесплатно

Частые вопросы

Это работает только с Claude?

Нет. Метод не про конкретную модель, а про то, какой текст подсовывается помощнику до начала работы. Файл автозагрузки есть почти у каждого инструмента, называется по-разному, разбирается одинаково

Сколько реально экономит?

У меня 32 процента на постоянном файле, замер мой, на моих двух файлах. Цифры из самой статьи собраны опросом участников, поэтому я их как доказательство не привожу. У тебя будет своя величина, и она зависит от того, сколько в твоём файле лежало тел вместо триггеров

Помощник не забудет правило, если унести его текст?

Не забудет, если строка-триггер называет, когда правило включается, и где лежит полный текст. Забудет, если ты унёс текст и не оставил указателя

Обязательно ли делать четвёртый шаг про контракты стадий?

Не обязательно, если у тебя нет процесса из нескольких шагов. Если есть, то без контрактов стадии начинают подтекать: следующий шаг тянет черновики предыдущего, версии путаются

Чем это отличается от простого «сократи файл»?

Сокращение теряет содержимое, разбор по слоям его перемещает. После сокращения правила нет вообще, после разбора оно есть и поднимается, когда нужно

Читать дальше

Я соло-предприниматель на Claude, Claude Code и агентах

Всё, что не влезает в статью, лежит у меня в канале: разборы методов до того, как о них напишут, и внутрянка моих вайб-маркетинговых проектов - что я запускаю, что из этого не работает и почему

Читать канал

Открытый канал, подписка в одно нажатие