AI 채점의 블랙박스와 설명가능한 AI(XAI-ED)
📊 AI 채점의 블랙박스와 설명가능한 AI(XAI-ED)
안녕하세요, 고구려입니다.
인공지능 기술이 교실 깊숙이 들어오며 행정과 평가 업무에 많은 변화가 일어나고 있습니다. 오늘 저는 지난 1학기 대수 수행평가 채점에 AI 파이프라인을 직접 가동하며 겪은 생생한 과정과, 거기서 피어난 ‘블랙박스 채점’의 불안감을 극복하기 위해 설계한 설명가능한 교육용 AI(XAI-ED) 시스템을 여러분께 소개하고자 합니다.
📑 목차
- 출발점: 실제 대수 수행평가 채점 데이터 가공 여정
- AI 채점의 블랙박스: 교사의 편리함과 불안함 사이의 딜레마
- 설명가능성(XAI-ED)의 설계: 무엇을 어떻게 보여줄 것인가
- 함정과 대책: AI 과신을 막고 교사의 주도권 확보하기
1. 출발점: 실제 대수 수행평가 채점 데이터 가공 여정
이번 발표의 제목은 **‘20260606 삼국시대 발표: 수행평가 채점을 하며’**입니다. 신라 부장님이 다져놓은 스마트 교육 기반 위에 실질적인 평가 데이터를 얹어 실험한 결과물입니다. AI 기반 채점의 실무적 챌린지와 교육공학적 대안을 담았습니다.
그 시작은 1학년 학생들의 대수 수행평가 보고서를 채점하는 일이었습니다. 구글 문서 기반으로 제출된 보고서에는 문제 재구성, 데이터 수집, 수학적 모델링 가설 설정 등 다양한 정성평가 항목들이 빼곡히 작성되어 있어 수동 채점에 엄청난 시간이 필요했습니다.
이 많은 보고서를 채점하기 위해 신라 선생님이 제안한 스프레드시트 템플릿과 루브릭 프롬프트 원칙을 가져왔습니다. 채점 조건으로 ‘내용이 비어있거나 무의미한 문장이 아닌 한 항상 최고점을 준다’, ‘수학적으로 완벽하지 않아도 비약이 심하지 않으면 감점하지 않는다’ 등의 구체적인 지침을 채점 요구사항에 명시하여 AI가 무리한 감점을 하지 않도록 통제선을 그었습니다.
실제 채점 도우미 시트를 구동해 보니, AI가 각 항목별로 점수와 함께 구체적인 ‘채점 근거’를 한 문장씩 생성해 주는 것을 확인했습니다. 교사가 복잡하게 얽힌 문장을 다 읽지 않아도 요약된 근거를 볼 수 있어 채점 속도가 획기적으로 개선되었습니다. 다만, 이 요약만 믿고 넘어가도 되는가에 대한 의문이 들기 시작했습니다.
조금 더 대규모로 데이터를 돌리기 위해, 구글 워크스페이스에 쌓인 300여 명의 문서 데이터 로그를 빅쿼리(BigQuery)로 일괄 호출했습니다. 가공되지 않은 복잡한 JSON 파일 셋을 파이썬 환경으로 가져와 필요한 텍스트 필드만 골라내고 불필요한 메타데이터와 서식 정보를 제외하는 정제 작업을 거쳤습니다.
우선 전체 학생 중 무작위로 10명을 선별하여 프로토타입 채점을 돌려보았습니다. 데이터수집(10점), 수학적분석(20점), 의사소통(10점) 항목에 대해 루브릭을 복습시킨 뒤 결과를 확인하며, AI가 사람보다 깐깐하게 보거나 엉뚱한 결정을 내리지는 않는지 모니터링하기 시작했습니다.
그런데 프로토타입 결과에서 심각한 채점 에러가 포착되었습니다. 예를 들어 성실히 과제를 기재한 학생인데도 AI가 ‘미기재로 인한 감점’을 내린 사례가 발생했습니다. 성의 있게 작성한 학생이 0점을 받거나 누락 판정을 받은 억울한 오심 케이스였습니다.
이유를 추적해 보니, 학생들이 보고서에 수식이나 기호를 입력할 때 특수 문자나 LaTeX 문법을 사용했는데, 텍스트 추출 모듈이 이를 해석하지 못하고 깨진 문자나 빈칸으로 남겨둔 것이 원인이었습니다. 즉, 학생이 미기재한 것이 아니라 시스템의 파싱 오류로 인해 AI가 빈 텍스트를 읽고 오판한 것이었습니다. 이 오류를 잡기 위해 텍스트 파싱 방식을 개선하고 프롬프트를 보강했습니다.
교사의 채점 의도가 AI에게 최우선으로 투영되도록 명확히 선언했습니다. “나는 빈칸이 아니면 일단 점수를 충분히 부여하고 싶다. 실제로 비어있는 무의미한 케이스만 걸러내고, 텍스트가 존재하면 기본 점수를 주어라”고 지시하여 채점 원칙을 단순화했습니다.
그리하여 AI의 역할을 주관적인 점수 ‘판단’이 아닌 객관적인 데이터 ‘탐지’로 고정했습니다. “이 학생이 잘 썼는가, 못 썼는가”를 AI에게 묻는 대신 “이 항목에 텍스트와 근거 문장이 실질적으로 존재하는가? (Y/N)“로 판정 구조를 축소하자 채점의 일관성이 극도로 높아졌습니다.
평가 판정 역시 충분(Y), 불성실(N), 빈칸/오류(Error)의 3단계 구조로 정형화했습니다. ‘명백히 틀림’이나 ‘불성실’의 기준을 매우 좁게 정의하여, 단순히 수식 누락이나 사소한 오탈자 등은 오류로 판단하지 않도록 필터링 규칙을 세밀하게 조율했습니다.
점수의 총점 계산은 AI가 처리하지 않고, Y/N 판정 결과에 맞춰 로컬 파이썬 코드 안에서 수학적인 덧셈 연산을 수행하게 했습니다. AI는 점수를 연산하지 못하므로, 로컬 코드가 그 역할을 보완하여 AI의 수치적 불안정성을 원천 차단했습니다.
또한, 평가에 가장 예민한 이슈인 개인정보보호(PII)를 위해, API에 전송하기 직전 로컬 상에서 학생 실명을 해제하고 난수형 ID로 치환하는 전처리 시스템을 적용했습니다. 실명과 난수 ID 매핑 테이블은 로컬 메모리에만 딕셔너리로 저장하고 외부 클라우드 서버에는 오직 마스킹된 텍스트와 가명 ID만 전송되므로 보안 문제가 완전히 해소되었습니다.
로컬 환경에 구축한 독자적인 ‘AI 수행평가 채점 도우미’ 프로그램의 실제 API 설정 및 실행 화면입니다. OpenAI의 가벼우면서도 저렴한 GPT-4o mini API 모델을 연동하고, 검토 대상 파일 경로와 옵션을 입력하여 구동하게 설계하여 토큰 비용 부담을 대폭 낮췄습니다.
이 툴을 구동하자 309명 학생 전체의 채점 및 분석 상태가 실시간 로그를 통해 표시되었습니다. 구글 클래스룸의 앱스크립트는 30분이라는 엄격한 실행 시간제한이 있어서 대용량 처리가 끊기지만, 파이썬 병렬 코드로 전환하자 제한 시간 없이 30분도 안 되는 빠른 속도로 전체 연산을 완수할 수 있었습니다.
최종적으로 도출된 상세 채점 리포트 화면입니다. 각 익명 학생ID의 문서 링크 옆에 제출 여부, AI가 찾아낸 루브릭별 상세 평가 사유, 그리고 항목별 데이터수집, 수학적분석, 의사소통 평가 점수와 총점이 투명하게 정렬되었습니다. 교사는 이 데이터를 토대로 채점의 일관성을 검증할 수 있게 되었습니다.
향후 이 채점 시스템을 구글 클래스룸과 직접 연동하여 실시간 피드백 초안을 발행하고 상태를 체크할 수 있는 ‘Classroom Agent MVP’ 대시보드를 구축해 운영하기 위한 기획 단계 화면도 완성해 두었습니다.
2. AI 채점의 블랙박스: 교사의 편리함과 불안함 사이의 딜레마
이렇게 자동화 도구를 실제로 돌리고 나니, **‘AI 채점의 블랙박스와 교사의 판단권’**에 대한 본질적 갈등이 찾아왔습니다. AI 에이전트가 교사의 숭고한 주관적 평가 판단을 어디까지 대신할 수 있는지에 대한 깊은 성찰의 순간이었습니다.
많은 동료 교사들이 공감하듯, AI로 채점을 돌려두면 무척 편하지만 그 채점 결과가 도출된 중간 추론 과정이 보이지 않기 때문에 결과를 온전히 믿을 수 없는 깊은 불안감이 생깁니다. 채점의 편의성과 평가 신뢰도 사이의 교차로에 서게 된 것입니다.
이 딜레마를 풀기 위한 결론은 100% 완전 투명성이나, 혹은 아예 가려두는 완전 블랙박스화가 아닙니다. 오직 교사가 판단하고 바로잡을 수 있는 만큼만 똑똑하게 노출하는 **‘검토 가능한 수준의 투명성’**입니다. 정보 과부하를 막으면서도 안전장치를 두는 적절한 타협점입니다.
3. 설명가능성(XAI-ED)의 설계: 무엇을 어떻게 보여줄 것인가
‘검토 가능한 투명성’을 교사용 UI에 구현하기 위해 저는 XAI-ED 프레임워크가 정의하는 5대 핵심 요소(적용된 채점 기준, 읽은 텍스트 범위 하이라이트, 근거 문장 출처, 자체 판정 신뢰도 지표, 확인 필요 플래그)를 대시보드 화면에 입체적으로 녹여냈습니다. 교사는 의심스러운 부분만 핀포인트로 확인할 수 있습니다.
이를 뒷받침하는 기술은 AI 에이전트의 절차 분할 설계입니다. 좋은 에이전트는 결코 혼자 다 처리하는 만능 기계가 아니며, 절차를 쪼개어 단계별 흔적(Trace)을 보존하는 방식으로 설계해야 합니다. 각 단계의 중간 데이터들이 기록에 남아야 교사가 추적하여 오류를 짚어낼 수 있습니다.
컨텍스트 토큰의 과소비를 막기 위해, 고정된 지식 DB(루브릭 설명, 기본 출력 규칙)와 유동적인 학생 정보(답안 텍스트, 재제출 이력)를 호출 시점에 동적으로 묶어주는 템플릿 처리를 적용하여 API 효율과 렌더링 성능을 동시에 챙겼습니다.
우리가 빚어낸 시스템은 단순히 채점을 대신해 주는 로봇이 아닙니다. 교사의 주관과 평가 철학, 점수 판단 기준을 고스란히 담고 검증을 지원하는 든든한 **‘교사 판단 보존 하네스(Harness)‘**에 가깝습니다. AI에 평가의 최종 권한을 양도하는 것이 아니라, 교사의 결정을 안전하게 보좌하는 외골격 슈트 역할을 지향합니다.
이러한 설계의 바탕이 된 학술 연구는 ‘교육용 AI의 설명가능성을 설계하는 6대 렌즈(XAI-ED)’ 논문입니다. 단순히 AI가 왜 그렇게 결과물을 냈다는지를 넘어, 그 설명이 누구의 학습과 성장을 돕는지를 다각도로 조명하는 설계론입니다.
평가 결과가 학생의 진로와 성장에 민감하게 개입하는 교실 현장일수록, AI 성능의 수치적 향상보다 투명한 판단 근거의 확보와 이에 따른 ‘교사의 최종적 교육적 책임’이 무거워지기 때문입니다. 설명 가능성은 단순 기술 편의를 넘어 교육의 신뢰와 공정성을 지탱하는 근간입니다.
XAI-ED 렌즈는 이를 구체적인 6가지 질문(이해관계자, 설명의 이득, 설명 방식, 모델 클래스, 휴먼-센터드 인터페이스, 잠재적 함정)으로 구조화하여, 무조건적인 정보의 과다 나열 대신 대상에 맞추어 레이어별로 가공된 정보를 제공하길 제안합니다.
설명의 이득과 목적은 대상마다 판이합니다. 학생에게는 다음 학습 행동을 교정해 주는 나침반이 되어야 하고, 교사에게는 채점 판단의 객관성을 입증하는 신뢰할 수 있는 검토 근거가 되어야 합니다. 교육 주체별로 보여주어야 할 데이터의 계층 구조가 분리되어야 하는 이유입니다.
따라서 통계 수학적 파라미터 수치를 그냥 던져주는 식의 LIME/SHAP 기법은 교육 현장에서 아무런 가치가 없습니다. 오직 루브릭 항목, 본문 하이라이트 문장 등 ‘교사와 학생의 언어’로 번역되어 제공되어야만 교육적 소통을 시작할 수 있습니다.
4. 함정과 대책: AI 과신을 막고 교사의 주도권 확보하기
우리가 극도로 주의해야 할 대목은 잘못 설계된 설명이 가져오는 ‘교육적 함정(Pitfalls)‘입니다. 그럴듯한 오답 설명, 이미 내려진 AI의 결정을 교사가 생각 없이 승인하게 만드는 사후 합리화 유도 등입니다. 설명의 정교함이 오히려 교사의 메타인지를 마비시킬 수 있습니다.
만일 AI가 텍스트 인식 오류로 오독을 한 상태에서 교사에게 문장 필터와 그럴듯한 감점 피드백 사유를 만들어 제출하면, 교사는 자세한 설명이 있으니 괜찮겠지 하고 무비판적으로 동조하여 오심을 저지를 확률이 높아집니다. AI의 오류에 교사가 동조하게 만드는 교묘한 함정입니다.
이것이 ‘사후 정당화(Post-hoc justification)’ 함정입니다. 평가는 단순히 결정을 방어하기 위한 장식이 아닌, 결정을 검토하고 바르게 돌려놓기 위한 필터 장치여야 합니다. 이를 방지하기 위해 AI는 결론보다 모순된 지점을 포착하여 띄워주는 역할을 수행해야 합니다.
동시에 민감한 데이터나 과거 학습 이력이 불필요하게 평가의 설명 근거로 과도하게 나열되면, 교사에게 학생에 대한 선입견(낙인 효과)을 불러일으키고 인지 과부하를 초래합니다. 때로는 보여주면 안 되는 것을 적절히 감추고 마스킹하는 것 역시 중요한 인터페이스 설계입니다.
결국 우리 하네스(Harness) 시스템이 추구하는 핵심적인 가치는 “AI가 다 채점해 주었다”라는 결과적 사실이 아닙니다. **“교사가 최단 시간 내에 오류를 교정하고 판단을 승인할 수 있는 투명한 추론 흔적을 안전하게 남겼다”**가 본질입니다. 이것이 정착될 때 교실 안의 평가는 한결 신뢰할 수 있고 따뜻해질 것입니다.
💬 질의응답 (Q&A)
Q: 채점 오류를 방지하기 위해 사용했다는 ‘불확실성 지표’는 실제로 어떻게 활용하나요?
A: AI가 판단하기에 기준을 완전히 만족하는 확장형 학생이나 전혀 기재하지 않은 미제출 학생은 신뢰도가 높게 나옵니다. 하지만 수식이나 문장이 다소 애매하거나 비약이 있어서 감점할지 만점을 줄지 헷갈리는 경계의 답안을 만났을 때, AI는 스스로 ‘신뢰도 낮음’ 플래그를 표기해 리포트에 넘깁니다. 교사는 이 필터링이 걸린 상위 10% 정도의 복잡한 답안들만 수작업으로 열어보고 최종 수동 판정을 내리면 되므로, 업무 효율을 유지하면서도 오심을 완벽하게 걸러낼 수 있습니다.
Q: 로컬 환경에서 파이썬 코드로 가명화(Anonymization)를 수행할 때 발생할 수 있는 데이터 매칭 오류는 없었나요?
A: 이를 막기 위해 학생의 학번과 구글 문서 파일 ID, 그리고 임시 부여된 난수 식별 키를 1:1로 매핑하여 컴퓨터 메모리 딕셔너리로 저장하고, 작업이 끝나는 즉시 해당 리스트를 암호화하여 외부 서버 유입을 통제합니다. 또한, 텍스트가 추출되는 과정에서 수식이 깨지는 변지우 학생 사례 등의 특수 기호 파싱 누락을 잡기 위해, ‘Y/N 판정 불가 시 일단 충분(Y) 처리 후 교사 확인 요망’ 하도록 예외 규칙을 코드로 직접 명시하여 원천 차단했습니다.
🔗 연관 글
- 백제 선생님의 블로그 글: AI 시대, 효율보다 ‘의미’를 남기는 질문의 힘
- 신라 선생님의 블로그 글: 로컬 에이전트 구축과 학교 시스템 리디자인
- 고구려 선생님의 이전 글: AI 시대의 역량 평가와 수학적 비계(Scaffolding) 설정
필진: 고구려
교육학적 관점에서 학생들을 위한 최적의 교육 방식 자체에 관심이 많으며, 이를 현대의 기술과 어떻게 유기적으로 연결할지 고민합니다.