강의자료 목록으로

문항생성-plan.md

문항생성 plan.md

NCS 학습모듈 기반 자동 문항 생성 워크플로우 구현 계획

Context

NCS(국가직무능력표준) 학습모듈 PDF 3개에서 학습목표, 필요지식, 평가준거를 추출하여 블룸 택소노미 기반 다양한 유형의 평가 문항을 자동 생성하는 시스템을 Claude Code의 기능(hook, skill, command, agent, rule)을 활용하여 구현한다.

현재 상태

  • ncs_module/ 에 PDF 3개 존재 (86~92페이지, 총 9개 학습단위)
  • PyMuPDF 1.23.8 설치 완료, Python 3.9 사용 가능
  • PDF 구조 분석 완료: 학습목표→필요지식→교수학습→평가(준거/방법/피드백) 일관된 구조
  • 해결하려는 문제

    직업훈련 교수자가 NCS 모듈 기반 평가 문항을 수작업으로 만드는 데 많은 시간이 소요되며, 블룸 택소노미 및 NCS 성취수준과의 정합성 확보가 어려움


    최종 디렉터리 구조

    ai_lecture/
    ├── CLAUDE.md
    ├── .claude/
    │   ├── settings.json
    │   ├── commands/
    │   │   ├── extract.md          → /project:extract
    │   │   ├── generate.md         → /project:generate
    │   │   └── review.md           → /project:review
    │   ├── rules/
    │   │   ├── ncs-standard.md
    │   │   └── question-quality.md
    │   ├── skills/
    │   │   └── question-gen/
    │   │       └── SKILL.md
    │   └── agents/
    │       ├── pdf-parser.md
    │       ├── question-generator.md
    │       └── question-reviewer.md
    ├── scripts/
    │   ├── pdf_extractor.py
    │   ├── validate_output.py
    │   └── output_formatter.py
    ├── templates/
    │   ├── question_template.json
    │   └── bloom_taxonomy.json
    ├── output/
    │   ├── extracted/
    │   ├── questions/
    │   └── review/
    └── ncs_module/                 (기존)

    구현 단계

    Phase 1: 기반 구축

    1-1. CLAUDE.md — 프로젝트 컨텍스트 (모든 대화에서 자동 로드)

  • 프로젝트 개요, 핵심 규칙, 워크플로우 3단계(추출→생성→검증), 기술 스택
  • 1-2. 디렉터리 구조 생성

  • output/extracted/, output/questions/, output/review/
  • scripts/, templates/
  • .claude/commands/, .claude/rules/, .claude/agents/, .claude/skills/question-gen/
  • 1-3. templates/bloom_taxonomy.json — 블룸 택소노미 한국어 서술어 매핑

  • 6단계별 한국어 행동동사, 기본 난이도, 적합 문항 유형, 문두 템플릿
  • NCS 서술어 → 블룸 수준 직접 매핑 테이블
  • 1-4. templates/question_template.json — 문항 출력 JSON 스키마

  • question_id, type, bloom_level, difficulty, ncs_code, objective_ref, question, options, correct_answer, explanation, rubric, checklist, keywords
  • 1-5. .claude/settings.json — 권한 + PostToolUse 훅

  • output/**/*.json 파일 작성 시 validate_output.py 자동 실행

  • Phase 2: PDF 추출 파이프라인

    2-1. scripts/pdf_extractor.py — PyMuPDF 기반 구조화 추출

  • 핵심 기능:
  • 출력: output/extracted/[모듈코드]_extracted.json
  • 주의: 페이지 오프셋(~14p), 빈 페이지 처리, Windows 인코딩
  • 2-2. .claude/commands/extract.md → /project:extract

  • 인자: PDF 파일명 또는 "all"
  • pdf_extractor.py 실행 → 추출 통계 리포트 출력
  • 2-3. .claude/agents/pdf-parser.md

  • PDF 파싱 전문 에이전트, 정규식 기반 섹션 분리, 누락 검증

  • Phase 3: 문항 생성 엔진

    3-1. .claude/rules/ncs-standard.md — NCS 정합성 6대 원칙

  • 학습목표 근거 원칙 (모든 문항 → 학습목표 매핑 필수)
  • 서술어 보존 원칙 ("~할 수 있다" 반영)
  • 성취수준 매핑 원칙 (상/중/하 → 블룸 수준)
  • 평가방법 반영 원칙 (체크리스트→객관식, 구두발표→서술형 등)
  • 영역 한정 원칙 (필요지식 범위 내 출제)
  • NCS 코드 추적성
  • 3-2. .claude/rules/question-quality.md — 문항 품질 기준

  • 객관식: 4지선다, 동질적 선택지, 정답 균등 분포, 매력적 오답
  • 단답형: 유일 정답, 핵심 키워드, 문맥 유추 가능
  • 서술형: 3단계 루브릭(상/중/하), 구체적 기준 행동
  • 실무형: 현실 시나리오, 수행 체크리스트
  • 블룸-난이도 정합성 규칙
  • 3-3. .claude/skills/question-gen/SKILL.md — 문항 생성 스킬

  • 입력: 학습목표, 필요지식, 평가준거, (문항유형), (난이도)
  • 처리: 블룸 수준 판별 → 유형/난이도 결정 → 규칙 적용 → 생성
  • 출력: question_template.json 형식
  • 트리거: "문항 생성", "문제 만들어", "NCS 문항"
  • 3-4. .claude/commands/generate.md → /project:generate

  • 인자: "모듈코드 [학습단위번호] [문항유형] [난이도]"
  • 추출 데이터 로드 → 블룸 매핑 → 규칙 적용 → 유형별 생성
  • 목표: 학습목표당 객관식 2~3, 단답형 1~2, 서술형 1, 실무형 0~1
  • 난이도 분포: 하30% / 중40% / 상30%
  • 3-5. .claude/agents/question-generator.md

  • 20년 직업훈련 평가 전문가 페르소나
  • 유형별 생성 전략 포함

  • Phase 4: 검증 및 출력

    4-1. scripts/validate_output.py — 훅용 JSON 검증기

  • JSON 스키마 유효성, 필수 필드, 열거형 값 범위 검증
  • 실패 시 exit(1) → 훅이 오류 보고
  • 4-2. .claude/commands/review.md → /project:review

  • 4대 검증: 학습목표 커버리지, 난이도 분포, 문항 품질, NCS 정합성
  • 출력: output/review/[모듈코드]_review_report.md (100점 만점)
  • 4-3. .claude/agents/question-reviewer.md

  • 구조/내용/형식 3단계 체크리스트 기반 검증
  • 4-4. scripts/output_formatter.py — 다양한 출력 형식 변환

  • JSON → Markdown (인쇄용), JSON → CSV (LMS 업로드용)

  • Phase 5: 통합 테스트

  • /project:extract all → 3개 모듈 추출 확인
  • /project:generate all → 전체 문항 생성
  • /project:review all → 품질 검증 리포트
  • 훅 동작 확인 (출력 시 자동 검증)
  • 규칙/프롬프트 튜닝 → 최종 문항 세트 완성

  • 도전과제 및 대응

    검증 방법

  • 추출 검증: 3개 PDF 모두에서 학습목표, 평가준거가 빠짐없이 추출되는지 확인
  • 생성 검증: /project:review 로 100점 만점 중 80점 이상 달성
  • 워크플로우 검증: extract → generate → review 3단계가 슬래시 명령어로 원활히 실행
  • 훅 검증: 잘못된 JSON 출력 시 PostToolUse 훅이 오류를 정상 보고