DECHIVE
DECHIVE
← Archive
AI/

한 번의 답을 믿지 않는다는 것

같은 프롬프트를 여러 번 실행했을 때 답이 달라지는 것은 버그가 아니다. 그 흔들림 안에서 수렴하는 답을 찾는 방식이 self-consistency다.

같은 프롬프트를 두 번 실행했더니 답이 달랐다.

처음에는 프롬프트가 잘못된 것인지, 모델이 불안정한 것인지 생각하게 된다. 그런데 세 번째에도 다르고, 네 번째에도 다르다. 어떤 답을 믿어야 할지 알 수 없다.

이건 버그가 아니다. LLM이 텍스트를 생성하는 방식 자체에서 오는 특성이다.


AI의 답은 흔들릴 수 있다

LLM은 다음 토큰을 예측할 때 확률 분포에서 샘플링한다. 가장 높은 확률의 토큰만 고르는 것이 아니라, 설정된 temperature 값에 따라 무작위성이 개입된다. 덕분에 창의적 글쓰기에서는 매번 다른, 때로는 더 흥미로운 결과가 나온다.

하지만 수학 문제, 논리 추론, 사실 판단처럼 정답이 하나인 작업에서는 이 무작위성이 불확실성으로 바뀐다. 같은 문제를 같은 프롬프트로 물었는데 한 번은 맞고 한 번은 틀린다. 어떤 추론 경로를 따라가느냐에 따라 결과가 달라지고, 어떤 경로를 탈지는 샘플링의 운에 달려 있다.

단일 실행의 답을 그냥 믿는 것은, 그 운이 좋은 방향으로 작동했기를 바라는 것과 같다.


같은 질문을 여러 번 묻는 이유

같은 문제를 다섯 번 실행하면 이런 결과가 나올 수 있다.

실행 1: 정답 → 4개
실행 2: 정답 → 4개
실행 3: 정답 → 2개  ← 오류 경로
실행 4: 정답 → 4개
실행 5: 정답 → 4개

여기서 "4개"가 더 신뢰할 수 있다고 보는 이유는 단순히 많이 나왔기 때문만이 아니다. 틀린 추론 경로들은 각자 다른 방향으로 흩어지는 경향이 있다. 반면 올바른 추론 경로는 출발점이 달라도 같은 지점으로 수렴한다.

같은 질문을 여러 번 묻는 것은 이 수렴을 포착하기 위한 방법이다.


일관된 답과 우연한 답

수렴이 신뢰도의 근거가 되려면 한 가지 조건이 필요하다. 각 실행이 서로를 참조하지 않고 독립적으로 추론해야 한다는 것.

5번 실행이 모두 같은 중간 과정을 거쳐 같은 답으로 갔다면 그건 다양한 경로의 수렴이 아니다. 하나의 답이 복사된 것과 다르지 않다. temperature를 0보다 높게 설정해야 각 실행이 서로 다른 추론 경로를 탐색하게 된다.

그 경로들이 다름에도 불구하고 같은 답에 도달한다면, 그 답은 특정 경로의 산물이 아니라 문제 자체에서 오는 신호에 가깝다.

수학 문제로 보면 이렇다.

# 경로 A (정답)
사과 12개 → 1/3 먹음(4개) → 8개 남음 → 절반을 줌(4개) → 4개

# 경로 B (오류)
"남은 것 중 절반"을 전체의 절반으로 해석 → 12 × 0.5 = 6 → 2개

# 경로 C (오류)
1/3 먹고 절반 줬으니 12 × (1 - 1/3 - 1/2) = 2 → 2개

오류 경로 B와 C는 서로 같은 답(2개)에 도달했지만 이유가 다르다. 정답 경로 A는 여러 번 실행해도 같은 논리로 같은 자리에 온다. 이 차이가 다수결을 의미 있게 만든다.


자기 일관성을 확인하는 방법

실제로 적용하는 방식은 간단하다. 같은 프롬프트를 5~10회 실행하고 최종 답을 모아 가장 많이 나온 것을 고른다. Chain of Thought와 함께 쓰면 더 효과적이다. 각 실행이 중간 과정을 서술하도록 하면 어떤 경로가 올바른지 추적하기도 쉬워진다.

다만 이 방법이 효과를 내는 건 답이 객관적으로 검증 가능한 작업에서다. 수학, 논리 추론, 분류, 코드 디버깅 같은 것들. 창의적 글쓰기나 의견을 묻는 질문에 이 방식을 적용하면 가장 개성 없는 답이 선택된다. 다수결이 평균으로 수렴하기 때문이다.

내부 추론 과정을 포함한 최신 추론 모델들은 이미 내부에서 여러 경로를 탐색하고 검증하는 과정을 거친다. 이런 모델에 self-consistency를 별도로 적용하는 건 이미 하고 있는 것을 밖에서 또 반복하는 셈이 된다. 어떤 모델을 쓰는지에 따라 필요 여부가 달라진다.


믿을 수 있는 답에 가까워진다는 것

Self-consistency는 AI의 답이 맞는지를 직접 확인하는 방법이 아니다.

단일 실행에서 AI가 "4개"라고 말할 때, 그 신뢰도는 모델 내부의 확신이다. 외부에서 들여다볼 방법이 없다. 반면 10번 중 8번이 "4개"로 수렴했다는 사실은 관측 가능한 신호다. 수치로 나타낼 수 있고, 반복해서 확인할 수 있다.

한 번의 답을 믿지 않는다는 것은 AI를 불신하는 것이 아니다. 답에 대한 질문을 "이게 맞는가"에서 "이 답이 얼마나 일관되게 나타나는가"로 바꾸는 것이다.

여러 경로가 같은 곳을 가리킬 때, 거기에는 이유가 있다.