Context 파일
anchor alias
Context 파일
Hermes Agent는 자동으로 동작하는 방법을 형성하는 컨텍스트 파일을 발견하고로드합니다. 일부 프로젝트-현지이며 작업 디렉토리에서 발견됩니다. SOUL.md는 이제 Hermes 인스턴스에 글로벌이며 HERMES_HOME에서만 로드됩니다.
지원된 Context 파일
| 파일 형식 | 제품정보 | 팟캐스트 |
|---|---|---|
| **.hermes.md ** / **HERMES.md ** | 프로젝트 지침 (최고 우선 순위) | git root로 이동 |
| ** AGENTS.md ** | 프로젝트 지침, 컨벤션, 건축 | 시동의 CWD + 간접적으로 |
| ** CLAUDE.md ** | Claude Code context 파일 (또한 감지) | 시동의 CWD + 간접적으로 |
| **SOUL.md ** | 글로벌 개성과 톤 사용자 정의 이 Hermes 인스턴스 | HERMES_HOME/SOUL.md만 |
| **.cursorrules ** | Cursor IDE 코딩 컨벤션 | CWD 전용 |
| **.cursor/rules/*.mdc ** | Cursor IDE 규칙 모듈 | CWD 전용 |
만 ** 하나 ** 프로젝트 컨텍스트 타입은 세션당 로드됩니다 (첫 경기 승리): .hermes.md → AGENTS.md → CLAUDE.md → .cursorrules. SOUL.md는 항상 대리인 정체 (slot #1)로 독립적으로 로드됩니다.
사이트맵
AGENTS.md는 기본 프로젝트 컨텍스트 파일입니다. 그것은 당신의 프로젝트가 구조화되는 방법 대리인을 말합니다, 무슨 규칙은 따르고, 어떤 특별한 지시든지.
회사연혁 팟캐스트
세션 시작에서 Hermes는 작업 디렉토리에서 시스템 프롬프트로 AGENTS.md를 로드합니다. 에이전트가 세션 중 하위 디렉토리로 이동 (read_file를 통해, terminal, search_files, etc.), **전문적으로 발견 ** 그 디렉토리의 컨텍스트 파일 및 관련이 있는 순간에 대화로 주사합니다.
my-project/
├── AGENTS.md ← Loaded at startup (system prompt)
├── frontend/
│ └── AGENTS.md ← Discovered when agent reads frontend/ files
├── backend/
│ └── AGENTS.md ← Discovered when agent reads backend/ files
└── shared/
└── AGENTS.md ← Discovered when agent reads shared/ files
이 접근은 시작에서 모든 것을 적재하는 2개의 이점이 있습니다:
- **No 시스템 프롬프트 bloat ** - 하위디렉토리 힌트는 필요할 때만 나타납니다
- **Prompt 캐시 보전 ** - 시스템 프롬프트는 차례로 안정 유지
각 하위디렉토리는 세션당 최대 한 번에 체크됩니다. 발견은 또한 부모 감독을 걸어, 그래서 읽기 backend/src/main.pybackend/AGENTS.mdbackend/src/ 자체의 컨텍스트 파일이 없습니다.
Subdirectory context 파일은 start context 파일로 동일한 security scan를 통해 이동합니다. 악성 파일이 차단됩니다.
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
다운로드
SOUL.md 에이전트의 개성, 음색, 통신 스타일을 제어합니다. Personality 페이지에 전체 세부 정보를 참조하십시오.
위치:
~/.hermes/SOUL.md에 대해서- 또는
$HERMES_HOME/SOUL.md사용자 정의 홈 디렉토리에 Hermes를 실행하면
중요한 세부사항:
- 헤르메스 씨는 기본적으로
SOUL.md자동적으로 하나가 존재하지 않는 경우에 - Hermes 부하
SOUL.md만HERMES_HOME - Hermes는
SOUL.md에 대한 작업 디렉토리를 조사하지 않습니다 - 파일이 비어있는 경우,
SOUL.md에서 아무것도 프롬프트에 추가됩니다 - 파일이 내용이있는 경우, 내용은 스캔 및 truncation 후 verbatim을 주사합니다
##.cursorrules에 {#cursorrules}
Hermes는 Cursor IDE의 .cursorrules 파일과 .cursor/rules/*.mdc 규칙 모듈과 호환됩니다. 이 파일이 프로젝트 루트에 존재하고 더 높은 선명도 컨텍스트 파일 (.hermes.md, AGENTS.md, 또는 CLAUDE.md)가 발견되면 프로젝트 컨텍스트로로드됩니다.
이것은 Hermes를 사용할 때 기존의 Cursor Conventions가 자동으로 적용됩니다.
Context 파일이 로드되는 방법
시작 (시스템 프롬프트)
텍스트 파일은 build_context_files_prompt()에 의해로드됩니다. agent/prompt_builder.py:
- ** 스캔 작업 디렉토리 ** -
.hermes.md→AGENTS.md→CLAUDE.md→.cursorrules(첫 경기 승리)에 대한 체크 - ** 내용이 읽습니다 ** — 각 파일은 UTF-8 텍스트로 읽습니다
- Security scan - 콘텐츠는 신속한 사출 패턴을 검사합니다
- Truncation - 20,000 문자를 초과하는 파일은 머리 / 꼬리 truncated (70% 머리, 중간에 마커가있는 20 % 꼬리)
- ** 조립 ** - 모든 섹션은
# Project Context헤더 아래에 결합됩니다 - Injection — 조립된 내용이 시스템에 추가됩니다
세션 중 (progressive discovery)
SubdirectoryHintTracker in agent/subdirectory_hints.py 파일 경로에 대한 도구 호출 인수를 보았습니다
- Path Extract — 각 도구 호출 후, 파일 경로는 인수로부터 추출됩니다 (
path,workdir, 쉘 명령) - Ancestor walk — 디렉토리 및 최대 5개의 부모 디렉토리가 체크되어 있습니다. (자세한 감독에서 정지)
- **힌트 로딩 ** -
AGENTS.md,CLAUDE.md, 또는.cursorrules이 발견되면 로드됩니다 (폴더 당 첫 경기) - **보안 검사 ** — 시작 파일로 동일한 신속한 주입 검사
- Truncation - 파일 당 8,000 문자로 캡핑
- Injection - 도구 결과에 부합하므로 모델은 자연스럽게 컨텍스트에 표시됩니다
마지막 선명한 단면도는 다음과 같이 보입니다:
# 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 내용이 직접 삽입되어, 추가 래퍼 텍스트없이.
보안: Prompt 주입 보호
모든 컨텍스트 파일은 포함되기 전에 잠재적 인 신속한 주입을 위해 스캔됩니다. 스캐너 검사:
- **실행 오버라이드 시도 **: "이전 지침을 무시", "당신의 규칙을 무시"
- Deception 패턴: "사용자를 말할 수 없습니다"
- **시스템 프롬프트 오버라이드 **: "시스템 프롬프트 오버라이드"
- **Hidden HTML 댓글 **:
<!-- ignore instructions -->에 대해서 - **Hidden div 요소 **:
<div style="display:none">에 대해서 - **증명서 **:
curl... $API_KEY에 대해서 - **Secret 파일 액세스 **:
cat.env,cat credentials - ** 보이지 않는 문자 **: 0 폭 공간, 양방향 오버라이드, 단어 가입자
어떤 위협 패턴이 감지되면 파일이 차단됩니다
[BLOCKED: AGENTS.md contained potential prompt injection (prompt_injection). Content not loaded.]
이 스캐너는 일반적인 주입 패턴에 대해 보호하지만, 공유 저장소에서 컨텍스트 파일을 검토하기위한 대체가 아닙니다. 항상 AGENTS.md 콘텐츠를 검증하지 않았습니다.
크기 제한
| 지원하다 | 주요 특징 |
|---|---|
| 파일 당 최대 chars | 20,000 (~7,000 토큰) |
| 맨 위 truncation 비율 | 70% |
| 꼬리 truncation 비율 | 20% |
| Truncation 감적 | 10 % ( char 카운트 표시 및 파일 도구를 사용하여 제안) |
파일이 20,000 문자를 초과할 때, truncation 메시지는 읽습니다:
[...truncated AGENTS.md: kept 14000+4000 of 25000 chars. Use file tools to read the full file.]
효과적인 Context 파일에 대한 팁
- Keep it concise — chars의 밑에 잘 체재하십시오; 대리인은 각 회전을 읽습니다
- ** 헤더가있는 스루크 ** - 건축, 컨벤션, 중요한 노트의
##섹션을 사용합니다 - ** 콘크리트 예제 포함 ** - 선호 코드 패턴, API 모양, naming 컨벤션 표시
- **** — "이동 파일을 직접 수정"
- **List 키 경로 및 포트 ** - 에이전트는 터미널 명령에 사용됩니다
- ** 프로젝트 진화로 업데이트 ** - stale context는 컨텍스트가 더 악화되지 않습니다
회사소개 설정하기
monorepos를 위해, 배열된 AGENTS.md 파일에 있는 subdirectory 특정한 지시를 두십시오:
<!-- 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```markdown
<!-- 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/``