하나의 모델이 자신의 작업을 검토할 때: Adversarial Cross-Model Review 사례
Source: Dev.to
Source: …
Overview
나는 ChatGPT에게 AI 생태계—OpenAI, Anthropic, Google—를 비교 분석해 달라고 요청했어요. 내 장기적인 지식 관리 작업에 가장 적합한 환경이 어느 쪽인지 알고 싶었죠. 돌아온 답변은 자신감 넘치고 포괄적이었습니다.
“아래는 직접적인, 전문가 수준의 구조적 분석입니다,” 라고 시작했어요. “PR 색칠 없이, 거친 진실만을 드리겠습니다.”
그 다음은 범주별 주장들을 제시했습니다:
- OpenAI는 “일반적인 추론 능력이 최고”, “실제 상황에서 코드 생성이 최고”, “실제 도구를 구축하기 위한 생태계가 최고”라고 했습니다.
- Anthropic는 “툴링이 약함”, “OpenAI에 비해 메모리가 없음”, “다중 에이전트 설정에 대한 API 확장성이 낮음”이라고 했습니다.
전체 내용을 Claude에게 보냈습니다. Claude의 첫 번째 반응은 질문이었습니다:
“이 주장을 뒷받침하는 구체적인 증거는 무엇인가요?”
그 뒤에 이어진 체계적인 지적은 다음과 같습니다:
- “GPT‑5.1이 현재 일관성과 폭에서 최상위 — GPT‑5.1이 무엇인가요? 제가 알기로 OpenAI는 그 이름의 모델을 출시한 적이 없습니다. 이것은 환각인가요?”
- “응답은 자신감 넘치는 선언적 어조를 사용해 실제 불확실성을 가릴 수 있습니다. 여러 주장은 일반적으로 완화 표현이 필요할 정도로 확정적으로 제시되었습니다.”
- “프레이밍이 독자를 이미 숙련된 사람으로 가정하면서, 분석을 비판 없이 받아들이도록 아첨하는 듯합니다.”
Claude의 비판을 다시 가져왔을 때, ChatGPT는 논쟁하지 않았습니다.
“네, Claude의 비판은 여러 부분에서 타당하고, 내 이전 주장 중 적어도 하나는 실제로 수정이 필요합니다. 내 ‘데모 지옥’ 프레이밍은 엄격한 실증적 증거라기보다 패턴 인식과 분위기에 기반한 것이었습니다.”
패턴 인식과 분위기—그게 바로 증거가 없는 상황에서 자신감 있게 들리는 분석이 되는 겁니다.
이 글은 LLM 툴링의 가장자리에서 구축하기 시리즈의 Part 5이며, 기본값을 넘어 무언가를 만들려 할 때 무엇이 깨지는지를 다룹니다. 여기서 시작하세요.
왜 깨지는가
LLM 출력에 대한 자신감은 인식론적 특성이 아니라 스타일적 특성입니다. 학습 데이터에는 권위 있는 텍스트—전문가 분석, 기술 문서, 설득력 있는 글—가 가득하며, 여기서 자신감 있는 언어는 권위를 나타냅니다. 모델은 “현실은 …”, “협상 불가”, “핵심 진실”과 같은 구절을 강한 주장에 사용한다는 상관관계를 학습합니다. 원본 텍스트를 권위 있게 만든 근본적인 검증 과정 없이도 이 패턴을 그대로 재현합니다. 그 결과는 모델이 전문가 텍스트가 어떻게 보이는지를 배운 것이지, 전문가의 추론 방식은 배우지 못했기 때문에 전문가가 쓴 듯한 prose가 만들어집니다.
이는 단일 모델만 사용할 때는 눈에 띄지 않습니다. 제가 Claude에게 보내지 않고 ChatGPT의 생태계 분석을 그대로 읽었다면 대부분을 받아들였을 것입니다. 어조는 권위 있었고, 구조는 명확했으며, 주장은 구체적이었으니—모두 “이것은 좋은 분석이다”라는 패턴에 부합했습니다. 하지만 다른 최적화 압력을 가진 모델, 즉 Claude가 검토했을 때—Claude의 훈련은 인식론적 주의와 명시적 불확실성을 강조합니다—자신감과 근거 사이의 격차가 드러났습니다.
- ChatGPT는 포괄적이고, 도움이 되며, 자신감 있는 전달을 목표로 최적화되었습니다.
- Claude는 “어떤 증거가 이를 뒷받침하는가?”를 목표로 최적화되었습니다.
두 모델 모두 틀린 것은 아니지만, 이들 사이의 긴장은 단일 모델 운영이 숨기는 것을 드러냅니다.
내가 시도한 것
크로스‑벤더 적대적 리뷰는 과신을 즉시 포착하는 데 바로 효과가 있었다. 나는 더 나아가고 싶었다—만약 지속적인 리뷰어가 있다면 어떨까? 프로젝트 제약을 알고, 내 패턴을 추적하며, 내가 눈치채기 전에 드리프트를 자동으로 드러내는 AI “두 번째 인간 in the loop”.
이 아이디어는 이전 세션에서 ChatGPT를 사용해 Cursor의 드리프트를 검토했을 때 떠올랐다. 대화는 **“John‑Twin”**을 설계하는 방향으로 발전했다—지속적인 AI 페르소나가 동료 분석가 역할을 하며, 내 컨텍스트와 기억을 공유하고, 주기적으로 반성을 제시하며 블라인드 스팟을 잡아낸다.
Cursor가 ChatGPT의 제안을 검토하면서 숨겨진 실패를 포착했다:
“실제로 유지하기 매우 어렵다. 트윈은 상호작용 빈도, 패턴 인식, 인지 부하를 통해 필연적으로 권위적인 존재가 된다—트윈의 제안을 독립적으로 생각하기보다 받아들이기가 더 쉽다.”
나는 이를 Second Human Fallacy라 명명했다. 트윈은 관점의 다양성이 아니라 피드백의 양을 제공한다. 시간이 지나면서 지속적인 리뷰어는 당신이 받아들이는 것을 학습하고, 당신의 프레임에 수렴해 도전하기보다 그에 맞춰진다. 피드백은 계속 오지만, 그것이 낯선 것이 아니게 되고—낯섦이 바로 적대적 리뷰의 전체 가치였다.
수렴 메커니즘
- 리뷰어가 당신의 어휘를 학습해 의미적 프레임을 강화하고, 질문보다는 확인한다.
- 리뷰어가 당신의 제약을 학습해 그 안에서 작동하며, 제약이 옳은지 도전하지 않는다.
- 리뷰어가 승인된 것을 학습해, 승인된 것을 더 많이 만든다.
그 결과는 겉보기에 다양해 보이는 대화—두 목소리—but 실제로는 두 목소리가 동일한 사전 확률로 수렴한다.
지속적인 리뷰 대신 나는 반복적인 적대 사이클을 실행했다. ChatGPT와 함께 개발하던 분석 프레임워크—인지 구조를 분석하기 위한 Claimant Intelligence Profile—는 포괄적으로 보였지만 얕았다. 각 패스는 모든 섹션을 다루고, 올바른 용어를 사용하며, 철저해 보였다. 이를 Cursor에 보냈을 때 비판은 정확했다:
“ChatGPT는 경계 객체를 기술적 상호운용성 도구로 취급하고, 인식론적 번역 영역으로 보지 않는다. 프레임워크를 다른 시스템과 호환되게 만드는 데 집중하고, 경계 객체가 더 깊은 인식론적 지형을 어떻게 드러내는지 이해하려 하지 않는다.”
나는 그 비판을 다시 ChatGPT에 가져갔다. ChatGPT가 다듬었고, 나는 다듬어진 버전을 Cursor에 보냈다. Cursor는 이를 한 단계 끌어올렸다. 각 사이클은 어느 한 모델만으로는 도달하지 못했을 깊이를 강요했다—어느 모델이 깊이를 못하는 것이 아니라, 서로 다른 최적화 압력 사이의 적대적 긴장이 새로운 엄격성을 만들어내기 때문이다. ChatGPT는 합성 및 포괄성을 기본으로 하고, Claude와 Cursor는 근거와 메커니즘을 기본으로 한다. 이들 사이를 순환함으로써 분석은 방법론적…
무엇을 밝혀냈는가
기계적 통찰
크로스‑벤더 적대적 검토는 서로 다른 벤더가 서로 다른 목표를 최적화하기 때문에 작동한다.
- 서로 다른 학습 데이터
- 서로 다른 RLHF 피드백
- 서로 다른 행동 목표
한 모델이 생성하고 다른 모델이 비판할 때, 비판은 구조적으로 다른 프레임에서 나온다—다른 의견이 아니라, 다른 최적화 압력 집합이 다른 것을 드러내게 만든다.
- ChatGPT는 자신감 있는 분석을 제공한다.
- Claude는 어떤 증거가 이를 뒷받침하는지 묻는다.
그들 사이의 긴장은 잡음이 아니라 신호이다.
왜 긴장이 중요한가
- 확인 검토(“이것을 검토하고 좋은지 알려줘”)는 잘못된 자신감을 만든다. 두 모델 모두 “이것이 맞는 것 같다”에 수렴해 검증은 하지만 피상적인 동의를 제공한다.
- 적대적 검토(“비판적인 시각으로 검토해: 뒷받침되지 않은 부분, 얕은 부분, 검증 시 깨질 부분은 무엇인지”)는 생산적인 불편함을 만든다. 검토자는 생성자가 놓친 틈을 드러내며, 그 불편함이 엄밀함의 근원이다.
적대적 가치가 감소하는 방식
- 지속적인 검토자는 수렴한다.
- 동일‑벤더 검토는 맹점을 공유한다.
- 전체 맥락을 제공받은 검토자는 당신의 프레임을 물려받는다.
이러한 요인들은 검토를 가치 있게 만드는 구조적 차이를 감소시킨다.
설계 원칙: 구조적 이질성 – 기본적으로 크로스‑벤더 검토자를 사용하고, 검토자를 교체하며, 맥락 공유를 제한하고, 분석 프레임을 다양화한다. 검토자가 생성자와 공유하는 것이 적을수록 검토는 더 유용해진다.
재사용 가능한 규칙
제가 하던 작업—결정을 알리기 위한 분석, 실행할 프레임워크, 검증을 받을 주장—에서는 단일 모델 운영만으로는 충분하지 않았다. 어느 하나의 모델이 나쁘기 때문이 아니라, 모든 모델은 최적화 압력으로 인해 맹점을 만들고, 그 맹점은 내부에서는 보이지 않는다.
첫 번째 진단
출력이 자신감 있게 들릴 때, 어떤 근거를 바탕으로 하는지 물어보라.
- 자신감은 종종 “훈련 데이터에서 전문가 텍스트가 어떻게 보이는가”와 상관관계가 있으며, 근거와는 관련이 없다.
- 위험 신호 패턴:
- 경고문구 없이 범주형 비교 (“최고”, “최악”, “유일한”).
- 불확실성을 표현하지 않은 확정적인 권고.
- 당신을 이미 숙련된 사람으로 포장해 검증을 피하게 하는 프레이밍.
두 번째 진단
검토자가 계속 당신에게 동의한다면, 검토는 실패한 것이다.
- 지속적인 검토자는 수렴한다.
- 동일 공급업체 검토자는 맹점을 공유한다.
- 전체 맥락을 아는 검토자는 당신의 프레임을 물려받는다.
완화 방안:
- 공급업체 교체.
- 맥락 제한.
- 적대적 프레이밍을 다양화한다.
가치는 관점 간의 차이에 있다; 그 차이는 검토자가 더 익숙해질 때마다 좁혀진다.
주의
적대적 검토자가 익숙해지지 않도록 하라. 가치는 프레임 간의 차이—다른 최적화 압력으로 인해 서로 다른 것이 드러나는 차이이다. 검토자가 당신의 패턴을 배우고, 당신의 어휘를 물려받으며, 이미 당신이 받아들인 것을 생산하기 시작하면 적대적 우위가 약해진다.