[MAICE 개발기 4편] QAC 체크리스트 개발: 교육 품질을 측정 가능한 기준으로 만들기

English version

1. 좋은 대화는 어떻게 알아볼 수 있을까

3편까지 오면 MAICE의 기본 흐름은 어느 정도 갖춰집니다. 학생은 수식을 입력할 수 있고, 시스템은 질문을 분류하고, 필요하면 다시 묻고, 답변을 생성합니다.

하지만 여기서 바로 다음 문제가 생깁니다. 대화가 많아졌다고 해서 학습이 좋아졌다고 말할 수는 없습니다. 길고 친절한 답변이 항상 좋은 학습 지원은 아닙니다. 반대로 짧은 되물음 하나가 학생의 사고를 더 잘 움직일 때도 있습니다.

그래서 MAICE에는 "좋은 대화"를 판단할 기준이 필요했습니다. 감으로 "괜찮아 보인다"고 말하는 대신, 질문과 답변과 맥락을 나누어 볼 수 있는 기준이 필요했습니다.

그 기준이 QAC(Question-Answer-Context) 체크리스트였습니다. 이름 그대로 질문(Question), 답변(Answer), 맥락(Context)을 따로 보면서 대화 품질을 판단하는 틀입니다.


2. 왜 QAC가 필요했나

교육 AI의 품질은 단순 정확도 하나로 보기 어렵습니다. 정답이 맞아도 학생 수준에 맞지 않으면 학습에는 도움이 덜 됩니다. 설명이 친절해도 학생이 실제로 무엇을 묻고 있었는지 놓치면 대화는 빗나갑니다.

MAICE가 보고 싶었던 것은 세 가지였습니다.

  • 학생 질문이 수학적이고 구체적인가
  • AI 답변이 학습자 수준과 맥락에 맞는가
  • 전체 대화가 학생의 사고 과정을 지원하는가

초기에는 학생 페르소나 테스트도 활용했습니다. 여러 유형의 학생을 가정해 질문을 던져 보면 예외 상황을 찾는 데 도움이 됩니다. 그러나 페르소나는 어디까지나 탐색 도구입니다. 연구 결과를 해석하려면 더 일관된 평가 기준이 필요했습니다.


3. QAC 체크리스트 구조

QAC는 대화를 세 부분으로 나누어 봅니다.

  • Q, Question: 학생 질문 자체가 수학적으로 충분한가
  • A, Answer: 답변이 학생에게 맞게 구성되었는가
  • C, Context: 대화 흐름이 학습 과정을 지원하는가

논문에서 사용한 QAC는 총 40점 구조입니다.

영역 점수 보는 내용
A영역, 질문 15점 수학 전문성, 질문 구조화, 학습 맥락
B영역, 답변 15점 학습자 맞춤도, 설명 체계성, 학습 확장성
C영역, 맥락 10점 대화 일관성, 학습 과정 지원

이렇게 나누면 "MAICE가 좋았다"라는 말 대신, 어느 부분이 좋아졌는지 볼 수 있습니다. 질문이 더 구체화되었는지, 답변이 학습자에게 맞았는지, 대화가 사고를 이어가게 했는지 따로 확인할 수 있습니다.


4. 연구에서는 어떻게 사용했나

연구에서는 QAC를 두 방식으로 사용했습니다.

먼저 LLM 평가를 통해 전체 세션 284개를 넓게 살폈습니다. 사람이 모든 세션을 세밀하게 평가하기에는 양이 많았기 때문에, LLM 평가를 사용해 큰 패턴을 확인했습니다.

그다음 외부 수학교사 2명이 표본 세션 100개를 평가했습니다. 이 과정은 LLM 평가가 교육적으로 타당한 방향을 가리키는지 확인하기 위한 장치였습니다.

결과적으로 LLM 평가와 교사 평가 사이에는 총점 기준 r=0.754, p<0.001의 상관이 나타났습니다. 다만 LLM은 교사보다 평균적으로 후하게 점수를 주는 경향이 있었습니다. 그래서 LLM 점수는 절대 채점자가 아니라, 상대 비교와 패턴 탐색을 돕는 도구로 해석해야 합니다.


5. 코드에는 두 종류의 평가 도구가 남았다

실제 구현을 보면 평가 도구도 한 가지가 아닙니다. 여기서 혼동하면 글이 쉽게 어긋납니다.

첫째는 교사용 수동 평가 도구입니다. 교사용 화면에는 QAC v4.3 루브릭을 기준으로 A1/A2/A3, B1/B2/B3, C1/C2를 체크하고 총 40점을 계산하는 흐름이 있습니다. 논문에서 말하는 QAC 40점 평가는 이 루브릭과 연결됩니다.

둘째는 자동 LLM 평가 도구입니다. 백엔드의 EvaluationService는 세션 전체 대화를 Gemini 모델에 보내고, 질문 3개 항목과 답변 3개 항목을 각각 0~5점으로 평가해 총 30점 구조로 저장합니다. 이 도구는 운영 중 많은 세션의 패턴을 빠르게 훑어보는 데 가깝습니다.

개발 메모로 남기면, 교사용 40점 루브릭은 front/src/routes/teacher/+page.svelte에서 확인할 수 있고, 자동 30점 평가는 back/app/services/evaluation_service.py에서 확인할 수 있습니다.

중요한 것은 두 점수를 같은 총점처럼 섞어 읽지 않는 것입니다. 교사용 40점 루브릭은 교육적 판단과 피드백을 위한 도구에 가깝고, 자동 30점 평가는 많은 세션을 빠르게 훑어보는 운영 보조 도구에 가깝습니다. 비교가 필요하다면 먼저 척도 차이를 설명하거나 별도의 정규화 기준을 세워야 합니다.


6. 평가 기준이 있어야 개선도 가능하다

QAC를 만들고 나서야 MAICE의 개선 방향도 더 분명해졌습니다. 단순히 답변이 길어졌는지, 친절해졌는지가 아니라 어느 항목이 부족한지 볼 수 있었기 때문입니다.

예를 들어 학습 지원(C2)이 좋아졌다면, 학생의 사고 과정을 확인하고 다음 생각을 유도하는 대화가 늘었다고 볼 수 있습니다. 반대로 학습 맥락(A3)이 낮다면, 질문 명료화 과정에서 학생의 개인적 맥락이 충분히 보존되지 않았을 가능성을 의심해야 합니다.

이처럼 QAC는 결과를 포장하기 위한 점수표가 아니라, 다음 개선점을 찾기 위한 지도에 가까웠습니다.


7. 다음 문제는 안정성이었다

평가 기준이 생기면 그다음에는 데이터를 안정적으로 모아야 합니다. 학생이 질문하는 중간에 서비스가 멈추거나, 세션 로그가 끊기면 QAC로 비교할 대화 자체가 사라집니다.

그래서 다음 편에서는 교육적 기능처럼 보이지 않지만 실험을 가능하게 했던 운영 문제, 즉 Blue-Green 배포와 서비스 안정성을 다룹니다.

다음 글: [MAICE 개발기 5편] 무거운 AI 컨테이너를 무중단 배포하기

출처

  • 김규봉, 『고등학교 수학 학습에서 질문 명료화를 지원하는 AI 에이전트 개발 및 효과성 분석』, 부산대학교 교육대학원 석사학위논문.

💬 댓글

이 글에 대한 의견을 남겨주세요