프로젝트 개요
코드 저장소: MINJI-AI-STUDY/AI-BACK
AI-STUDY는 수업 자료 PDF를 업로드하면 문제 생성, 학생 풀이/채점, 결과 확인, 자료 기반 질의응답을 연결하는 교육 지원 MVP입니다.
학교 과제 스코프 내에서 완성도를 목표로 했으며, 역할 분리(학생/교사)와 AI 응답의 적절성 제한을 핵심 설계 과제로 다루었습니다.
주요 기능 및 설계
자료 기반 문제 생성 파이프라인
업로드된 PDF 자료에서 텍스트를 추출하고, AI 서버 연동 결과를 문제 세트로 저장합니다. 생성 결과는 서버에서 필요한 개수와 구조를 검증한 뒤 교사용 게시 흐름으로 연결합니다.
- PDF 자료 업로드와 텍스트 추출 흐름 구성
- AI 서버 응답의 문제 개수와 필수 필드 구조 검증
- AI 서버 응답이 부족할 때 keyword 기반 fallback 문제 생성
역할 기반 접근 제어
교사와 학생의 사용 흐름이 명확히 다르므로, 역할별로 기능과 데이터 접근 범위를 분리했습니다.
- 교사: 자료 업로드, 문제 세트 생성 및 편집, 학습 진도 조회
- 학생: 할당된 문제 세트 풀이, 질의응답, 진도 확인
- API 레벨에서 역할 기반 권한 검증을 수행하여 클라이언트 우회 방지
AI 질의응답 제한
AI 응답이 수업 자료 범위를 벗어나지 않도록, 자료 텍스트를 근거로 한 답변과 근거 부족 상태를 구분하도록 설계했습니다.
- 자료 텍스트 기반 grounded 응답 여부와 근거 snippet 저장
- 근거가 부족한 질문에는 insufficient evidence 상태와 fallback 응답 처리
- 질의응답 로그를 저장해 이후 검토 가능한 흐름 구성
기술적 고민
AI 응답의 구조 검증과 fallback
외부 AI 서버 응답은 항상 같은 품질과 형식으로 온다고 가정하기 어렵기 때문에, 서버에서 문제 개수와 필수 필드를 검증하고 부족한 경우 fallback 데이터를 생성하도록 처리했습니다.
학교 스코프 내 완성도
제한된 기간과 인력 내에서 핵심 기능의 완성도를 우선시했습니다. 추천 시스템이나 실시간 협업 기능 같은 확장 아이디어는 일단 배제하고, 자료 업로드 → 문제 생성 → 학습 → 질의응답이라는 핵심 흐름의 안정성에 집중했습니다.
회고
AI-STUDY 프로젝트를 통해 외부 AI 서비스와의 연동 경계, 응답 구조 검증, fallback 처리의 중요성을 경험했습니다. 특히 AI가 생성한 결과를 그대로 신뢰하지 않고 서버 레벨에서 검증 가능한 형태로 다루는 설계가 서비스 안정성에 중요하다는 점을 배웠습니다.