AI가 만든 퀴즈를 답을 가린 다른 AI에게 풀게 하여 점검했습니다. 발견된 오류는 '답이 다른 문제에 적혀 있는 것'이었습니다.
요약
중학생 대상 역사 퀴즈 앱 개발 과정에서 AI가 만든 문제의 오류를 점검했습니다. 답을 가린 다른 AI에게 문제를 풀게 하는 방식으로 검증했으며, 단순 오답보다 '한 문제의 정답이 다른 문제 지문에 포함되는' 구조적 오류가 주요 발견점이었습니다.
핵심 포인트
- AI 생성 콘텐츠는 반드시 별도의 AI를 통해 점검해야 합니다.
- 단순히 틀린 문제를 찾는 것보다, 답이 지문 내에 노출된 구조적 오류가 더 위험합니다.
- Claude Code의 서브 에이전트를 활용하여 제작자의 의도가 풀이 과정에 전이되지 않게 했습니다.
- 풀이 AI는 단원 전체를 훑어보며 문제 간 연관성을 파악하는 것이 중요합니다.
개인적으로 웹사이트나 앱을 만들고 있습니다(상호는 sesebox입니다).
현재 중학생 대상 역사 퀴즈 앱을 만들고 있습니다(아직 개발 중이며 공개하지 않았습니다). 하나의 단원마다 '4지선다 문제・연대 배열하기・빈칸 채우기・교과서 읽기 지문'을 갖추는 형태로, 문제 문항은 AI(Claude Code)에게 작성하게 하고 있습니다.
AI에게 문제를 만들게 하면 빠르지만, 그대로 사용하는 것은 불안합니다. 사실이 틀리지 않았는지, 답이 하나로 결정되는지를 누군가 확인해 주어야 합니다.
그래서 만든 AI와는 다른 AI에게 답을 가린 상태로 풀어보게 하는 점검 과정을 추가했습니다. 약 90개 단원, 판정 4,000건 정도 돌려보니 생각했던 것과는 다른 종류의 오류가 많이 발견되어 그 이야기를 쓰려고 합니다.
1개 단원을 만드는 과정은 다음 5단계로 나누었습니다.
| 단계 | 담당 | 작업 내용 |
|---|---|---|
| ① | 제작자 | 4지선다・배열하기・교과서・빈칸 채우기 작성 |
| ... | ||
| 포인트는 ③입니다. 풀이 AI에게 답이 포함된 파일을 열어보게 하지 않습니다. 사람의 테스트와 같아서, 답을 아는 사람이 풀어도 점검이 되지 않습니다. |
각 단계는 Claude Code의 서브 에이전트(부모 AI로부터 호출하는 별도의 대화 AI)에 맡기고 있습니다. 서브 에이전트끼리는 대화를 공유하지 않기 때문에, 제작자의 생각이 풀이 AI에게 전이되지 않는다는 점도 편리합니다.
②는 Python의 짧은 스크립트입니다. 정답과 오답을 한데 모아 섞고, 어떤 것이 정답인지에 대한 정보를 지웁니다. 배열하기 문제의 경우 연도를 지우고 사건 순서를 섞습니다.
import json, random, sys
from pathlib import Path
for uid in sys.argv[1:]:
...
random.seed(uid)
을 넣은 이유는 다시 실행했을 때 선택지 배열이 매번 바뀌면 이전 결과와 비교하기 어렵기 때문입니다.
풀이 AI에게는 문제 하나하나에 대해 '자신의 답'과 'OK/수정 필요/삭제' 판정, 문제점, 수정안, 확인한 출처 URL을 돌려받게 합니다.
우선 의외였던 점은 여기였습니다.
4지선다 3,358문제 중, 풀이 AI의 답이 정답과 달랐던 것은 단 2문제에 불과했습니다. 게다가 그 2문제는 답을 작성하는 방식(괄호의 전각/반각 등) 차이일 뿐, 내용은 맞았습니다.
즉, '풀지 못한 문제 = 틀린 문제'라는 발견 방식은 거의 도움이 되지 않았습니다. AI는 역사 지식이 충분하기 때문에, 다소 이상한 문제라도 정답을 맞춰버립니다.
도움이 된 것은 푼 후에 작성해 준 '문제점' 쪽이었습니다.
| 판정 | 건수 |
|---|---|
| OK | 3,157 |
| ... | |
| (4지선다와 배열하기를 합친 건수. 2건은 판정 방식이 정해진 범위를 벗어났기 때문에 제외했습니다) |
약 5문제에 1문제꼴로 '고치는 것이 좋다'는 지적이 달렸습니다.
가장 많았고, 제작자 AI조차 스스로 깨닫지 못했던 것은 이것이었습니다.
예를 들어, 무로마치 시대 단원에서,
- '6대 장군은 누구인가'(답: 아시카가 요시아키)라는 문제가 있는 반면,
- 다른 문제의 지문이 '6대 장군 아시카가 요시아키가 한 일로서...'로 시작하는 경우가 있었습니다.
문제 하나하나를 보면 둘 다 올바른 문제이지만, 같은 회에 나오게 되면 한쪽 답이 다른 쪽에 적혀 있습니다.
류큐 단원에서는 '15세기에 오키나와 섬을 통일한 나라는 무엇인가'(답: 류큐 왕국)의 답이, 다른 10개 정도의 문제 지문에 그대로 나와 있었습니다. 주제가 하나로 모인 단원일수록 자주 발생합니다.
제작자는 문제를 하나씩 작성하기 때문에 '이 단어는 이미 다른 문제 지문에서 사용했는지'까지는 확인하지 않습니다. 반면, 풀이 AI는 단원의 문제를 전부 훑으면서 풀기 때문에, '아, 이거 아까 문제에 적혀 있었네'라고 깨달을 수 있습니다. 이는 사람이 테스트를 푸는 것과 완전히 같은 발견 방식입니다.
수정 방법은 두 가지로 했습니다.
- 문제 지문을 다시 작성하여 답의 단어를 제거한다.
- 재작성했을 때 부자연스러워지는 것은 '같은 회에 출제하지 않는 그룹'으로 기록한다
두 번째 항목을 위해 완성본 파일에 conflicts (함께 출제하면 답이 노출되는 문제 그룹)이라는 항목을 만들었습니다. 앱 측에서 출제를 선택할 때, 이 그룹이 겹치지 않도록 합니다. 최종적으로 2,710그룹이 되었습니다. 예상보다 훨씬 많았습니다.
다음으로 많았던 것은 지식과 상관없이 형태로 맞추어 버리는 문제였습니다.
- 정답만 길다(‘스페인 독감’의 유래를 묻는 문제에서, 정답이 약 40자, 오답이 27~33자).
- 오답이 극단적이다(‘모든 거래가 미화로 이루어졌다’, ‘전 사용이 막부 차원에서 금지되었다’ 등).
- 문제 문구와 같은 글자가 포함된 선택지가 하나뿐이다(‘차의 산지를 구별하는 놀이’를 듣고, 선택지 중 ‘茶’라는 글자가 있는 것이 ‘투차’밖에 없다).
- 문제 문구에 답의 일부가 그대로 들어가 있다(‘절이나 사찰의 문전에… 생긴 마을’ → 정답 ‘문전마치’).
테스트를 만들어 본 사람이면 ‘흔히 발생하는 일’이라고 생각하겠지만, AI가 만들 경우 이것이 정말 자주 발생합니다. 올바른 문장을 신중하게 쓰려고 하면 정답만 길어지고, 오답은 ‘명백히 다른 것’을 선택하는 경향이 있습니다.
개수는 ①②보다 적지만, 가장 중요한 것은 이 부분입니다.
- 료안지(龍安寺)의 돌정원을 ‘하얀 모래와 15개의 돌 만’이라고 적었다(실제로는 이끼도 있다). - ‘수호대에서 센고쿠 다이묘가 된 예’의 답을 아사쿠라 씨로 했다(사전에서는 아사쿠라 씨는 수호를 맡은 중신이고, 수호대는 다른 가문이다).
- 한 단원에 출처를 통해 근거를 찾을 수 없는 단정적인 서술이 포함되는 경우가 있다.
풀어보는 사람에게는 ‘출처(코토방크 등의 사전)를 실제로 열어서 확인하는 것’을 규칙으로 정했고, 확인할 수 없었던 것은 ‘확인할 수 없었다’고 적게 했습니다. 이처럼 ‘모르는 것을 모른다고 쓰게 하는 것’이 오류를 찾는 데 상당히 효과적이었습니다.
-
‘풀었는지 여부’만으로는 점검이 되지 않는다. AI는 지식이 있기 때문에, 다소 이상한 문제라도 맞혀버립니다. 유용한 것은 ‘풀어보면서 발견한 문제점’을 쓰게 하는 것입니다.
-
답의 누락은 문제를 하나씩 봐도 찾기 어렵다. 단원의 문제를 전부 보는 사람이 필요합니다. 만드는 사람과는 다른 담당자에게 맡기면 딱 그 역할을 할 수 있습니다. 지적하는 내용 자체는 단원이 바뀌어도 대체로 같기 때문에, 자주 발생하는 지적 사항은 다음 단원을 제작할 사람에게 전달되는 지침에 미리 포함시켰습니다(‘오답은 같은 종류로 길이를 맞추기’, ‘정답의 글자를 문제 문구에 넣지 않기’ 등). - 다만, 지적 비율은 만든 순서대로 **14.7% → 25.9% → 20.2%**로 깔끔하게 줄어들지는 않았습니다. 중간부터는 풀어보는 사람에게도 ‘출처를 하나씩 열어보도록’ 강제했기 때문에, 찾아내는 쪽의 눈도 엄격해져서 단순 비교가 어렵습니다. 지침에 포함시킨 효과가 얼마나 있었는지는 아직 알 수 없습니다.
-
다만, 지적 비율은 만든 순서대로
-
풀어보는 사람의 ‘문제점’ 역시 100% 정확하지 않기 때문에, 수정하는 사람이 다시 한번 출처를 보고 판단하는 과정은 남겨두었습니다.
AI에게 문제를 만들게 할 때는 ‘만드는 역할’과 ‘푸는 역할’을 분리하는 것만으로도, 인간이 하나하나 보는 것보다 훨씬 앞 단계에서 오류를 줄일 수 있었습니다. 같은 방식으로 AI로 퀴즈나 문제집을 만들고 있는 사람들의 참고가 되기를 바랍니다.
그 외 제작 중인 자료들은 sesebox에 모아두었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기