P-E-V 워크플로우: 계획-실행-검증으로 LLM 분류 오류 줄이기

P-E-V 워크플로우: 계획-실행-검증으로 LLM 분류 오류 줄이기

프롬프트에 판단 기준을 넣으면 결과가 달라져요

P-E-V는 계획-실행-검증 3단계로 LLM에게 판단 체크리스트를 주는 프롬프트 설계 패턴이에요. CoT·ReAct와의 차이, 모호한 입력을 엉뚱한 카테고리로 분류할 때의 대응을 정리했어요.

글 · TRAIL Labs Research최종 수정
GEOAI 콘텐츠프롬프트 엔지니어링AI 파이프라인

P-E-V(Plan-Execute-Validate)는 LLM에게 '무엇을 해달라'만 말하지 않고, '어떻게 판단하고 어떻게 스스로 검증할지'까지 함께 제공하는 프롬프트 설계 패턴이에요. 계획(Plan)-실행(Execute)-검증(Validate)의 3단계 구조로, 답을 바로 요구하는 대신 판단의 체크리스트를 먼저 세팅한다는 점이 핵심이에요.

왜 P-E-V가 필요한가

AI에게 "이 키워드로 사람들이 실제로 검색할 만한 질문을 만들어줘"라고 요청하면 이런 결과가 자주 돌아와요.

> X 서비스의 핵심 기능과 장점은 무엇인가요?

사람이 실제로 이렇게 검색할까요? 프롬프트 엔지니어링에서 가장 흔한 실수는 "무엇을 해달라"만 말하고 "어떻게 판단해달라"를 빠뜨리는 거예요. LLM은 지시를 충실히 따르지만, 판단 기준이 없으면 가장 안전한 선택, 즉 가장 모호하고 넓은 카테고리로 도망가는 경향이 있어요.

CoT, ReAct와 무엇이 다를까

패턴핵심차이점
CoT (Chain-of-Thought)"단계별로 생각해봐"사고 과정을 보여주지만 출력 전 검증 단계는 없어요[1]
ReAct"관찰하고 행동해"외부 도구 호출과 관찰-행동 루프에 초점이 맞춰져 있어요[2]
P-E-V"계획 → 실행 → 검증"출력 직전 자가 검증(Validate) 단계가 핵심이에요

CoT가 "생각의 흐름"을 만드는 패턴이라면, P-E-V는 "생각의 체크리스트"에 가까워요. LLM이 답을 내기 전에 스스로 "이거 맞나?"를 한 번 더 확인하게 만드는 구조예요. 구글의 프롬프트 설계 가이드도 모델에게 역할과 판단 기준을 구체적으로 줄수록 출력 품질이 안정된다는 방향을 안내하고 있어요[3].

P-E-V 3단계

Plan (계획)     → 입력에서 의도 신호를 찾는다
                  "가격" → qualify, "vs" → compare, "방법" → action

Execute (실행)  → 신호를 기준으로 카테고리를 정하고 결과를 생성한다
                  신호가 모호하면 미리 정한 기본값을 따른다

Validate (검증) → 출력 전에 체크리스트로 자가 검증한다
                  "이 신호에 이 카테고리가 정말 맞나?"
                  "제약 조건(톤, 길이, 반복 표현)을 지켰나?"

실무에서 자주 보이는 패턴 3가지

1. Decision Tree로 신호를 명시하기

LLM에게 "분류해줘"만 하면 안 돼요. "이 신호가 보이면 이 카테고리야"라고 명시적으로 알려줘야 해요.

신호 기반 라우팅 예시:
├─ "가격", "비용", "요금", "플랜"   → qualify
├─ "vs", "비교", "대안", "말고"     → compare
├─ "방법", "하는 법", "설정"        → action
├─ "안 되", "오류", "문제"          → solve
├─ "후기", "추천", "좋은"           → recommend
├─ "뭐야", "무엇", "개념"           → concept
└─ 모호한 경우                      → 기본값

여기서 실무적으로 가장 중요한 결정은 기본값이에요. 모호할 때 기본값을 가장 넓은 카테고리(예: 개념 설명)로 두면, 결과가 그 카테고리로 계속 쏠려요. 실제로 사람들이 브랜드에 대해 물을 때는 "이게 뭐야?"보다 "이거 괜찮아?", "이거 써도 돼?"에 가까운 질문이 많은 경우가 흔해요. 기본값을 실제 사용 패턴에 맞게 바꾸는 것만으로 분포가 크게 달라질 수 있어요.

2. Validation Checklist로 2차 방어하기

LLM이 결과를 생성한 후, 출력하기 전에 스스로 체크하게 만들어요.

#체크 항목실패 시 액션
1가격·비용 신호가 있는데 지금 분류가 맞나?재분류
2비교 표현("vs", "대안")이 있는데 지금 분류가 맞나?재분류
3실행 동사("설정하다", "만들다")가 있는데 지금 분류가 맞나?재분류
4톤 규칙(어미 반복, 길이)을 지켰나?톤 수정
5같은 어미가 3회 이상 반복되지 않았나?어미 변경

이 체크리스트가 Decision Tree 단계에서 놓친 오분류를 2차로 잡아내요. Plan과 Execute만 있으면 사실상 CoT와 크게 다르지 않아요. Validate가 P-E-V를 구분 짓는 핵심 차별점이에요.

3. 톤 규칙을 명시적 제약으로 넣기

톤도 판단 없이 맡기면 흔들려요. 한국어라면 "해요체 통일, 20-50자 제한, 같은 어미 3회 연속 금지" 같은 규칙을 명시적으로 넣어야 결과가 안정돼요. 영어라면 어절 수 범위, 구어체 우선 같은 규칙을 함께 넣는 방식이에요.

관리 구조: SSOT로 통합하기

P-E-V 로직을 여러 파일에 흩어두면 관리가 어려워져요. 하나의 프롬프트 모듈로 통합하는 방식(SSOT)이 유지보수 측면에서 유리해요.

항목분산 관리SSOT 통합 관리
수정 필요 시여러 파일을 각각 수정1개 파일만 수정
불일치 위험높음 (독립 관리)낮음
테스트 범위개별 테스트 필요1곳 테스트로 전체 반영 확인

배운 점

이 패턴을 여러 콘텐츠·분류 파이프라인에 적용해보면 공통적으로 확인되는 점이 몇 가지 있어요.

P-E-V는 모델이 아니라 프롬프트 패턴이기 때문에 모델에 종속되지 않아요. Decision Tree와 Validation Checklist를 프롬프트에 넣는 구조 자체가 핵심이라서, GPT 계열이든 Gemini 계열이든 Claude 계열이든 같은 구조를 이식하면 비슷한 개선이 나타나요.

기본값 설정이 분포 균형에서 가장 크게 작용해요. 모델은 모호한 입력에서 가장 넓은 카테고리로 도망가는 경향이 있어서, 기본값을 실제 사용 패턴에 가깝게 바꾸는 것만으로 쏠림 현상이 크게 완화되는 경우가 많아요. 가장 작은 변경이 가장 큰 효과를 내는 지점이에요.

Validation Checklist 없이 Decision Tree만으로는 부족해요. Decision Tree가 1차 분류를 담당하지만, 엣지 케이스(예: "가격 비교"가 qualify인지 compare인지)는 검증 단계에서만 잡을 수 있어요. Plan과 Execute만으로는 CoT와 다를 게 없고, Validate가 P-E-V의 핵심 차별점이라는 점은 실무에서 반복적으로 확인돼요.

콘텐츠 파이프라인에서 AI가 만드는 질문, 분류, 카테고리의 품질은 결국 AI 검색에서 어떤 프롬프트를 타겟으로 삼을지와도 직결돼요. P-E-V처럼 판단 기준과 검증 절차를 명시적으로 설계하는 습관은, AI가 인용할 만한 정확하고 구조화된 콘텐츠를 만드는 기반이 되기도 해요.

이 글과 이어지는 내용은 RAG 할루시네이션 방어 전략: 유형을 나누고 검증 자동화의 한계 알기, 에이전틱 워크플로우 패턴 5가지: 프롬프트 체이닝부터 오케스트레이터까지, 병원·학원 위치 페이지 체크리스트: AI 검색에 인용되려면 뭘 넣어야 할까에서 볼 수 있어요.

자주 묻는 질문

P-E-V는 특정 모델에서만 작동하나요?

아니요. P-E-V는 모델이 아니라 프롬프트 구조의 패턴이에요. Decision Tree와 Validation Checklist를 프롬프트에 넣는 방식이기 때문에 GPT 계열, Gemini 계열, Claude 계열 어디서든 같은 구조로 적용할 수 있어요.

Chain-of-Thought만으로는 왜 부족한가요?

CoT는 모델이 단계별로 생각하도록 유도하지만, 그 결과를 출력 전에 스스로 검증하는 단계는 없어요. P-E-V는 여기에 Validate 단계를 더해서, 생성된 결과가 처음 세운 규칙과 실제로 맞는지 한 번 더 확인하게 만들어요.

Validation Checklist는 어떻게 설계하나요?

신호와 카테고리가 실제로 일치하는지 묻는 질문 목록으로 시작하면 돼요. 예를 들어 '가격을 언급했는데 이 카테고리가 맞나' 같은 질문을 체크리스트로 만들고, 실패하면 재분류하도록 지시하는 방식이에요. 분류 기준이 늘어날수록 체크리스트도 함께 확장해야 해요.

참고자료

  1. [1]Wei et al., "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" (2022)
  2. [2]Yao et al., "ReAct: Synergizing Reasoning and Acting in Language Models" (2022)
  3. [3]Google AI for Developers, "Prompt design strategies"

요약

  • P-E-V(Plan-Execute-Validate)는 '답을 내놓아라'가 아니라 '판단 기준과 검증 절차를 함께 제공하는' 프롬프트 설계 패턴이에요.
  • LLM은 모호한 입력에서 가장 안전하고 넓은 카테고리로 도망가는 경향이 있어서, 기본값(default) 설정 하나가 결과 분포에 큰 영향을 줘요.
  • Decision Tree만으로는 엣지 케이스를 못 잡아요. Validation Checklist라는 출력 전 자가 검증 단계가 P-E-V의 핵심 차별점이에요.
  • 이 패턴은 모델에 종속되지 않아서 GPT·Gemini·Claude 어디서든 같은 구조로 이식할 수 있어요.

이 글에서 다룬 콘텐츠를 브랜드 기준으로 만들어 보세요

브랜드 기준을 한 번 등록하고 카드뉴스·상세페이지·상품사진·쇼츠·블로그 글을 그 기준으로 만들어 발행하는 TRAIL Studio가 제작과 발행을 맡습니다. 생성 결과는 사람이 확인하고 고친 뒤 내보냅니다.

다른 글

같은 주제로 이어 읽기

이 글은 Content 카테고리에 속해요. 같은 카테고리 글 41편을 한자리에서 볼 수 있어요. Content 카테고리 글 전체 보기