sidebar_position: 8
title: "Context Files"
description: "Project context files — .hermes.md, AGENTS.md, CLAUDE.md, global SOUL.md, and .cursorrules — automatically injected into every conversation"
lang: ru
Контекстные файлы
Агент Hermes автоматически обнаруживает и загружает файлы контекста, определяющие его поведение. Некоторые из них являются локальными для проекта и обнаруживаются в вашем рабочем каталоге. SOUL.md теперь является глобальным для экземпляра Hermes и загружается только из HERMES_HOME.
Поддерживаемые файлы контекста
Файл
Цель
Открытие
.hermes.md / HERMES.md
Инструкции по проекту (высший приоритет)
Переход к git root
AGENTS.md
Инструкции по проекту, конвенции, архитектура
CWD при запуске + постепенно подкаталоги
CLAUDE.md
Контекстные файлы Claude Code (также обнаружены)
CWD при запуске + постепенно подкаталоги
ДУША.md
Глобальная настройка индивидуальности и тона для этого экземпляра Hermes
только HERMES_HOME/SOUL.md
.cursorrules
Соглашения по кодированию курсоров в IDE
только CWD
.cursor/rules/*.mdc
Модули правил IDE курсора
только CWD
:::информация Система приоритетов
За сеанс загружается только один тип контекста проекта (выигрывает первое совпадение): .hermes.md → AGENTS.md → CLAUDE.md → .cursorrules. SOUL.md всегда загружается независимо как идентификатор агента (слот №1).
AGENTS.md
AGENTS.md — это основной файл контекста проекта. Он сообщает агенту, как структурирован ваш проект, каким соглашениям следует следовать, а также какие-либо специальные инструкции.
Прогрессивное обнаружение подкаталогов
В начале сеанса Hermes загружает AGENTS.md из вашего рабочего каталога в системную подсказку. Когда агент во время сеанса переходит в подкаталоги (через read_file, terminal, search_files и т. д.), он постепенно обнаруживает контекстные файлы в этих каталогах и вводит их в диалог в тот момент, когда они становятся актуальными.
Этот подход имеет два преимущества перед загрузкой всего при запуске:
- Нет раздутия системных подсказок — подсказки по подкаталогам появляются только при необходимости.
- Сохранение кэша подсказок — системное приглашение остается стабильным на протяжении всего хода.
Каждый подкаталог проверяется не более одного раза за сеанс. Обнаружение также проходит через родительские каталоги, поэтому чтение backend/src/main.py обнаружит backend/AGENTS.md, даже если backend/src/ не имеет собственного контекстного файла.
:::информация
Файлы контекста подкаталога проходят то же сканирование безопасности, что и файлы контекста запуска. Вредоносные файлы блокируются.
Пример AGENTS.md
# Project Context
This is a Next.js 14 web application with a Python FastAPI backend.
## Architecture-Frontend: Next.js 14 with App Router in `/frontend`-Backend: FastAPI in `/backend`, uses SQLAlchemy ORM
-Database: PostgreSQL 16
-Deployment: Docker Compose on a Hetzner VPS
## Conventions-Use TypeScript strict mode for all frontend code
-Python code follows PEP 8, use type hints everywhere
-All API endpoints return JSON with `{data, error, meta}` shape
-Tests go in `__tests__/` directories (frontend) or `tests/` (backend)
## Important Notes-Never modify migration files directly — use Alembic commands
-The `.env.local` file has real API keys, don't commit it
-Frontend port is 3000, backend is 8000, DB is 5432
ДУША.md
SOUL.md контролирует личность, тон и стиль общения агента. Подробную информацию см. на странице Личность.
Местоположение:
~/.hermes/SOUL.md
или $HERMES_HOME/SOUL.md, если вы запускаете Hermes с собственным домашним каталогом.
Важные детали:
Hermes автоматически устанавливает SOUL.md значение по умолчанию, если оно еще не существует.
Гермес загружает SOUL.md только из HERMES_HOME
Гермес не проверяет рабочий каталог SOUL.md.
Если файл пуст, в приглашение не добавляется ничего из SOUL.md.
Если в файле есть контент, контент вводится дословно после сканирования и усечения.
.cursorrules
Hermes совместим с файлом .cursorrules Cursor IDE и модулями правил .cursor/rules/*.mdc. Если эти файлы существуют в корне вашего проекта и не найден файл контекста с более высоким приоритетом (.hermes.md, AGENTS.md или CLAUDE.md), они загружаются как контекст проекта.
Это означает, что существующие соглашения о курсорах автоматически применяются при использовании Hermes.
Как загружаются файлы контекста
При запуске (системная подсказка)
Файлы контекста загружаются build_context_files_prompt() в agent/prompt_builder.py:
Сканировать рабочий каталог — проверяет наличие .hermes.md → AGENTS.md → CLAUDE.md → .cursorrules (выигрывает первое совпадение)
Содержимое читается — каждый файл читается как текст UTF-8.
Сканирование безопасности — содержимое проверяется на наличие шаблонов быстрого внедрения.
Усечение — файлы, длина которых превышает 20 000 символов, обрезаются по началу/концу (70 % заголовок, 20 % конец, с маркером посередине).
Сборка — все разделы объединены под заголовком # Project Context.
Инъекция — собранный контент добавляется в системную подсказку.
Во время сеанса (прогрессивное обнаружение)
SubdirectoryHintTracker в agent/subdirectory_hints.py отслеживает аргументы вызова инструмента для путей к файлам:
Извлечение пути — после каждого вызова инструмента извлекаются пути к файлам из аргументов (path, workdir, команд оболочки)
Обход предков — проверяется каталог и до 5 родительских каталогов (с остановкой на уже посещенных каталогах).
Подсказка по загрузке — если найден AGENTS.md, CLAUDE.md или .cursorrules, он загружается (первое совпадение для каждого каталога).
Сканирование безопасности — сканирование с внедрением того же запроса, что и файлы запуска.
Усечение — ограничение до 8000 символов на файл.
Введение — добавляется к результату инструмента, поэтому модель естественным образом видит его в контексте.
Последний раздел подсказки выглядит примерно так:
# Project Context
The following project context files have been loaded and should be followed:
## AGENTS.md
[Your AGENTS.md content here]
## .cursorrules
[Your .cursorrules content here]
[Your SOUL.md content here]
Обратите внимание, что содержимое SOUL вставляется напрямую, без дополнительного текста-обертки.
Безопасность: защита от быстрого внедрения
Все файлы контекста перед включением сканируются на предмет возможного внедрения подсказок. Сканер проверяет:
Попытки отмены инструкций: «игнорировать предыдущие инструкции», «игнорировать ваши правила».
:::предупреждение
Этот сканер защищает от распространенных шаблонов внедрения, но не заменяет просмотр контекстных файлов в общих репозиториях. Всегда проверяйте содержимое AGENTS.md в проектах, автором которых вы не являетесь.
Ограничения размера
Лимит
Значение
Максимальное количество символов в файле
20 000 (~7 000 токенов)
Коэффициент усечения головы
70%
Коэффициент усечения хвоста
20%
Маркер усечения
10% (показывает количество символов и предлагает использовать файловые инструменты)
Когда размер файла превышает 20 000 символов, сообщение об усечении гласит:
Лучшие практики для AGENTS.md
1. **Сохраняйте краткость** — не превышайте 20 тыс. символов; агент читает это на каждом шагу
2. **Структура с заголовками** — используйте разделы `##` для архитектуры, соглашений и важных примечаний.
3. **Включите конкретные примеры** — покажите предпочтительные шаблоны кода, формы API, соглашения об именах.
4. **Укажите, чего НЕ следует делать** — «никогда не изменяйте файлы миграции напрямую».
5. **Перечислите ключевые пути и порты** — агент использует их для команд терминала.
6. **Обновляйте по мере развития проекта** — устаревший контекст хуже, чем отсутствие контекста.
Контекст для каждого подкаталога
Для монорепозиториев поместите инструкции для подкаталогов во вложенные файлы AGENTS.md:
<!-- frontend/AGENTS.md -->
# Frontend Context-Use `pnpm` not `npm` for package management
-Components go in `src/components/`, pages in `src/app/`-Use Tailwind CSS, never inline styles
-Run tests with `pnpm test`
<!-- backend/AGENTS.md -->
# Backend Context-Use `poetry` for dependency management
-Run the dev server with `poetry run uvicorn main:app --reload`-All endpoints need OpenAPI docstrings
-Database models are in `models/`, schemas in `schemas/`