---
id: pattern-critic
title: "Critic Pattern"
category: "Pattern_AI"
status: "draft"
verification_status: "applied"
canonical_id: ""
aliases: ["Critic", "LLM judge", "검수자 패턴", "verifier"]
duplicate_of: ""
source_trust_level: "A"
confidence_score: 0.88
created_at: 2026-06-13
updated_at: 2026-06-13
review_reason: ""
merge_history: []
tags: ["pattern", "ai", "critic", "verification", "platform-independent"]
raw_sources: ["일반 소프트웨어 공학 지식", "ConnectAI/src/intelligence/criticAgent.ts (적용 예)"]
applied_in: ["ConnectAI"]
github_commit: ""
---

# [[Critic Pattern]]

## 🎯 한 줄 통찰 (One-line insight)
Critic 패턴은 "별도의 검수자(보통 LLM)가 산출물을 비판적으로 평가" 하는 것으로, 생성자와 검수자를 분리하면 환각·누락을 잡지만 *검수 출력도 결국 LLM 이라 강건 파싱·근거 강제가 필수* 다.

## 🧠 핵심 개념 (Core concepts)
1. 생성자와 검수자 역할 분리. 2. 검수 기준 명시(요구 충족·근거·미결 구분·지어냄 금지). 3. 구조화 출력(JSON) + 강건 파싱. 4. 검수 결과를 보완 카드/재작성 입력으로.

## 📖 세부 내용 (Details · 패턴 명세)
- **Problem (언제 쓰나):** 산출물의 사실성/완결성이 중요하고, 생성자 자체 점검만으론 부족할 때.
- **사용 조건:** 검수 기준을 명문화 가능; 검수 호출 비용 감당; 출력 파싱 방어.
- **장점:** 독립 시각으로 오류 포착, 근거 없는 단정 차단, 보완 제안.
- **단점:** 추가 LLM 비용, 검수자도 환각 가능, JSON 형식 위반.
- **대안:** 결정론 규칙 검증, 다수결(여러 검수자), 사람 검수.
- **실패 사례:** 검수자가 원문에 없는 내용을 "보완" 으로 지어냄; JSON.parse 직접 호출로 파싱 실패; 무조건 검수로 비용 폭증.

## 💻 코드 패턴 (Code patterns)
```text
critique = LLM_critic(system="검수자. 근거 없는 단정/지어냄은 major. JSON만 출력", user=task+draft)
result   = parseBalancedJson(critique) or heuristicFallback()  # 잡설 내성
if not result.pass: attach(footer(result.issues, result.supplement))
# 규칙: supplement 도 원문 근거 한정, 없으면 "(확인 필요)"
```
적용 예: [[Intelligence 검증 레이어]] 의 criticAgent(조건부 1-pass + 균형 괄호 파서), 결정 [[ADR-0009 결정론 항상 LLM검증 조건부]].

## ⚖️ 모순 및 업데이트 (Contradictions & updates)
검수자가 생성자보다 똑똑하지 않으면 효과가 제한적 — 작은 모델끼리는 *결정론 신호 + 근거 강제* 가 LLM-judge 보다 안정적일 수 있다.

## 🛠️ 적용 사례 (Applied in summary)
ConnectAI Critic(조건부), regression LLM-judge.

## 🔗 지식 그래프 (Knowledge Graph)
- **상위/루트:** [[패턴 카탈로그 인덱스]]
- **관련 개념:** [[Reflection Pattern]], [[프롬프트 엔지니어링 패턴]], [[소프트웨어 실패 라이브러리]]
- **참조 맥락:** 작은 모델이 산출물 품질 게이트를 둘 때 참조.

## 📚 출처 (Sources)
- [S1] 일반 LLM critic/judge 지식
- [S2] ConnectAI/src/intelligence/criticAgent.ts — 적용 예

## 📝 변경 이력 (Change history)
- 2026-06-13: 프로젝트 독립 패턴 카드 작성.
