[250707월1392H] 자연어 처리 이론 (8) Prompt Engineering, Chain of Thought

윤승호·2025년 7월 7일

모델 만들다가 갑자기 완성된 모델에 프롬프트를 넣으려니 기분이 이상하다.

학습시간 09:00~02:00(당일17H/누적1392H)


◆ 학습내용

1. Prompt Engineering

(1) 정의

  • 인공지능(AI) 모델로부터 원하는 결과를 얻기 위해 입력 텍스트(프롬프트)를 설계하고 최적화하는 과정
  • AI가 더 정확하고 관련성 높은 답변을 생성하도록 유도하는 기술
  • 같은 AI 모델이라도 프롬프트의 품질에 따라 결과물의 수준이 크게 달라짐
  • 명확한 프롬프트를 통해 AI의 잠재력을 최대한으로 이끌어낼 수 있음
  • 원하는 결과물을 얻기 위한 반복적인 수정 작업을 줄여 효율성을 높임

(2) 주의사항

  • AI가 오해하지 않도록 명확한 단어와 구체적인 표현을 사용해야 함
  • 원하는 결과물의 형식, 길이, 톤앤매너 등을 구체적으로 제시하는 것이 좋음
  • AI가 사용자의 의도를 더 잘 파악할 수 있도록 관련 배경 정보를 함께 제공
  • 대화의 이전 내용이나 관련 지식을 프롬프트에 포함시키면 더 나은 답변을 얻을 수 있음
# Bad
# 파이썬 함수에 대해 설명해줘.

# Good
# 파이셔 초보자를 위해, 파이썬의 '함수(function)'가 무엇인지 설명해줘. 
# 매개변수(parameter)와 반환값(return value)의 개념을 포함해서, 
# 간단한 코드 예시와 함께 3문단으로 요약해줘.

2. 주요 기법

(1) New Tasks Without Extensive Training

Zero-Shot Prompting

  • AI에게 별도의 예시 없이 바로 작업을 요청하는 방식
  • AI가 기존에 학습한 방대한 데이터를 기반으로 추론하여 답변 생성
  • 가장 간단하고 빠른 프롬프팅 기법으로 일반적인 지식이나 간단한 작업에 효과적
  • 단, 복잡하거나 특정 형식을 요구하는 작업에서는 정확도가 다소 떨어질 수 있음
# 텍스트: "이 영화는 정말 시간 가는 줄 모르고 봤어요. 배우들 연기가 대박!"
# 위 텍스트의 감정을 '긍정', '부정', '중립' 중에서 분류해줘

Few-Shot Prompting

  • AI에게 몇 가지 예시(Shot)를 먼저 제공하여 작업의 패턴을 학습시키는 방식
  • 사용자가 원하는 결과물의 형식이나 규칙을 예시를 통해 명확하게 전달
  • 제로샷 방식보다 훨씬 정확하고 일관성 있는 결과물을 얻을 수 있음
  • 특정 규칙이 있는 분류나 정해진 스타일의 텍스트 생성 시 매우 유용함
# 텍스트: "완전 재밌어! 또 보고 싶다."
# 감정: 긍정
#
# 텍스트: "돈이 아까웠어요. 너무 지루해요."
# 감정: 부정
#
# 텍스트: "오늘 날씨가 좋네요."
# 감정: 중립
#
# 텍스트: "역대급 명작의 탄생! 강력 추천합니다."
# 감정:

(2) Reasoning

Chain-of-Thought (CoT) Prompting

  • 복잡한 문제를 풀 때 생각의 흐름을 단계별로 보여달라고 요청하는 방식
  • AI가 최종 답변만 내놓는 게 아니라, 정답에 이르는 추론 과정을 스스로 설명하게 만듦
  • 수학 문제나 논리 추론처럼 여러 단계를 거쳐야 하는 질문의 정확도를 크게 향상시킴
# 질문: 카페에 사과가 5개 있었는데, 2개를 팔고 새로 3개를 더 들여왔어. 지금 사과는 총 몇 개야?
# 이 문제를 풀기 위해 단계별로 생각해서 설명해줘.

Automatic Chain-of-Thought (Auto-CoT) Prompting

  • CoT를 제로샷(Zero-shot) 방식으로 구현한 것
  • 사용자가 직접 생각의 흐름 예시를 만들어 줄 필요 없이, "단계별로 생각하자(Let's think step by step)" 같은 간단한 문구만 추가
  • AI가 알아서 추론 과정을 생성하도록 유도하여 프롬프트 작성을 간소화
# 질문: 10명의 학생이 팀 프로젝트를 하는데, 한 팀을 2명으로 구성하려면 총 몇 팀이 나와?
# Let's think step by step

Self-Consistency

  • 같은 질문에 대해 여러 개의 다른 추론 과정(CoT)을 생성하도록 요청
  • 생성된 여러 답변 중 가장 많이 나온 답변을 최종 결과로 선택하는, 일종의 다수결 원칙
  • 단일 추론 과정의 오류 가능성을 줄여 결과의 신뢰성과 안정성을 높임
# (개념 예시)
# 질문: [복잡한 문제]
#
# AI의 답변 생성 과정:
# 1. 추론 경로 A -> 결과: 10
# 2. 추론 경로 B -> 결과: 10
# 3. 추론 경로 C -> 결과: 12
#
# 최종 결론: 다수결 원칙에 따라 "10"을 정답으로 채택

Logical Chain-of-Thought (LogiCoT) Prompting

  • CoT에 형식 논리학의 원리를 결합하여 추론의 구조를 더 명확하게 함
  • AI가 기호, 규칙 등 논리적 도구를 사용하여 전제에서 결론을 도출하도록 유도
  • 복잡한 기호 추론이나 형식 검증이 필요한 작업에서 더욱 엄밀하고 정확한 답변을 얻을 수 있음
# 전제 1: 모든 사람은 죽는다.
# 전제 2: 소크라테스는 사람이다.
# 위 전제들을 바탕으로 논리적 추론을 통해 결론을 도출해줘.

Chain-of-Symbol (CoS) Prompting

  • 프롬프트의 핵심 개념이나 개체를 기호(Symbol)로 치환하여 AI가 처리하게 하는 방식
  • "철수", "영희" 같은 자연어 대신 "P1", "P2" 같은 기호를 쓰면 문장의 모호함이 줄어듦
  • 특히 길고 복잡한 맥락에서 여러 개체가 얽혀 있을 때, AI의 오류를 줄이고 추론을 단순화
# 다음 문장의 핵심 개체를 기호로 바꿔서 요약해줘.
# 원문: "대한민국 서울에 사는 김민준은 삼성전자에 다니고, 그의 아내 이지은은 LG전자에서 일한다."
# 예시: P1(김민준), L1(서울), C1(삼성전자), P2(이지은), C2(LG전자). P1은 L1에 살고 C1에 다닌다...

Tree-of-Thoughts (ToT) Prompting

  • 하나의 문제를 풀기 위해 여러 개의 추론 경로를 나무 가지처럼 탐색하는 기법
  • 각 단계에서 여러 가능한 다음 생각을 생성하고, 그중 가장 좋아 보이는 경로를 선택하여 탐색을 이어감
  • 막다른 길에 다다르면 이전 단계로 돌아가 다른 경로를 시도(백트래킹)할 수 있어 복잡한 문제 해결에 유리
# 문제: 체스 게임에서 현재 상황을 보고, 이길 수 있는 최적의 다음 수를 찾아줘.
# 1. 가능한 모든 수를 나열해줘.
# 2. 각 수의 장단점을 평가해줘.
# 3. 가장 승률이 높은 수를 선택하고 그 이유를 설명해줘.

Graph-of-Thoughts (GoT) Prompting

  • ToT를 확장한 개념으로, 생각의 흐름을 나무가 아닌 더 유연한 그래프 구조로 표현
  • 여러 추론 경로를 단순히 탐색하는 것을 넘어, 서로 다른 경로의 생각들을 합치거나 변형할 수 있음
  • ToT보다 더 복잡한 문제 구조를 표현할 수 있어 창의적인 해결책이나 종합적인 분석에 강점을 보임
# (개념 예시)
# 주제: 신제품 개발 아이디어
#
# 1. 아이디어 A, B, C를 각각 발전시켜 줘 (ToT처럼 분기)
# 2. 아이디어 A의 장점과 아이디어 C의 장점을 결합한 새로운 아이디어 D를 만들어 줘 (GoT의 '합치기')
# 3. 최종적으로 가장 사업성 있는 아이디어를 선택해 줘

System 2 Attention (S2A) Prompting

  • AI가 답변을 생성하기 전에, 먼저 질문의 핵심 내용과 배경을 스스로 분석하고 요약하도록 지시
  • 마치 사람이 중요한 부분을 밑줄 그으며 읽듯, AI가 주요 정보에 더 주의를 기울이게 만드는 효과
  • 질문의 의도를 잘못 파악해서 생기는 오류를 줄이고 답변의 관련성을 높임
# [긴 보고서 내용...]
# 위 보고서를 바탕으로 마케팅 전략을 제안해줘.
# 답변하기 전에, 먼저 위 보고서의 핵심 주장과 주요 데이터를 3가지로 요약해줘. 그 다음에 전략을 제안해줘.

Thread of Thought (ThoT) Prompting

  • 매우 긴 문서나 대화의 맥락을 놓치지 않도록 생각의 실타래를 유지하는 기법
  • 전체 내용을 한 번에 처리하는 대신, 관련된 부분들을 순차적으로 또는 요약하며 일관된 흐름을 관리
  • 긴 보고서 요약이나 장시간의 고객 상담 분석 등 지속적인 맥락 유지가 중요한 작업에 효과적
# [10페이지 분량의 논문 PDF]
# 이 논문을 3단계로 요약해줘.
# 1. 서론과 연구 배경을 요약해줘.
# 2. (위 요약을 바탕으로) 연구 방법과 핵심 결과를 요약해줘.
# 3. (전체 요약을 바탕으로) 결론과 시사점을 최종 정리해줘.

Chain-of-Table Prompting

  • 복잡한 정보를 분석하거나 비교할 때, 중간 단계에서 표(Table)를 생성하여 정보를 구조화하도록 요청
  • 여러 항목의 장단점, 스펙 등을 표로 정리하면 AI가 정보를 체계적으로 비교하고 분석하기 쉬워짐
  • 구조화된 데이터를 기반으로 최종 답변을 생성하여 더 논리적이고 일관된 결과를 도출
# 스마트폰 A와 스마트폰 B의 구매를 고민 중이야.
# 아래 정보를 바탕으로 어떤 폰을 살지 추천해줘.
# 먼저 '가격', '카메라', '배터리' 항목으로 두 폰을 비교하는 표를 만들어줘.
# 그 표를 바탕으로 최종 추천을 해줘.

Self-Refine Prompting

  • AI가 생성한 초안을 스스로 비평하고 수정하도록 하여 결과물의 완성도를 높이는 기법
  • '생성 -> 피드백 -> 수정'의 반복적인 과정을 통해 점진적으로 결과물을 개선
  • 글쓰기, 코드 작성 등 초안의 품질을 계속해서 발전시켜야 하는 작업에 매우 유용함
# 1단계: "AI, 세상을 바꾸다"라는 제목의 짧은 블로그 글 초안을 작성해줘.
# 2단계: 위 초안의 문제점을 3가지 지적하고, 그 문제점들을 개선한 최종본을 다시 작성해줘.

Code Prompting

  • 자연어 대신 프로그래밍 코드를 사용해 AI의 추론 과정을 명확하게 만드는 방식
  • 논리적이고 모호함이 없는 코드의 특성을 활용하여 복잡한 계산이나 알고리즘 문제를 해결
  • 특히 파이썬 같은 직관적인 코드를 활용하면, AI가 단계별로 문제를 풀어내는 과정을 효과적으로 지시할 수 있음
# 문제: 1부터 100까지의 모든 홀수의 합을 구해줘.
# 이 문제를 풀기 위한 파이썬 코드를 작성하고, 그 코드를 실행한 결과를 알려줘.

Self-Harmonized Chain-of-Thought (ECHO) Prompting

  • 사용자의 과거 질문이나 대화 기록을 활용하여 현재 질문에 대한 CoT 추론을 생성
  • AI의 답변 스타일이나 관점을 사용자의 의도나 스타일에 맞게 조화시키는 개인화 기법
  • 사용자의 숨은 의도를 파악하여 더욱 만족도 높은 맞춤형 답변을 제공
# (개념 예시)
# 사용자 과거 질문: "간결하고 핵심적인 답변을 선호함"
# 현재 질문: "양자컴퓨터에 대해 설명해줘"
# ECHO 프롬프트: 사용자는 간결한 설명을 원하니, 양자컴퓨터의 핵심 원리를 3줄로 요약하는 단계별 추론을 생성하자.

Logic-of-thought Prompting

  • 본격적인 답변을 생성하기 전에, 먼저 해결 계획을 논리적 구조로 짜도록 하는 기법
  • 답변의 목차나 개요를 먼저 생성하고, 그 구조에 따라 세부 내용을 채워나가는 방식
  • 체계적이고 구조적인 글쓰기나 복잡한 보고서 작성 시 논리의 비약이나 누락을 방지
# 주제: "지구 온난화의 원인과 해결 방안"에 대한 보고서 작성
# 먼저, 이 보고서의 논리적 구조(개요)를 서론, 본론(원인 1,2), 결론(해결방안 1,2) 형식으로 짜줘.
# 그 다음에, 개요에 맞춰 전체 보고서를 작성해줘.

Instance-adaptive Prompting (IAP)

  • 각각의 질문(인스턴스)에 최적화된 맞춤형 프롬프트를 동적으로 생성하는 고급 기법
  • 종종 다른 LLM을 '프롬프트 생성기'로 사용하여, 주어진 질문에 가장 효과적인 프롬프트를 만들어내도록 함
  • 다양한 유형의 질문에 대해 일일이 프롬프트를 튜닝할 필요 없이 높은 성능을 유지
# (개념 예시)
# 원본 질문: "어제 축구 경기 요약해줘"
#
# IAP (LLM A가 생성): "어제 열린 축구 경기의 주요 장면과 최종 스코어를 포함하여 3문장으로 요약해줘"
# -> 이 생성된 프롬프트를 LLM B에 넣어 최종 답변을 얻음

End-to End DAG-Path (EEDP) Prompting

  • 생각의 흐름을 DAG(방향성 비순환 그래프)로 모델링하여 최적의 추론 경로를 찾는 매우 복잡한 기법
  • 시작부터 끝까지 전체적인 추론 구조를 고려하여 가장 효율적이고 정확한 경로를 동적으로 구성
  • 여러 하위 문제를 동시에 고려하고 그 관계를 최적화해야 하는 고도의 추론 작업에 사용
# (개념 예시 - 매우 단순화)
# 문제: A, B, C 세 가지 작업을 가장 효율적으로 끝내는 방법은? (단, B는 A 이후에, C는 B 이후에 가능)
#
# EEDP 프롬프트: 이 문제의 작업 의존성을 DAG로 표현하고, 최단 완료 경로를 찾아 설명해줘.
# -> 결과: A -> B -> C 경로가 유일하며 최적임

Layer-of-Thoughts (LoT) Prompting

  • 하나의 문제를 여러 '겹(Layer)' 또는 관점에서 분석하도록 지시하는 기법
  • 예를 들어, 특정 사회 문제를 경제적, 정치적, 문화적 관점으로 다층적으로 분석하게 만듦
  • 단편적인 분석을 넘어 종합적이고 깊이 있는 통찰력을 제공받고 싶을 때 유용함
# 주제: "전기차 보급 확대 정책"에 대해 분석해줘.
# 1. [경제적 관점]에서 장단점을 분석해줘.
# 2. [환경적 관점]에서 장단점을 분석해줘.
# 3. 위 분석들을 종합하여 최종 결론을 내려줘.

Narrative-of-Thought (NoT) Prompting

  • 논리적 단계 대신, 이야기(서사)를 만들어내는 방식으로 문제에 접근하도록 유도
  • 특정 인물의 관점에서 사건을 경험하게 하거나, 개념을 의인화하여 스토리를 통해 설명하게 만듦
  • 딱딱한 개념을 쉽게 설명하거나, 창의적이고 감성적인 답변을 얻고 싶을 때 효과적
# "양자 얽힘" 현상을 이해하기 어려워.
# 양자 얽힘을 주인공으로 하는 짧은 동화를 만들어서 무슨 개념인지 설명해줄 수 있어?

Buffer of Thoughts (BoT) Prompting

  • 긴 대화나 복잡한 작업 중에 중요한 정보를 임시 저장소(버퍼)에 기록하며 진행하는 방식
  • AI가 이전의 핵심 내용을 잊지 않고, 필요할 때마다 버퍼의 정보를 참조하여 일관성을 유지
  • 여러 단계에 걸쳐 진행되는 프로젝트 계획이나 다중 작업 처리 시 맥락을 잃지 않게 도와줌
# 우리는 지금부터 신제품 개발 회의를 시작할 거야.
# [생각의 버퍼]라는 공간에 회의의 핵심 결정사항들을 계속 기록해줘.
# 먼저, 제품의 타겟 고객은 누구로 할까?
# ... (대화 진행)
# 자, 그럼 지금까지 [생각의 버퍼]에 기록된 내용을 바탕으로 최종 기획안을 정리해줘.

Contrastive Denoising with Noisy Chain-of-Thought(CD-CoT) Prompting

  • AI에게 올바른 추론 과정과 일부러 틀리게 만든 '노이즈 낀' 추론 과정을 함께 보여주는 학습 기법
  • 두 추론을 대조하며 AI가 무엇이 좋은 추론이고 무엇이 나쁜 추론인지 스스로 배우게 함
  • AI의 추론 능력을 근본적으로 개선하여 더 정확하고 강건한(Robust) 모델을 만드는 데 사용
# (개념 예시 - 모델 학습 단계에서 활용)
# 올바른 추론: 2+3=5, 5*2=10. 정답은 10.
# 노이즈 추론: 2+3=5, 5*2=9. 정답은 9.
#
# 프롬프트: 위 두 추론을 비교하고, 왜 '노이즈 추론'이 틀렸는지 설명하게 하여 모델을 학습시킴

Reverse Chain-of-Thought (R-CoT) Prompting

  • 일반적인 CoT와 반대로 결론에서부터 시작하여 원인이나 과정을 역으로 추적하는 방식
  • 이미 알려진 결과를 설명하거나, 특정 결론에 도달하기 위한 논리적 근거를 찾을 때 사용
  • 문제 해결보다는 분석이나 설명, 정당화에 더 초점을 맞춘 기법
# 결론: "그 프로젝트는 실패했다."
# 이 결론에 이르게 된 핵심적인 원인들을 역방향으로 추적해서 3가지 설명해줘.

Chain of Draft (CoD) Prompting

  • 하나의 답변을 점진적으로 개선하는 Self-Refine과 달리, 여러 버전의 초안을 동시에 생성하는 방식
  • 각각의 초안을 독립적으로 발전시키고, 그중 가장 품질이 좋은 초안을 최종 결과물로 선택
  • 다양한 스타일이나 접근법을 동시에 탐색하여 더 창의적이거나 완성도 높은 결과물을 얻을 가능성을 높임
# 주제: "여름 휴가"
# 이 주제로 3가지 다른 스타일의 광고 문구 초안을 동시에 작성해줘.
# 1번 초안: 감성적인 스타일
# 2번 초안: 유머러스한 스타일
# 3번 초안: 정보를 강조하는 스타일

(3) Reduce Hallucination

Retrieval Augmented Generation (RAG)

LLM의 내부 지식에만 의존하지 않고, 외부 데이터베이스(DB)에서 관련 정보를 실시간으로 검색하여 답변에 활용

환각(Hallucination) 현상을 줄이고 최신 정보나 전문 지식을 반영하여 답변의 정확도를 높임

AI가 어떤 정보를 근거로 답변했는지 출처를 제시할 수 있어 신뢰성이 향상됨

1. 사용자 질문 입력
   ↓
2. 외부 DB에서 관련 문서 검색 (Retrieval)
   ↓
3. 검색된 문서 + 원본 질문을 LLM에 전달
   ↓
4. LLM이 검색된 정보를 바탕으로 답변 생성 (Generation)

ReAct Prompting

추론(Reasoning)과 행동(Action)을 번갈아 수행하며 스스로 문제를 해결하는 방식

'다음엔 뭘 해야지?'라고 생각(추론)하고, '검색'이나 '계산' 같은 외부 도구를 사용(행동)하는 과정을 반복함

AI가 마치 사람처럼 필요한 도구를 동적으로 찾아 사용하며 복잡한 작업을 수행하게 만듦

# 질문: "현재 구글의 CEO와 애플의 CEO는 누구야?"

# Thought(생각): 두 회사의 CEO를 각각 찾아야겠다. 먼저 구글 CEO를 검색하자.
# Action(행동): Search("Google CEO")
# Observation(관찰): "순다르 피차이"라는 검색 결과를 얻었다.

# Thought(생각): 이제 애플 CEO를 검색해야지.
# Action(행동): Search("Apple CEO")
# Observation(관찰): "팀 쿡"이라는 검색 결과를 얻었다.

# Thought(생각): 두 명의 CEO를 모두 찾았다. 답변을 조합하자.
# Action(행동): Finish("구글의 CEO는 순다르 피차이, 애플의 CEO는 팀 쿡이야.")

Chain-of-Verification (CoVe) Prompting

AI가 생성한 초안 답변의 사실 관계를 스스로 검증하고 수정하도록 유도하는 기법

AI가 답변을 만든 후, 그 답변이 맞는지 검증용 질문을 스스로 만들고 답하며 오류를 찾아냄

'계획 → 실행 → 검증 → 최종 답변'의 단계를 거쳐 답변의 환각과 사실 오류를 자체적으로 줄임

1. 계획: 질문에 어떻게 답할지 계획
   ↓
2. 실행: 계획에 따라 초안 답변 생성
   ↓
3. 검증: 초안 내용에 대해 "이 주장은 사실인가?", "이름은 정확한가?" 등 검증 질문 생성 후 답변
   ↓
4. 최종 답변: 검증 결과를 바탕으로 초안을 수정하여 최종 답변 생성

Chain-of-Note (CoN) Prompting

긴 문서나 복잡한 정보를 처리할 때, 읽으면서 중요한 내용을 노트 필기하듯 요약하게 하는 기법

각 정보 조각을 읽고, 기존 노트와 얼마나 관련 있는지, 새로운 내용인지 등을 동적으로 평가하며 노트를 업데이트함

사람이 긴 글을 읽으며 핵심을 메모하듯이, AI가 정보의 홍수 속에서 맥락을 잃지 않도록 도와줌

# [아주 긴 기사 내용...]
# 위 기사를 읽고 핵심 내용을 요약해줘.
# 기사를 한 문단씩 읽고, 각 문단의 핵심을 '노트'에 계속 추가하면서 최종 요약문을 만들어줘.

# 노트 1: (첫 문단 요약)
# 노트 2: (두 번째 문단 요약, 노트 1과 연결)
# ...
# 최종 요약: (전체 노트를 종합한 내용)

Chain-of-Knowledge (CoK) Prompting

질문에 답변하기 전에, AI에게 먼저 관련된 사전 지식(Knowledge)을 스스로 생성하게 요청

AI 내부의 지식을 명시적으로 꺼낸 뒤, 그 지식과 외부 검색 결과를 종합하여 답변의 질을 높임

RAG가 외부 지식을 가져온다면, CoK는 AI의 내부 지식을 먼저 활성화하고 이를 외부 지식과 결합하는 방식

1. 사용자 질문 입력: "미국의 초대 대통령에 대해 알려줘."
   ↓
2. 내부 지식 활성화: (AI 스스로 생각) "조지 워싱턴, 독립 전쟁, 대통령 임기 등 관련 지식이 필요함"
   ↓
3. 외부 정보 검색(선택): 웹에서 최신 정보나 추가 정보 검색
   ↓
4. 지식 통합 및 답변 생성: 내부 지식 + 외부 정보를 종합하여 답변 생성

3. 문제

Prompt Engineering - 논문에서 설명하는 프롬프트 엔지니어링의 가장 핵심적인 특징은 무엇인가요?

  • 모델의 파라미터 변경 없이, 입력 텍스트(프롬프트) 구성을 최적화하여 원하는 결과를 이끌어내는 작업
  • 언어 모델과의 상호작용을 통해 성능을 극대화하는 방법을 연구하는 분야
  • 좋은 프롬프트는 모델이 가진 잠재적 지식을 효과적으로 활성화시키는 역할을 함

모델에게 아무런 예시(example)를 제공하지 않고, 오직 작업에 대한 설명만으로 결과를 생성하게 하는 프롬팅 기법은 무엇인가요?

  • Zero-shot-Prompting (제로샷 프롬프팅)
  • 모델의 사전 훈련된 방대한 지식에만 의존하여 문제를 해결하는 방식
  • 가장 단순한 형태의 프롬프팅 기법 중 하나

CoT 기법이 해결하고자 하는 LLM의 주요 한계점은 무엇인가요?

  • 복잡한 추론 과정이 필요한 문제에서 중간 단계를 생략하고 성급하게 결론을 내리는 경향
  • 다단계 추론, 산술, 상식 추론 등에서 낮은 성능을 보이는 문제
  • 모델이 생각의 과정을 명시적으로 표현하도록 유도하여 해결하고자 함

하나의 문제에 대해 여러 개의 다양한 추론 과정을 생성하게 한 뒤, 그중 가장 일관된 답변을 최종 결과로 선택하는 전략은 무엇인가요?

  • Self-Consistency (자기 일관성)
  • 단일한 추론 경로의 오류 가능성을 보완하기 위한 기법
  • 여러 추론 경로(Chain of Thought)를 생성 후 다수결 투표 방식으로 가장 신뢰도 높은 답을 채택

ToT 프롬팅이 CoT와 비교했을 때 갖는 가장 큰 차이점은 무엇인가요?

  • CoT가 단일한 생각의 흐름(Chain)을 따르는 반면, ToT는 트리(Tree) 구조처럼 여러 가능한 생각의 경로를 탐색하고 평가함
  • 문제 해결 과정에서 체계적인 탐색(Systematic Exploration)이 가능하다는 점
  • 각 단계에서 생성된 중간 생각들을 평가하고 유망하지 않은 경로는 폐기하는 의사결정 과정을 포함

모델이 사실과 다르거나 근거 없는 정보를 생성하는 ‘환각(Hallucination)’ 현상을 줄이기 위해, 외부 지식 베이스를 활용하는 대표적인 기법은 무엇인가요?

  • Retrieval-Augmented Generation (RAG, 검색 증강 생성)
  • 모델 내부 지식에만 의존하지 않고, 외부의 신뢰할 수 있는 데이터베이스(예: 위키피디아, 내부 문서)에서 관련 정보를 검색하여 답변 생성에 활용
  • 답변의 사실적 정확성을 높이고 최신 정보를 반영할 수 있음

“ReAct” 프롬팅 기법은 어떤 두 가지 요소를 결합하여 시너지를 창출하나요?

  • 추론(Reasoning)과 행동(Acting)
  • LLM이 스스로 추론하여 행동 계획(예: '구글 검색이 필요하다')을 세우고, 실제 외부 도구를 사용(검색 실행)한 뒤, 그 결과를 다시 추론에 반영하는 순환적 구조
  • 언어 모델이 외부 세계와 상호작용하며 더 복잡한 태스크를 수행할 수 있게 함

모델 스스로 자신의 답변을 검증하기 위한 질문을 생성하고, 그 질문에 답하며 최종 답변을 수정해나가는 다단계 검증 프로세스를 가진 기법은 무엇인가요?

  • Chain-of-Verification (CoVe, 검증의 사슬)
  • 1) 초기 답변 초안 생성 → 2) 답변 검증을 위한 질문 생성 → 3) 질문에 대해 독립적으로 답변하며 초안과 비교 → 4) 검증 결과를 바탕으로 최종 답변 수정
  • 모델의 환각 현상을 줄이고 답변의 신뢰도를 내부적으로 향상시키는 데 목적이 있음

“자동 프롬프트 엔지니어(APE)” 기법의 주요 목적은 무엇인가요?

  • 인간이 직접 프롬프트를 설계하는 시행착오를 줄이고, 좋은 프롬프트를 자동으로 생성 및 최적화하는 것
  • 소수의 예시 입출력 페어(demonstrations)를 바탕으로 후보 프롬프트들을 생성하고, 가장 높은 점수를 받은 프롬프트를 선택
  • 프롬프트 엔지니어링 과정을 자동화하여 효율성을 극대화

Emotion Prompting은 어떤 연구에서 착안되었나요?

  • "이것은 내 경력에 매우 중요합니다(This is very important to my career)."와 같은 감정적 자극을 추가하면 모델의 성능이 향상된다는 발견
  • 인간이 감정적 호소에 긍정적으로 반응하는 것처럼, LLM 역시 감정적 맥락을 부여했을 때 더 나은 결과를 생성한다는 아이디어에 기반
  • 심리학 및 사회과학 연구에서 영감을 얻음

PoT 프롬팅이 CoT와 구별되는 가장 큰 특징은 무엇인가요?

  • CoT가 자연어를 사용하여 단계별 추론 과정을 서술하는 반면, PoT(Program-of-Thought)는 코드(예: Python)를 생성하여 문제를 논리적으로 해결
  • 자연어의 모호성을 배제하고, 코드 실행기(interpreter)를 통해 결정론적이고 정확한 결과를 도출
  • 복잡한 계산이나 정형화된 논리가 필요한 문제에서 특히 강점을 보임

Take a Step Back 프롬팅의 핵심 두 단계는 무엇인가요?

  • 1) 추상화(Abstraction): 주어진 구체적인 문제에서 한 걸음 물러나, 문제의 핵심이 되는 일반적인 원칙이나 개념을 도출
  • 2) 추론(Reasoning): 추상화 단계에서 얻은 상위 수준의 개념과 원칙을 바탕으로, 원래의 구체적인 문제를 해결하는 추론을 진행
  • 숲을 먼저 보고 나무를 보는 방식으로, 잘못된 전제에 빠지는 것을 방지하고 더 정확한 추론을 유도

Scratchpad 프롬팅은 어떤 문제에 특히 효과적인가요?

  • 중간 계산 과정이나 단계별 결과를 명시적으로 기록하고 추적해야 하는 복잡한 다단계 연산 문제
  • 예를 들어, 여러 자리 수의 덧셈이나 뺄셈, 코드 실행 결과 예측 등에서 중간 결과를 Scratchpad에 적어두도록 유도
  • 모델이 작업 기억(working memory)의 한계를 극복하고 긴 의존성을 가진 문제를 해결하는 데 도움을 줌
profile
나는 AI 엔지니어가 된다.

0개의 댓글