컨텍스트 엔지니어링 vs. 프롬프트 엔지니어링: LLM 활용의 두 축

source : https://www.youtube.com/watch?v=vD0E3EUb8-8

서론

ChatGPT 같은 대규모 언어 모델(LLM)은 다양한 산업 현장에서 빠르게 활용되고 있습니다. 하지만 같은 모델이라도 **“어떻게 질문하고, 어떤 환경을 제공하느냐”**에 따라 결과의 품질은 크게 달라집니다. 이를 이해하는 핵심 개념이 바로 **프롬프트 엔지니어링(Prompt Engineering)**과 **컨텍스트 엔지니어링(Context Engineering)**입니다.

이 글에서는 두 개념의 차이와 상호 보완적인 역할을 살펴보고, 실제 활용 사례를 통해 LLM 기반 시스템을 최적화하는 방법을 소개합니다.


프롬프트 엔지니어링: 더 나은 질문의 기술

정의와 목적

프롬프트 엔지니어링은 LLM에 입력되는 텍스트를 정교하게 설계하는 과정입니다. 지시사항, 예시, 제약 조건 등을 포함해 모델이 원하는 방식으로 응답하도록 유도하는 기술이죠.
즉, **“모델에게 어떻게 질문할 것인가?”**를 다루는 분야입니다.

주요 기법

  1. 역할 할당(Role Assignment)
    • LLM에게 특정 역할을 부여해 어휘와 관점을 제한합니다.
    • 예: “당신은 보안 취약점을 검토하는 Python 선임 개발자입니다.”
  2. 소수 예시(Few-shot Examples)
    • 2~3개의 입력/출력 쌍을 제공해 응답 형식과 스타일을 학습시킵니다.
  3. 사고의 사슬(Chain of Thought, CoT)
    • *“단계별로 설명하라”*와 같은 지시를 통해 모델이 논리 과정을 드러내도록 유도합니다.
  4. 제약 조건 설정(Constraint Setting)
    • 응답 분량, 출처, 형식 등을 제한해 모델이 벗어나지 않도록 합니다.

한계 사례

예를 들어, “Book me a hotel in Paris for the DevOps conference”라는 프롬프트는 불명확해 파리, 프랑스가 아닌 파리, 켄터키에 호텔을 예약하는 오류를 유발할 수 있습니다.


컨텍스트 엔지니어링: 더 나은 시스템의 설계

정의와 목적

프롬프트 엔지니어링이 질문을 잘 던지는 기술이라면, 컨텍스트 엔지니어링은 LLM이 추론하는 전체 환경을 설계하는 시스템적 접근입니다.
즉, **“모델이 작업을 잘 수행하기 위해 어떤 정보와 도구를 제공할 것인가?”**에 집중합니다.

주요 구성 요소

  1. 메모리 관리 (Memory Management)
    • 단기 메모리: 대화를 요약해 컨텍스트 윈도우에 보존
    • 장기 메모리: 벡터DB 기반 사용자 선호도, 과거 기록 관리
  2. 상태 관리 (State Management)
    • 다단계 프로세스에서 현재 진행 상황 추적
    • 예: 항공권 예약 성공 후, 공항 교통편 예약 단계로 연결
  3. 검색 증강 생성 (RAG, Retrieval Augmented Generation)
    • 관련 문서 중 필요한 부분만 추출해 LLM에 제공
    • 불필요한 전체 문서 대신 핵심 맥락만 전달
  4. 도구 사용 (Tools Integration)
    • LLM 자체는 DB 조회, API 호출을 못함 → 도구를 연결해 외부 작업 수행 가능
    • 예: 온라인 캘린더, 회사 정책 JSON 파일 참조

개선 사례

앞선 호텔 예약 예시에서 컨텍스트 엔지니어링이 적용되면,

  • 캘린더를 조회해 컨퍼런스 위치를 확인
  • 회사 여행 정책(JSON)을 불러와 예산 범위 확인
  • 최종적으로 “파리, 프랑스”에서 정책에 맞는 호텔 예약 성공

프롬프트 vs. 컨텍스트: 상호 보완 관계

  • 프롬프트 엔지니어링 = 더 나은 질문
  • 컨텍스트 엔지니어링 = 더 나은 시스템

둘은 경쟁 개념이 아니라 상호 보완적입니다. 성공적인 AI 시스템을 위해서는 정교한 프롬프트 체계적인 컨텍스트 설계가 함께 필요합니다.


결론

프롬프트 엔지니어링은 LLM의 단기적인 성능 향상에 유효하지만, 장기적으로는 컨텍스트 엔지니어링이 필수입니다.
에이전트 기반 AI가 확산되는 지금, 두 접근법의 조합은 단순한 응답 품질 개선을 넘어 신뢰할 수 있는 AI 시스템 구축의 핵심 전략이 될 것입니다.

👉 결국 “좋은 질문”과 “좋은 시스템”이 만나야 진정한 AI 혁신이 시작됩니다.


 

본 글은 chatgpt를 활용하여 작성되었습니다.

Posted by jerymy
,

프롬프트 엔지니어링: AI와 효과적으로 대화하는 기술

 

서론

생성형 AI(ChatGPT, Claude, Gemini 등)의 등장은 우리의 일상과 업무 방식을 크게 바꾸고 있습니다. 하지만 AI가 언제나 정확하고 원하는 답을 주는 것은 아닙니다. 같은 질문을 해도 모호하거나 엉뚱한 답변이 나오곤 하죠. 그 차이를 만드는 핵심 요인이 바로 **프롬프트 엔지니어링(Prompt Engineering)**입니다.

👉 예시

  • “이 문장을 요약해줘” → AI는 길고 애매한 요약을 할 수 있음
  • “이 문장을 3줄로 요약하고, 핵심 키워드를 5개 뽑아줘” → AI가 명확하고 구조적인 결과를 제공

프롬프트 엔지니어링이란?

  • 정의: AI 모델에 최적의 입력을 제공해 원하는 결과를 이끌어내는 기술
  • 목적: AI의 잠재력을 극대화하고, 오류(예: 환각 현상)를 줄이며, 사용자 의도에 맞는 답변을 얻는 것

👉 예시

  • 단순 질문: “신제품 홍보 아이디어를 알려줘”
  • 프롬프트 엔지니어링 적용:
  • 당신은 10년 경력의 디지털 마케팅 전문가입니다. 타겟은 20~30대 직장인이고, 플랫폼은 인스타그램입니다. ‘친환경 스마트 텀블러’ 출시를 위한 홍보 아이디어 5가지를 제시해주세요. 각 아이디어는 50단어 이내로 설명해주세요.

효과적인 프롬프트의 구성 요소

  1. 지시사항 (Instruction) – AI가 해야 할 작업을 명확하게 전달
  2. 맥락 (Context) – 배경 정보 제공
  3. 입력 데이터 (Input Data) – AI가 처리할 구체적인 질문/텍스트
  4. 출력 형식 (Output Format) – JSON, 표, 글머리 기호 등 원하는 결과 형식
  5. 역할 지정 (Role Assignment) – 전문가, 교사, 마케터 등 특정 관점 설정
  6. 경계 조건 (Constraints) – 하지 말아야 할 것 지정

👉 예시

지시사항: 다음 문서를 요약해 주세요.  
맥락: 당신은 경영 컨설턴트입니다.  
입력 데이터: """2024년 글로벌 AI 산업 동향 보고서 내용..."""  
출력 형식: 불릿 포인트 5개로 요약  
역할: 전략 기획 전문가  
경계 조건: 과장된 표현은 피하고, 숫자는 원문 그대로 유지

기본 프롬프트 기법

  • Zero-shot: 예시 없이 바로 지시
  • Few-shot: 몇 가지 예시 제시
  • Step-by-step: 복잡한 문제를 단계별로 지시

👉 예시

  • Zero-shot
  • 이 문장이 긍정, 부정, 중립 중 어디에 속하는지 분류해주세요: "오늘 점심이 맛있었다."
  • Few-shot
  • 입력: "오늘 날씨가 좋아요." → 긍정 입력: "이 영화는 너무 지루했어." → 부정 입력: "버스가 10분 뒤에 도착한다." → 중립 입력: "이 제품은 기대 이상이었어." → ?
  • Step-by-step
  • 한 사과는 1,500원이고, 배 한 개는 사과 두 개 가격입니다. 사과 2개와 배 3개의 총 가격을 단계별로 계산해주세요.

고급 프롬프트 기법 (상세 설명 포함)

아래 기법들은 단순 요청 수준을 넘어, 더 정교하고 안정적인 결과를 이끌어내는 고급 전략입니다.


1) Chain-of-Thought (CoT)

개념
모델이 답만 내놓지 않고 사고 과정을 단계별로 전개하도록 유도하는 기법. 복잡한 계산·추론·절차 문제에서 정답률을 높입니다.

언제 쓰나

  • 계산/논리/규칙 기반 문제(가격 산출, 일정 최적화, 데이터 전처리 단계 설계)
  • 다단계 의사결정(우선순위 선정, 리스크 평가)

작성 팁 (체크리스트)

  • “단계별로”, “근거를 제시”, “중간 계산을 명시” 같은 표현 추가
  • 입력 데이터는 정리된 표/리스트로 제공
  • 마지막 줄에 “최종 답만 한 줄로 요약” 요청

흔한 함정

  • 너무 포괄적인 질문 → 군더더기 많은 추론
  • 길이 제한 미설정 → 장황한 결과

템플릿

[역할/맥락]. 아래 문제를 단계별로 해결하세요.
1) 필요한 가정 명시  
2) 단계별 계산/추론  
3) 근거 요약  
4) 최종 답 한 줄
입력: """[데이터/문제]"""
출력 형식: 
- reasoning: 단계별 사고
- answer: 최종 답

실전 예시

당신은 리테일 가격전략 분석가입니다.  
입력: 원가 35,000원, 유통수수료 8%, 광고비 2,000원/개, 목표 마진율 25%  
요구: 1) 판매가 2) 순이익 3) 수수료 ±2% 민감도 분석  

2) Tree-of-Thoughts (ToT)

개념
CoT를 확장해 여러 사고 경로를 가지치기처럼 생성·평가·선택하는 방식. 탐색적 기획·전략 선택에 적합.

언제 쓰나

  • 대안이 여러 개이고 트레이드오프가 명확한 문제
  • 전략/정책 선택, 기획안 비교

작성 팁 (체크리스트)

  • 대안 3~5개 생성
  • 평가기준 수치화(가중치 합계, 리스크 점수 등)
  • 지나친 브랜치 생성은 피함

흔한 함정

  • 평가기준 불명확 → 임의적 선택
  • 브랜치 과다 → 산만함

템플릿

[역할/맥락]. 아래 목표를 위해 3~4개 대안을 제시하세요.
평가기준: 비용(0.3), 시장임팩트(0.4), 리스크(0.3)
출력:
- options: 각 대안 요약
- scoring: 기준별 점수표
- tradeoffs: 장단점
- recommendation: 최적안 + 실행 첫 단계

실전 예시

목표: 분기 내 리드 30% 증가(예산 5천만 원)
대안: 검색광고 / 리타겟팅 / 웨비나 / 파트너십

3) RAG (Retrieval-Augmented Generation)

개념
모델의 답변을 **외부 지식(문서·데이터)**로 보강해 사실성 신뢰성을 높이는 방식.

언제 쓰나

  • 최신 정보/사실 검증이 필요한 리서치
  • 사내 문서 기반 Q&A

작성 팁 (체크리스트)

  • 출처 필드 분리
  • 답변 범위 제한(“문서 범위 밖=모름”)
  • 요약 규칙 명시

흔한 함정

  • 출처 미표기 → 신뢰도 저하
  • 무관한 추론 → 환각

템플릿

[역할/맥락]. 제공 문서 내 근거로만 답하세요.  
문서: """[...]"""  
질문: [질문]  
출력: answer, evidence, sources

실전 예시

당신은 보안 담당자입니다.  
질문: SaaS 도입 시 데이터 암호화 요건은?  
문서: """회사 보안정책 v3.2"""

4) Self-Consistency (자기 일관성)

개념
여러 사고 경로/샘플을 생성한 뒤, 가장 일관된 답을 선택.

언제 쓰나

  • 풀이 경로가 다양한 문제(수학, 최적화, 로지스틱스)
  • 단일 샘플 오류 줄이고 싶을 때

작성 팁 (체크리스트)

  • 최소 3~5회 시도
  • 선정 기준 명시(다수결, 근거 충실성)

흔한 함정

  • 동일한 접근만 생성 → 다양성 부족

템플릿

문제를 5가지 방식으로 풀어주세요.  
각 시도: method, steps, result  
최종: best_result, 선정 근거

실전 예시

배송 경로 최적화: 도시 7곳, 차량 2대, 시간창 제약  
서로 다른 알고리즘으로 5회 시도 후 최적안 제시

5) 프롬프트 체이닝 (Prompt Chaining)

개념
복잡한 작업을 여러 단계 프롬프트로 나누어 순차 실행.

언제 쓰나

  • 보고서/콘텐츠 제작 프로세스
  • 데이터 파이프라인 설계

작성 팁 (체크리스트)

  • 각 단계 입력·출력 포맷 고정
  • 중간 산출물 검증 규칙 포함

흔한 함정

  • 단계 간 포맷 불일치 → 실패

예시 (제품 백서 작성)
1단계: 목차 추출(JSON)
2단계: 본문 초안 작성
3단계: 요약, 표, CTA 추가


6) XML/태그 기반 지시

개념
프롬프트를 태그 구조로 분리 → 모델이 혼동 없이 처리.

언제 쓰나

  • 여러 규칙, 금지어, 예시 포함해야 할 때

작성 팁

  • <instruction>, <context>, <input>, <constraints> 활용

예시

<instruction>중견기업 CTO 대상 블로그 작성</instruction>
<context>톤=전문+친근, 길이=1200단어</context>
<constraints>과장 금지, 통계 출처 필수</constraints>

7) Prefill & Few-Shot 결합

개념
모델 답변의 첫 문장/형식을 미리 채워 톤·구조를 고정.

언제 쓰나

  • 브랜드 톤, 보고서 표준 서식 고정 필요할 때

예시

제목: [자동생성]
요약: [2문장]
본문: 1) ... 2) ...
결론: ...

8) 도메인 특화 템플릿

개념
산업·조직에 맞춘 반복 템플릿.

예시 (채용 공고)

회사 소개(3문장)
주요 업무(3~5개)
자격 요건(필수·우대)
포용성 문구 포함

9) 메타 프롬프팅

개념
프롬프트 자체를 평가·개선하거나 A/B 테스트.

예시 (FAQ 최적화)

프롬프트 A와 B를 동일 데이터에 적용해 테스트.  
평가 기준: 사실성, 톤, 구조 준수.  
승자와 개선 포인트 제시.

 


도전 과제와 해결 전략

  • 편향(Bias) → 표현 균형 유지
  • 환각(Hallucination) → 출처 요구, “모름” 허용
  • 모델 한계 → 비판적 검토, 외부 데이터 결합

👉 예시

출처 없는 답변은 허용하지 말고, 
근거 없을 경우 "알 수 없음"이라고 답하세요.

결론

프롬프트 엔지니어링은 단순한 기술이 아니라 AI 활용 역량을 결정짓는 핵심 스킬입니다.

  • 명확하고 구체적인 프롬프트는 결과 품질을 극대화합니다.
  • CoT, ToT, RAG 같은 고급 기법은 복잡한 문제 해결에 유용합니다.
  • 반복적 개선과 비판적 검토가 좋은 프롬프트를 만듭니다.

👉 최종 예시

당신은 채용 담당자입니다.  
20대 신입 개발자가 쓸 자기소개서 예시를 작성해주세요.  
항목: ① 성장 과정, ② 지원 동기, ③ 기술 역량, ④ 향후 포부  
각 항목은 300자 내외, 전문적이면서 진솔한 톤으로 작성

 

본 글은 chatgpt를 활용하여 작성되었습니다.

Posted by jerymy
,