김예빈Yebeen Kim

포트폴리오 · 서비스 개발 · 산학/사내 프로덕트

생기View — 고교 학교생활기록부 AI 분석 웹서비스

나이스 생기부 HTML 한 개를 올리면, 같은 학과 합격생 생기부를 기준선으로 삼아 19개 섹션의 비교 분석 결과지를 발급한다

기간
서울대학교 기술지주회사 ㈜앱티마이저 2023.12 – 현재
역할
기획 · 데이터 구축 · 백엔드 · 프론트엔드 · 결제 연동 · 배포 (1인)
발표·산출
saenggiview.co.kr · ㈜앱티마이저 · 국내 특허 출원(2026.07)
날짜
2023.12 – 현재
목차 24개 절
목차
  1. 왜 만들었나 — 절대평가가 아니라 '합격생 기준선'
  2. 서비스 플로우 — 업로드 1회, 결과지 1장
  3. 데이터 — 무엇을 기준선으로 썼나
  4. 결과지 버전 이력 — 이 글이 V2만 다루는 이유
  5. 평가 루브릭 — 정성 24문항과 정량 9항목의 이중 구조
  6. 루브릭 1차 → 2차 개정 — 카운트가 왜 58% 늘었나
  7. V2 결과지 전체 지도 — 19개 섹션 / 4개 파트
  8. V2 결과지 ① 진단·비교 — 유형 · 역량 점수 · 우수 활동 · 합격생 Topic
  9. V2 결과지 ② 성적·과목 — 내신 · 학습 가이드 · 입시 정보 · 권장 과목 · 이수 로드맵
  10. V2 결과지 ③ 활동·총평 — 원문 하이라이팅 + 3역량 진단, 그리고 총평
  11. V2 결과지 ④ 앱티마이저 AI 시뮬레이션 — 진단에서 멈추지 않는 부분
  12. 채점 모델 — 문단 단위 38기준 예측 모델 4개를 비교했다
  13. 특허 — 문구별 합격 기여도를 반사실로 측정하고, 그 위에서 활동을 추천한다
  14. 현재 상태 — 정식 오픈 잠정 보류
  15. 12개 학생 유형 — 9개 정량활동의 '핵심 조합'으로 정의한 T01~T12
  16. 교과별 학습 가이드의 실체 — 83과목 × 2,385행 + 실수·교정 1,000행
  17. 종합등급과 합격예측 구간의 산출 규칙
  18. 특허 기술5 — 학교유형 보정: 자사고 3.0등급과 일반고 1.7등급을 같게 읽는다
  19. 특허 기술6 — v10: 불합격을 같은 학생부에서 다른 보상으로 학습한다
  20. Action space를 무엇으로 잡을 것인가 — 4변형 비교, 그리고 BC 98.7%가 좋은 신호가 아닌 이유
  21. Counterfactual 검증 5단계 — 무엇이 통과하고 무엇이 미달했나
  22. N2 인과추론 실측 — 87개 활동 중 양의 ATE는 8개뿐이었다
  23. 기술 4건의 설계 상세, 그리고 초안이 빠뜨린 N3 연합학습
  24. 선행특허 검토와 독립항 구조 — 무엇이 새롭다고 주장했나
saenggiview.co.kr
링크를 열면 이 화면이 뜬다 — 2026년 7월 8일자 오픈 보류 안내. 결과지·분석 화면은 이 글 본문에 캡처로 실었다.
링크를 열면 이 화면이 뜬다 — 2026년 7월 8일자 오픈 보류 안내. 결과지·분석 화면은 이 글 본문에 캡처로 실었다.
요약
  • 학생부종합전형은 정량 점수가 공개되지 않아, 학생은 자기 생기부를 읽을 수는 있어도 희망 전공 기준으로 무엇이 부족한지 판단할 수 없다. 그래서 AI에게 절대평가를 시키는 대신 실제 합격생 생기부를 기준선으로 두고 격차를 보여주는 방식으로 설계했다.
  • 입력은 나이스에서 내려받은 생기부 HTML 파일 1개와 희망 대학·학과 선택뿐이다. 출력은 19개 섹션이 한 페이지에 순서대로 쌓이는 결과지다.
  • 기준선 데이터는 합격생 생기부 45,711문장 로컬 문장 임베딩 인덱스와 수시 입결 53,238행이며, 문장 단위 해석·코칭 생성은 언어모델이 담당한다.
  • 결과지는 기획서 V1.0(2026.03.06) 이후 V2.0(2026.04.10) → V2.1 → V2.3.2(2026.06.18)로 개정되었고, 이 글은 실제 서비스에 반영된 V2 계열 결과지만 다룬다.
  • 19개 섹션은 ① 진단·비교(4) ② 성적·과목(5) ③ 활동·총평(6) ④ 앱티마이저 AI 시뮬레이션(4)의 네 파트로 나뉘며, 시그니처는 내 생기부와 희망학과 합격생 생기부를 나란히 놓는 2단 시맨틱 웹이다.
  • 문단 채점 모델은 문장 임베딩(768) + 학과 원-핫(77) = 845차원 입력으로 38개 평가기준을 예측하는 4개 모델을 3-Fold CV로 비교했고, R²=0.403 / MAE=0.653의 얕은 MLP를 채택했다.
  • 「학교생활기록부 기재 문구의 합격 기여도 분석 및 맞춤형 활동 추천 방법 및 시스템」으로 2026년 7월 국내 특허를 출원했다.
  • 2026년 7월 29일 시행 「초·중등교육법」 제25조의2(학교생활기록의 상업적 이용 제한)와 관련해 법령 검토와 교육부 유권해석으로 제공 범위를 확인한 뒤 제공하기로 하고 정식 오픈을 잠정 보류했다.
주요 수치
45,711문장합격생 문장 임베딩 인덱스희망학과 합격생 생기부 기준선 데이터 (로컬 문장 임베딩)
53,238행수시 입결 DB대학어디가 기반 · 모집인원·경쟁률·추합·등급50/70·실경쟁률
19개 / 4파트결과지 섹션V2 계열 결과지 · 한 페이지 순차 스택 구조
114건합격생 생기부 원자료학과×고교유형 1:1 · 학과 unique 85 · 학년별 1·2·3학년 분리 구조
9,883건정량활동 검출(2차 루브릭)1차 6,260건 대비 +58% · 114명 · 9개 항목 합계
R² 0.403 / MAE 0.653채점 모델 성능4개 모델 3-Fold CV 비교 후 PyTorch MLP 채택

왜 만들었나 — 절대평가가 아니라 '합격생 기준선'

점수가 공개되지 않는 전형에서, 학생에게 필요한 것은 등급이 아니라 격차다.

학생부종합전형에는 학생이 확인할 수 있는 정량 점수가 없다. 내신 등급은 스스로 계산할 수 있지만, 세특·자율·동아리·진로에 적힌 문장이 희망 전공 기준으로 충분한지는 판단할 근거가 없다. 학생은 자기 생기부를 읽을 수는 있어도, 그것이 '무엇에 비해' 부족한지는 알 수 없다.

그래서 AI에게 절대평가를 맡기는 설계를 택하지 않았다. 대신 실제 합격생 생기부를 기준선으로 두고, 같은 학과 합격생과의 격차를 보여주는 구조로 만들었다. 이 선택이 결과지의 거의 모든 화면을 결정했다.

  • 정량 활동은 '내 개수'가 아니라 나의 개수 vs 합격생 평균 개수로 제시한다.
  • 역량 점수는 등급만 주는 대신, 3역량 아래 세부 항목까지 합격생 평균과 나란히 놓는다.
  • 토픽 분석은 점수 하나로 요약하지 않고, 내 생기부 그래프와 희망학과 합격생 그래프를 같은 형식으로 붙여 모양 차이를 보게 한다.
  • 합격생과의 유사도는 결과지에서 의도적으로 제외했다. 기획 단계에서 “유사도가 반드시 합격 가능성을 의미하는 것은 아니고, 유사도 자체가 평가 점수로 오해될 가능성이 있으므로 제외”로 정리했고, 대신 합격생 토픽이 어떤 점에서 모범적인지를 서술로 붙였다.

이 원칙은 AI 시뮬레이션 파트에도 그대로 이어진다. 마지막 섹션은 점수를 올려주겠다고 말하지 않고, “합격은 생기부 전체 맥락과 활동의 진정성으로 결정되며, 위 내용은 점수가 아닌 보완 방향 제안입니다”라는 안내를 붙인다.

서비스 플로우 — 업로드 1회, 결과지 1장

나이스 생기부 HTML 파일 하나와 희망 대학·학과 선택이 전부다.

사용자는 나이스에서 내려받은 학교생활기록부 HTML 파일을 업로드하고, 희망 대학과 학과를 고른다. 그 뒤의 처리는 전부 서버에서 일어난다.

  1. 업로드·파싱 — 올라온 문서를 인적사항·학적사항·교과 성적·세부능력 및 특기사항·창의적 체험활동(자율/동아리/진로)·독서활동·행동특성 및 종합의견·출결로 각각 뜯어 구조화된 형태로 적재한다. 영역마다 문서 구조가 달라 파서를 따로 두었고, 특히 세특은 표의 머리 행을 찾아 그 아래 행을 통째로 가져온 뒤 과목명과 학년을 다시 맞춰 복원해야 했다.
  2. 학과 매칭 — 139개 학과 매칭 원리를 참조해 사용자가 고른 학과를 분석 기준 학과로 정규화한다.
  3. 기준선 조회 — 희망학과 합격생 생기부 문장 임베딩 인덱스(45,711문장)와 수시 입결(53,238행)에서 해당 학과의 기준선을 가져온다.
  4. 분석 — 루브릭·정량활동 정의·합격생 기준선을 프롬프트에 주입해 언어모델로 문장 단위 진단과 코칭 문장을 생성한다. 결과지 섹션별로 프롬프트가 분리되어 있고, 학년별·파트별로 나눠 호출한다.
  5. 발급 — 19개 섹션이 한 페이지에 순서대로 쌓인 결과지를 렌더링한다.

분석에 시간이 걸리므로 요청을 접수한 뒤 진행 상태를 확인하는 구조로 두고 로딩 화면을 따로 만들었다. 발급된 결과지는 마이페이지에서 다시 열 수 있다.

saenggiview.co.kr 첫 화면. "AI 분석으로 생기부의 가능성을 열다"를 슬로건으로, 합격생 생기부와 비교 분석 · AI 기반 생기부 분석 두 축을 서비스 소개 카드로 제시한다.
saenggiview.co.kr 첫 화면. "AI 분석으로 생기부의 가능성을 열다"를 슬로건으로, 합격생 생기부와 비교 분석 · AI 기반 생기부 분석 두 축을 서비스 소개 카드로 제시한다.

데이터 — 무엇을 기준선으로 썼나

합격생 생기부 원자료, 문장 임베딩 인덱스, 입결·전형 DB, 교육과정 DB의 네 층으로 구성했다.

기준선은 하나의 테이블이 아니라 성격이 다른 여러 데이터가 겹쳐 만들어진다. 서비스에서 실제로 참조하는 층을 정리하면 다음과 같다.

데이터규모쓰이는 곳
합격생 원자료합격생 생기부 (학과×고교유형 1:1)114건 · 학과 unique 85 · 일반고 80 / 자사고 32 / 외고 2 · 약 405만 자(학생당 평균 35,501자)정량활동 개수 기준선, 합격생 Topic 그래프, 합격생 예시 문장
합격/불합격 라벨 코퍼스보인다 통합 코퍼스1,016건 (합격 약 905 / 불합격 약 80) · 학과 139 · 약 79만 자특허 연구용 학습 신호(합격 라벨), 활동 인과 추론
문장 임베딩 인덱스합격생 생기부 문장 로컬 임베딩45,711문장내 문장 ↔ 합격생 문장 대조, 시맨틱 웹 노드 점수
입시 데이터수시 입결(대학어디가 기반), 전형정보53,238행학과 입시 정보(모집인원·경쟁률·추합·등급50/70·실경쟁률), 반영 교과 조합별 대학
교육과정 DB자체 권장이수과목, 성적 계산 로직, 교과별 학습조언, 고교유형 가중치학과별 핵심·권장과목 / 과목군 분류 / 5등급제 산출 로직권장 과목 이수 현황, 이수 로드맵, 교과별 학습 가이드, 역량 점수 보정

합격생 자료는 1·2·3학년이 분리된 구조라 학년별 시퀀스 분석이 가능하고, 학년별 교과 리스트에 학기·과목·단위수·원점수·등급·표준편차·수강생수가 들어 있어 정량 비교의 근거가 된다. 반대로 보인다 통합 코퍼스는 학년 통합 텍스트지만 합격/불합격 라벨을 갖고 있어, 두 데이터셋이 상보적으로 쓰였다.

결과지 버전 이력 — 이 글이 V2만 다루는 이유

기획서 버전 히스토리와 실제 화면의 섹션 번호가 일치하는 계열이 V2다.

결과지는 한 번에 완성되지 않았다. 초기 프로토타입 결과지(V1 계열)는 '종합 경쟁력 평가' 헤드라인 아래 레이더 차트로 경쟁력을 그리고, 앱티핏 적성검사 결과를 연동해 추천 적성학과 TOP 5를 붙이고, 마지막에 합격생 면접 질문·답변을 넣는 구성이었다. 이 구조는 초기 화면 템플릿에 남아 있다.

현재 서비스에 반영된 결과지는 그와 구조가 다른 V2 계열이다. 판단 근거는 세 가지다.

  • 기획서 버전 히스토리 — 「[SB] (학진공통합) 생기뷰 안내 PG·플로우, 출결, 성적·세특, 활동, 행발 분석 구성」 문서의 Version history는 V1.0(2026.03.06) → V2.0(2026.04.10) → V2.1(2026.04.17)이고, 결과지 설계는 V2.0에서 개요부터 '선배의 응원'까지 15페이지 좌우 2단 구성으로 재편되었다. 이후 DB 매핑 문서가 참조하는 기준은 V2.3.2로, V2 계열 안에서 계속 개정되었다.
  • 화면의 섹션 번호 — 실제 결과지 캡처에는 섹션마다 번호 배지가 붙어 있고, 번호가 1부터 19까지 빠짐없이 확인된다(2 루브릭 기반 정량 평가, 3 생기부 활동 정량 분석, 4~7 앱티마이저 AI 시뮬레이션, 8 2-view 시맨틱 웹, 9~13 성적·과목, 14~19 활동·총평). V1 계열 화면에는 이 번호 체계가 없다.
  • 루브릭 개정 반영 — 정량활동 9종 카운트는 1차 루브릭에서 2차 수정(최종) 루브릭으로 교체되었고, 현재 결과지의 '우수 학습 활동 개수'는 2차 기준 산출값을 쓴다.

따라서 아래의 화면 설명·섹션 구성·수치는 모두 V2 계열 결과지 기준으로 통일했다. V1 계열은 위 한 단락으로만 남긴다.

평가 루브릭 — 정성 24문항과 정량 9항목의 이중 구조

3대 역량 24개 정성 문항, 9개 정량 활동 정의, 그리고 12개 학생 유형이 결과지의 뼈대다.

정성 — 3대 역량 24문항

대학 서류평가요소를 정리한 루브릭(2026.03.03 검토 → 최종_260423)에서 정량 문항(1번, 26번)을 제외한 정성 24개 항목만 활동 분석 프롬프트에 주입한다. 역량과 세부 항목은 다음과 같다.

역량세부 항목문항 수
학업역량학업성취도 · 학업태도 및 의지 · 탐구력9 (#2~#10)
진로역량전공 관련 교과 성취도 · 진로 탐색 활동과 경험6 (#11~#16)
공동체역량협업과 소통능력 · 나눔과 배려 · 성실성 및 규칙준수 · 리더십9 (#17~#25)

문항은 예를 들어 탐구력 #8이 “동일·유사 주제를 연속적으로 발전시키며 깊이 있는 탐구로 이어가는가?(주제 일관성)”, #9가 “학습한 개념·지식을 다양한 활동(독서, 발표, 토론)에 전이·응용하는가?(융합)” 형태다. 프롬프트는 각 토픽의 근거 구절을 원문에서 15~50자로 발췌하고 매칭된 문항 번호를 함께 출력하게 강제한다. 종합 등급은 세 역량 평균값을 5단계(90 이상 매우우수 / 80 이상 우수 / 70 이상 보통 / 60 이상 노력 / 60 미만 부족)로 환산하며, 고교유형(고교서열화)에 따라 서로 다른 가중치를 적용한다.

정량 — 9개 활동 항목

정량 카운트는 3대 분류 아래 9개 항목으로 정의했다. 정의문을 '포함/제외'까지 명문화해 프롬프트에 넣는다.

대분류항목정의(요약)카운트 기준
학업의 깊이탐구활동보고서·칼럼 등 글 형태의 산출물이 나온 활동산출물 확인 시 1회
학업의 깊이발표/토론글 산출물 작성 후 발표·토론 등 지식 공유로 이어진 활동발표·토론 근거 확인 시 1회
학업의 깊이프로젝트문제 발견 → 해결 방법 고안 → 시스템·장치 설계·제작까지 드러나는 활동문제정의→방법→결과 구조 확인 시 1회
진로에 대한 관심진로탐색진로체험·특강·강연 등 단순 참여진로·자율활동 내에서 확인
진로에 대한 관심진로성찰참여 후 소감·진로 인식 변화가 드러나는 활동성찰 내용 확인 시 1회
공동체 의식공동체 기여타인을 돕거나 공동체에 긍정적 영향을 준 행동기여 행동 확인 시 1회
공동체 의식협업과 소통공식 직책 없이 협력하며 의견을 모으거나 지식을 공유한 활동협업 과정 확인 시 1회
공동체 의식멘토링멘토링·튜터링·또래교사 등 제도 안에서의 학습 지원제도 맥락 확인 시 1회
공동체 의식리더십회장·부회장·반장·조장·팀장·위원장·총무·학생회 등 공식 직책직책 1개 = 1회

12개 학생 유형

결과지 1번 섹션의 '나의 유형'은 앞의 9개 정량활동의 핵심 조합으로 정의한 12개 유형 체계를 쓴다(자세한 정의는 아래 정정·보완 절에 정리했다). 유형 판정 후 토픽 점수가 가장 높은 생기부 문장 3개를 근거 사례로 함께 인용한다.

루브릭 1차 → 2차 개정 — 카운트가 왜 58% 늘었나

학년별 분할 처리와 생성 온도 고정만으로 검출량과 재현성이 함께 달라졌다.

정량활동 카운트는 처음 만든 1차 루브릭으로 114명 전체를 돌린 뒤, 검출 누락과 실행 간 편차가 확인되어 2차 수정(최종) 루브릭으로 다시 설계했다. 2차의 핵심 변경은 여섯 가지다.

  • 학년별 분할 처리 — 1·2·3학년을 각각 별도 호출로 추출·집계한 뒤 합산한다(검출 누락 보완).
  • 전 영역 균등 스캔 — 교과세특·자율·동아리·진로·행특·독서를 빠짐없이 순회한다. 세특 초반 산출물에 치우치는 편향을 프롬프트로 억제했다.
  • 생성 온도 0 고정 — 실행마다 카운트가 달라지는 문제를 없앴다.
  • '활동 수' 기준 — 문장 수가 아니라 구분 가능한 활동 수로 세고, 동일 활동 중복 카운트를 금지했다.
  • 우선순위 규칙 — 학업의 깊이는 프로젝트 > 발표/토론 > 탐구활동, 공동체 의식은 리더십 > 멘토링 > 협업·소통 > 공동체 기여 순으로 한 범주에만 배정한다.
  • 출력 전 점검 체크리스트 — 7개 항목의 자기점검을 프롬프트 말미에 넣었다.

동일한 합격생 114명에 대해 1차와 2차를 모두 돌려 항목별로 비교했다. 결과는 다음과 같다.

대분류항목1차 총합2차 총합증감증감률1차 평균(건/명)2차 평균(건/명)
학업의 깊이탐구활동1,2142,655+1,441+119%10.6523.29
학업의 깊이발표토론활동1,9102,783+873+46%16.7524.41
학업의 깊이프로젝트600840+240+40%5.267.37
진로에 대한 관심진로탐색337717+380+113%2.966.29
진로에 대한 관심진로성찰476877+401+84%4.187.69
공동체 의식공동체기여524572+48+9%4.605.02
공동체 의식협업소통605453-152-25%5.313.97
공동체 의식멘토링123235+112+91%1.082.06
공동체 의식리더십471751+280+59%4.136.59
합계9개 항목 전체6,2609,883+3,623+58%54.9186.69

협업소통만 25% 줄었는데, 이는 우선순위 규칙이 도입되면서 리더십·멘토링에 해당하는 활동이 그쪽으로 재배정된 결과다. 즉 총량 증가와 항목 간 재분배가 동시에 일어났다. 비교 산출물은 샘플별 개수 비교(114행 × 9항목)와 활동상세(1,026행, 1차·2차 검출 활동 원문 병기)까지 함께 만들어 어떤 문장이 새로 잡혔는지 눈으로 확인할 수 있게 했다. 114개 샘플 전체를 다시 돌리는 데는 30분대가 걸렸다.

V2 결과지 전체 지도 — 19개 섹션 / 4개 파트

한 페이지에 순서대로 쌓이는 19개 섹션을 번호와 함께 정리했다.

결과지는 탭이 아니라 하나의 긴 페이지다. 섹션마다 번호 배지와 성격 라벨이 붙는다. 번호 순서와 읽는 순서(파트)가 다른 것은, AI 시뮬레이션 4개 섹션(4~7)이 샘플 결과지 전용으로 뒤에 배치되기 때문이다.

#섹션 라벨제목파트
1유형 진단나의 유형 (12유형 분류 + 근거 문장)① 진단·비교
2루브릭 기반 정량 평가역량별 세부 점수① 진단·비교
3생기부 활동 정량 분석우수 학습 활동 개수 / 나의 우수 학습 활동 사례① 진단·비교
82-view 시맨틱 웹 — 본인 vs 희망학과 합격생합격생과의 Topic 비교① 진단·비교
9내신 성적 분석내신 성적 분석② 성적·과목
10강점·보완 교과 + 학습 조언교과별 학습 가이드② 성적·과목
11학과 입시 정보학과 입시 정보② 성적·과목
12희망학과 권장 과목 이수 현황권장 과목 이수 현황② 성적·과목
13이수 로드맵 + FAQ권장과목 이수 로드맵② 성적·과목
143대 역량 기반 활동 평가자율·자치활동 분석③ 활동·총평
15진로역량은 주제 확장·심화 방안 코칭 중심동아리활동 분석③ 활동·총평
16진로 탐색의 깊이·전공 연결도 중심 분석진로활동 분석③ 활동·총평
17학업역량은 활동 방식 추천 코칭 중심세부능력 및 특기사항 분석③ 활동·총평
18출결·행특·총평 통합 + 학폭 이력 안내출결, 행동 특성 및 종합 의견 분석 & 총평③ 활동·총평
19희망학과 합격생 생기부에서 추출합격생 생기부 예시 문장③ 활동·총평
4앱티마이저 AI 생기부 시뮬레이션생기부 시뮬레이션 (살릴 표현 / 고칠 표현)④ AI 시뮬레이션
5앱티마이저 AI 1학년 활동 보완1학년 활동 보완④ AI 시뮬레이션
6앱티마이저 AI 활동 추천 (2학년)2학년 활동 추천④ AI 시뮬레이션
7앱티마이저 AI 보완 효과 미리보기표현·활동을 보강하면 어떤 점이 좋아질까?④ AI 시뮬레이션

파트③의 네 영역(자율·동아리·진로·세특)은 화면 구조를 공유한다. 왼쪽은 생기부 원문을 학년별로 그대로 싣고 평가 근거 문장을 형광으로 표시하고, 오른쪽은 학업·진로·공동체 3역량 탭에서 고른 역량 관점의 진단 4항목을 읽는다. 다만 코칭 초점이 영역마다 다르게 설계되어 있어, 같은 레이아웃에서도 읽히는 내용이 갈린다.

V2 결과지 ① 진단·비교 — 유형 · 역량 점수 · 우수 활동 · 합격생 Topic

내 생기부를 합격생 평균과 나란히 놓고, 문장이 어떤 학과 주제로 뻗어 있는지를 합격생 그래프와 비교한다.

1 · 나의 유형

생기부 전반의 키워드로 학생을 12유형 중 하나로 분류하고 한 문단 설명을 붙인다. 근거로 토픽 점수가 가장 높은 생기부 문장 3개를 그대로 인용한다.

2 · 역량별 세부 점수

학업·진로·공동체 3역량 점수를 막대로 제시하고, 각 역량 아래 어떤 평가 기준이 들어가는지를 함께 적는다. 샘플 결과지(기계공학 희망)에서는 학업 역량 75점(학업성취도·학업태도 및 의지·탐구력), 진로 역량 69점(전공 관련 교과 성취도·진로 탐색 활동 및 경험), 공동체 역량 60점(협업과 소통능력·나눔과 배려·성실성 및 규칙준수·리더십)으로 나왔다.

3 · 우수 학습 활동 개수와 사례

9개 활동을 정의와 함께 세어 '나의 개수'와 '합격생 평균 개수'를 같은 표에 놓는다. 샘플 결과지의 실제 값은 다음과 같다.

활동명정의나의 개수합격생 평균 개수
탐구 활동보고서, 칼럼 등 글 형태의 산출물33
발표/토론산출물 이후 발표, 토론 등 지식 공유29
프로젝트앱 개발 등 특정 문제 해결을 위한 새로운 시스템 고안14
진로탐색학교에서의 진로체험, 특강, 강연 등 참여16
진로성찰학교에서의 진로체험, 특강, 강연 후 이후 소감이 존재23
공동체 기여타인을 돕거나 공동체에 긍정적 영향31
협업과 소통공식적인 직책 없이 협력하며 의견 수렴, 지식 공유 등24
멘토링멘토링 제도 하에 튜터, 또래 교사 등 활동02
리더십회장/부회장, 의장, 대표, 위원장, 총무, 학생회 등 활동21

바로 아래에는 개수로 센 활동의 실제 생기부 문장을 활동 유형별 카드로 인용한다. 어떤 문장이 어떤 활동으로 집계됐는지 학생이 직접 확인할 수 있어야 카운트가 설득력을 갖는다는 판단이었다. 카드는 박스 내 스크롤로 나머지 사례까지 열린다.

8 · 합격생과의 Topic 비교 (2단 시맨틱 웹)

결과지의 시그니처 섹션이다. 내 생기부 문장이 어떤 학과 주제로 뻗어 있는지를 중심 '생기부' → 학과 노드(적합도) → 문장 노드(점수)의 2단 시맨틱 네트워크 그래프로 그리고, 같은 형식으로 희망학과 합격생 그래프를 아래에 붙인다. '추천 학과'(생기부에서 뻗은 학과)와 '자유 토픽' 탭을 전환할 수 있고, 각 토픽에 커서를 올리면 그 토픽이 나온 근거 생기부 문장을 볼 수 있다.

샘플 결과지는 이 설계의 의도가 가장 잘 드러나는 사례다. 학생의 생기부는 심리학(92) · 교육학(62) · 보건학(62) · 아동가족학(62) · 사회복지학(55)으로 뻗어 있는데, 희망 학과는 기계공학이다. 반면 같은 학과 합격생 그래프는 기계공학(88) · 물리학(82) · 수학(72) · 전산학·컴퓨터공학(72) · 생명과학(58)으로 뻗는다. 두 그래프의 모양 차이가 그대로 이후 보완 방향의 근거가 된다.

섹션 2 · 역량별 세부 점수. 루브릭 기반 정량 평가로 학업 75 / 진로 69 / 공동체 60을 산출하고, 각 역량에 들어가는 평가 기준을 오른쪽에 함께 표기한다.
섹션 2 · 역량별 세부 점수. 루브릭 기반 정량 평가로 학업 75 / 진로 69 / 공동체 60을 산출하고, 각 역량에 들어가는 평가 기준을 오른쪽에 함께 표기한다.
섹션 3 · 우수 학습 활동 개수. 9개 활동을 정의와 함께 세어 '나의 개수'와 '합격생 평균 개수'를 나란히 놓는다. 발표/토론 2 vs 9, 멘토링 0 vs 2처럼 격차가 바로 읽힌다.
섹션 3 · 우수 학습 활동 개수. 9개 활동을 정의와 함께 세어 '나의 개수'와 '합격생 평균 개수'를 나란히 놓는다. 발표/토론 2 vs 9, 멘토링 0 vs 2처럼 격차가 바로 읽힌다.
섹션 3 · 나의 우수 학습 활동 사례. 개수로 집계된 활동의 실제 생기부 문장을 [탐구 활동] · [발표/토론] · [프로젝트] · [진로탐색] 카드로 인용해, 어떤 문장이 어떤 활동으로 세어졌는지 확인할 수 있게 했다.
섹션 3 · 나의 우수 학습 활동 사례. 개수로 집계된 활동의 실제 생기부 문장을 [탐구 활동] · [발표/토론] · [프로젝트] · [진로탐색] 카드로 인용해, 어떤 문장이 어떤 활동으로 세어졌는지 확인할 수 있게 했다.
섹션 8 · 합격생과의 Topic 비교 — [나의 생기부]. 중심 '생기부' 노드에서 학과 노드(심리학 92, 교육학 62, 보건학 62, 아동가족학 62, 사회복지학 55)로, 다시 근거 문장 노드로 뻗는 2단 시맨틱 웹.
섹션 8 · 합격생과의 Topic 비교 — [나의 생기부]. 중심 '생기부' 노드에서 학과 노드(심리학 92, 교육학 62, 보건학 62, 아동가족학 62, 사회복지학 55)로, 다시 근거 문장 노드로 뻗는 2단 시맨틱 웹.
섹션 8 · [희망학과 합격생] 그래프(기계공학 · 일반고 합격생 기준). 기계공학 88, 물리학 82, 수학 72, 전산학·컴퓨터공학 72로 뻗는 모양이 위 그래프와 확연히 다르다 — 이 차이가 보완 방향의 근거다.
섹션 8 · [희망학과 합격생] 그래프(기계공학 · 일반고 합격생 기준). 기계공학 88, 물리학 82, 수학 72, 전산학·컴퓨터공학 72로 뻗는 모양이 위 그래프와 확연히 다르다 — 이 차이가 보완 방향의 근거다.

V2 결과지 ② 성적·과목 — 내신 · 학습 가이드 · 입시 정보 · 권장 과목 · 이수 로드맵

내신을 희망학과 입결과 대보고, 그 학과가 권장하는 과목 중 무엇을 이수했고 무엇을 남겼는지 로드맵으로 보여준다.

9 · 내신 성적 분석

학기별 등급 추이 그래프, 주요 교과별 성적표(강점 교과는 붉은 글씨, 보완 교과는 푸른 글씨), 반영 교과 조합별 성적, 그리고 그 조합으로 뽑는 대학 목록을 한 화면에 둔다. 5등급제로 산출되는 과목만 계산에 포함하고, 소수점 첫째 자리까지(둘째 자리 반올림) 표기한다. 강점·보완 교과는 각각 최대 2과목, 동점이면 전부 표시한다. 반영 교과 조합 탭(전교과 / 국영수 / 국영수사 / 국영수과 / 국영수사과 / 기타조합)을 누르면 해당 열이 하이라이팅되고 위쪽 등급 추이 그래프도 연동된다.

샘플 결과지의 주요 교과별 성적은 다음과 같다.

학년국어영어수학사회과학기타전교과
1학년3.03.04.53.53.03.53.4
2학년4.03.03.04.05.04.54.0
전학년3.43.03.93.64.04.03.6

'모든 과목 성적 보기' 버튼을 누르면 학기·교과군·과목명·단위수·원점수·과목평균·표준편차·성취도·수강자수·석차등급이 담긴 전 교과 성적 팝업이 열린다. 2022 개정교육과정 반영에 따라 표준편차 삭제 등 항목 조정이 예정되어 있다.

10 · 교과별 학습 가이드

강점 교과와 보완 교과를 칩으로 보여주고(샘플: 강점 영어·국어, 보완 수학·과학), 국어·영어·수학·사회·과학 탭에서 아직 이수하지 않은 과목까지 포함해 과목별 학습 조언을 제공한다. 조언은 희망 전공과 연결해 쓴다. 예를 들어 기계공학 희망 학생의 국어 '독서와 작문'에는 "공학 계열 대학에서는 실험 보고서나 연구 제안서를 자주 작성해야 하므로, 논지를 명확히 구성하는 연습을 이 과목에서 미리 해두는 것이 유리"하다는 식으로, 과목 성격과 전공 과제를 붙여 서술한다. 과목은 일반 선택 / 진로 선택 / 융합 선택 유형까지 함께 표시한다.

11 · 학과 입시 정보

내 내신으로 희망 학과 입결을 하향 · 적정 · 도전 · 불안 네 구간으로 나눠 표로 보여준다(기본값은 '적정'). 열은 대학 · 합격예측 · 연도 · 교과/종합 · 전형 · 학과 · 인문/자연 · 모집인원 · 경쟁률 · 추합 · 등급50 · 등급70 · 실경쟁률이다. 데이터 출처는 대학어디가이며, 샘플 결과지에서는 '적정' 구간만 총 67개가 잡혀 7페이지로 페이징된다. '전체 학과 입시 정보' 버튼으로 타 대학·타 학과까지 확장한다.

12 · 권장 과목 이수 현황

생기뷰 자체 권장과목 DB를 기준으로 희망학과의 핵심 과목과 권장 과목 목록을 제시하고, 그중 내가 이수한 과목을 학기·단위수·선택유형·성취도·석차등급과 함께 표시한다. 기계공학의 핵심 과목은 기하 · 미적분 II · 물질과 에너지 · 전자기와 양자 · 역학과 에너지 · 화학 반응의 세계 · 로봇과 공학세계 · 인공지능 기초 · 데이터 과학 9개, 권장 과목은 대수 · 미적분 I · 확률과 통계 · 물리학 · 화학 · 기술·가정 · 창의 공학 설계 · 소프트웨어와 생활이다. 각 과목이 왜 권장되는지를 전공 학습과 연결해 길게 서술하는데, 이 설명 비중을 의도적으로 크게 잡았다. "권장과목이 왜 해당 학과에 권장됐는지에 대한 상세한 설명이 생기뷰의 세심한 코칭이라는 가치에 잘 들어맞는다"는 기획 판단이었다.

13 · 이수 로드맵과 FAQ

"기계공학과 생기뷰 권장과목의 핵심 과목 9개 중 0개, 권장 과목 9개 중 1개를 이수했습니다" 식으로 현황을 한 줄로 요약하고, 수학 · 과학 · 기타 교과별 이수 순서를 화살표로 그린다. 미이수한 권장과목은 굵은 글씨, 권장과목에 해당하는 과목은 밑줄로 표시한다(예: 수학 — 미적분 I → 확률과 통계 → 기하 → 미적분 II). 수학·과학은 선이수 필수 과목이 있고 국어·사회·영어는 선이수 권장만 존재하지만, 이 항목이 '이수 순서 참고용 예시'라는 점을 고려해 표기 방식을 통일하고 하단 문구로 안내했다. 선택과목 관련 자주 묻는 질문 4개(미개설 과목 대처, 수강 과목 변경, 공통 과목 선이수 원칙, 일반 선택 전 진로·융합 선택 이수 가능 여부)를 함께 붙였다.

섹션 9 · 내신 성적 분석. 등급 추이 그래프, 주요 교과별·교과 조합별 성적표(강점 붉은 글씨 / 보완 푸른 글씨), 반영 교과 조합별 대학 목록을 한 화면에 배치했다.
섹션 9 · 내신 성적 분석. 등급 추이 그래프, 주요 교과별·교과 조합별 성적표(강점 붉은 글씨 / 보완 푸른 글씨), 반영 교과 조합별 대학 목록을 한 화면에 배치했다.
섹션 10 · 교과별 학습 가이드. 강점 교과(영어·국어)와 보완 교과(수학·과학)를 칩으로 표시하고, 국어 탭에서 '독서와 작문'·'주제 탐구 독서'·'독서 토론과 글쓰기'를 기계공학 진학과 연결해 조언한다.
섹션 10 · 교과별 학습 가이드. 강점 교과(영어·국어)와 보완 교과(수학·과학)를 칩으로 표시하고, 국어 탭에서 '독서와 작문'·'주제 탐구 독서'·'독서 토론과 글쓰기'를 기계공학 진학과 연결해 조언한다.
섹션 11 · 학과 입시 정보. 하향·적정·도전·불안 필터로 대학어디가 입결을 제시한다. 모집인원·경쟁률·추합·등급50/70·실경쟁률까지 열로 열어두고, '적정' 구간 총 67건을 페이징한다.
섹션 11 · 학과 입시 정보. 하향·적정·도전·불안 필터로 대학어디가 입결을 제시한다. 모집인원·경쟁률·추합·등급50/70·실경쟁률까지 열로 열어두고, '적정' 구간 총 67건을 페이징한다.
섹션 12 · 권장 과목 이수 현황. 기계공학의 핵심 과목 9개·권장 과목 8개와 기이수 과목을 표로 두고, 아래에 '과목별 권장된 이유'를 대수·미적분 I·확률과 통계 순으로 길게 서술한다.
섹션 12 · 권장 과목 이수 현황. 기계공학의 핵심 과목 9개·권장 과목 8개와 기이수 과목을 표로 두고, 아래에 '과목별 권장된 이유'를 대수·미적분 I·확률과 통계 순으로 길게 서술한다.
섹션 13 · 권장과목 이수 로드맵과 FAQ. 교과별 이수 순서를 화살표로 그리고 미이수 과목은 굵게, 권장과목은 밑줄로 구분한다. 오른쪽은 선택과목 관련 FAQ 4문항.
섹션 13 · 권장과목 이수 로드맵과 FAQ. 교과별 이수 순서를 화살표로 그리고 미이수 과목은 굵게, 권장과목은 밑줄로 구분한다. 오른쪽은 선택과목 관련 FAQ 4문항.

V2 결과지 ③ 활동·총평 — 원문 하이라이팅 + 3역량 진단, 그리고 총평

영역별로 생기부 원문에 근거 문장을 표시하고 3역량 관점의 진단을 붙인 뒤, 총평과 합격생 예시 문장으로 마무리한다.

자율·자치 / 동아리 / 진로 / 세특 네 영역은 같은 좌우 2단 구조를 쓴다. 왼쪽 '활동 살펴보기'는 원문을 학년별로 그대로 싣고 평가 근거 문장을 형광으로 표시하며, 오른쪽 '활동 분석'은 학업 역량 · 진로 역량 · 공동체 역량 탭을 골라 그 역량 관점의 진단 4항목을 읽는다. 3학년까지 기록이 있거나 텍스트가 많은 경우를 대비해 박스 내 여유 공간을 두고, 넘치면 스크롤로 처리한다. 고3의 경우 앞으로의 방향성 제시는 하지 않고 잘한 점만 서술하도록 프롬프트를 나눴다.

#영역코칭 초점
14자율·자치활동3대 역량 기반 활동 평가 — 직책·협업·기여의 근거가 문장에 드러나는지
15동아리활동주제 확장 · 심화 방안 (진로역량은 '진로활동'에만 국한하지 않음)
16진로활동탐색의 깊이 · 전공 연결도
17세부능력 및 특기사항활동 방식 추천 (학업역량 관점)

세특은 분량이 가장 크기 때문에 추출 기준을 따로 정했다. 학기별로 각 역량(학업·진로·공동체)마다 1·2순위와 최하·차하순위 문장을 뽑아 피드백을 붙인다. 예컨대 2학년 2학기까지 기록이 있으면 한 학기에 역량별 2개씩 6개, 총 24개 문장이 대상이 된다.

진단 문장은 칭찬과 보완을 함께 쓴다. 자율활동 공동체 역량 탭의 실제 출력을 보면, 학급자치회 회장과 전교 학생자치회 동아리부 차장을 동시에 맡은 점을 공동체 기여도 측면에서 긍정 평가한 뒤 "다만 나눔·배려 측면에서는 자신의 희생이나 타인을 위한 구체적 행동보다는 리더 역할 수행 수준의 서술에 그쳐, 해당 항목을 뒷받침하는 근거는 다소 미흡함"처럼 어떤 세부 항목의 근거가 비었는지를 지목한다.

18 · 출결, 행동 특성 및 종합 의견 분석 & 총평

출결표를 질병 / 미인정 / 기타 × 결석·지각·조퇴·결과 12칸으로 펼쳐 합격생 평균과 나의 횟수(그리고 평균과의 차이)를 병기하고, 행특 원문을 학년별로 싣는다. 총평은 학년별 키워드 카드(리더십 · 책임감 · 성실성)와 종합 문단으로 마무리한다. 학교폭력 이력이 있으면 "반영 방식과 영향 정도는 대학마다 상이하므로 지원하려는 대학의 전형 기준을 반드시 확인할 필요가 있다"는 당부를 총평에 포함한다. 당해학년도 기록이 제공되지 않는 경우에는 그 학년을 '평가 불가'로 명시하고, 총평에서도 "2학년 기록이 미제공되어 전반적인 성장 궤적을 완전히 파악하기 어려우므로, 추가 자료 확보를 통한 종합적 검토가 필요"하다고 한계를 밝힌다.

19 · 합격생 생기부 예시 문장

희망학과 합격생 원문에서 세특 · 진로 · 자율 · 동아리 · 행특 5개 영역의 문장을 뽑아 인용하고, 영역마다 "→ 합격생은 …" 한 줄로 공통 특징을 요약한다. 샘플 결과지의 세특 요약은 "합격생은 수학·과학 교과에서 단순 학습에 그치지 않고 개념을 직접 교단에서 발표하거나 코딩·센서 기술로 구현하는 등, 이론을 실제 문제 해결로 연결하는 공학적 사고력을 전 교과에 걸쳐 일관되게 보여주었다"이다. 발췌 문장이 없는 영역은 '발췌 문장 없음'으로 비워 두어, 억지로 채우지 않았다.

섹션 14 · 자율·자치활동 분석. 왼쪽은 원문 형광 표시(학급자치회 회장, 전교 학생자치회 동아리부 차장 등), 오른쪽은 공동체 역량 탭의 진단 4항목. 근거가 미흡한 세부 항목까지 지목한다.
섹션 14 · 자율·자치활동 분석. 왼쪽은 원문 형광 표시(학급자치회 회장, 전교 학생자치회 동아리부 차장 등), 오른쪽은 공동체 역량 탭의 진단 4항목. 근거가 미흡한 세부 항목까지 지목한다.
섹션 15 · 동아리활동 분석. 진로 역량 탭에서 빅파이브 성격검사·퍼스널 스페이스 같은 활동을 '성격과 진로 적합도' 보고서, '공간 심리학' 확장 등 주제 확장·심화 방안으로 코칭한다.
섹션 15 · 동아리활동 분석. 진로 역량 탭에서 빅파이브 성격검사·퍼스널 스페이스 같은 활동을 '성격과 진로 적합도' 보고서, '공간 심리학' 확장 등 주제 확장·심화 방안으로 코칭한다.
섹션 16 · 진로활동 분석. 탐색의 깊이와 전공 연결도를 본다. 'AI가 상담사의 역할을 대체할 수 있을까' 탐구는 전공 연결도가 높게 평가되고, career path 탐색 흔적이 없다는 점은 후속 활동 필요로 지적된다.
섹션 16 · 진로활동 분석. 탐색의 깊이와 전공 연결도를 본다. 'AI가 상담사의 역할을 대체할 수 있을까' 탐구는 전공 연결도가 높게 평가되고, career path 탐색 흔적이 없다는 점은 후속 활동 필요로 지적된다.
섹션 17 · 세부능력 및 특기사항 분석. 학년-학기 × 교과 표로 원문을 싣고 근거 문장을 형광 처리하며, 오른쪽에서는 '소재과학 → 인체영향 → 사회적 해결책'처럼 탐구를 엮는 활동 방식을 추천한다.
섹션 17 · 세부능력 및 특기사항 분석. 학년-학기 × 교과 표로 원문을 싣고 근거 문장을 형광 처리하며, 오른쪽에서는 '소재과학 → 인체영향 → 사회적 해결책'처럼 탐구를 엮는 활동 방식을 추천한다.
섹션 18 · 출결·행특·총평. 출결을 질병/미인정/기타 12칸으로 펼쳐 합격생 평균과 병기하고, 총평은 학년별 키워드 카드와 종합 문단으로 닫는다. 미제공 학년은 '평가 불가'로 명시한다.
섹션 18 · 출결·행특·총평. 출결을 질병/미인정/기타 12칸으로 펼쳐 합격생 평균과 병기하고, 총평은 학년별 키워드 카드와 종합 문단으로 닫는다. 미제공 학년은 '평가 불가'로 명시한다.
섹션 19 · 합격생 생기부 예시 문장. 기계공학 합격생 원문에서 세특·진로·자율·동아리·행특 5개 영역 문장을 인용하고, 영역마다 공통 특징을 한 줄로 요약한다.
섹션 19 · 합격생 생기부 예시 문장. 기계공학 합격생 원문에서 세특·진로·자율·동아리·행특 5개 영역 문장을 인용하고, 영역마다 공통 특징을 한 줄로 요약한다.

V2 결과지 ④ 앱티마이저 AI 시뮬레이션 — 진단에서 멈추지 않는 부분

어떤 표현을 어떻게 고치고, 다음 학년에 무엇을 하면 되는지까지 제안한다.

진단만으로는 학생이 무엇을 해야 할지 알 수 없다. “이 표현이 약하다”는 말은 행동으로 옮겨지지 않는다. 그래서 결과지 뒤쪽에 시뮬레이션 4개 섹션을 붙였다(샘플 결과지 전용).

4 · 생기부 시뮬레이션 — 살릴 표현 / 고칠 표현

세특 원문 위에 살릴 표현(구체적·산출물 있음)은 초록, 고칠 표현(소극적·추상적)은 빨강으로 표시하고, 고칠 표현마다 합격생 스타일(주도적)로 바꾼 문장을 표로 제안한다. 그리고 왜 그 표현이 역량을 드러내지 못하는지 근거를 한 줄 붙인다.

고칠 표현 (소극적)합격생 스타일로 (주도적)
“지적 호기심과 적극적인 태도로 활동에 임하며”“궁금한 점을 스스로 자료에서 찾아 그래핀의 성질을 정리하며”
“모둠원을 도와줌”“구조가 약한 부분을 찾아 알려주며 모둠의 다시 만들기를 이끎”
“모둠 토론 활동에 참여함”“가설별 근거를 표로 정리해 쟁점을 짚으며 토론을 주도함”
“발표하여 박수를 받음”“친구들의 질문을 받아 자료의 부족한 부분을 보완해 다시 정리함”

근거 · '활동에 임함 / 도와줌' 같은 표현은 누구에게나 쓰여 역량이 드러나지 않는다. 무엇을·어떻게·어떤 결과가 보이도록 '주도적으로 분석·설명·제안' 형태로 바꿔야 한다. 반대로 '보고서·홍보지 제작', '원인 분석 후 작동 성공'은 산출물이 분명한 좋은 서술이라 그대로 살린다.

5 · 1학년 활동 보완

이미 한 활동을 희망 전공 방향으로 살짝 틀어주는 첨삭이다. 원래 문장에 취소선을 긋고 기계공학과 이어지는 문장으로 바꾼 뒤 한 줄 이유를 쓴다. 이미 전공과 가까운 활동에는 '전공 연결 좋음' 배지를 달아 구분한다.

  • 그래핀 탐구활동 — “그래핀의 성질과 활용 분야를 조사해 홍보지로 제작” → “그래핀이 가벼우면서도 튼튼한 '기계 소재'로 어떻게 쓰이는지(자동차 차체 등) 탐구”. 이유: 기계공학은 '소재가 힘을 얼마나 견디나'가 핵심이므로, 성질 나열보다 기계에 쓰이는 사례로 방향을 튼다.
  • 트러스 아치 구조 탐구활동(전공 연결 좋음) — “종이로 구조물을 빠르게 제작” → “트러스 구조가 다리·로봇 팔에서 무게를 어떻게 버티는지 직접 추를 올려 비교”. 이유: '만들기'에서 '하중 실험'으로 한 발 더 나간다.
  • 삼투 현상 탐구활동 — “삼투 현상을 생물 관점(세포)에서 발표” → “삼투압이 역삼투압 정수기 펌프 같은 '기계 장치'에서 어떻게 쓰이는지 탐구”.
  • 태양광 자동차 제작활동(전공 연결 좋음) — “작동에 성공한 것에서 마무리” → “태양광 패널 각도·바퀴 크기를 바꿔 속도가 어떻게 달라지는지 측정·비교”. 이유: 변수를 바꿔 측정하면 공학 탐구다워진다.

6 · 2학년 활동 추천

1학년 탐구를 한 단계 발전시키는 방향으로, 어렵지 않게 실천할 수 있는 수준의 활동 4개를 '추천 활동'과 '이렇게 이어가요(1학년 → 2학년)' 두 열의 표로 제안한다. 예를 들어 “그래핀 활용 사례 1개 깊게 파기”는 “1학년에 그래핀의 성질을 정리했다면, 2학년에는 휴대폰 배터리·정수 필터처럼 실생활 사례 하나로 좁혀 원리와 아직 남은 한계를 조사해 발표로 마무리”하는 식으로 연결한다.

7 · 보완 효과 미리보기

첨삭안을 반영하면 무엇이 좋아지는지를 합격생 사례의 공통 강점 세 가지와 비교해 정리한다. ① 소극적 표현을 주도적 표현으로 — '참여함·도와줌'을 '무엇을 어떻게 이끌었는지'로 바꾸면 평가자가 학생의 역할을 또렷이 읽는다. ② 하나의 주제를 깊게 이어가기 — 흩어진 활동보다 진로 일관성이 드러난다. ③ 결과물로 마무리하기 — 같은 활동도 '했다'가 아니라 '해냈다'로 읽힌다. 마지막에는 점수가 아닌 보완 방향 제안이라는 안내 문구를 반드시 붙인다.

섹션 4 · 생기부 시뮬레이션. 세특 원문 위에 살릴 표현은 초록, 고칠 표현은 빨강으로 표시하고, 고칠 표현마다 합격생 스타일로 바꾼 문장과 그 근거를 표로 붙인다.
섹션 4 · 생기부 시뮬레이션. 세특 원문 위에 살릴 표현은 초록, 고칠 표현은 빨강으로 표시하고, 고칠 표현마다 합격생 스타일로 바꾼 문장과 그 근거를 표로 붙인다.
섹션 5 · 1학년 활동 보완. 이미 한 활동에 취소선을 긋고 기계공학과 이어지는 문장으로 바꾼 뒤 한 줄 이유를 쓴다. 전공과 가까운 활동에는 '전공 연결 좋음' 배지를 달았다.
섹션 5 · 1학년 활동 보완. 이미 한 활동에 취소선을 긋고 기계공학과 이어지는 문장으로 바꾼 뒤 한 줄 이유를 쓴다. 전공과 가까운 활동에는 '전공 연결 좋음' 배지를 달았다.
섹션 6 · 2학년 활동 추천. 1학년 탐구를 한 단계 발전시키는 활동 4개를 '이렇게 이어가요(1학년 → 2학년)' 표로 제안한다.
섹션 6 · 2학년 활동 추천. 1학년 탐구를 한 단계 발전시키는 활동 4개를 '이렇게 이어가요(1학년 → 2학년)' 표로 제안한다.
섹션 7 · 보완 효과 미리보기. 합격생 사례의 공통 강점 3가지(주도적 표현 · 주제 이어가기 · 결과물로 마무리)와 비교해 정리하고, 점수가 아닌 보완 방향 제안이라는 안내를 붙였다.
섹션 7 · 보완 효과 미리보기. 합격생 사례의 공통 강점 3가지(주도적 표현 · 주제 이어가기 · 결과물로 마무리)와 비교해 정리하고, 점수가 아닌 보완 방향 제안이라는 안내를 붙였다.

채점 모델 — 문단 단위 38기준 예측 모델 4개를 비교했다

문장 임베딩과 학과 원-핫을 붙인 845차원 입력으로 38개 기준 점수를 동시에 회귀했다.

결과지의 정성 진단은 언어모델이 담당하지만, 문단 단위 점수를 재현 가능하게 만들려면 별도 모델이 필요했다. 그래서 합격생 생기부 문단을 38개 평가기준으로 1~5점 채점한 데이터를 만들고, 그 위에 회귀 모델을 학습했다.

학습 데이터 만들기

  • 추출 — 학과별 생기부 자료를 언어모델에 넘겨 구조화된 형태로 변환했다. 교과 기록은 분량이 커 한 번에 넣으면 잘리므로 학년별로 나눠 호출하고, 과목별로 쪼갠 뒤 하나로 합쳤다.
  • 채점 — 세특·자율·동아리·진로·행동특성·독서의 서술형 문단을 뽑아 38개 기준별 1~5점을 매겼다. 문단이 길어 한 번에 3개씩 묶어 채점했고, 결과는 캐시로 남겨 재실행 없이 다시 쓸 수 있게 했다.
  • 기준 그룹 — 38기준은 학업역량(학업성취도 1~4 / 학업태도 및 의지 5~10 / 탐구력 11~15), 진로역량(전공 관련 교과 성취도 16~22 / 진로 탐색 활동과 경험 23~27), 공동체역량(협업과 소통능력 28~30 / 나눔과 배려 31~33 / 성실성 및 규칙준수 34~35 / 리더십 36~38)으로 묶는다.

피처와 비교 설계

입력은 문장 임베딩과 학과 정보를 붙여 만들었다. 한국어 문장 임베딩 모델(SBERT 계열)로 문단을 인코딩해 768차원을 얻고, 학과 77개를 원-핫으로 붙여 845차원이 된다. 출력은 38차원이다. 평가는 3-Fold 교차검증으로 R²(uniform average)와 MAE를 재고, 예측값은 0~5 범위로 잘랐다.

모델구조MAE학습 시간
Neural Network (MLP) — 채택845차원 입력 → 38차원 출력의 얕은 4층 MLP (층마다 배치 정규화·ReLU·드롭아웃)0.4030.65330.9s
LightGBM + CatBoost Ensemble기준마다 두 부스팅 모델을 각각 38개씩 학습한 뒤 예측을 평균0.3840.6883,114.7s
Transformer Decoder (Mini)입력을 사영한 뒤 2층 트랜스포머 디코더 + 회귀 헤드0.3690.666106.0s
XGBoost MultiOutput기준별 부스팅 회귀 모델 38개0.3160.6991,962.3s

결론은 명확했다. 트리 앙상블은 38개 타깃마다 모델을 따로 학습해야 해서 MLP보다 60~100배 느린데 성능은 오히려 낮았다. 768차원 밀집 임베딩에서는 부스팅보다 얕은 MLP가 유리했다는 뜻이다. 최고 성능 모델을 전체 데이터로 재학습해 학과 인코더와 함께 저장하고, 네 모델의 비교 결과와 선택 근거를 함께 남겨 재현 가능하게 했다. 이후 미리 계산해 둔 채점 결과를 재사용하는 빠른 경로를 따로 만들어 서비스 응답 시간을 줄였다.

특허 — 문구별 합격 기여도를 반사실로 측정하고, 그 위에서 활동을 추천한다

「학교생활기록부 기재 문구의 합격 기여도 분석 및 맞춤형 활동 추천 방법 및 시스템」 · 2026.07 국내 출원

서비스를 만들면서 얻은 데이터와 문제 정의를 특허로 정리했다. 출원 명칭은 「학교생활기록부 기재 문구의 합격 기여도 분석 및 맞춤형 활동 추천 방법 및 시스템」이다. KIPRIS에서 '학교생활기록부'로 검색한 전체 목록을 훑어 관련 선행특허 11건(키워드 방식 평가 시스템, AI 평가 기반 진학 정보 관리, 학생부 밀착 관리, 맞춤형 입시 전략 도출 등)을 정리하고 차별점을 비교표로 만든 뒤 변리사 미팅에 들어갔다.

구조

  1. 데이터 표현 — 학생부를 trajectory로 합격생 학생부를 시간 순서를 가진 궤적으로 바꾼다. 한 학생은 1학년 → 2학년 → 3학년으로 이어지는 상태(state)의 연속이고, 학년 사이에 새로 등장한 활동·표현이 행동(action)이 된다. 행동의 단위가 분석 해상도를 결정하므로, 입학사정관이 눈여겨볼 서술 부사구 500개(예: “비판적으로 검토”, “주도적으로 탐구”)와 구체적 활동 문구 500개(예: “동아리 부장으로 부원 이끔”)를 만들고, 입시 전문가를 포함한 교육연구팀이 직접 선별한 핵심 110개를 추렸다.
  2. 모델 학습 — World Model과 정책 World Model은 “현재 상태에서 이 행동을 하면 다음 상태와 보상이 어떻게 되는가”를 예측하는 신경망, 즉 시뮬레이션 엔진이다. 정책은 PPO 강화학습으로 “어떤 상태에서 어떤 행동이 합격이라는 보상으로 이어지는가”를 학습한다. 보상은 합격 여부를 기준으로 설계했다.
  3. 핵심 분석 — counterfactual로 문구별 기여도 측정 학습된 World Model 위에서 특정 문구를 제거했을 때 예측 점수가 얼마나 변하는지를 본다. 점수가 떨어지면 그 문구는 합격에 기여한 강점이고, 그대로거나 오히려 오르면 없어도 됐던 표현이다. 학생이 가진 모든 문구에 이 측정을 반복하면 “지켜야 할 강점 표현”과 “효과가 약한 표현” 목록이 나온다.
  4. 추천 — 언어모델로 구체화 1단계 출력은 짧은 문구 조각이라 그 자체로는 컨설팅이 되지 않는다. “비판적으로 검토라는 표현이 약하다”는 말만으로 학생은 무엇을 해야 할지 알 수 없다. 그래서 강점·약점 문구와 학생부 원문을 함께 언어모델에 전달하고, 전공·진로에 맞는 구체적 활동과 서술을 생성하게 한다.

즉 강화학습이 합격생 데이터로부터 방향을 계산해 근거를 제공하고, 언어모델이 그 방향 안에서 구체적이고 전공에 맞는 조언을 생성한다. 이 “강화학습으로 방향을 정하고 언어모델로 구체화하는 2단계 추천” 자체가 선행 특허와 구분되는 지점이다. 예를 들어 간호학과 학생에게는 “조력존엄사 법안 계류 현황을 조사하며 환자 자기결정권과 의료윤리 딜레마를 간호사 역할 관점에서 분석”, 약학과 학생에게는 “mRNA 백신의 지질나노입자 전달체계와 세포 내 단백질 합성 과정 탐구”처럼 전공 수준에 맞는 활동이 나온다.

차별성 증명용 실학습 — 4건 기술의 임계값과 실측

선행특허 대비 차별성을 주장하려면 실제로 학습이 되는지 보여야 했다. 그래서 4건의 기술을 각각 학습·평가하고 임계값을 미리 정해 두었다.

코드기술데이터 · 모델지표임계실측
N4SchoolRecordBERT — 학생부 도메인 사전학습 LM보인다 1,016건 + 합격생 114건(약 14k 라인 / 90만 토큰), 한국어 RoBERTa base 규모 모델에 도메인 MLM 추가 사전학습 + 보조 헤드 3개 (약 110M 파라미터)MLM perplexity / 학년 분류 acc≤ 8.0 / ≥ 60%3.80 / 92.9% (학교 96.5%, 영역 97.9%, n=2,737)
N1학생부 이종 그래프 GNN합격생 114건 그래프, 이종 그래프 어텐션 3층 4헤드 + 자기지도 사전학습 후 지도 파인튜닝학과(계열) Top-3 acc≥ 65%Top-3 66.6% (Top-1 35.1%, Top-5 80.7%, 5-fold)
N2활동의 인과 추론 (ATE / IPW / Matching)보인다 1,016건 + 활동 이진 라벨(언어모델 추출), 인과추론 프레임워크의 refutation 검증Refutation 통과율≥ 80%활동 87개에 대해 ATE 산출
N5강화학습 시뮬레이터 + Counterfactual합격생 trajectory 114 + augmentation 200, Transformer World Model + BC + PPO(100k timesteps)BC 정책 일치도 / PPO 평균 누적 보상≥ 60% / ≥ 5BC exact match 98.7% / PPO 평균 보상 19.6

counterfactual 산출도 버전을 나눠 비교했다. 114명 기준으로 v6는 제거 시 평균 변화량 +1.119(최대 8.54, 최소 -6.26, 음수 비율 32%), v7은 -0.079(음수 비율 57%), v8은 +0.05(최대 9.26, 최소 -6.91, 음수 비율 38%)로 나왔다. 한계도 그대로 남겼다. IPW 인과추정치와 RL counterfactual의 부호 일치율은 32.2%(Spearman ρ = -0.200), 시뮬레이터와 LLM 추천 순위의 Spearman ρ는 공통 후보군에서 0.620(중위 0.800)이지만 합집합 기준으로는 0.008로 떨어졌다. 즉 두 계열의 근거가 항상 같은 방향을 가리키지는 않으며, 이 불일치 자체가 향후 연구 과제다.

모든 학습은 시드를 42로 고정해 돌렸다.

현재 상태 — 정식 오픈 잠정 보류

법령 검토와 교육부 유권해석으로 제공 범위를 확인한 뒤 제공하기로 했다.

2026년 7월 29일 시행되는 「초·중등교육법」 제25조의2(학교생활기록의 상업적 이용 제한)와 관련해, 생기View의 정식 오픈을 잠정 보류했다. 법령 검토와 교육부 유권해석을 통해 서비스 제공 범위를 명확히 확인한 뒤 제공하기로 결정했다.

기술적으로는 결과지 19개 섹션, 데이터 파이프라인, 채점 모델, 결제·배포까지 동작하는 상태였고, 남은 것은 법적 판단이었다. 만들 수 있는지와 내보내도 되는지는 다른 질문이라는 점을 이 프로젝트에서 가장 분명하게 배웠다.

12개 학생 유형 — 9개 정량활동의 '핵심 조합'으로 정의한 T01~T12

초안이 인용한 '심화·연결·맥락·비판' 4축 명칭은 같은 자료의 초안 값이고, 실제 판정 로직은 정량활동 조합이다.

결과지 1번 섹션의 '나의 유형'은 심화·연결·맥락·비판 네 축의 순서쌍이 아니라, 앞에서 정의한 9개 정량활동의 핵심 조합으로 정의한 T01~T12 체계를 쓴다. 유형 정의 자료에는 유형마다 13개 항목이 들어 있다 — 유형ID · 유형명 · 핵심 활동 프로파일 · 핵심 조합 · 활동 전개 방식 · 구분 포인트 · 학습 성향 해석 · 잘 맞는 학습 행동 · 보완이 필요한 학습 행동 · 매칭 시 주의점 · 판정 핵심 신호 · 유사 유형 구분 규칙 · 우선 배정 조건.

즉 유형 판정은 성향 검사 결과가 아니라 정량활동 카운트의 조합 패턴과 전개 순서에서 나온다. 그래서 3번 섹션의 9개 활동 카운트가 1번 섹션의 유형 판정 근거로 그대로 이어진다.

ID유형명핵심 조합활동 전개 방식유형명 제안(별칭)
T01탐구 심화 연결형탐구 활동 + 발표/토론 + 진로성찰탐구 → 발표/토론 → 진로성찰깊이 파는 탐험가
T02표현 공유 확장형탐구 활동 + 발표/토론 + 협업과 소통탐구 → 쟁점 비교 → 토론·협업 공유생각 나누는 전파자
T03문제 해결 실행형프로젝트 + 탐구 활동 + 진로탐색탐구 → 프로젝트 설계 → 구현·결과 점검실행력 있는 해결사
T04진로 탐구 심화형진로탐색 + 탐구 활동 + 진로성찰진로탐색 → 관심 주제 탐구 → 진로성찰길 찾는 탐험가
T05진로 실현 설계형진로탐색 + 프로젝트 + 협업과 소통진로탐색 → 프로젝트 설계 → 협업 실행·점검계획 세우는 설계자
T06경험 의미화 성찰형진로성찰 + 공동체 기여 + 진로탐색참여·기여 → 진로성찰 → 자기 점검의미를 남기는 기록자
T07나눔 연계 학습형공동체 기여 + 멘토링 + 진로성찰공동체 기여 → 멘토링 → 자기점검마음 나누는 멘토
T08협력 상호작용형협업과 소통 + 발표/토론 + 공동체 기여협업 → 설명 → 공동 정리같이 맞추는 협력 플레이어
T09설명 전달 정교화형멘토링 + 협업과 소통 + 탐구 활동탐구 → 멘토링·설명 → 빈틈 점검또박또박 설명 코치
T10기획 주도 실행형리더십 + 프로젝트 + 협업과 소통리더십 → 기획 → 협업 실행·점검판 짜는 기획 리더
T11탐구·소통·주도 융합형탐구 활동 + 발표/토론 + 리더십 + 진로성찰탐구 → 발표 → 협업 주도 → 진로성찰판을 이끄는 융합 디렉터
T12폭넓은 참여 연결형진로탐색 + 협업과 소통 + 공동체 기여 + 탐구 활동넓은 참여 → 관심 주제 선별 → 연결 학습넓게 잇는 컬렉터

유형 정의에서 공을 들인 부분은 인접 유형 간 구분 규칙이다. 조합만으로는 겹치는 유형이 많기 때문에, 항목마다 '무엇으로 갈리는지'를 문장으로 못박았다. 예를 들어 T01과 T02는 같은 '탐구 + 발표'이지만 T01은 발표가 진로 의미로 수렴하고 T02는 발표가 협업·공유로 확장된다는 점에서 갈린다. T03과 T05는 같은 프로젝트형이지만 출발점이 문제 자체인지 진로 동기인지로 갈리고, T08과 T09는 같은 협업이지만 수평적 협업인지 전달·지도인지로 갈린다. T07·T09·T10은 멘토링·리더십을 '가중 신호'로 두어 우선 배정한다.

또한 각 유형에는 매칭 시 주의점이 함께 붙는다. 활동 흔적을 곧 역량으로 읽지 않기 위한 안전장치다. T01에는 “탐구·발표 흔적이 곧 개념 정확성을 뜻하지 않으므로, 설명한 내용을 문제 풀이로 점검하는 학습방법과 함께 매칭한다”가, T10에는 “기획·주도 경험이 곧 학습 실행력은 아니므로, 계획을 구체적 복습·실행으로 잇는 학습방법과 함께 매칭한다”가 달려 있다.

교과별 학습 가이드의 실체 — 83과목 × 2,385행 + 실수·교정 1,000행

섹션 10의 학습 조언은 즉석 생성이 아니라, 2022 개정교육과정 전 과목을 대상으로 미리 구축한 콘텐츠 DB에서 나온다.

초안은 섹션 10을 '과목별 학습 조언을 제공한다'로만 서술했는데, 그 뒤에 있는 콘텐츠 DB의 규모가 이 섹션의 실제 작업량이다. 2022 개정교육과정의 5개 교과군 총 83과목을 대상으로, 이수하지 않은 과목까지 포함해 미리 조언을 써 두었다.

교과(군)과목 수공통 과목일반 선택진로 선택융합 선택
국어11공통국어1·2화법과 언어, 독서와 작문, 문학주제 탐구 독서, 문학과 영상, 직무 의사소통독서 토론과 글쓰기, 매체 의사소통, 언어생활 탐구
수학15공통수학1·2, 기본수학1·2대수, 미적분 I, 확률과 통계기하, 미적분 II, 경제 수학, 인공지능 수학, 직무 수학수학과 문화, 실용 통계, 수학과제 탐구
영어15공통영어1·2, 기본영어1·2영어 I, 영어 II, 영어 독해와 작문영미 문학 읽기, 영어 발표와 토론, 심화 영어, 심화 영어 독해와 작문, 직무 영어실생활 영어 회화, 미디어 영어, 세계 문화와 영어
사회23한국사1·2, 통합사회1·2세계시민과 지리, 세계사, 사회와 문화, 현대사회와 윤리한국지리 탐구, 도시의 미래 탐구, 동아시아 역사 기행, 정치, 법과 사회, 경제, 윤리와 사상, 인문학과 윤리, 국제 관계의 이해여행지리, 역사로 탐구하는 현대 세계, 사회문제 탐구, 금융과 경제생활, 윤리문제 탐구, 기후변화와 지속가능한 세계
과학19통합과학1·2, 과학탐구실험1·2물리학, 화학, 생명과학, 지구과학역학과 에너지, 전자기와 양자, 물질과 에너지, 화학 반응의 세계, 세포와 물질대사, 생물의 유전, 지구시스템과학, 행성우주과학과학의 역사와 문화, 기후변화와 환경생태, 융합과학 탐구

조언을 두 층으로 나눠 썼다

과목 하나에 대해 쓰는 정보를 두 종류로 나누고, 각각을 별도로 관리했다.

  • 과목별 조언 2,385행 — 과목명 · 정보 구분 · 항목 · 세부구분 · 내용으로 이뤄진다. '핵심 3가지'로 과목의 본질 · 학습 포인트 · 문제 풀이 전략을 쓰고, '학습 스타일'로 흔한 실수 패턴과 교정 · 학습 전략 · 반복/복습 방식을 쓴다. 예를 들어 공통국어1의 '과목의 본질'은 “대화와 토론, 논증적 읽기와 쓰기, 언어생활 성찰, 문학 소통, 매체 자료 분석과 제작을 통해 다양한 맥락에서 국어를 비판적·창의적으로 이해하고 표현하는 기초 역량을 기른다”이고, 학습 포인트는 포인트 1·2·3으로 쪼개 적는다.
  • 실수·교정 매칭 1,000행 — 과목별 흔한 실수를 실수 · 원인 · 교정1 · 교정2 · 복습으로 풀고, 그 학습법이 어느 유형에 맞는지 유형ID 최대 5개와 배정 이유까지 붙였다. 예컨대 공통국어1의 실수 1번 “대화나 토론 자료를 내용 이해 수준에서만 보고, 쟁점과 논증 구조를 놓친다”는 원인이 “누가 어떤 목적에서 말하는지, 주장과 근거가 어떻게 연결되는지를 함께 살피지 않기 때문”이고, 교정은 “'상황 맥락–핵심 쟁점–각 참여자의 입장'을 먼저 표시한다” / “주장, 이유, 근거, 반론과 재반박을 구분하며 논증이 타당한지 판단한다”이며, 복습은 “논증 구조 재구성 복습”이다. 이 항목은 T04·T05·T09·T12에 배정된다.

이 구조 덕분에 '나의 유형(T01~T12)'과 '교과별 학습 조언'이 유형ID로 연결된다. 유형이 진단으로 끝나지 않고 그 학생에게 맞는 과목별 복습법으로 이어지게 만든 것이 이 DB의 목적이다. 조언 원칙은 자료에 명시해 두었다 — “NOT 단순 공부법”, 교과별 특화 요소로서 차별화 포인트가 될 수 있는 학습 조언 + 사고방식 조언.

유형 축을 잡을 때 참고 자료로 SNU학습유형진단(2026) 45문항을 같은 자료에 정리해 두었다(토론 선호, 통찰 의존, 단계별 목표 설정, 전체 구조 우선 파악, 세부 분석 선호 등의 문항). 다만 최종 유형 체계는 검사 문항이 아니라 생기부에서 실제로 카운트되는 활동 조합으로 정의했다. 검사 응답을 받을 수 없는 상황에서 생기부만으로 판정해야 했기 때문이다. 초안 단계의 유형 설계(교과별 핵심 3가지, 교과별 학습 스타일, 학습유형, 매칭본)는 모두 폐기 항목으로 남겨 두었다.

종합등급과 합격예측 구간의 산출 규칙

화면 라벨과 DB 정의가 달라 초안이 각주로만 남긴 부분을, 계산 규칙 표로 복원한다.

결과지 구현 DB 자료에는 결과지 두 화면의 산출 규칙이 표로 정의되어 있다. 초안은 종합등급 5단계만 본문에 넣고 합격예측 구간은 각주로 미뤘는데, 두 규칙 모두 결과지 숫자가 어떻게 나오는지를 결정하는 부분이라 함께 남긴다.

나의 생기부 종합등급

계산 로직은 학업역량 · 진로역량 · 공동체역량의 평균값이고, 각 역량 점수는 AI 루브릭 로직을 따른다. 역량 아래 세부 항목은 학업역량 3개(학업성취도 / 학업태도 및 의지 / 탐구력), 진로역량 2개(전공 관련 교과 성취도 / 진로 탐색 활동과 경험), 공동체역량 4개(협업과 소통능력 / 나눔과 배려 / 성실성 및 규칙준수 / 리더십)로 총 9개다.

등급부족노력보통우수매우우수
기준60 미만60 이상70 이상80 이상90 이상

희망학과 입시정보 — 합격예측 4구간

DB 정의는 화면 라벨(하향·적정·도전·불안)과 명칭이 다르며, 50%컷·70%컷을 경계로 다음과 같이 산출한다. 예시는 내 성적 1.7, 해당 학과 50%컷 3.2, 70%컷 2.7인 경우다.

단계기준예시 환산(50%컷 3.2 / 70%컷 2.7)
도전50%컷 ~ 54 ~ 5
소신50%컷 ~ 50%컷+13.2 ~ 4
적정70%컷 이상 50%컷 이하2.7 ~ 3.2
안정1 ~ 70%컷1 ~ 2.7 → 내 성적 1.7은 '안정'

특허 기술5 — 학교유형 보정: 자사고 3.0등급과 일반고 1.7등급을 같게 읽는다

합격생 114건의 실측 학교유형별 평균 내신을 그대로 강화학습 보상에 넣었다.

초안은 특허를 4건(N4 SchoolRecordBERT, N1 GNN, N2 인과추론, N5 강화학습)으로 정리했는데, 2026년 5월 29일자 논의 문서(v.2)에서 기술5·기술6이 추가되었고 이 둘이 독립항의 (e)·(f)·(g) 단계에 해당한다. 두 기술을 빼면 청구 구조가 성립하지 않으므로 함께 남긴다.

기술5가 답하는 질문은 “같은 등급이라도 학교(일반고/자사고/외고)가 다르면 의미가 다른가”다. 합격생 자료 114건의 학교유형별 평균 내신을 실측하니 일반고 1.70, 자사고 2.58, 외고 3.35였다. 자사고 3.0등급은 학교 내 상대적 위치로 보면 일반고 1.7등급에 가깝다는 뜻이다. 절대 등급만 보는 평가는 학교 환경의 난이도를 무시한다.

학교유형n평균 등급일반고 대비 offset
일반고751.70기준
자사고312.58+0.88
외고23.35+1.65

보정 기준에는 졸업·과학중점까지 세분해 넣었다 — 일반고 1.70 / 자사고 2.58 / 외고 3.35 / 일반고 졸업 1.77 / 자사고 졸업 2.07 / 일반고(과학중점) 2.10 / 기타 2.10. 보상 함수는 학생 등급이 자기 학교 평균보다 나쁠 때만 보너스를 준다.

상대 등급 = 학생 등급 − 학교유형 평균, 보상 = 기본 10.0 + 3.0 × max(0, 상대 등급) — 즉 일반고 1.5등급 합격은 10.0(학교 상위라 보너스 없음), 자사고 3.5등급 합격은 12.76, 외고 4.5등급 합격은 13.45가 된다. “원래 합격하기 어려운 조건에서 합격한 케이스”에 큰 가중치를 준다는 점에서 IPW의 아이디어와 같은 구조이고, 의대 입시 지역인재 가산점의 정량 버전이다. 핵심은 보정 기준을 전문가 규칙이 아니라 데이터로 실측한다는 것이고, 종속항 3번이 이 점을 명시한다.

학교유형 보정의 실측 효과 (v9)

변형학교보정BC exactPPO mean rewardΔ PPO
v500 (활동 500)OFF0.26021.42기준
v9_act500ON0.26027.96+6.54
v7 (구체 문구 클러스터)OFF0.86820.88기준
v9_n7ON0.86826.90+6.02
v8 (사용자 채택 110개)OFF1.00019.02기준
v9_n8ON1.00020.07+1.05

BC exact match는 학교 보정과 무관하게 그대로다(모방학습은 보상 신호와 분리되므로 당연한 결과다). PPO 평균 보상은 보정을 켜면 일관되게 올라간다. 흥미로운 것은 v8의 상승폭이 +1.05로 가장 작다는 점이다. 교육연구팀이 직접 선별한 110개 문구가 일반고에서 보편적으로 쓰이는 표현 위주였기 때문에, 자사고·외고 가중치를 받을 케이스가 적었던 것으로 해석했다.

특허 기술6 — v10: 불합격을 같은 학생부에서 다른 보상으로 학습한다

'의대에 떨어진 1.5등급'과 '법대에 떨어진 1.5등급'은 같은 1.5등급이 아니다.

v.1까지의 강화학습은 합격생 114명만 학습했다. 모두 합격이라 보상 분산이 0에 가까웠고, 정책은 “어떤 활동을 안 하면 불합격하는가”를 배울 데이터가 없었다. v10은 같은 114명이 지원했지만 떨어진 기록을 trajectory에 추가한다.

불합격 데이터는 지원 대학 목록을 파싱해 합격생 자료의 닉네임과 매칭하여 같은 114명의 다른 지원기록 462건을 추출하고, 그중 불합격 라벨 117건을 사용했다(114명 중 58명만 매칭됨). 합격선은 배치표의 (대학, 학과, 전형) 매칭으로 2025년 합격성적을 가져온다. 최종 학습 코퍼스는 합격 333 + 불합격 117로 불합격 비율이 14%에서 26%로 개선되었다.

보상 설계의 핵심은 불합격의 '이유'를 학생부 탓과 도전 탓으로 분리하는 것이다. 여유분 = 합격선 − 학생 내신이 양수면 합격 가능한 내신인데 떨어진 것이므로 생기부 책임이 크고, 음수면 상향 지원이라 생기부 책임이 작다.

케이스계산보상해석
합격 + 자사고 3.5 + 학과매칭 0.810.0 + 3.0×0.92 + 2.0×0.3+13.36학생부가 매우 우수
불합격 + 학생 1.5 + 합격선 3.5 (여유분 +2.0) + 매칭 0.7−10.0 − 2.0×2.0 − 2.0×0.2−14.4큰 페널티 — 학생부 약점 강한 신호
불합격 + 학생 3.5 + 합격선 1.5 (여유분 −2.0) + 매칭 0.3−10.0 + 0.3×(−2.0) − 2.0×(−0.2)−10.2약한 페널티 — 상향 도전이라 학생부 탓 아님

지원학과 매칭 score

지원학과를 14계열(의약 / 생명자연 / 공학 / 컴퓨터 / 수리물리 / 화학 / 경영경제 / 사회 / 법 / 교육 / 인문 / 예체능 / 자유전공 / 기타)로 분류하고 키워드 매칭으로 0~1 점수를 매긴다.

매칭 score의미예시
1.0같은 계열의예 ↔ 약학
0.7인접 계열의약 ↔ 생명자연
0.5멀리 인접경영 ↔ 법
0.2완전 미스매치국문 ↔ 수학

v10 실측

변형학습 trajectoryBC exactWorld Model state_msePPO mean reward
v500 (활동, 기본)합격 3140.260≈0.2021.42
v9_act500 (학교보정)합격 3140.260≈0.2027.96
v10_act500 (합격+불합격+학과)합격 314 + 불합격 114 = 4280.6470.4423.92
v7 (구체키워드, 기본)합격 3140.868≈0.1520.88
v9_n7 (학교보정)합격 3140.868≈0.1526.90
v10_n7 (합격+불합격+학과)합격 314 + 불합격 114 = 4280.9670.3723.78

가장 뚜렷한 변화는 BC exact match다. 같은 500차원 action space에서 0.260이던 것이 불합격 trajectory를 넣자 0.647로 올랐고, 의미 키워드 클러스터 쪽은 0.868에서 0.967까지 갔다. 불합격 trajectory가 보상과 함께 명시적 신호를 제공하자 정책이 학생부 패턴을 훨씬 정교하게 학습했다는 해석이다. World Model state_mse가 0.44/0.37로 커진 것은 보상 범위가 −15 ~ +14로 넓어진 결과이며, 학습 자체는 수렴했다.

Action space를 무엇으로 잡을 것인가 — 4변형 비교, 그리고 BC 98.7%가 좋은 신호가 아닌 이유

초안이 성과로 인용한 'BC exact match 98.7%'는 원본 보고서가 과적합 신호로 명시적으로 부정한 수치다.

강화학습에서 무엇을 '행동'으로 볼지가 분석 해상도를 결정한다. World Model 아키텍처, BC/PPO 하이퍼파라미터, trajectory 수를 모두 고정하고 action space 정의만 바꿔 4개 변형을 학습해 비교했다. 데이터는 합격생 JSON 114건 + 같은 학과 학생 페어 mixing 증강 200 = trajectory 314개로 모든 변형이 동일하다.

변형action_dimaction 정의 방식World Model state_mseBC exact matchPPO mean reward
활동 100100사전 정의 활동 카테고리 (Claude로 7개 도메인 균형 분배)0.3480.98719.62
활동 500500100개를 각각 5개로 세분화≈0.340.26021.42
활동 10001000100개를 각각 10개로 세분화0.2480.16421.51
N6 의미 키워드 클러스터 500500Claude로 1,054 학생부에서 의미 표현 추출 → MiniLM 임베딩 → KMeans 5000.2280.36321.43

결론은 N6 의미 키워드 클러스터가 가장 균형이 좋다는 것이었다. World Model 정확도가 4개 중 최고(state_mse 0.228)이고, 정책 성능은 활동 1000과 사실상 동급(21.43 vs 21.51, 차이 0.4%)이며, 같은 500차원인 활동 500(0.260)보다 BC exact가 0.10 높다. 사전 정의 카테고리에 의존하지 않으므로 새 학생부의 미정의 표현도 어떤 클러스터에 매핑되고, 각 클러스터의 원문 예문이 보존되어 해석성이 있다. 채용·평생교육·정부정책 평가로 확장할 수 있어 권리 범위도 가장 넓다.

BC 98.7%를 뒤집어 읽은 부분

활동 100 변형의 BC exact match 0.987은 겉보기에 압도적이지만, 보고서는 이를 정책 성능이 아닌 과적합 신호로 결론지었다. 근거는 세 가지다.

  • trajectory 314개 × action 100차원은 모델이 외울 수 있는 규모다.
  • 해상도를 100 → 500 → 1000으로 올릴수록 BC exact가 0.987 → 0.260 → 0.164로 떨어지는 것은 sparse multi-binary에서 모든 비트가 정확히 맞을 확률이 낮아지는 통계적으로 정상적인 현상이다.
  • 결정적으로 PPO mean reward는 활동 100이 19.62로 가장 낮다. 데이터를 외운 정책이 PPO 평가에서는 오히려 성능이 떨어졌다.

state_mse 절대값을 신뢰하지 않기로 한 이유

state 벡터는 265차원이고 그 안에 정규화된 평균등급(0~1, 1차원), 과목 등급 통계(0~1, 4차원), 학생부 텍스트 임베딩의 PCA 압축 256차원(분산 ±2~3, unbounded), 학교유형 원-핫(0/1, 4차원)이 섞여 있다. PCA 부분이 unbounded라 MuJoCo(0.001)나 Atari(0.01) 같은 다른 도메인 World Model MSE와 단위가 다르다. 의미 있는 절대 평가는 "다음 state = 현재 state"라는 trivial baseline이나 random-init 모델 대비 얼마나 줄였는가인데, 이번 실험에서는 두 baseline을 모두 측정하지 않았다. 그래서 0.228은 4개 변형의 상대 비교에만 쓰고, 외부 보고용 절대 성능 지표로는 쓰지 않기로 했다. 실험은 seed=42 단일 실행이며 통계적 유의성 검증을 거치지 않았고, 불합격 trajectory가 0건인 조건이었다는 한계도 함께 기록했다.

Counterfactual 검증 5단계 — 무엇이 통과하고 무엇이 미달했나

검증 자체를 청구항에 넣기 위해 5개 독립 검증을 설계했고, 임계를 미리 정해 두고 실측했다. 통과와 미달이 함께 나왔다.

반사실 분석 결과를 컨설팅에 쓰려면 “이 시뮬레이터를 믿을 수 있는가”에 답해야 한다. 그래서 임계값을 먼저 정하고 다섯 가지 독립 검증을 돌렸다. 검증 단계 자체가 독립항 (h)로 들어간다.

검증방법임계v10_act500 (활동 500)v10_n7 (키워드 500)
Held-out 1-steptrain 80% / test 20% 분할, 1학년 state+action → 2학년 state 예측 (n=170, test traj 85)cos ≥ 0.85 신뢰 / ≤ 0.60 불신뢰cos 0.449 · L2 10.31 · explained_var −0.05cos 0.550 · L2 9.56 · explained_var 0.241
Multi-step rolloutK=1, K=2 L2 오차와 비율(학생부는 3학년까지라 K=2면 충분)비율 낮을수록 좋음K2/K1 = 1.00 (누적 미미)K2/K1 = 1.14
Placebo action1학년 action에 σ=0.3 랜덤 노이즈를 섞은 가짜 action으로 rollout (85명 × 30회)|Δreward| < 1.0real 6.19 / fake 5.98 / Δ 0.21 → PASSreal −1.18 / fake −1.31 / Δ 0.13 → PASS
Permutation학생 간 1학년 action을 무작위로 섞어 rollout 100회, 실제 보상의 극단성 측정p(shuffled ≥ real) < 0.30real 6.19 / shuffled 7.20 / p = 0.68 → 미달real −1.18 / shuffled −1.39 / p = 0.49 → 미달
IPW ↔ RL 부호 일치같은 활동 87개에 대해 IPW ATE와 RL counterfactual Δ의 부호·순위 비교ρ ≥ 0.4remove 32.2%(28/87) ρ = −0.200 (p=0.063) / add 43.7%(38/87) ρ = −0.232 (p=0.031) → 미달

두 변형을 비교하면 v10_n7이 모든 면에서 낫다. explained_variance가 0.24 대 −0.05이고 permutation p도 0.49 대 0.68이다. 의미 키워드 클러스터가 활동 카테고리보다 일관된 표현을 학습했다는 뜻이다. Held-out cos가 임계 0.85에 크게 미달한 원인은 228 transition이라는 데이터 부족으로 진단하고, 보인다 1,016건을 추가하면 cos ≥ 0.70에 도달할 것으로 예상했다. permutation p > 0.30 미달은 구조적 이유가 있었다 — 불합격 trajectory가 같은 학생부에서 나오기 때문에 state-action 분포가 합격과 거의 동일하고, 학습이 보상에만 의존하게 된다. 불합격 학생의 진짜 state(= 다른 학생부) 데이터가 필요하다는 결론이다.

LLM 전문가 ranking과의 일치도 — 가장 강한 검증

입시 컨설턴트 ranking 수집이 아직 불가능했으므로, 서로 다른 두 언어모델(Claude와 GPT)에게 각 2회씩 학종 사정관 역할을 부여해 학생당 4개 응답을 받았다(50명 대상). 1학년 활동의 합격 기여도 top 5 ranking을 요청하고, 시뮬레이터의 학생별 per-activity Δreward(remove 모드, 부호 반전) 순위와 Spearman ρ를 비교했다.

모드NMean ρMedian ρρ ≥ 0.5 비율판정
A: 공통 활동 (≥3개)5 / 50+0.620+0.80080.0%PASS (임계 ρ≥0.5)
B: 전체 후보 (LLM 미선택=0)48 / 50+0.008−0.0110.0%FAIL

두 방법이 합의하는 영역(Mode A)에서는 일치도가 매우 높다. Mode B가 무너지는 이유는 명확하다 — LLM은 top 5만 답하는데 시뮬레이터는 전체 활동에 점수를 매기므로 sparse 벡터와 dense 벡터를 비교하는 셈이 된다. 이 차이를 지우지 않고 두 모드를 모두 보고했다.

NN matching과 Ensemble 불확실성

학생 A의 1학년 action을 B의 것으로 바꿔 rollout한 예측 보상을, A·B와 비슷한 배경의 실제 학생 C의 결과와 비교했다(30 pair, 평균 매칭 score 0.727). 결과는 mean |Δ| 11.144, RMSE 13.904, Spearman ρ −0.285(p=0.127), Pearson r −0.346(p=0.061)이다. 합격생만 학습한 데이터에서는 모든 보상이 10~14 근처에 몰려 순위 분리가 약했다는 해석이다.

World Model을 시드 5개로 학습해 같은 rollout을 돌리고 모델 간 분산을 측정했다(무작위 20명). 학생별 보상 std 평균은 3.512이고, std > 2.0인 저신뢰 학생이 75.0%였다. 단일 시드 결과를 그대로 신뢰해서는 안 된다는 뜻이다. 활동별로는 변동계수(CV = std/|mean|)가 갈렸다 — 활동 #93은 CV 0.85로 모든 모델이 비슷한 결론을 냈고, 활동 #90은 CV 4.14로 모델끼리 부호조차 일치하지 않았다. 그래서 컨설팅 도구로 쓸 때 “이 활동 효과는 불확실” 플래그를 붙이는 구조를 종속항 5번으로 넣었다.

N2 인과추론 실측 — 87개 활동 중 양의 ATE는 8개뿐이었다

초안은 '활동 87개에 대해 ATE 산출'로만 적었지만, 이 결과의 방향과 refutation 실패를 함께 봐야 의미가 읽힌다.

보인다 통합 코퍼스 1,016건에 언어모델로 활동 이진 라벨을 붙이고, propensity score를 로지스틱 회귀로 학습해 IPW로 ATE를 추정했다. 활동 87개가 대상이며, 처리군+대조군은 활동마다 940명으로 고정된다.

결과는 양의 ATE 8개, 음의 ATE 79개였다. 상위 양의 활동은 다음과 같다.

활동영역ATE (IPW)95% CI처리군 n대조군 n
멘토멘티자율+0.0385−0.0137 ~ +0.0825320620
리더십반장자율+0.0183−0.0131 ~ +0.0620409531
시사토론동아리+0.0158−0.0306 ~ +0.0608238702
경제학탐구진로+0.0156−0.1936 ~ +0.045159881
통계학탐구진로+0.0153−0.0691 ~ +0.0640117823

여기서 두 가지를 그대로 인정해야 한다. 첫째, 가장 높은 ATE인 멘토멘티 +0.0385조차 신뢰구간이 0을 포함해 통계적으로 유의하지 않다. 원인은 v.1 시점의 합격 86% / 불합격 14% 불균형이었고, 불합격 117건을 추가해 26%로 개선한 뒤 재추정하는 것이 후속 작업으로 남았다.

둘째, 강한 음의 ATE는 대부분 처리군이 극단적으로 작은 활동에서 나왔다 — 영어경시대회 −0.709(처리군 7명), 모의수능 −0.701(5명), 교과독서 −0.657(7명), 교사체험 −0.651(5명), 의료봉사 −0.604(8명), 체육대회 −0.569(8명), 산업공학탐구 −0.558(10명). 처리군 5~10명 규모에서 IPW 가중치가 폭발한 소표본 아티팩트로 읽는 것이 타당하다.

Refutation 3종 — placebo는 통과, random common cause는 전부 실패

ATE 절대값 상위 10개 활동에 대해 refutation 3종을 돌렸다.

Refuter내용결과 (10건 기준)
Placebo treatment가짜 treatment로 바꾸면 효과가 0에 가까워야 함10 / 10 통과 — 새 추정치가 −0.006 ~ +0.006 범위로 0에 수렴
Random common cause무작위 교란변수를 추가해도 추정치가 유지되어야 함0 / 10 통과 — 예: 영어경시대회 ATE −0.709가 +0.135로 부호 반전
Data subset데이터 일부만 써도 추정치가 유지되어야 함random common cause와 유사하게 크게 이동 (−0.709 → +0.134)

즉 “가짜 원인을 넣으면 효과가 사라진다”는 방향의 검증은 깨끗하게 통과했지만, “교란변수를 추가해도 흔들리지 않는다”는 방향은 전부 실패했다. 소표본에서 IPW 추정치가 불안정하다는 뜻이고, 이 결과를 그대로 남긴 뒤 표본 확대를 후속 과제로 잡았다.

IPW와 RL counterfactual이 어긋난 이유도 v.2 문서에서 정리했다. 두 방법이 다른 것을 측정하기 때문이다 — IPW는 공변량을 통제한 합격 여부 자체의 ATE를 보는데, v10 보상은 학교보정 + 학과매칭 + 합/불 페널티가 섞인 합성 신호다. IPW의 outcome을 v10 보상으로 바꿔 재추정하면 일치도가 올라갈 것으로 예상했다.

기술 4건의 설계 상세, 그리고 초안이 빠뜨린 N3 연합학습

모델 구조, 보조 태스크 손실 가중치, 그래프 노드·엣지 정의까지 기획 단계에서 미리 못박았다.

초안은 4건의 임계·실측만 표로 정리했는데, 그 아래에 있는 설계 내용이 실제 작업의 대부분이다. 각 기술의 구조를 남긴다.

N4 SchoolRecordBERT — 도메인 적응 사전학습

  • 코퍼스 — 합격생 자료 114건(자율·동아리·행동특성·진로·독서를 학년별 영역 라벨로 구분, 약 5,300건) + 보인다 통합 1,016건(9개 영역, 학년 통합, 약 9,000건) = 약 14,000건 영역 텍스트, 문장 단위 8~10만 문장, 484만 자 ≈ 240만 토큰(15% 마스킹 시 학습 토큰 36만).
  • 도메인 어휘 — 세특 · 창체 · 교과세특 · 진로희망사유 · 학년종합 · 자율활동 · 동아리활동 · 봉사활동 · 진로활동 · 행동특성및종합의견 · 독서활동상황, 그리고 학교유형(일반고/자사고/외고) · 학년(1·2·3·학년통합) · 영역(자율·동아리·진로·교과·독서·행특) 표시를 별도 토큰으로 명시해 추가했다. 학생부에서만 쓰이는 말이 쪼개지지 않게 하려는 조치다.
  • 구조 — 한국어 RoBERTa base 규모(약 110M 파라미터, 12층, 은닉 768) 사전학습 모델에 헤드 4개를 붙였다: MLM / 학년 4분류 / 영역 6분류 / 학교유형 3분류. 총 손실은 MLM 손실에 학년 0.3, 영역 0.3, 학교유형 0.2의 가중치로 보조 손실을 더한 형태다.
  • 목표 대 실측 — MLM perplexity 목표 ≤8.0(baseline ~12) → 실측 3.798, 학년 60%+ → 92.9%, 영역 75%+ → 97.9%, 학교유형 65%+ → 96.5%(n_eval 2,737). downstream 합격 분류 AUC 목표 0.78+.

N1 GNN — 학생 한 명 = 그래프 한 개

노드 5종과 엣지 5종을 다음과 같이 정의했다.

노드 타입학생당 개수속성
활동18개 (6영역 × 3학년)영역, 학년, 텍스트 임베딩
과목약 50개학기, 교과명, 단위수, 등급, 점수, 표준편차
진로희망3개 (학년별)학년, 진로명
학생 (그래프 중심)1개학과·대학·학교유형·전형·평균등급
학과1~K개학과명
엣지 타입의미가중치
시간 엣지학년 t → t+1 (같은 영역 내)시간 간격
학년 내 엣지같은 학년 내 활동 ↔ 과목 ↔ 진로희망1.0
의미 엣지활동 텍스트 임베딩 코사인 유사도 ≥ 0.5코사인 값
과목–활동 엣지과목 노드 ↔ 같은 학년 영역 노드1.0
학생–전체 엣지학생 노드 ↔ 모든 노드1.0

학습 신호는 세 개를 동시에 썼다 — 자기지도 학습(라벨 불필요, 114 + 1,016 = 1,130 그래프), 학과 분류 지도학습(114건), 합격/불합격 분류(905 / 80 불균형 처리). 텍스트 인코더는 N4 SchoolRecordBERT를 고정해 쓰고 정량 feature는 별도 MLP를 태운다. 5-fold 실측은 Top-1 35.1% / Top-3 66.6% / Top-5 80.7%이고, fold별 Top-3는 0.696 · 0.696 · 0.696 · 0.609 · 0.636으로 편차가 작았다(각 fold 검증 23명, 마지막 22명).

N5 강화학습 — state / action / reward 정의

state는 학년별로 정량(평균등급, 과목별 등급·표준편차) + N4 임베딩 4종(진로희망 · 자율 · 동아리 · 행동특성, 각 768차원) + 메타(현재 학년, 학교유형)로 잡고, 최종 265차원으로 압축한다. reward는 3학년 종료 시 terminal(합격 +10 / 불합격 −2)과 학년별 intermediate(평균등급 변화 0.5 + 활동 다양성 변화 0.3 + 진로 일관성 0.2의 가중합)를 함께 둔다.

N3 연합학습 — 초안에 없는 4번째 기술

초안이 정리한 4건(N4/N1/N2/N5)과 달리, 기획안의 4건 구성은 N4 → N1 → N5 → N3 순서였다. N3은 보유 데이터의 학교유형이 이미 자연 사일로라는 점을 이용한다 — 일반고(n=80), 자사고(n=32), 외고(n=2, 시연용)이며, 보인다 통합의 학과 계열로도 사일로를 확장할 수 있다(공학 약 250, 의약 약 80 등 7~9개).

구성은 이렇다. 각 사일로가 로컬로 학습한 gradient에 차분 프라이버시 노이즈(가우시안 또는 라플라스)를 부가해 전송하고, 중앙에서 FedAvg 또는 FedProx로 글로벌 모델을 갱신한 뒤, 학교유형별 LoRA 어댑터를 붙여 학교 맞춤 모델을 만든다. 목표 지표는 중앙 학습 대비 성능 보존 95%+, privacy budget ε ≤ 2.0(5라운드 후), 학교 어댑터 추가 성능 +2% accuracy다.

우선순위와 출원 순서도 문서에 정해 두었다. N4가 N1·N5의 base 모델이므로 0순위, 학년 분리 데이터를 쓰는 N1이 1순위(가장 신선한 청구), 범용 확장성이 큰 N5가 2순위, 인프라 청구인 N3이 3순위다. 학습 순서는 N4 → N1 → N5 → N3이고, 출원은 N4 완성 후 분할 출원으로 거의 동시에 가는 전략이었다(1차 명세서 약 50~70 페이지).

선행특허 검토와 독립항 구조 — 무엇이 새롭다고 주장했나

KIPRIS에서 '학교생활기록부' 전체 목록을 훑어 15건을 정리하고, 8단계 독립항으로 차별점을 구성했다.

초안은 선행특허를 '11건'으로 적었으나 변리사 미팅 문서에 정리된 기존 특허 명칭은 15건이다. 목록 자체가 이 도메인에서 무엇이 이미 청구되어 있는지를 보여주므로 그대로 남긴다.

  • 키워드 방식에 의한 학교생활기록부 평가 시스템 및 방법
  • 학교생활기록부의 인공지능 평가를 이용한 진학 정보 관리 방법, 장치 및 컴퓨터-판독가능 기록매체
  • 중고등학교 학생의 학교활동 인증방법 및 그 학교생활기록부 DB의 인증시스템
  • 효과적인 학습 및 수시 전형 성공을 위한 학교생활기록부 밀착 관리 시스템 및 그 구동방법
  • 학교생활기록부의 평가정보 결정 장치 및 방법
  • 생활기록부 정보 생성 방법 및 이를 실행하는 서버
  • 학생부에 따른 맞춤형 온라인 입시 컨설팅 및 학습 관리 시스템
  • 학생 맞춤형 입시 전략 도출 방법, 장치 및 시스템
  • 컬러코드를 이용한 학교생활기록부 자동입력 및 데이터 차등보안 방법
  • 온라인 입시 및 생활기록부 진단 컨설팅 플랫폼 시스템
  • 해외고 생활기록부 제공 시스템
  • 생활기록부 기반 면접 준비 데이터의 생성 방법, 이를 실행하는 장치
  • 생활기록부 데이터 재구성을 통한 교과목별 성적 분석 및 이를 바탕으로 한 맞춤형 교육지원 방법
  • 체대입학컨설팅시스템을 이용한 학생부종합전형의 우선순위 결정 시스템
  • 학생 생활 중 과정평가, 학생 수업 중 과정평가 등의 음성-텍스트 변환·저장·누적을 통한 학생성장변화 과정평가 애플리케이션

선행특허 대부분은 “합격할 사람 vs 불합격할 사람”을 점수화하는 구조다. 반면 생기부 분석 시스템이 실제로 답해야 하는 질문은 여섯 가지로 정리했다 — ① 학생부에 뭐가 적혀 있는지 기계가 제대로 이해하나(→ 기술1) ② 활동·과목·진로·시간이 어떻게 얽혀 있는지 구조적으로 보나(→ 기술2) ③ 이 활동이 진짜 합격에 기여했나, 아니면 잘 하는 애들이 그 활동을 한 것뿐인가(→ 기술3) ④ 2학년에 다른 활동을 했다면 결과가 어떻게 달라졌을까(→ 기술4) ⑤ 같은 등급이라도 학교가 다르면 의미가 다른가(→ 기술5) ⑥ 지원했지만 떨어진 학과는 학생부의 어떤 약점을 보여주나(→ 기술6).

독립항 8단계

여섯 기술을 하나의 시스템으로 묶어 (a)~(h) 8단계 독립항으로 구성했다.

단계내용대응 기술
(a)도메인 사전학습 언어모델로 학년별 4영역(자율·동아리·진로·행동특성) 텍스트를 임베딩 후 PCA-256 압축하고, 평균등급·과목통계·학교유형 원-핫을 결합해 다차원 state vector를 구성기술1 (N4)
(b)학생/활동/과목/진로/학과/학교유형 노드와 시간/공현/의미/수강/소유/목표 엣지의 이종 그래프로 표현기술2 (N1)
(c)활동 카테고리에 대해 propensity score를 로지스틱 회귀로 학습 후 IPW로 ATE 추정, refutation 3종으로 검증기술3 (N2)
(d)Transformer World Model을 다단계 transition으로 학습하고 BC + PPO로 정책 학습, multi-binary action space에서 trajectory rollout기술4 (N5)
(e)합격생 데이터로 고교유형별 평균 내신을 실측하고, 학생 내신과 평균의 차이를 reward에 정량 반영기술5
(f)같은 학생의 합격 trajectory와 불합격 지원 trajectory를 동시 학습, 불합격 reward는 (학생내신 − 배치표 합격선) 여유분에 비례한 페널티 적용기술6
(g)지원학과를 14계열로 분류한 후 학생부의 합격 기준학과와의 계열 매칭 score를 reward에 가산기술6
(h)held-out 1-step 예측 정확도 · multi-step rollout 오차 · placebo action sensitivity · permutation extremity · IPW-RL 부호 일치도 5가지를 측정해 신뢰도를 보고검증 5단계

종속항은 다섯 개다. ① (a)의 언어모델은 학년·영역·학교유형 분류를 보조 태스크로 동시 학습하는 멀티태스크 MLM 사전학습을 포함한다. ② (d)의 action space는 사전 정의 활동 카테고리, 문장 임베딩과 KMeans로 만든 데이터 주도 의미 키워드 클러스터, 도메인 전문가가 선별한 클러스터 중 하나 이상을 포함한다. ③ (e)의 보정 기준은 합격생 데이터로부터 자동 산출되고 전문가 규칙을 쓰지 않는다. ④ (h)는 입시 컨설턴트 ranking과의 Spearman 상관계수를 추가로 계산한다. ⑤ (h)는 Ensemble World Model의 모델 간 분산을 신뢰도 플래그로 보고한다.

KIPRIS 검색에서 다음 조합은 모두 0건이었다 — “학생부 + 강화학습 + 학교유형 보정”, “합격 불합격 + trajectory + reward + 학과 매칭”, “World Model + counterfactual + 학생부”, “IPW + RL counterfactual + 교차검증”. 가장 유사한 선행기술은 학생부 평가 모델 계열이지만 단순 입출력 회귀에 fine-tuning 단계를 청구하는 구조였다.

한계를 문서에 남겼다

출원 문서에 그대로 적은 한계는 다섯 가지다. ① 불합격 데이터 117건도 여전히 부족하다(114명 중 58명만 매칭, 보인다 1,016건 추가 시 trajectory 8배). ② 학교유형 분류가 거칠다 — '자사고' 안에서도 학교별 차이가 크므로 학교명 세밀 분류가 필요하다. ③ 외고 표본이 2건뿐이라 통계 신뢰도가 낮다. ④ 지원학과 매칭이 14계열 키워드 기반이라, 임베딩 코사인으로 개선할 여지가 있다. ⑤ 입시 컨설턴트 실제 판단과의 비교 검증은 아직 실시하지 못했다(LLM 대체 검증만 수행). 모든 학습은 시드를 고정하고 재현 절차까지 문서화했다.

여기서 배운 것

  1. 정량 점수가 비공개인 도메인에서는 '절대 점수'보다 '기준선과의 격차'가 훨씬 방어 가능한 산출물이다. 유사도를 결과지에서 의도적으로 제외한 결정도 같은 맥락이었다 — 오해될 수 있는 단일 지표는 넣지 않는 편이 낫다.
  2. LLM 기반 카운팅은 프롬프트 설계가 곧 측정 도구 설계다. 학년별 분할 호출과 생성 온도 0 고정만으로 검출량이 58% 늘고 실행 간 재현성이 확보되었다. 같은 정의라도 스캔 단위와 우선순위 규칙을 명문화하지 않으면 측정값이 흔들린다.
  3. 768차원 밀집 임베딩을 입력으로 쓰는 다중 타깃 회귀에서는 부스팅 앙상블이 얕은 MLP를 이기지 못했다. R²는 0.403 대 0.384로 근소했지만 학습 시간은 30초 대 52분으로 100배 차이였다 — 모델 선택은 성능만이 아니라 반복 실험 가능성으로도 결정된다.
  4. 진단과 처방은 다른 문제다. counterfactual로 '어떤 표현이 기여했나'를 재는 것과 '그래서 무엇을 하라'를 말하는 것 사이에는 번역 계층이 필요하고, 그 계층을 언어모델에 맡긴 2단계 구조가 특허의 핵심 주장이 되었다.
  5. 서로 다른 방법론의 결론이 어긋날 때 그 불일치를 지우지 않는 것이 연구적으로 더 정직하다. IPW ATE와 RL counterfactual의 부호 일치율 32%, LLM-시뮬레이터 순위 상관 0.62(공통) / 0.008(합집합)은 실패가 아니라 다음 연구 질문이다.
  6. 도메인 규제는 기술 리스크와 동일한 수준의 프로젝트 리스크다. 「초·중등교육법」 제25조의2 시행에 맞춰 정식 오픈을 보류한 경험은, 교육·의료처럼 규제 밀도가 높은 영역에서 '법령 검토'를 개발 일정의 일부로 넣어야 한다는 것을 가르쳐 주었다.