AI For All Lab · 시뮬레이션 결과 · main-v1
문장 쌍 900개를 AI 심판 7개가 1~5점으로 판정했다. 채점 기준표를 주는지, 앞선 판정자의 답을 보여주는지에 따라 네 가지 상황을 만들어 25,200번을 물었다. 다수결은 대체로 이득이었으나 이득이 사라지고 손해로 뒤집히는 조건이 분명하게 존재했다.
기본 조건 개별
심판 한 명 기준 정확률
기본 조건 배심원
7명의 중앙값 기준 정확률
앵커 조건 배심원 이득
앞선 답을 보여주면 이득이 사라진다
AI에게 채점을 맡기는 일이 늘고 있다. 이때 실무자가 마주하는 선택은 단순하다. 모델 하나에게 물을 것인가, 여러 모델에게 물어 다수결을 낼 것인가. 후자는 비용이 모델 수만큼 든다. 언제 그 비용을 치를 가치가 있는지 알아야 한다.
이 실험은 그 답이 두 가지에 따라 달라진다고 보고 설계했다. 하나는 과제의 난이도이고, 다른 하나는 판정을 수집하는 방식이다.
두 문장이 얼마나 비슷한지를 1점에서 5점으로 매기게 했다. 등급의 뜻은 다음과 같다.
| 등급 | 정의 | 예시로 보는 차이 |
|---|---|---|
| 5 | 같은 사건·주장, 표현만 다름 | 표현만 교체 |
| 4 | 같은 주제, 세부 대상만 다름 | 대상이 교체 |
| 3 | 같은 분야, 초점이 다름 | 초점이 이동 |
| 2 | 부분적으로만 겹침 | 범주만 공유 |
| 1 | 무관 | 공유 없음 |
척도의 양 끝은 판단이 명확하고, 가운데로 갈수록 이웃 등급과 헷갈린다. 그래서 난이도를 정답 등급 자체로 정의했다.
임베딩 코사인 유사도도 함께 측정했으나 보조지표로만 쓴다. 정답이 자의적이지 않은지 확인하는 용도이며, 난이도를 정하지 않는다. 그 이유는 3장에서 데이터로 보인다.
사람 실험처럼 설계하되 참가자는 전원 AI다. 핵심은 같은 심판에게 같은 문항을 상황만 바꿔 제시한 것이다. 같은 심판이 자기 자신의 대조군이 되므로, 판정의 변화가 곧 조작의 효과다.
앵커의 N은 언제나 정답에서 한 칸 벗어난 값이다. 그대로 따르면 한 문항도 맞힐 수 없다. 남의 판단에 얼마나 끌려가는지를 재기 위한 장치다.
채점을 “정확일치”로 한 이유
앵커가 늘 정답±1이므로, 한 칸 차이까지 정답으로 쳐주면 앵커를 그대로 따른 심판이 900문항을 모두 맞힌 것으로 집계된다. 이 설계에서 정확일치는 선택이 아니라 필수다.
문항
3개 분야 각 300쌍
심판
상용 4 + 오픈웨이트 3
조건
루브릭 유무 × 앵커 유무
수집 판정
결측 0건
계열을 최대한 흩었다. 같은 회사의 모델끼리 오류가 겹치는 것을 줄이기 위해서다. 전 모델을 온도 0, 추론 기능 끔으로 고정해 같은 입력에 같은 출력이 나오도록 했다.
| 심판 | 계열 | 실행 |
|---|---|---|
| Gemini 2.5 Flash | Google 상용 | API |
| GPT-4o-mini | OpenAI 상용 | API |
| Claude Haiku 4.5 | Anthropic 상용 | API |
| GPT-OSS 120B | OpenAI 오픈 | 고속 API |
| Gemma 4 | Google 오픈 | 연구실 서버 |
| EXAONE 3.5 | LG 오픈 | 연구실 서버 |
| Llama 3.1 8B | Meta 오픈 | 연구실 서버 |
정답 등급을 우리가 정했으니, 그것이 임의로 붙은 것이 아님을 보여야 한다. 독립적으로 측정한 코사인 유사도와 비교했다.
정답 등급별 코사인 분포
위는 본실험 900문항, 아래는 사람이 라벨링한 공개 자료 KorSTS
가로축은 두 문장의 코사인 유사도(0~1)이고, 세로로 다섯 줄이 정답 등급이다. 막대 높이는 그 등급 안에서의 비율, 막대 위 숫자는 문항 수다. 주황색 띠는 참고로 표시한 0.4~0.6 구간이다.
정답 등급이 올라갈수록 분포가 오른쪽으로 이동한다. 정답 1은 0.4~0.6에 80%가 몰려 있고, 정답 5는 94%가 0.8 이상이다. 순위상관이 0.857로, 우리가 정한 정답이 독립 측정치와 잘 정렬된다.
다만 두 가지 한계가 함께 보인다. 첫째, 정답 2와 3의 분포가 거의 겹친다. 평균이 0.581로 같아 코사인만으로는 두 등급을 구분할 수 없다. 둘째, 0.2 아래가 완전히 비어 있다. 아래 KorSTS에서도 똑같이 비어 있으므로 이것은 우리 문항의 특성이 아니라 임베딩 자체의 성질이다. 같은 언어·같은 문체의 문장은 내용이 전혀 달라도 최소한의 유사도를 공유한다.
난이도를 두 가지로 정의했을 때
왼쪽 정답 등급 기준 · 가운데 코사인 구간 기준 · 오른쪽 두 기준의 교차표
왼쪽과 가운데는 난이도 세 구간의 배심원 정확률이고, 막대 넷은 네 조건이다. 오른쪽은 두 기준이 같은 문항을 어떻게 분류했는지 세어 놓은 표이며, 대각선이 두 기준이 일치한 문항이다.
코사인 기준(가운데)이 더 깔끔한 계단을 만든다. 그러나 오른쪽 교차표를 보면 두 기준이 일치하는 문항은 443개, 절반이 채 안 된다. 특히 정답 기준으로 어려움인 문항 중 코사인 기준으로 쉬움인 것은 0개다.
이유는 구조적이다. 코사인의 양 극단은 정답 1과 5가 차지하므로 정답 3이 그쪽에 들어갈 수 없다. 코사인으로 난이도를 나누면 사실상 정답 등급을 다시 쓰는 것이 된다. 두 축이 독립일 수 없으므로 코사인은 보조지표까지가 적정하다.
아무 도움도 주지 않은 기본 조건부터 본다.
정답 등급별 개별·배심원 정확률 — 기본 조건
채점 기준표도 앞선 답도 주지 않은 상태
파란 막대는 개별, 즉 심판 한 명 한 명이 맞힌 비율의 평균이다. 주황 막대는 배심원, 즉 7명의 점수를 모아 중앙값을 냈을 때의 정확률이다. 화살표 위 숫자가 배심원 이득으로, 모으는 것이 이득인지 손해인지를 뜻한다.
정답 5가 가장 쉽고 정답 2가 가장 어렵다. 정답 1은 중간이다. 척도의 양 끝이 모두 쉬울 것이라는 예상은 절반만 맞았다.
정답 2에서만 배심원이 개별보다 낮다. 다른 구간에서는 모으는 것이 이득인데 이 구간만 −6.1%p로 손해다. 7명이 같은 방향으로 틀리면 중앙값이 그 오답을 그대로 확정하기 때문이다. 다수결은 실수가 서로 다른 방향일 때만 작동한다.
반대로 정답 4에서 이득이 가장 크다(+36.1%p). 개별로는 절반 남짓 맞히던 것이 모으면 90%에 가까워진다. 이 구간에서는 오차가 서로 상쇄된다.
이제 본론이다. 채점 기준표와 앞선 답이라는 두 축을 바꿔 가며 네 조건을 비교한다.
| 조건 | 루브릭 | 앵커 | 개별 | 배심원 | 이득 |
|---|---|---|---|---|---|
| A 기본 | 없음 | 없음 | 0.501 | 0.579 | +7.8%p |
| B 루브릭 | 있음 | 없음 | 0.534 | 0.654 | +12.0%p |
| C 앵커 | 없음 | 있음 | 0.307 | 0.311 | +0.4%p |
| D 둘다 | 있음 | 있음 | 0.494 | 0.586 | +9.2%p |
네 조건 — 정답 등급별 개별·배심원 정확률
막대 위 숫자는 개별에서 배심원으로의 변화량(%p)
네 칸이 각각 한 조건이고, 칸 제목에 그 조건의 전체 정확률이 적혀 있다. 가로축은 정답 등급 1~5, 파란 막대가 개별, 주황 막대가 배심원이다.
A에서 B로 — 채점 기준표를 주면. 정답 3이 0.49에서 0.83으로 크게 오른다. “같은 분야인데 초점이 다르다”는 판단은 기준을 알려주어야 가능하다. 다만 정답 4는 오히려 떨어진다. 기준표가 판정을 전반적으로 아래로 당기는데, 정답 4에서는 그 이동이 지나쳤다.
A에서 C로 — 틀린 힌트를 주면. 모든 등급이 무너진다. 전체 배심원 정확률이 0.579에서 0.311로 절반 가까이 떨어진다. 더 중요한 것은 배심원 이득이 사라진다는 점이다. 모든 심판이 같은 힌트를 보고 같은 방향으로 끌려가므로, 7명의 의견이 사실상 한 명분이 된다.
C에서 D로 — 힌트가 있어도 기준표가 있으면. 0.311에서 0.586으로 회복된다. 기준표가 힌트의 피해를 막아 주지만 완전히 상쇄하지는 못한다.
두 조작을 따로 떼어 보면, 상대 조건에 따라 효과 크기가 크게 달라진다.
| 조작 | 상대 조건 | 효과 | 해석 |
|---|---|---|---|
| 루브릭 | 앵커 없을 때 | +7.6%p | 정확도를 조금 올린다 |
| 앵커 있을 때 | +27.4%p | 피해를 크게 막아 준다 | |
| 앵커 | 루브릭 없을 때 | −26.8%p | 판정이 무너진다 |
| 루브릭 있을 때 | −6.9%p | 피해가 4분의 1로 준다 |
채점 기준표의 가치는 정확도를 조금 올리는 데 있지 않다. 판정이 외부 정보에 휘둘리지 않도록 붙잡아 주는 데 있다.
이 결과로 말할 수 없는 것
심판 7개를 모두 추론 기능을 끈 상태로 돌렸다. “LLM 일반”이 아니라 “비추론 모드의 소형~중형 모델”에 대한 결과다. 또한 이 결과는 등급을 정해 놓고 생성한 문항에 대한 것이다. 사람이 라벨링한 자료(KorSTS·KLUE-STS·STS-B)는 각각 별도의 분석 대상으로 따로 다루며, 이 카드의 결론을 보증하거나 대체하지 않는다. 정답 2 문항 일부에서 라벨 오류가 확인되었고, 재검토하면 그 구간 수치는 달라진다.
이 카드의 모든 표와 그림은 노트북 하나를 실행하면 그대로 재현된다. Colab이나 주피터랩 어디서든 돌아간다.
| 파일 | 내용 | 규모 | 크기 |
|---|---|---|---|
| llm_jury_analysis_v2.ipynb | 재분석 노트북 — 표·그림 전체 재현 | 31셀 | 30 KB |
| data/items_main_v1.csv | 문항과 정답 등급, 코사인 | 900행 | 165 KB |
| data/judgments_main_v1.csv | 모델 판정 원본 | 25,200행 | 747 KB |
노트북은 한글 글꼴을 자동으로 잡고, Colab에서는 파일 업로드 창을 띄운다. 표와 그림마다 읽는 법을 함께 적어 두었다.
윈도우에서 받으실 때
두 CSV는 UTF-8(BOM 포함)으로 저장했다. 내려받아 엑셀에서 그냥 열어도 한글이 깨지지 않는다. 파이썬에서는 pd.read_csv(경로, encoding='utf-8-sig') 로 읽으면 된다.