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 claudeAGENTS.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 명령 체계를 참고하세요.

다음 단계