AI에게는 쓰는 일만 맡깁니다
AI가 영어 문항과 해설을 쓰면 규격은 코드로 검사하고, 정답 성립은 다른 모델로 재풀이하며, 인쇄 전에는 사람이 확인합니다. 실제 교재 제작에서 일을 나눈 이유와 실패 사례를 설명합니다.
영어 문항을 만들 때는 내용 작성, 형식 검사, 정답 검수, 출력 확인을 나눠야 합니다. 저는 작성과 독립 재풀이에는 AI를 쓰고, 형식은 코드로 검사하며, 마지막 출력물은 직접 확인합니다. 어느 한 단계를 통과했다고 나머지까지 맞는 것은 아닙니다.
모든 걸 AI한테 던지지 마세요.
AI를 안 쓰자는 말이 아닙니다. 저는 개발하는 동안 AI를 거의 하루 종일 씁니다. 다만 매주 학생 손에 들어가는 교재를 찍는 라인에서는, AI에게 한 가지 일만 줍니다. 쓰는 일입니다.
영어 지문을 읽고 문항을 내고 해설을 쓰는 일이라면 요즘 모델모델 model AI의 '두뇌' 하나하나를 부르는 말. 같은 회사도 크기·성능별로 여러 모델을 냅니다.은 이미 넘치게 잘합니다. 선지 다섯 개를 그럴듯하게 만들고, 오답이 왜 오답인지 설명하는 데 사람보다 빠르고 대개 더 꼼꼼합니다. 문제는 그 뒤입니다. 규격에 맞는지 재고, 문항을 세트로 묶고, 쪽에 앉히고, 정답이 하나뿐인지 확인하는 일까지 같은 모델에게 시키면 그때부터 라인이 흔들립니다.
라인은 여덟 칸이고, AI는 두 칸입니다
원문 하나를 넣으면 해설서든 워크북·클리닉지든 같은 줄을 타고 인쇄물까지 갑니다. 명령은 한 번입니다.

AI가 맡는 칸은 둘입니다.
- 저작 — 지문을 읽고 문항과 해설을 씁니다.
- 재풀이 — 다른 모델이 학생 자리에서 그 문항을 처음 보고 다시 풉니다.
나머지 여섯 칸은 코드입니다. 원문을 잠그고, PDF에서 딸려 온 쪽번호와 줄바꿈 하이픈을 걷어내고, 문장 경계에서만 자릅니다. 자른 조각을 다시 이으면 원문과 한 글자도 달라서는 안 됩니다. 저작이 끝나면 마커와 선지와 밑줄을 코드가 검사하고, 통과한 문항만 조립해서 템플릿에 부어 넣고, 걸린 시간과 빠진 문항을 원장에 적습니다.
제작 라인 안내문의 첫 원칙도 이렇게 적혀 있습니다. “코드가 다 하고, 모델은 내용만 만든다.”
모델에게 형식을 맡기면 생기는 일
이렇게 나누게 된 건 원칙을 먼저 세워서가 아닙니다. 사고가 쌓여서입니다.

한 학년 클리닉지를 한 번 돌렸을 때 모델을 다시 부른 횟수가 33번이었습니다. 원인을 세어 보니 29번이 한 가지였습니다. 유형마다 쓸 수도 있고 안 쓸 수도 있는 보조 칸이 있는데, 검사 코드가 그 칸을 전부 필수로 바꿔 놓고 있었습니다. 모델은 해당 없는 칸에 빈 값을 보냈을 뿐인데, 코드는 그걸 결손으로 보고 저작 전체를 버렸습니다.
내용 문제는 한 건도 없었습니다.
고친 방식은 단순합니다. 선택 칸에 온 빈 값은 코드가 걷어낸 다음 검사합니다. 필수 칸의 빈 값은 그대로 두어 걸리게 합니다. 검사를 무르게 한 게 아니라 제자리에 둔 겁니다.
비슷한 일이 여러 번 있었습니다. 원문에 섞인 줄바꿈 없는 공백과 소프트하이픈 때문에 멀쩡한 인용이 어긋났다고 판정된 적도 있고, 모델이 정답 번호를 슬롯과 다른 자리에 뒀다는 이유로 좋은 문항을 버린 적도 있습니다. 선지 차례에 뜻이 없는 유형이라면 정답 선지를 요구된 자리로 옮기면 그만입니다. 그건 코드가 할 일이고, 모델에게 “번호를 맞춰 다시 써라”라고 시키면 모델은 내용 대신 라벨을 맞추게 됩니다.
형식 때문에 모델을 다시 부르고 있다면 그건 모델 문제가 아니라 코드가 할 일을 모델에게 넘긴 것입니다.
하나가 틀렸다고 책 전체를 세우지 않습니다
쓰는 일을 AI에게 맡기면 가끔 틀립니다. 틀리는 건 괜찮습니다. 틀린 하나가 나머지를 끌고 가지 않게 만드는 건 시스템 몫입니다.
초기에는 문항 하나가 규격에 걸리면 그 자리에서 전체가 멈췄습니다. 50문항 중 49문항 해설이 끝났는데도 책이 안 나온 적이 두 번 있습니다. 저작 직후 단계에서도 같은 일이 있어서, 돌릴 때마다 한 문항에서 서고 처음부터 다시 돌렸습니다. 한 바퀴에 10~20분이었습니다.
지금은 문항마다 따로 끝까지 만들고, 실패는 모아서 보고합니다. 해설을 못 만든 문항은 사유를 남기고 뺍니다. 세트로 묶인 두 문항 중 하나가 판정을 못 넘으면 세트 전체를 버리지 않고 그 문항만 다시 쓰게 합니다. 기본 두 번까지입니다.

실제 결과가 이렇습니다. 40문항을 발주한 두 책이 각각 33문항, 34문항으로 인쇄됐습니다. 빠진 문항은 모두 재풀이 모델이 “이 문항은 정답이 하나로 성립하지 않는다”고 본 것들이었고, 형식 때문에 빠진 문항은 없었습니다.
40개를 채우려고 불통 문항을 끼워 넣지는 않습니다. 모자라면 모자란 대로 내고, 빠진 번호와 이유는 원장에 남깁니다.
병렬은 AI 칸에만 필요합니다
시간이 드는 곳은 모델 호출입니다. 코드 쪽 검사와 조판은 금방 끝납니다.

그래서 병렬은 AI가 맡는 두 칸에 걸었습니다. 저작·재풀이·해설은 문항마다 서로 독립이라, 작업 하나씩을 동시에 여러 개 돌립니다. 동시 개수는 교재 설정에 적어 두는데, 지금 쓰는 설정은 10개가 많고 30개를 쓰는 것도 있습니다. 모델 쪽에서 호출 한도에 걸렸다는 응답이 오면 동시 개수를 절반으로 줄여 다시 돌립니다. 한 작업이 재시도 한도를 다 써도 나머지 결과는 버리지 않습니다.
다만 전부가 병렬은 아닙니다. 클리닉지 해설은 한동안 한 문항씩 차례로 만들다가 나중에야 동시에 돌리게 됐고, 설정에 따라 여전히 하나씩 도는 경로도 남아 있습니다. 조판과 최종 검증은 책 단위로 한 번씩 돕니다.
검증도 AI 혼자 하지 않습니다
인쇄 직전에 거치는 관문은 네 겹입니다.

- 기계 게이트 — 스키마, 원문 보존, 출처, 해설 누락 같은 것을 코드가 봅니다.
- 독립 재풀이 — 문항을 쓴 모델이 아닌 모델이 풉니다. 순서배열과 문장삽입은 두 번 따로 판정해서 둘이 갈리면 버립니다.
- 시각 검사 — 템플릿에 앉힌 결과를 봅니다. 글자를 줄여서 욱여넣은 쪽이 하나라도 있으면 실패입니다. 넘치면 쪽을 나눕니다.
- 사람 승인 — 마지막은 제가 봅니다.
재풀이는 AI이긴 하지만 역할이 다릅니다. 쓴 모델에게 “네 문항 괜찮아?”라고 묻는 게 아니라, 모르는 모델에게 학생처럼 풀게 해서 답이 맞는지 봅니다. 판정은 문항 원장에 적힌 정답과 코드가 대조합니다.
무엇을 맡길지 정하는 기준
제가 쓰는 기준은 하나입니다. 틀렸는지 코드로 잴 수 있으면 코드가 합니다.

글자 수, 문장 경계, 정답 번호 자리, 쪽 넘침, 원문과의 일치는 잴 수 있습니다. 이 오답 선지가 그럴듯한가, 해설이 학생에게 친절한가, 지문 흐름상 이 자리에만 문장이 들어가는가는 잴 수 없습니다. 앞의 것을 AI에게 주면 느리고 비싸고 가끔 틀립니다. 뒤의 것을 코드로 하려고 들면 끝이 없습니다.
그러니 교재 자동화를 시작하신다면 프롬프트프롬프트 prompt AI에게 주는 작업 지시문. 무엇을 어떤 형식으로 만들지 적은 글입니다.를 다듬기 전에 목록부터 만들어 보세요. 지금 AI에게 시키는 일 가운데 결과를 코드로 잴 수 있는 것에 줄을 긋는 겁니다. 줄 그은 것부터 코드로 옮기면 모델 호출이 줄고, 남은 호출은 모델이 정말 잘하는 일에만 쓰입니다.
영어 문항을 만들 때의 검수 질문
| 단계 | 확인할 질문 | 통과만으로 보장되지 않는 것 |
|---|---|---|
| 코드 검사 | 원문·선지·정답 표시가 규격에 맞나 | 문항의 의미와 난이도 |
| 다른 모델의 재풀이 | 원문 근거로 정답이 하나 성립하나 | 모델이 놓친 모호성 |
| 화면 확인 | 밑줄·문항·선지가 인쇄면에 제대로 보이나 | 내용의 정확성 |
| 사람 검수 | 학생이 배운 내용과 수업 목적에 맞나 | 모든 학생에게 같은 난이도 |
형식이 맞아도 정답은 모호할 수 있습니다
검수 차이를 설명하기 위한 가상 예시입니다.
Emma called Mina because she needed help.
Who needed help? ① Emma ② Mina ③ A teacher ④ A mother ⑤ A writer
선지가 다섯 개이고 정답 번호를 ①로 적었다는 사실만으로 정답이 맞는지는 알 수 없습니다. 추가 문맥이 없다면 she가 Emma인지 Mina인지 모호합니다. 선지 개수와 정답 번호의 범위만 검사해서는 이런 문제를 잡을 수 없습니다.
이때 필요한 것은 번호를 맞추는 작업이 아니라 문맥을 보강하거나 문항을 다시 쓰는 일입니다. 자동 검사를 통과한 문항도 사람이 내용과 수업 맥락을 확인해야 하는 이유입니다.
모델이 한 번 더 풀었다는 이유만으로 최종 승인을 대신하지 않습니다. 빠진 문항과 이유를 남기고, 사람이 실제 출력물을 확인하는 데까지가 제 제작 과정입니다.
문항을 다음 교재에서도 쓰려면 문항 자료를 다시 찾을 수 있게 저장하는 방법도 함께 필요합니다.
새 글 소식
새 글이 나오면 메일로 알려 드립니다.
새 글 주소와 한 줄 요약만 보냅니다. 광고는 보내지 않습니다.