한 줄 요약
하나의 큰 논술 채점 Skill을 무작정 쪼개는 대신, 실패 원인과 검증 기준이 다른 책임만 분리하고, Tree·Circuit·Proof·Gate로 실제 작동 경로를 확인했다.
이런 분들께 도움돼요
AI 채점이나 첨삭 Skill이 점점 길어지고 복잡해지는 분
라우팅, 기준 정리, 채점, 검증이 한 문서에 섞여 어디가 흔들리는지 찾기 어려운 분
작은 Skill을 만들었지만 실제 연결 구조와 검증 기록까지 남기고 싶은 분
시작 전 상태
처음의 jin-essay-evaluator는 하나의 큰 Skill이었다. 입력이 충분한지 확인하고, 대학별인지 공통 연습인지 판단하고, 기준을 읽고, 점수를 매기고, 검증 파일까지 저장하는 역할이 한곳에 있었다.
기능은 있었지만 문제가 생겼을 때 원인을 구분하기 어려웠다. 예를 들어 채점이 흔들리면 기준 자료를 잘못 읽은 것인지, 대학별 경로를 잘못 탄 것인지, 문항별 근거를 놓친 것인지, 마지막 검증이 약한 것인지가 한 덩어리로 보였다.
지아코모 W2-learning-guide를 따라 보니 “작은 Skill을 많이 만드는 것”보다, 받는 것·만드는 것·검증하는 것·실패하면 돌아가는 곳이 다른 책임을 구분하는 일이 먼저였다.
만든 것 또는 해본 것
먼저 실사용 jin-essay-evaluator를 다음과 같은 구조로 재구성하였다.
대학 구분 없는 공통 연습형 채점 스킬은 common-essay-practice-grading로, 대학별 채점 스킬은 university-specific-essay-grading로 분리하였다.
대학별 채점 스킬은 각 대학의 세부 채점 기준을 적용할 수 있도록 레퍼런스를 보강하였다.
그리고, 채점 과정을 두 개의 후보 Skill로 분리하였다.
evidence-basis-framer
→ university-specific-essay-grading앞의 evidence-basis-framer 후보는 점수를 매기지 않는다. 문제지, 공식 안내, 보조 자료를 읽어 official, inferred, auxiliary, hold로 나눈다. 이 Skill은 채점 전에 기준 프레임을 만드는 역할을 한다.
뒤의 university-specific-essay-grading 후보는 그 프레임을 받아 문항별 점수와 피드백을 만든다.
스킬 구조를 설명하는 문서도 두 개의 md 파일로 정리하였다.
Tree에는 각 책임이 어디에 소속되는지를 적었다.
Circuit에는 사용자 입력이 어떤 Gate를 지나고, 공통 연습형 또는 대학별 채점으로 어떻게 전달되며, 검증 실패가 어디로 돌아오는지를 적었다.
마지막으로 W2-extension-assignment의 흐름을 실사용 구조에 넣었다.
스킬을 바꾸기 전에는 자동 백업 스크립트가 timestamped payload와 파일별 SHA-256 manifest를 만드는 구조이다. 백업과 원본의 tree hash가 일치하지 않거나 복원 리허설이 실패하면 수정 자체를 중단한다.
변경 전 backup-first
→ Eval contract
→ 입력·경로 Gate
→ 채점 또는 진단
→ input/evaluation/verification Proof bundle
→ 기계 검증 Gate
→ 최소 수리 또는 결과 보존개선 전후 스킬 구조 비교
개선 전
jin-essay-evaluator/
├── SKILL.md
├── agents
│ └── openai.yaml
└── references
├── input-checklist.md
├── mock-data.md
├── report-template.md
├── rubrics.md
├── skill-audit-notes.md
└── verification.md개선 후
jin-essay-evaluator/
├─ SKILL.md # 전체 진입점: Gate, Eval, 단일/앙상블 선택
├─ common-essay-practice-grading/ # 대학 유형이 없는 일반 논술 채점
│ └─ SKILL.md
├─ university-specific-essay-grading/ # 대학별 논술 채점
│ ├─ SKILL.md
│ └─ references/
│ ├─ essay-styles/ # 대학별 채점 특성
│ ├─ official_sources/ # 공식 문제·해설 근거
│ └─ multi-agent-grading-protocol.md # 앙상블 채점 절차
└─ references/
├─ grading-mode-selection.md # 단일/앙상블 선택 기준
├─ grading-eval.md # 평가 계약
├─ report-template.md # 채점·검증 보고서 양식
└─ verification.md # 검증 기준
실패·막힘·수정
스킬 구조를 변경한 후 논술 채점을 시도하였을 때, W2-extension의 정교한 정책으로 인해 채점 속도가 많이 느려졌다.
지금은 채점 스킬을 계속해서 보완해 나가는 과정이고, 내 컴퓨터의 성능이 따라주지 못하는 부분도 있어서 readback, proof, backup first 정책은 일단 적용을 철회하였다.
W2-extension의 탄탄한 검증 구조는 스킬 완성 후 공식 채점이 시작되면 다시 적용할 생각이다.
결과와 다음 실험
이번 구조 개선을 통해 논술 채점 스킬에 실패를 다룰 수 있는 근육이 생겼다.
responsibility_boundary: documented
umbrella_tree: documented
execution_circuit: documented
candidate_skills_written_and_readback: 2
backup_first: verified_with_restore_rehearsal
eval_contract: required_for_saved_runs
proof_bundle: required_for_saved_runs
fresh_context_gate_and_route_behavior: verified이제 새 채점 결과는 어떤 기준으로 시작했는지, 어떤 경로를 탔는지, 무엇을 검증했는지까지 함께 남길 수 있다. 점수 차이가 생겨도 기준 프레임·문항 근거·검증 단계 중 어느 책임에서 차이가 생겼는지 돌아볼 수 있게 되었다.
도움받은 글
지아코모 W2-learning-guide: 큰 Skill을 책임 단위로 나누고, Tree/Circuit/Proof/Gate로 검증
지아코모 W2-basic-assignment: 후보 Skill 2개 이상을 실제 파일로 만들고 readback하는 기준
지아코모 W2-extension-assignment: Proof, Gate, Eval, 최소 수리, backup-first 흐름