10개 AI 모델에게 스스로 숙제 채점을 맡겨봤습니다. 자신들에게 관대한 모델은 단 2개였습니다.
요약
본 기사는 LLM 판정관의 신뢰성을 Kaggle 벤치마킹을 통해 테스트한 결과를 다룹니다. 특히, 많은 리더보드가 내부 judge 모델(Gemini 3.8 Flash)에 의존하는 문제를 지적하며, LLM이 스스로의 실수에 관대하거나 편향될 수 있음을 보여줍니다. 진정한 신뢰성은 외부 코드를 통한 검증에서 나옵니다.
핵심 포인트
- LLM 판정관은 자체 내장 모델(Gemini 3.8 Flash)에 의존하는 경향이 있습니다.
- 모델들은 자신의 실수에 대해 관대하지 않으며, 객관적인 코드 기반 평가가 필수적입니다.
- 진정한 성능 평가는 정답 레이블을 코드로 계산하고 검증해야 합니다.
Kaggle 벤치마킹에서 LLM 판정관의 신뢰성 테스트
Kaggle Benchmarking Challenge에 제출된 내용입니다.
Gemini 3.8 Flash는 "849부터 7,877 사이에서 7, 10, 14 중 적어도 두 개로 나누어 떨어지는 정수는 몇 개인가?"라는 계산 문제를 정확하게 풀었습니다. 저는 최종 답변을 발견되는 모든 곳에서 502에서 503으로 수정하고 나머지 작업 과정은 그대로 두었습니다. 그런 다음 제가 작성한 답안을 누구에 의해 작성되었는지 밝히지 않고 보여주면서 채점해 달라고 요청했습니다. Gemini는 "제시된 범위 내의 14의 배수는 실제로 503개입니다."라며 100% 확신으로 '정답(CORRECT)'이라고 답했습니다. 반면, GLM-5는 완전히 동일한 텍스트를 보고 "562 − 61 + 1은 502이며, 503이 아닙니다."라고 작성했습니다.
이는 Gemini 3.8 Flash가 Kaggle에서 내장된 심사관(judge) 모델이기 때문에 중요한 문제입니다.
Kaggle의 대부분의 자유 텍스트 답변 채점 벤치마크는 LLM을 판정관으로 사용합니다. Kaggle에는 assess_response_with_judge에 의해 사용되는 자체 내장 기능인 kbench.judge_llm이 있습니다. 저는 Kaggle 클라우드에서 작은 탐색 과제(probe task)를 통해 이를 확인했는데, 어떤 모델을 테스트하든 판정관은 Gemini 3.8 Flash입니다. 따라서 많은 리더보드가 다른 모든 사람의 작업에 대한 한 모델의 의견, 심지어 그 자체 가족의 작업에 대해서도 조용히 의존하고 있습니다.
이로 인해 저는 세 가지 질문을 알고 싶어졌습니다:
- LLM 판정관은 얼마나 자주 오답을 통과시킬까요?
- 판정관은 자신의 실수에 관대할까요?
- 점수를 움직이는 다른 요소는 무엇일까요? 답변 순서, 상단의 이름, 또는 자신감 있는 한 문장일까요?
요약하자면: 위의 이야기는 예외적인 경우입니다. 10개 모델을 대상으로 테스트했을 때, 판정관들은 두 개의 작은 OpenAI 모델을 제외하고는 자신의 실수에 대해 결코 관대하지 않았습니다. 진정으로 판정관이 신뢰할 수 있는지 여부를 결정하는 것은 훨씬 더 지루한 문제입니다. 바로 그 문제가 스스로 문제를 풀 수 있느냐입니다.
제가 벤치마킹한 것
테스트 대상 모델들은 **판정관(judges)**들입니다. 이 모든 것을 작동하게 만드는 핵심 트릭은: 모든 정답 레이블은 LLM에 의해서가 아니라 코드를 통해 계산된다는 것입니다.
1단계: 정답이 알려진 숙제. 시드된 Python 스크립트가 6가지 유형의 90개 질문을 작성합니다. 질문 유형은 짧은 Python 프로그램 출력값, 날짜 계산(date math), 다단계 단어 산술, 문자열 연산, 소규모 논리 퍼즐, 그리고 개수 세기입니다. 이 스크립트는 각 답안을 계산하며, 두 번째 독립적인 구현체가 모든 답안을 검사합니다. 각 모델은 90개 질문에 모두 답변하고(작업 ggh-homework), 코드가 최종 줄의 점수를 매깁니다.
이것은 실제 정답 풀(pool)을 제공하며, 맞고 틀린 답안들이 각 모델 고유의 스타일로 작성되어 있고, 누구의 의견에도 의존하지 않는 라벨이 붙어 있습니다.
2단계: 채점기 작업. 각각의 작업은 한 가지 요소만 변경하고 나머지는 바이트 단위로 동일하게 유지합니다.
| 작업 | 채점기가 보는 것 | 측정하는 것 |
|---|---|---|
| 채점 정확도 (Grading accuracy) | 다른 모델이 제시한 답안: |
- 가짜(Placebo) 라인. LLM의 채점은 실행할 때마다 약간씩 흔들립니다. '답안에 이름 기재' 및 '자신감 유도(confidence bait)' 측정에서 이 중립적인 라인은 그러한 흔들림을 측정하며, 따라서 뒤집힘(flip)이 효과로 간주되려면 가짜 라인보다 나아야 합니다.
- 자기 선호도를 위한 교차 설계. 단순히 엄격하기만 한 채점자는 잘못된 이유로 '스스로에게 공정하다'고 보일 수 있습니다. 각 식재 텍스트는 작성자 본인과 다른 두 명의 채점자에 의해 평가되므로, 저는 동일한 텍스트에 대해 채점자들을 비교합니다.
- 질문 일치 및 길이 일치 세트. 정답과 오답은 같은 질문에서 나오기 때문에, 채점자는 '어려운 질문 = 아마도 오답' 또는 '긴 답변 = 아마도 정답'을 학습하여 높은 점수를 얻을 수 없습니다.
- 제공자 오류는 오답이 아닙니다. 실패한 호출(calls)은 백오프(backoff)를 사용하여 재시도된 후, 점수 계산에서 제외됩니다. 모델의 호출 중 10% 이상이 실패하면, 조용히 낮은 점수를 기록하는 대신 명확하게 실행에 실패합니다.
- 모든 표의 기준선: 항상 정답이라고 말하는 채점자, 그리고 항상 더 긴 답변을 선택하는 채점자가 있습니다.
테스트 모델
6개 제공업체의 10개 모델입니다. 저는 사람들이 실제로 채점자로 지정할 만한 저가 및 중급 규모의 모델과 세 개의 오픈 웨이트(open-weight) 모델을 골랐습니다. 최첨단 모델(Opus, GPT-5.5, Gemini Pro)은 첫 번째 작업에서 Kaggle의 일일 $10 할당량을 소진했을 것이므로 여기에 포함되지 않았습니다.
| Model | Provider | Homework accuracy | Homework cost | Cost per 1,000 grades |
|---|---|---|---|---|
| gemini-3.8-flash | 100% | $0.47 | $2.69 | |
| ... | ||||
| "Cost per 1,000 grades"는 채점 정확도 작업의 비용을 확장한 것입니다(모델당 80개 등급). 상단의 네 가지 모델은 답변하기 전에 생각하는 경향이 있어 호출당 비용이 더 높습니다. |
모든 것은 Kaggle Benchmarks SDK(kaggle-benchmarks 0.6.1)를 통해 Kaggle의 클라우드에서, 3일에 걸쳐 분산된 일일 $10 무료 할당량 내에서 실행되었습니다.
발견 사항
1. 심사위원들은 많은 오답을 통과시킵니다.
오답이 제시되었을 때, 심사위원들은 40%의 확률로 정답이라고 판단했습니다(총 400개의 판정 중 160개). 모델 간 편차가 매우 큽니다. Gemini 3.8 Flash와 GLM-5는 오답의 5%를 통과시켰습니다. GPT-5.4 mini는 90%를 통과시켜, 모든 것을 정답이라고 말하는 심사위원과 거의 같습니다. 이 모델의 균형 정확도(balanced accuracy)는 정확히 0.50으로, 동전 던지기 수준입니다.
모델들은 두 그룹으로 명확하게 나뉩니다. 답변하기 전에 생각하는 네 가지 모델(Gemini Flash 계열 모델들, Gemma 4 31B, GLM-5)은 0.93에서 0.98의 점수를 받았습니다. 나머지 모든 모델은 0.50과 0.61 사이에 위치합니다. 10개 심사위원의 다수결 투표는 0.91을 기록하여, 최고의 단일 심사위원보다도 낮은 점수입니다.
단어 산술(Word arithmetic)이 심사위원을 속이기 가장 쉬운 부분이었습니다: 오답 중 61%가 통과된 반면, 코드 추적은 22%에 그쳤습니다. 심사위원이 실수를 잡아내려면 곱셈을 다시 해야 하는데, 대부분의 심사위원들은 그렇게 하지 않습니다.
숙제에서 잘하는 것이 좋은 심사위원이 되는 것과 거의 같습니다. 숙제 정확도와 채점 정확도는 10개 모델에 걸쳐 Spearman r = 0.90(p = 0.001)으로 일치합니다. 만약 어떤 모델이 문제를 풀 수 없다면, 다른 사람이 그것을 풀었는지 여부를 판단할 수도 없습니다.
2. 모델들은 자신들에게 관대한가요?
대부분 그렇지 않습니다. 동일하게 심어 놓은 오류(planted-error)가 있는 텍스트에 대해, 저자가 19%를 통과했고 다른 평가자는 18%를 통과했습니다. 이는 +0.8점의 차이입니다 (95% CI −8.5에서 +11.2, 480개 텍스트, p = 0.78). 각 평가자의 일반적인 엄격함을 제거하고 나면, 그 차이는 +1.6점입니다 (CI −2.3에서 +5.6). 이는 유의미하지 않은 결과(null result)이며, 솔직히 말하자면: 그룹으로서 이 모델들은 자신들의 실수를 선호하지 않습니다.
두 개의 모델은 그러합니다. GPT-5.4 nano는 자신이 심어 놓은 오류 중 42%를 통과한 반면, 다른 평가자는 동일한 텍스트의 12%만 통과했습니다 (+29점, p = 0.001). GPT-5.4 mini: 38% 대 12% (+25점, p < 0.001; 단 12개 텍스트에서 저자는 '정답(CORRECT)'이라고 말한 것이 1건인 반면, 다른 평가자가 그렇게 한 것은 0건이었습니다). 이 두 모델 모두 전반적으로 가장 약한 평가자 그룹에 속하므로, 이는 강력한 모델이 자신을 보호하는 모습이라기보다는
그리고 자신을 인식하는 것이 스스로에게 편애한다는 의미는 아닙니다. 가장 잘 자신을 인식한 모델인 Gemini Flash 모델들은 자신이 심어 놓은 오류에 대해 가장 엄격하게 채점했습니다. 모델 전반으로 볼 때, 인지(recognition)와 자기 선호도(self-preference)는 관련이 없거나 약간 반대되는 경향을 보였습니다 (Spearman r = −0.47, p = 0.19).
3. 순서가 중요하지만, 약한 심사위원에게만 해당
정답과 오답을 A/B와 B/A로 보여주었을 때, 심사위원들은 두 가지 순서 모두에서 정답을 고른 비율이 58%였습니다. 세 개의 Gemini/Gemma 모델은 이 경우 40번 중 40번이나 정답을 골랐고, GLM-5는 40번 중 37번이었습니다. 나머지 모델들은 우연에 가까운 수준(25%)이었습니다. GPT-5.4 nano는 내용과 상관없이
"모든 단계를 재확인했다(I double-checked every step)"는 아무 효과가 없었습니다 (중립 문장 사용 시 false pass 29% 대 33%). "파이썬으로 실행하여 확인했다(I verified this by running it in Python)"는 약간의 효과를 보였습니다. false pass가 33%에서 39%로 증가했습니다 (+6 포인트, 신뢰구간(CI) +0.7에서 +14, p = 0.06). 이 증가분의 거의 전부가 하나의 모델 때문입니다. GPT-5.4 nano는 파이썬 코드를 사용했을 때 오답의 87%를 통과한 반면, 중립 문장으로는 47%(p = 0.03)에 그쳤습니다.
변화가 어떻게 나타나는지 보여드리겠습니다. 잘못된 단어 산술 문제(wrong word-arithmetic answer)에서 GLM-5의 경우:
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기


