
💡 AI를 잘 다루는 두 가지 핵심 역량 — 프롬프트 엔지니어링과 컨텍스트 엔지니어링. 비슷해 보이지만 범위와 철학이 완전히 다릅니다. 이 글에서 두 개념을 명확히 정리하고, 실전에서 언제 무엇을 써야 하는지 알아봅니다.
1. 등장 배경 — 왜 지금 이 개념인가?
AI 활용이 일상화되면서 "AI를 얼마나 잘 다루느냐"가 핵심 역량이 되었습니다.
초기 GPT-3 시대에는 프롬프트 엔지니어링이 AI 활용 능력의 전부였습니다. "어떻게 말하면 AI가 잘 대답하나?"에 집중했죠.
하지만 LLM이 점점 더 복잡한 작업을 수행하게 되고, 에이전트(Agent) 기반 시스템이 등장하면서 새로운 개념이 주목받기 시작했습니다. 바로 컨텍스트 엔지니어링입니다.
2. 프롬프트 엔지니어링 (Prompt Engineering)
LLM에 전달하는 입력 텍스트(프롬프트) 자체를 정교하게 설계하여 원하는 출력을 이끌어내는 기법입니다.
핵심 특징
- 범위: 단일 프롬프트 또는 몇 개의 메시지 교환
- 초점: 지시문의 표현, 어조, 구조, 예시 제공 방식
- 목표: 정확하고 일관된 출력 유도
- 토큰 범위: 수백 ~ 수천 토큰
주요 기법
| 기법 | 설명 | 예시 |
|---|---|---|
| Zero-shot | 예시 없이 바로 지시 | "이 문장을 요약해줘" |
| Few-shot | 예시를 제공해 패턴 학습 | 입력→출력 예시 2~3개 제시 |
| Chain-of-Thought | 단계적 추론 유도 | "단계별로 생각해줘" |
| Role Prompting | 역할 부여 | "당신은 시니어 Java 개발자입니다" |
| Negative Prompting | 하지 말 것 명시 | "절대 코드 없이 설명하지 마세요" |
실전 예시
# 역할 + 형식 지정 + 예시 제공 (Few-shot)
당신은 Spring Boot REST API 설계 전문가입니다.
아래 기능 설명을 보고 엔드포인트를 설계해주세요.
[예시]
기능: 사용자 목록 조회
→ GET /api/users → { users: [...] }
[요청]
기능: 특정 게시글 상세 조회
→ ?
3. 컨텍스트 엔지니어링 (Context Engineering)
단순히 "어떻게 말할까"를 넘어서, 모델이 처리하는 전체 정보 환경을 설계합니다. 시스템 프롬프트, 대화 이력, 외부 문서, 도구 결과, 메모리 등 모델이 보는 모든 것을 구성하는 공학적 접근입니다.
핵심 특징
- 범위: 컨텍스트 윈도우 전체 (수만 ~ 수십만 토큰)
- 초점: 정보의 선택, 배치, 압축, 우선순위
- 목표: 모델이 올바른 판단을 내릴 수 있는 정보 환경 구성
- 핵심 역량: 시스템 설계 능력
주요 구성 요소
- System Prompt: 모델의 역할, 규칙, 제약을 장기적으로 정의
- RAG (Retrieval-Augmented Generation): 관련 문서를 동적으로 주입
- Memory 관리: 장기/단기 메모리 설계 (대화 요약, 사용자 프로필 등)
- Tool Use 결과 주입: 검색·DB 조회·API 호출 결과를 컨텍스트로 삽입
- Multi-turn 이력 관리: 어디까지 대화를 유지할 것인지 설계
- Agent 워크플로우 상태 전달: 이전 서브에이전트 결과를 다음 단계로 전달
실전 예시 — Claude Code의 CLAUDE.md
Claude Code를 써보셨다면 이미 컨텍스트 엔지니어링을 경험한 것입니다. CLAUDE.md가 바로 컨텍스트 엔지니어링의 대표 사례입니다.
# CLAUDE.md — 컨텍스트 엔지니어링 실제 사례
## 프로젝트 개요
- 학사행정 시스템 (Spring Boot + MariaDB)
- 배포 환경: Docker Compose
## 코딩 규칙
- 변수명은 camelCase 사용
- 모든 서비스 클래스에 @Transactional 적용
## 현재 작업 중인 모듈
- 수강신청 API (EnrollmentController.java)
## 절대 금지
- 프로덕션 DB에 직접 쿼리 실행 금지
- System.out.println 사용 금지 (로거 사용)
이 파일 하나로 모델은 매번 설명 없이도 프로젝트의 전체 맥락을 파악하고 작업합니다. 이것이 컨텍스트 엔지니어링의 핵심입니다.
4. 핵심 비교 분석
| 구분 | 🟣 프롬프트 엔지니어링 | 🟢 컨텍스트 엔지니어링 |
|---|---|---|
| 범위 | 단일 입력 메시지 | 컨텍스트 윈도우 전체 |
| 초점 | 지시문의 표현과 구조 | 정보 환경 전체 설계 |
| 시간적 관점 | 요청 시점 (정적) | 지속적·동적 구성 |
| 주요 기법 | CoT, Few-shot, Role | RAG, Memory, Tool Use, Agent |
| 토큰 규모 | 수백 ~ 수천 토큰 | 수만 ~ 수십만 토큰 |
| 적용 대상 | 단순 Q&A, 텍스트 생성 | 에이전트, 복잡한 워크플로우 |
| 핵심 역량 | 언어적 표현력 | 시스템 설계 능력 |
| 등장 시기 | GPT-3 시대 (2020~) | 긴 컨텍스트·에이전트 시대 (2023~) |
| 인프라 필요 | 불필요 | RAG, 벡터 DB, 메모리 시스템 등 |
5. 포함 관계 — 대립이 아니다
두 개념을 경쟁 관계로 보는 시각이 있지만, 실제로는 포함 관계입니다.
│ Context Engineering │
│ │
│ ┌────────────────────────────────┐ │
│ │ Prompt Engineering │ │
│ │ (시스템 프롬프트 작성 포함) │ │
│ └────────────────────────────────┘ │
│ │
│ + RAG + Memory + Tool Results │
│ + 대화 이력 관리 + Agent 상태 전달 │
└─────────────────────────────────────────────┘
좋은 컨텍스트 엔지니어는 반드시 프롬프트 엔지니어링 능력도 갖추어야 합니다. 시스템 프롬프트를 잘 작성하는 것 자체가 프롬프트 엔지니어링이기 때문입니다.
6. 언제 무엇을 써야 하나?
🟣 프롬프트 엔지니어링이 적합한 경우
- 단발성 질문/답변 (챗봇 Q&A)
- 텍스트 분류, 요약, 번역 등 단순 작업
- 프로토타이핑 단계에서 빠른 실험
- 소규모 자동화 스크립트
- 블로그 초안 생성, 이메일 작성 등 1회성 요청
🟢 컨텍스트 엔지니어링이 적합한 경우
- 멀티턴 대화 시스템 (고객 상담 AI)
- 에이전트 기반 시스템 (Claude Code, MCP 워크플로우)
- RAG 시스템 — 사내 문서 검색 + 답변
- 코드 생성 도우미 — 프로젝트 전체 구조 인식 필요
- 장기적인 프로젝트 협업 AI
- Google Calendar·Gmail·Drive 같은 MCP 연동 시스템
📌 마무리 요약
- 🟣 프롬프트 엔지니어링 = "잘 말하는 기술" → 표현과 구조 최적화, 단일 입력 중심
- 🟢 컨텍스트 엔지니어링 = "잘 보여주는 기술" → 정보 환경 전체 설계, 시스템 중심
- 🔗 두 개념은 대립이 아닌 포함 관계 — 컨텍스트 엔지니어링이 프롬프트 엔지니어링을 포함
- 📈 LLM을 에이전트/시스템으로 활용할수록 컨텍스트 엔지니어링의 중요도가 높아짐
- 💡 두 역량 모두 AI 시대의 핵심 경쟁력 — 함께 발전시켜야 함
'AI' 카테고리의 다른 글
| AI 시대, 몸값 높이는 상위 1%의 대화법: PRO-MPT 프롬프트 공식 (1) | 2026.01.31 |
|---|---|
| AI 프롬프트 작성의 게임체인저, Co-STAR 템플릿 완벽 가이드 (1) | 2025.12.08 |
| Anthropic Claude 4.5 완벽 가이드 - Opus, Sonnet, Haiku 비교 분석 (0) | 2025.11.26 |
| 디지털 시대의 필수 역량, 디지털 문해력이란? (2) | 2025.09.17 |
| AI와 대화하는 9가지 기술: 프롬프트 엔지니어링 기초 접근법 (2) | 2025.09.09 |