AI를 사용해 시험 시스템을 만들었어요. 작동했지만… 안 될 때까지.

발행: (2026년 5월 3일 AM 02:05 GMT+9)
13 분 소요
원문: Dev.to

Source: Dev.to

구조화된 데이터 버그에서 AI‑기반 시험 플랫폼까지의 여정

나는 시험 플랫폼을 만들겠다는 아이디어에서 시작하지 않았다. 다른 문제에서 시작되었다: 우리는 AI를 사용해 API용 구조화된 데이터를 생성하고 있었다. 처음에는 응답이 괜찮아 보였지만, 실제 운영에서는 미묘한 형식 오류가 나타나기 시작했다—예를 들어 120.5 대신 반드시 120.50이어야 하는 경우가 있었다. 하위 시스템은 정확한 형식을 기대했기 때문에 값을 거부했다.

이러한 사소한 문제들을 디버깅하는 데 많은 시간이 소요됐고, 계속해서 재발했다.

이것이 시험에 중요한 이유

AI가 간단한 숫자 형식에서도 실수를 한다면, 시험 문제를 생성하거나 답안을 평가하도록 요청했을 때는 어떻게 될까? 데모에서는 인상적이다—즉시 문제를 만들고 자동 채점까지—but 실제 사용에서는 일관성이 문제가 된다:

  • 난이도 수준이 무작위로 변한다.
  • 답안이 항상 같은 방식으로 구조화되지 않는다.
  • 평가가 주관적으로 느껴질 수 있다.

이는 학생이나 학교에 신뢰할 수 있는 솔루션이 아니다.

첫 번째 시도: 프롬프트 엔지니어링

보통의 해결책을 시도했다: 프롬프트를 개선한다. 프롬프트를 길게 만들고, 규칙을 더 추가하고, 매우 구체적으로 작성했다. 약간은 도움이 되었지만 핵심 문제는 해결되지 않았다—예외 상황에서는 여전히 약간씩 틀린 출력이 나왔다.

진짜 문제는 프롬프트가 아니라 제어 없이 원시 AI 출력에 의존하는 것이었다.

해결책: 작은 Java 래퍼

“AI를 고치는” 대신, 나는 가벼운 Java 애플리케이션( JAR 형태로 배포)을 만들었다. 사용자는 다음을 할 수 있다:

  1. 자신의 정보를 입력한다.
  2. 과목과 주제를 선택한다.
  3. 문제를 생성하고, 타이머를 실행하며, 답안을 제출하고, 보고서를 받는다.

새로운 점은 UI 자체가 아니라 UI와 AI 사이에서 일어나는 과정이다. 아래는 UI 화면을 단계별로 살펴본 것이다.

Home Page (Landing + Features)

Home page screenshot

주요 진입점은 전체 아이디어를 명확히 보여줍니다—사용자가 질문을 생성하고, 회원가입하며, 주제를 선택할 수 있는 풀스택 AI 기반 시험 플랫폼입니다.

  • 단순한 폼 기반 앱이 아닙니다.
  • AI 질문 생성, 평가, 타이머, 보고서 기능이 이미 통합된 완전한 시험 프레임워크로 설계되었습니다.
  • 아래 기능 섹션은 핵심 역량을 구조화된 방식으로 강조하며, 플랫폼이 전체 시험 라이프사이클을 처리한다는 점을 부각합니다(단순 질문 생성에 그치지 않음).

학생 등록

학생 등록 스크린샷

상세한 학생 정보를 캡처합니다—이름, 이메일, 연령, 국가, 경험, 관심사 및 교육 수준.

  • 이 컨텍스트는 시스템이 질문 생성을 개인화하도록 합니다.
  • 이 디자인은 일반적인 질문을 넘어 적응형 시험 생성으로 나아갑니다.
  • 간단한 레이아웃이지만 강력한 아이디어입니다: AI가 관련성 있고 의미 있는 질문을 생성할 수 있도록 충분한 컨텍스트를 수집합니다.

주제 선택

Topic selection screenshot

사전 정의된 시험 주제 (Java, Spring, 시스템 설계 등)와 명확한 세부 정보:

  • 난이도
  • 문제 수
  • 시간 제한

이 화면은 구조를 추가합니다:

  • 유연성 – 선택할 수 있는 여러 주제.
  • 제어 – 고정된 시간과 난이도 수준.

무작위성을 줄임으로써 시험은 예측 가능하고 공정해집니다.

시험 시작 화면

Exam start screenshot

시험이 시작되기 전에 표시되는 지침으로, 다음과 같은 규칙을 포함합니다:

  • 시간 제한.
  • 페이지 새로 고침 금지.
  • 제출 후에는 답변을 변경할 수 없습니다.

Source:

수학 – 쉬움

수학 쉬운 스크린샷

기본적인 수학 문제(덧셈, 곱셈)를 보여줍니다. 일반 퀴즈처럼 보이지만, 선택한 주제(수학)와 난이도(쉬움)에 따라 AI가 실시간으로 문제를 생성합니다.

사용자가 주제를 선택하면 시스템은 AI에 다음과 같은 프롬프트를 보냅니다:

쉬운 수준의 수학 문제를 두 자리 덧셈한 자리 곱셈으로 생성해 주세요. 각 문제는 Q: 형식으로, 답은 A: 형식으로 반환하십시오.”

응답은 파싱되어 화면에 표시되고, 이후 자동으로 평가됩니다.

주요 내용

  1. AI를 제어하고, 무조건 신뢰하지 마세요.
  2. 결정론적 레이어 추가 (프롬프트 템플릿, 엄격한 출력 파싱, 검증)하여 일관성을 보장합니다.
  3. 맥락 데이터 수집 (학생 프로필, 주제 설정)으로 AI 출력이 더 관련성 있고 재현 가능하도록 합니다.
  4. AI를 얇은 애플리케이션으로 감싸 규칙, 타이밍, 보고를 강제하여 “멋진 데모”를 프로덕션‑레디 시험 플랫폼으로 전환합니다.

소스 코드를 원하시거나 JAR 파일을 직접 사용해 보고 싶으시면 언제든지 연락 주세요!

Source:

개요

시스템은 AI‑생성 시험 문제를 학생에게 제시하기 전에 모두 검증합니다.
검증 레이어는 다음을 확인합니다:

  • 구조 – 각 문제는 정확히 네 개의 선택지를 가져야 합니다.
  • 형식 일관성 – 모든 문제에 동일한 레이아웃이 사용됩니다.
  • 정답 추출 – 지정된 정답을 식별하고 저장합니다.

수학 문제의 경우 시스템은 답을 결정적으로 검증할 수 있습니다(예: 15 + 27을 다시 계산하고 결과를 확인).

Science – Medium

Science question example

이 화면에서는 질문이 개념적이며 (화학 기호, 물리학 사실)입니다. 답이 숫자가 아니기 때문에 시스템은 AI 지식에 의존하지만 다음을 강제합니다:

  • 구조화된 질문 형식
  • 단일 정답
  • 유효한 선택지 집합

Validation Process

  1. 답변 형식 교차 검사 – 답변이 예상 패턴을 따르는지 확인합니다.
  2. 정답이 하나만 표시되었는지 확인.
  3. 응답이 모호한 경우 AI에게 다시 프롬프트를 보낼 수 있습니다.

프로그래밍 – 어려움

Programming question example

이 화면에는 고급 질문(시간 복잡도, 자료 구조)이 포함되어 있습니다. AI는 다음을 생성합니다:

  • 도메인 특화 질문
  • 적절한 난이도 수준
  • 관련 답변 선택지

신뢰성 측정

  • 알려진 패턴 적용 (예: Big‑O 표기법 형식)
  • 옵션 일관성 검증
  • 정답이 하나만 선택되도록 보장

가능한 경우 규칙 기반 검증도 적용됩니다. 예를 들어:

  • 유효한 복잡도 값 (O(n), O(log n), 등)
  • 표준 문제에 대한 알려진 정답

시험 흐름

  • **“Start Exam Now”**는 설정과 실행을 구분하여 명확한 흐름 제어를 제공합니다.
  • 모든 AI 응답은 검증 레이어를 통과하며, 이 레이어는:
    • 구조를 확인합니다
    • 형식 문제를 수정합니다
    • 필수 필드가 존재하는지 보장합니다
    • 출력 일관성을 보장합니다

따라서 AI는 콘텐츠를 제안하지만, 시스템이 실제 사용되는 것을 결정합니다.

답변 표시

학생이 **“Show Answer”**를 클릭하면:

  1. 답변이 AI 응답에서 추출됩니다.
  2. 정답 여부와 올바른 형식을 위해 검증됩니다.
  3. 수치형 질문의 경우, 시스템이 표시하기 전에 계산을 재검증합니다.

이는 학생들에게 표시된 답변이 정확하고 신뢰할 수 있다는 확신을 줍니다.

영향

  • 출력이 이제 실행마다 일관적입니다.
  • 시스템이 예측 가능하게 동작하며, 더 이상 “데모”처럼 느껴지지 않습니다.
  • 구현은 의도적으로 단순하게 유지됩니다: 로컬에서 실행할 수 있는 인‑메모리 데이터베이스를 포함한 Java JAR.

협업 요청

다음 분야에 경험이 있으신가요:

  • AI‑생성 데이터
  • 시험 또는 퀴즈 시스템
  • 검증/제어 레이어

비슷한 과제를 어떻게 해결했는지 듣고 싶습니다. 프롬프트를 다듬었나요, 아니면 제어 메커니즘을 도입했나요?

프로젝트 저장소:
https://github.com/swapneswarsundarray/ai-assisted-exam

프로젝트는 초기 단계이며 기여를 환영합니다. 자유롭게 사용해 보시고, 개선 사항을 제안하거나 실제 입력을 추가해 주세요.

요약

AI만으로는 시스템을 대체하지 못하고, 더 큰 아키텍처의 구성 요소가 됩니다.
실제 가치는 전체 솔루션을 신뢰할 수 있게 하는 주변 구조, 검증 및 제어에서 나옵니다.

0 조회
Back to Blog

관련 글

더 보기 »