Skip to main content

프롬프트 주입 시스템

AI 에이전트에게 시스템 지침과 작업 맥락을 자동으로 전달하는 시스템입니다.

개요​

기존의 inject/ 폴더 방식은 AGENTS.*.md 계층 시스템으로 대체되었습니다. make claude 실행 시 CLI가 --append-system-prompt 파라미터로 자동 주입합니다.

주입 계층​

/AGENTS.SYSTEM.md                        ← 전역 시스템 규칙
/AGENTS.USER.md ← 전역 작업 맥락
↓ 병합
{project}/AGENTS.SYSTEM.md ← 프로젝트 시스템 규칙
{project}/AGENTS.USER.md ← 프로젝트 작업 맥락
↓ 병합
.claude/AGENTS.SYSTEM.md ← Claude 어댑터 규칙
↓ 병합
user-prompt-submit.sh 동적 주입 ← 세션 요약, 환경 정보
순서코드파일역할주입 대상
1GS/AGENTS.SYSTEM.md전역 시스템 프롬프트Claude + 외부 LLM
1GU/AGENTS.USER.md전역 작업 맥락Claude + 외부 LLM
2PS{project}/AGENTS.SYSTEM.md프로젝트별 규칙Claude + 외부 LLM
2PU{project}/AGENTS.USER.md프로젝트별 맥락Claude + 외부 LLM
3IS.claude/AGENTS.SYSTEM.md어댑터 규칙Claude만

주입 방식​

CLI 주입 (시스템 프롬프트)​

make claude가 AGENTS.SYSTEM.md 파일들을 읽어서 --append-system-prompt로 전달합니다:

# ops/makefile/claude.mk에서 자동 처리
claude --append-system-prompt "$(cat AGENTS.SYSTEM.md)"

이 방식으로 주입된 내용은 AI가 파일을 별도로 Read할 필요 없이 시스템 프롬프트에 직접 포함됩니다.

Hook 주입 (동적 컨텍스트)​

user-prompt-submit.sh가 매 프롬프트마다 동적으로 주입합니다:

주입 내용소스
환경 정보 (Git, Docker)git status, docker ps
세션 요약.ai-core/data/context/summaries/
AGENTS.USER.md프로젝트 작업 맥락
프로젝트 Memory 목록.ai-core/data/memory/
Multi-LLM 의견chorus/consensus 응답
프롬프트 주입 상태 (PI)계층별 토큰 수

프롬프트 컨텍스트 템플릿​

.ai-core/prompt-context/ 폴더에 템플릿이 있습니다:

.ai-core/prompt-context/
├── 001-environment.md # 환경 정보 (Git, Docker)
├── 002-project-context.md # 프로젝트 컨텍스트
├── 003-checklist-status.md # 체크리스트 상태
└── 004-multi-llm-opinions.md # Multi-LLM 의견

user-prompt-submit.sh가 {{VARIABLE}} 플레이스홀더를 실제 값으로 치환합니다.

tmux 상태바에서 확인​

2줄 우측에 PI(Prompt Injection) 상태가 표시됩니다:

GS(3470) GU(53) PS(76) PU PP
코드의미소스
GSGlobal System/AGENTS.SYSTEM.md
GUGlobal User/AGENTS.USER.md
PSProject System{project}/AGENTS.SYSTEM.md
PUProject User{project}/AGENTS.USER.md
PPProfile Prompt(삭제됨)

숫자는 주입된 토큰 수. 어떤 지침이 적용 중인지 한눈에 파악 가능합니다.

SYSTEM vs USER 구분​

구분AGENTS.SYSTEM.mdAGENTS.USER.md
내용규칙, 금지사항, 원칙작업 맥락, 진행 상황
변경 빈도드물게자주
예시"DB 삭제 명령 금지""현재 v2.1.0 작업 중"
주입 방식CLI --append-system-promptHook user-prompt-submit.sh

Consensus용 주입​

/-consensus 실행 시 외부 LLM에만 추가 주입되는 파일:

파일역할
/AGENTS.CONSENSUS.md전역 consensus 지침
{project}/AGENTS.CONSENSUS.md프로젝트별 consensus 지침

Claude 자체에는 주입되지 않고, 외부 LLM(OpenCode, Kilo, Codex, Gemini)에만 전달됩니다.

기존 inject/ 폴더와의 대응​

기존 (.claude/config/inject/)현재 (AGENTS.*.md)
inject/global.md/AGENTS.SYSTEM.md
inject/claude.md.claude/AGENTS.SYSTEM.md
inject/workspace/*.mdworkspace/{project}/AGENTS.SYSTEM.md
inject/sessions/*.mduser-prompt-submit.sh 동적 주입
마이그레이션

기존 inject/ 폴더의 내용은 해당하는 AGENTS.*.md 파일로 옮기면 됩니다. frontmatter(enabled, repeat, expires)는 더 이상 필요하지 않습니다.

make claude 명령과의 관계​

시스템 프롬프트 주입은 make claude 실행 시 run_claude 함수가 담당합니다. 4개 명령 변형(claude/claude-auto/claude-resume/claude-resume-auto)이 있으며, 모두 동일한 주입 로직을 공유합니다.

자세한 내용은 make claude 명령 체계를 참고하세요.

다음 단계​