AI 채점
AI 채점
Skillnote는 질문 유형에 따라 두 가지 채점 방식을 사용합니다. 단순한 선택형·입력형 문제는 즉시 자동 채점하고, 주관식 문제는 AI가 답변의 의미를 분석하여 평가합니다.
두 가지 채점 방식
자동 채점 (로컬)
적용 유형: OX 퀴즈 (true_false), 객관식 (multiple_choice), 빈칸 채우기 (fill_blank)
서버나 AI 호출 없이 클라이언트에서 즉시 정답과 비교하여 결과를 반환합니다.
| 유형 | 비교 방식 |
|---|---|
| OX 퀴즈 | 선택한 “참” / “거짓”을 정답과 정확히 비교합니다. |
| 객관식 | 선택한 보기 번호(A/B/C/D)를 정답과 정확히 비교합니다. |
| 빈칸 채우기 | 각 빈칸의 입력값을 정답과 대소문자 무시(case-insensitive) 비교합니다. react와 React는 동일하게 처리됩니다. |
자동 채점 결과는 별도의 처리 시간 없이 즉시 확정됩니다.
AI 채점 (Lambda)
적용 유형: 단답형 (short_answer), 적용형 (long_answer)
복습 세션의 마지막 문제를 완료하거나 종료하면, 주관식 답변 전체가 Lambda 함수로 일괄 전송되어 AI가 의미적으로 평가합니다. 이 과정이 채점 화면(“채점 중…”)에 해당합니다.
AI 채점 결과에는 다음 필드가 포함됩니다.
| 필드 | 설명 |
|---|---|
is_correct | 답변이 정답인지 오답인지 여부 (boolean) |
score | 적용형(long_answer)에 한해 0~100점 점수를 부여합니다. 단답형은 정답/오답만 판정합니다. |
feedback | 답변에 대한 AI의 상세 피드백입니다. 결과 페이지에서 “SkillNote 피드백: {feedback}” 형태로 표시됩니다. |
is_gradable | AI가 답변의 정오를 판단할 수 있는지 여부 (boolean). false이면 창의적 답변으로 처리됩니다. |
동의어 인식
AI 채점은 단순한 문자열 일치가 아닌 의미적 유사성을 기반으로 평가합니다. 정확한 단어를 사용하지 않더라도 같은 개념을 올바르게 표현한 경우 정답으로 인정됩니다.
동의어 인정 예시
| 제출 답변 | 정답 | 처리 결과 |
|---|---|---|
JS | JavaScript | 정답 처리 |
리액트 | React | 정답 처리 |
DB | 데이터베이스 | 정답 처리 |
비동기 | asynchronous | 정답 처리 |
동의어로 정답 처리된 경우, 결과 페이지의 해당 항목에 “동의어로 정답 처리” 배지가 표시됩니다.
창의적 답변 처리
AI가 답변의 정오를 명확하게 판단하기 어려운 경우, 해당 답변은 창의적 답변으로 처리됩니다.
- 내부적으로
is_gradable필드가false로 설정됩니다. - 결과 페이지에서 해당 항목에 “창의적 답변” 배지가 표시됩니다.
- 창의적 답변은 오답으로 처리되지 않으며, 정답률 계산에서도 불이익이 없습니다.
- 직접 내용을 읽고 스스로 평가하는 메타인지 학습 기회로 활용할 수 있습니다.
창의적 답변이 발생하는 대표적인 상황은 다음과 같습니다.
- 질문이 열린 형태여서 여러 답이 가능한 경우
- 답변이 개인적인 경험이나 의견을 포함하는 경우
- 정답의 범위가 명확하지 않은 고차원 적용형 질문인 경우
폴백 메커니즘 (AI 채점 실패 시)
네트워크 오류나 AI 서비스 장애로 인해 Lambda 채점이 실패할 경우, 시스템은 자동으로 로컬 채점(폴백) 으로 전환됩니다.
- 화면에 폴백 채점이 적용되었다는 안내 알림이 표시됩니다.
- 폴백 채점은 텍스트를 단순 비교하므로 다음과 같은 제한이 있습니다.
- 동의어 및 유사 표현이 인정되지 않을 수 있습니다.
- 의미적으로 올바른 답변이 오답으로 처리될 수 있습니다.
- 모든 답변 데이터는 채점 실패와 관계없이 데이터베이스에 저장되므로 학습 이력은 보존됩니다.
자동 채점 vs AI 채점 비교
| 항목 | 자동 채점 | AI 채점 |
|---|---|---|
| 적용 유형 | OX 퀴즈, 객관식, 빈칸 채우기 | 단답형, 적용형 |
| 채점 시점 | 즉시 (세션 진행 중) | 세션 완료 후 일괄 처리 |
| 채점 위치 | 클라이언트 로컬 | Lambda 함수 (서버) |
| 동의어 인식 | 없음 (빈칸 채우기는 대소문자만 무시) | 있음 |
| 점수 부여 | 정답 / 오답만 | 정답/오답 + 적용형은 0~100점 |
| 피드백 | 없음 | ”SkillNote 피드백” 제공 |
| 창의적 답변 처리 | 없음 | is_gradable === false 시 적용 |
| 실패 시 폴백 | 해당 없음 | 로컬 텍스트 비교로 전환 |
답변 저장
복습 세션에서 제출한 모든 답변은 채점 결과와 함께 데이터베이스에 저장됩니다.
- 저장 항목: 정답/오답 여부, AI 점수(
score), AI 피드백(feedback), 창의적 답변 여부(is_gradable) - 저장된 데이터는 간격 반복 알고리즘의 복습 주기 계산에 활용됩니다.
- 결과 페이지는 세션 완료 이후 언제든지 다시 접근하여 과거 복습 결과를 확인할 수 있습니다.