Вы открываете редактор и начинаете сессию. Ещё до того, как вы что-либо напечатаете, ещё до того, как курсор замрёт в поле ввода, агент уже прочитал очень многое. Он вобрал свой системный промпт, определения всех инструментов, которые может вызвать, свои поведенческие инструкции, CLAUDE.md вашего проекта (или .cursorrules, или AGENTS.md), все применимые правила, привязанные к путям, и всё, что лежит в его файле памяти. К моменту, когда вы произносите первое слово, у агента уже есть модель вас, вашего проекта и того, как ему следует себя вести.
Наивная ментальная модель такова: вы печатаете, агент отвечает. Реальная последовательность другая: агент читает ваш контекст, вы печатаете, агент отвечает. Именно этот безмолвный первый шаг, когда агент читает вас до того, как вы заговорили, решает удивительно большую часть результата. А данные о том, действительно ли помогает контекст, который вы ему скармливаете, оказываются неудобнее, чем предполагает большинство из нас.
Кратко
- ИИ-агенты для программирования загружают заранее написанный контекст до вашего первого сообщения: системные промпты, определения инструментов и файлы инструкций конкретного инструмента, такие как CLAUDE.md, правила Cursor, инструкции GitHub Copilot или AGENTS.md там, где он поддерживается или импортирован. Разговор начинаете не вы, а чтение, которое выполняет агент.
- Эта предзагрузка съедает заметную долю полезного окна контекста ещё до того, как вы набрали хотя бы один символ, поэтому ваш реальный рабочий бюджет меньше, чем обещает заявленное окно модели.
- Эмпирический вывод — самая контринтуитивная часть: файлы контекста, написанные разработчиками, помогают немного (примерно +4 % к успешности задач) и стоят реальных денег (примерно +19 % к стоимости инференса), тогда как файлы, сгенерированные LLM или скопированные откуда-то, могут сделать результаты немного хуже.
- Самостоятельный хостинг вашей модели изменяет то, что вы можете см., а не то, что вы должны do. Архитектура предсессионного периода одинакова везде; локальные инструменты просто позволяют вам проверять и аудировать её. Дисциплина написания контекста, который вы действительно понимаете, никуда не исчезает.
Наивная модель неверна: агент читает первым
Представьте точный момент запуска сессии Claude Code. Загружается системный промпт. Загружаются определения инструментов. Затем, ещё до того как вы что-то сказали, доставляется ваш CLAUDE.md, и механическая деталь здесь важна. Собственная документация Anthropic прямо говорит, что Содержимое CLAUDE.md «доставляется как пользовательское сообщение после системного промпта,» загружается «в начале каждого разговора.» Таким образом, самый первый пользовательский шаг в транскрипте — это не вы. Это ваш файл, говорящий от вашего имени и устанавливающий условия до вашего появления.
На самом деле в этот стартовый момент загружается целый стек: системный промпт, определения инструментов, поведенческие инструкции, ваши файлы контекста проекта и пользователя, все привязанные к путям правила, которые совпадают с задействованными файлами, и файл памяти, который агент ведёт сам. В Claude Code файлы контекста разрешаются через четырёхуровневую иерархию (управляемая политика, затем пользовательский (~/.claude/CLAUDE.md), затем проектный (./CLAUDE.md), затем локальный (./CLAUDE.local.md)) и склеиваются именно в этом порядке. Автопамять добавляет свой кусок: первые 200 строк (или 25KB) файла MEMORY.md, который агент пишет и читает самостоятельно, загружаются каждую сессию.
Ничто из этого не бесплатно. Инфраструктурные накладные расходы (системный промпт, определения инструментов, поведенческие инструкции) съедают значительную долю эффективного контекстного окна ещё до того, как придёт ваше первое сообщение. Это налог за то, чтобы агент умел быть агентом, и он невидим, пока вы не начнёте его искать.
Вокруг дисциплины управления всем этим формируется название. Команда Anthropic по прикладному ИИ называет это проектирование контекста: «набор стратегий для отбора и поддержания оптимального набора токенов (информации) во время инференса LLM». Это полезный термин, потому что он превращает файл, который вы пишете, из записки роботу в архитектурное решение о том, что занимает дефицитный и дорогой ресурс.
Четыре агента, четыре способа сначала вас прочитать
Агенты читают вас по-разному. Они разделяются по двум осям, которые стоит назвать: что загружается при старте сессии (структурированная иерархия файлов, в отличие от постоянно действующих правил или полного сканирования репозитория), и насколько это можно проверить, то есть является ли механизм детерминированным, поддающимся аудиту артефактом или семантическим индексом, которому приходится верить на слово. Именно по этим двум осям Claude Code, Cursor, GitHub Copilot и Aider действительно расходятся.
| Инструмент | Что загружается в начале сеанса | Механизм | Возможность аудита |
|---|---|---|---|
| Claude Code | CLAUDE.md hierarchy + .claude/rules/ + автопамять; AGENTS.md только при импорте или символической ссылке | Иерархия на основе файлов; правила с ограничением по пути могут загружаться лениво; поведение сжатия и повторного чтения варьируется | Высокая для ваших файлов и памяти; системный промпт остаётся закрытым |
| Cursor | Правила проекта, команды и пользователя; поддержка AGENTS.md; индекс кодовой базы для семантического контекста | Читаемые файлы правил плюс семантическое индексирование кодовой базы | Смешанно: правила читабельны, но получение индекса менее прозрачно |
| GitHub Copilot | На уровне всего репозитория copilot-instructions.md плюс специфичные для пути .instructions.md там, где поддерживается | Пользовательские файлы инструкций, применяемые в рабочих процессах Copilot | Умеренный: файлы читаемы, но область применения зависит от поверхности продукта |
| Aider | Компактный repo-map, производный от git-репозитория, плюс файлы, добавленные/прочитанные вручную | Карта репозитория на основе символов/графов, оптимизированная под бюджет токенов | Высокая: repo-map поддаётся проверке, но это всё равно выборочная карта, а не весь репозиторий дословно |
Разделение Cursor наиболее показательно. Его правила хранятся в читаемых файлах под вашим контролем, но он также создаёт семантический индекс всей вашей кодовой базы, векторные вложения, которые обеспечивают поиск по @codebase и которые вы не можете по-настоящему проверить. Aider находится на другом конце: он читает весь ваш git-репозиторий и строит repo-map, детерминированно, вообще без эмбеддингов. Вы можете точно проверить, что именно он передал модели. Та же архитектурная инверсия, но совершенно другая прозрачность. Более глубокое сравнение инструмент за инструментом мы дали в нашем поединок агентных CLI для программирования и напрямую сравнивали в OpenCode против Claude Code в другом месте.
Под форматами, привязанными к конкретным инструментам, складывается общий стандарт. AGENTS.md появился в экосистеме агентских инструментов (OpenAI Codex, Amp, Jules от Google, Cursor и Factory) и сейчас курируется Agentic AI Foundation под эгидой Linux Foundation, принятый более чем в 60 000 репозиториев. Это файл предсессионного контекста, повышенный из удобной мелочи одного инструмента до полноценного переносимого артефакта: индустрия соглашается, что «то, что агент читает до того, как вы заговорите», заслуживает собственного стандарта.
Что говорят данные о том, помогает ли всё это
Именно здесь удобная история даёт трещину. Команда из ETH Zurich (Гло́ген, Мюндлер, Мюллер, Райчев и Вечев) провела контролируемое исследование, «Оценка AGENTS.md,» того, действительно ли эти файлы контекста уровня репозитория повышают производительность кодовых агентов. По всем изученным агентам и моделям результат не сводился ни к «файлы контекста работают», ни к «файлы контекста не работают». В нынешней аннотации сказано, что файлы контекста в целом не повышают успешность выполнения задач и увеличивают стоимость инференса в среднем более чем на 20 %. В подробных результатах статьи исключением оказались файлы, написанные разработчиками: они улучшали результат примерно на 4 % в среднем, но повышали стоимость до 19 %. Файлы, сгенерированные LLM, двигались в противоположную сторону: снижали производительность примерно на 3 % в среднем и поднимали стоимость более чем на 20 %. Третий вывод уточняет картину: агенты вызывают инструмент в 1,6–2,5 раза чаще, если этот инструмент упомянут в файле контекста, и это либо помогает, либо вредит, целиком в зависимости от того, были ли эти дополнительные вызовы оправданны.
Задержитесь на секунду на строке про файлы, сгенерированные LLM, потому что именно она здесь несущая. Файл, который вы не писали сами, будь он сгенерирован моделью или скачан из сообщества как набор «лучших конфигов CLAUDE.md» и брошен в ваш репозиторий, читается агентом как инструкции от человека, который вашу кодовую базу на самом деле не знает. На моделях из исследования итог был отрицательный: вы платили больше токенов за чуть худший результат. обзор Augment Code на эту тему хорошо это схватывает, называя накопленный результат «ящиком со всяким хламом в контексте вашего агента». Каждая правдоподобно выглядящая инструкция, которую вы туда сваливаете, имеет цену, а те, что написали не вы и не под вашу кодовую базу, обычно обходятся дороже, чем приносят пользы.
Я читаю это не как «файлы контекста плохи» и не как «файлы контекста хороши». Именно такие рамки «всё или ничего» и рассыпаются при встрече с данными. Более узкое прочтение такое: контекст — это инфраструктура, которую вы проектируете осознанно, а файл, который писали не вы, для кодовой базы, которой он не понимает, это расход, а не подарок. Оговорка об области применимости тоже важна. Это то, что статья обнаружила для протестированных моделей и агентов, а не универсальный закон для любого LLM. Но она уверенно указывает в одну сторону, и это подтверждается со стороны вендора: команда прикладного ИИ в Anthropic отмечает сдвиг к загрузке контекста «точно в срок» через инструменты во время выполнения вместо предварительной загрузки всего сразу и описывает гибридный подход, при котором часть данных подтягивается заранее, а остальное исследуется на лету. Когда компания, которая выпускает CLAUDE.md, склоняется к тому, чтобы предзагружать меньше, привычка вставлять гигантский файл контекста заслуживает пересмотра.
Вывод раздела: авторство — это тот сигнал, который предсказывает, окупится ли контекст. Стоимость в токенах одинакова в любом случае; отдачу меняет то, написаны ли инструкции человеком, который действительно знает кодовую базу.
Контекст, который угасает: почему начало сессии — это ещё не вся история
Предзагрузка задаёт ограничение. Но она его не удерживает. Разработчики снова и снова упираются во вторую половину истории: контекст, который вы аккуратно выстроили в начале сессии, размывается по ходу работы, причём делает это тихо.
Полезный способ представить это исходит из формулировки команды Mem0: она считает, что контекстное окно — это RAM, а не хранилище, эфемерная и ограниченная, а не постоянное место, где живут ваши инструкции. Загрузите что-то в начале, и оно там; продолжайте достаточно долго, не обращаясь к нему, и оно поблёкнет, как переменная, на которую перестали ссылаться и которую в итоге перезаписали. Это и есть механизм, стоящий за явлением, которое исследователи называют затуханием инструкций. Исследование 2026 года Гамаге и коллег обнаружили, что ограничения на пропуск особенно хрупки: в одном из тестовых сценариев соблюдение правил упало с 73 % на пятом шаге до примерно 33 % к шестнадцатому. Это лабораторный результат, а не универсальная константа, но он совпадает с тем, что многие ощущают в долгих сессиях.
Граница сессии — это то место, где всё становится чётче. Разработчики в обсуждении на Hacker News сообщают, что порождённые субагенты могут страдать от проблем с передачей контекста, поэтому работа, переданная посреди задачи, может прийти с меньшим объёмом контекста родительской сессии, чем вы предполагали. И простой тоже имеет свою цену: в ветке, где Борис Черни из Anthropic высказался, в обсуждении разбирается, как простаивающая сессия может запустить огромную перестройку из-за промаха кэша, сотни тысяч токенов, без единого предупреждения. Общая нить, о которой сообщество говорит снова и снова, — это тишина: срабатывает уплотнение, ранние рассуждения обрезаются, качество падает, и ничего на экране об этом не сообщает. Вы просто замечаете, что результат стал хуже.
Даёт ли самостоятельный хостинг больше контроля?
Запустите всё это сами (Ollama плюс Open WebUI или агент вроде Aider либо Continue.dev, направленный на локальную модель), и честный ответ на вопрос «получаю ли я теперь больше контроля?» будет таким: вы получаете больше видимость, а не большего внутреннего контроля. В этом и есть весь смысл.
Что самостоятельный хостинг действительно даёт, так это возможность заглянуть внутрь. Данные переписки не покидают вашу инфраструктуру. Вы можете прочитать системный промпт целиком, а не принимать закрытый на веру. С детерминированным инструментом вроде Aider вы можете точно проверить, что попало в каждый вызов модели: repo-map — это читаемый артефакт, а не семантический чёрный ящик, как индекс эмбеддингов в Cursor. Для всех, кому важны аудируемость и воспроизводимость, кому важно уметь ответить на вопрос «что агент на самом деле увидел?», такая прозрачность реальна, и это немало.
Но архитектурной инверсии всё равно, где работает модель. Локальная модель через Ollama, Claude Code с облачным API или Cursor по подписке: агент всё равно читает свой предсессионный контекст до того, как вы заговорите, и вам всё равно приходится проектировать этот контекст осознанно. Дисциплина одна и та же. Собственный хостинг даёт вам более ясное окно в механизм, но не даёт другого механизма и уж точно не освобождает от урока ETH Zurich о том, что происходит, когда вы загружаете контекст, который писали не вы. Так что единственный сдвиг, который стоит вынести из всего этого: перестаньте считать файл контекста подарком агенту и начните считать его инфраструктурой с текущими расходами. Пишите то, что действительно понимаете о своей кодовой базе, загружайте меньше, а не больше, и помните, что агент прочитал вас первым, поэтому версия вас, которую он прочитал, должна быть той, за которую вам не стыдно.
Часто задаваемые вопросы
Читают ли ИИ-агенты для кодирования ваши файлы до того, как вы начнёте печатать?
Да. В начале сессии ИИ-агент для кода загружает системный промпт, определения инструментов и ваши файлы контекста (CLAUDE.md, .cursorrules или AGENTS.md), а также repo-map и файл памяти, если они есть, — и всё это до вашего первого сообщения. Конкретно в Claude Code файл CLAUDE.md передаётся как сообщение пользователя сразу после системного промпта, так что разговор фактически начинается не с вас, а с вашего файла.
Действительно ли файлы контекста, такие как CLAUDE.md, улучшают производительность агента?
Отчасти, и меньше, чем большинство людей предполагают. В Оценка ETH Zurich файлов в стиле AGENTS.md, в текущей аннотации сказано, что файлы контекста в целом не повышают успешность выполнения задач и увеличивают стоимость инференса в среднем более чем на 20%. Подробные результаты полезнее для практиков: файлы, написанные разработчиками, улучшили результат в среднем примерно на 4%, но повысили стоимость до 19%, тогда как файлы, сгенерированные LLM, ухудшили результат в среднем примерно на 3% и подняли стоимость более чем на 20%. Практический вывод: файл, который вы написали и понимаете, может немного помочь; файл, который вы не писали, может тихо обойтись вам дорого.
Какая часть контекстного окна используется до отправки сообщения?
Значительную долю. Системный промпт, определения инструментов и поведенческие инструкции загружаются до любого пользовательского ввода и вместе съедают заметную часть эффективного контекстного окна. Ваш полезный рабочий бюджет меньше заявленного контекстного окна модели именно из-за этих фиксированных стартовых накладных расходов.
Даёт ли самостоятельный хостинг ИИ-модели больше контроля над контекстом?
Больше прозрачности, а не больше собственного контроля. Собственный хостинг позволяет вам изучить системный промпт целиком, оставляет данные переписки в вашей инфраструктуре и (с детерминированным инструментом вроде Aider) даёт проверить, что именно ушло в каждый запрос. Но архитектура предсессионного контекста здесь та же, что и в облачных инструментах, и вам всё равно приходится продумывать свой контекст осознанно.
Что такое AGENTS.md?
AGENTS.md — открытый формат, который объясняет кодовым агентам, как работать с кодовой базой: аналог README, обращённый к агенту. Он появился в экосистеме инструментов для агентов (OpenAI Codex, Amp, Jules от Google, Cursor и Factory), а сейчас его курирует Agentic AI Foundation в составе Linux Foundation; формат внедрён более чем в 60 000 репозиториев, что делает его формирующимся межинструментальным стандартом для предсессионного контекста агента.