LLM пишет код — но по чьим правилам?

Если отпустить LLM в режим «полного вайб-кодинга», можно производить в 1000 раз больше кода, чем раньше — и получить в итоге непроходимую мешанину. Опытный разработчик Фабьен Санглар нашёл элегантное решение: файл agent.md, который автоматически загружается в контекст каждой новой сессии и удерживает модель в рамках нужного стиля. Качество кода после этого улучшилось кардинально.


Проблема: повторение одних и тех же инструкций

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

Каждый раз, когда разработчику что-то не нравилось, он добавлял замечание в ~/.gemini/GEMINI.md или ~/.claude/CLAUDE.md, чтобы агент мог воспроизвести его стиль. Так родилась идея единого, версионируемого файла правил.

ℹ Что такое agent.md
agent.md — текстовый Markdown-файл в корне проекта (или в домашней директории). При старте сессии AI-агент автоматически читает его и использует как часть системного промпта. Аналоги: CLAUDE.md, GEMINI.md, AGENTS.md.

Как это работает

Когда начинается сессия программирования, «обвязка» (coding harness) загружает файл agent.md и встраивает его в промпт — это идеальное место для тонкой настройки предпочтений по стилю кода.

Каждый раз, когда автор ловил себя на повторении одного и того же замечания для улучшения кода, он добавлял его в файл. Достаточно положить файл в корень проекта. Или создать симлинк gemini.md/claude.mdagent.md, чтобы правила работали глобально.


flowchart LR
    A[Старт сессии] --> B[Агент читает agent.md]
    B --> C[Правила встроены в промпт]
    C --> D[LLM генерирует код]
    D --> E{Качество упало?}
    E -- Да --> F[Reload agent.md]
    F --> D
    E -- Нет --> G[Готовый PR]


Проблема «размытия контекста» (context dilution)

Существует неприятный феномен под названием «размытие контекста» (context dilution или attention dilution), описанный в статье Lost in the Middle: по мере роста контекста модель начинает уделять меньше внимания инструкциям в середине — в пользу начала и конца.

Санглар нашёл два способа бороться с этим:

Первый — держать контекст коротким, начиная новую сессию под каждую фичу. Второй — явно попросить агента перезагрузить agent.md. Команда «Reload agent.md» помогает, когда качество кода начинает падать.

💡 Практический совет
Если вы замечаете, что LLM начинает игнорировать ваши правила в длинной сессии — не начинайте объяснять заново. Просто напишите: “Reload agent.md”. Этого обычно достаточно.

Что писать в agent.md

Санглар поделился своим файлом как отправной точкой. Вот структура, которую он рекомендует:

Категория правилПримеры
Стиль комментариевМинимум слов, каждое — точное
Git-коммитыЗаглавная буква в теме, без точки в конце
Архитектурные паттерныИзбегать определённых конструкций
Обработка ошибокНе оборачивать каждый вызов в try/catch
НеймингКонкретные соглашения проекта

Ключевой принцип из его файла: при написании чего-либо для людей (комментарий, commit-сообщение, ответ на промпт) — использовать как можно меньше слов, отбирая каждое тщательно.

# FAB's AGENT.MD

## Communication
- Use as few words as possible in all human-facing output
- Every word must earn its place

## Git
- Capitalize first letter of subject line
- Do not end subject line with a period
- Limit subject to 50 characters

## Code style
- Prefer explicit over implicit
- No dead code in PRs
⚠ Не перегружайте файл
Исследование ETH Zurich (2026) показало: чрезмерно длинные AGENTS.md, особенно сгенерированные самим LLM, могут ухудшать результаты. Исследователи пришли к выводу, что файлы контекста, сгенерированные LLM, лучше не использовать вовсе, а написанные вручную — ограничивать только тем, что агент не может вывести самостоятельно.

Контекст: индустриальный стандарт де-факто

К началу 2026 года AGENTS.md стал стандартным способом передавать контекст AI-агентам в командах разработчиков. Его нативно читают Claude Code, OpenAI Codex CLI, Cursor, Aider, Devin, GitHub Copilot, Gemini CLI, Windsurf и Amazon Q.

Конвенция принята более чем в 60 000 репозиториев и теперь курируется Agentic AI Foundation под эгидой Linux Foundation.

Лучший AGENTS.md — тот, который ваша команда реально поддерживает. Не тот, что документирует каждый edge case и устаревает уже к следующему спринту.

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

📝 С чего начать
  1. Создайте файл agent.md в корне проекта (или ~/.claude/CLAUDE.md глобально)
  2. Добавьте 5–10 правил, которые вы реально повторяете агенту
  3. Каждый раз, когда поправляете LLM вручную — добавляйте это правило в файл
  4. При падении качества в длинной сессии — команда «Reload agent.md»

Материал Санглара, вышедший 21 августа 2026 года, уже попал в топ Hacker News — что говорит о том, насколько остро сообщество ощущает проблему управляемости AI-ассистентов при реальной разработке.