/Part 1: 기초/시스템 프롬프트 아키텍처
🧬
Part 1중급⏱ 약 40분 · 3개 섹션

시스템 프롬프트 아키텍처

에이전트의 뇌를 프로그래밍하기

시스템 프롬프트 아키텍처 대표 이미지
이 챕터에서 배울 것
  • 시스템 프롬프트는 정적(캐시 가능)과 동적(세션별) 부분으로 분리
  • feature() 빌드 타임 게이트로 사용하지 않는 프롬프트 섹션 제거
  • 프롬프트 조합은 함수형 패턴으로 구현
전체 아키텍처에서 현재 위치
⚙️코어 엔진
🔧도구 시스템
🛡️보안
🧠컨텍스트
🤝멀티 에이전트
🌐생태계
인프라
1

프롬프트 구조와 캐시 경계

SYSTEM_PROMPT_DYNAMIC_BOUNDARY 패턴과 캐시 최적화

캐시 경계정적/동적 분리토큰 최적화|constants/prompts.ts

src/constants/prompts.ts54KB의 시스템 프롬프트 파일입니다. 핵심은 캐시 경계(Cache Boundary) 패턴입니다.

캐시 경계 패턴
1// 시스템 프롬프트는 두 영역으로 분리:
2// ═══ 정적 영역 (캐시 가능) ═══
3// - 도구 사용 지침, 보안 규칙, 출력 형식
4const SYSTEM_PROMPT_DYNAMIC_BOUNDARY = "<!-- DYNAMIC -->"💡
5// ═══ 동적 영역 (세션마다 다름) ═══
6// - Git 상태, CLAUDE.md, 메모리, MCP 서버, 환경 정보
💡 캐시의 가치
Anthropic API는 시스템 프롬프트 접두사가 이전 요청과 동일하면 캐시를 활용합니다. 정적 영역을 앞에 배치하면 매 요청에서 토큰 처리 비용을 절약합니다.
2

프롬프트 조합 패턴

getHooksSection, getLanguageSection 등 함수형 프롬프트 조합

함수형 조합피처 게이트조건부 섹션|constants/prompts.tscontext.ts

프롬프트는 함수형 조합 패턴으로 구성됩니다. 피처 게이트로 불필요한 섹션을 빌드 타임에 제거합니다.

프롬프트 조합
1// 피처 게이트 기반 조건부 모듈 로딩
2const getCachedMCConfig = feature('CACHED_MICROCOMPACT')
3 ? require('../services/compact/cachedMCConfig.js') : null
4
5// 프롬프트 섹션 조합
6function buildSystemPrompt(options) {
7 return [
8 getBaseInstructions(), // 정적
9 getToolsSection(tools), // 준정적
10 SYSTEM_PROMPT_DYNAMIC_BOUNDARY, // ← 캐시 경계
11 getEnvironmentSection(env), // 동적
12 getMemorySection(memory), // 동적
13 ].filter(Boolean).join("\n\n")
14}
3

도구 설명 작성 패턴

모델이 도구를 올바르게 선택하도록 하는 설명 작성 기법

도구 설명입력 스키마 설명사용 예시제약 조건|tools/BashTool/prompt.tstools/FileEditTool/prompt.tstools/GrepTool/prompt.ts

각 도구의 prompt.ts가 모델에게 도구 사용법을 설명합니다. ALWAYS/NEVER 키워드가 핵심입니다.

도구 설명 패턴
1// src/tools/GrepTool/prompt.ts
2export const description = `A powerful search tool built on ripgrep
3 Usage:
4 - ALWAYS use Grep for search tasks.💡
5 NEVER invoke \`grep\` as a Bash command.
6 - Supports full regex syntax
7 - Use Agent tool for multi-round searches`
💡 도구 설명의 4원칙
1) ALWAYS/NEVER로 강한 지시, 2) 구체적 사용 예시, 3) 다른 도구와의 차이, 4) 입력 파라미터 형식. 이 4가지가 도구 선택 정확도를 결정합니다.
?

이해도 확인 퀴즈

시스템 프롬프트에서 정적 영역과 동적 영역을 분리하는 가장 중요한 이유는?

학습 체크리스트

이해한 항목을 체크하고 학습 진도를 확인하세요

0/4 완료0%

📋 Chapter 3 요약: 시스템 프롬프트

이 챕터에서 배운 핵심 개념을 정리합니다

1
캐시 경계
정적/동적 영역을 분리하여 API 캐시 활용, 비용 절감.
2
함수형 조합
getHooksSection, getToolsSection 등 함수로 프롬프트를 모듈화.
3
피처 게이트
feature()로 빌드 타임에 사용하지 않는 프롬프트 코드를 제거.
4
도구 설명
ALWAYS/NEVER, 예시, 차이, 파라미터의 4원칙으로 모델의 도구 선택 정확도를 높임.

다음 챕터 미리보기: Part 2에서는 이 프롬프트에 의해 호출되는 '도구 시스템'을 상세히 분석합니다.