Files
2026-10-08 16:43:48 +09:00

879 lines
135 KiB
JSON

{
"version": "1.0.0",
"exportedAt": "2026-10-08T00:00:00.000Z",
"id": "ADM01",
"title": "결원·근무부하 추세 대시보드와 보충 필요량 예측",
"category": "행정·인사",
"level": 3,
"durationDays": 5,
"requiredHours": 27.5,
"status": "COMPLETED",
"isRecommended": false,
"summary": "",
"objectives": "<p>병력 감소와 전출·파견·휴가·환자·교육이 겹치면 부대 직무별 결원이 갑자기 커지고 남은 인원의 초과근무와 피로가 누적되어 전투력 유지가 어려워지지만, 현재원 표만으로는 향후 결원과 보충 필요량을 미리 보기 어렵다. 본 프로젝트는 러시아-우크라이나 전쟁에서 드러난 인력 소모·피로 관리 문제의식을 교육용 가상 자료로 재구성해, 가상 대대 4곳의 직무 6종 주간 인력 집계 자료로 결원·근무부하 추세를 보고 향후 3개월 보충 필요량을 예측하는 과제이다. 인력 자료 스키마와 근무일지 전처리, 피로도 Baseline, 13주 결원 예측과 위험 지수·신뢰도, 현황 대시보드, 인사관·지휘관 검토 워크플로우, 대량 결원 스트레스 시험, AAR 재보정, 통합 패키지까지 단계별로 구현한다. 최종 목표는 인력 부족과 피로 위험을 근거와 불확실성과 함께 보여 주되, 보충 요청과 인원 이동 결정은 인사관·지휘관이 하도록 지원하는 시스템을 완성하는 것이다.</p>",
"deliverables": [
"data/schema/adm01_input_schema.json (필수)",
"docs/adm01_data_spec.md (필수)",
"src/preprocess/adm01_preprocessor.py (필수)",
"전처리 전후 데이터셋 (필수)",
"src/models/adm01_baseline_model.py (필수)",
"기본 추론 결과 보고서 (필수)"
],
"constraints": "<h4>부대 보안 및 개인정보 보호</h4><ul><li><p>실제 부대 편성, 위치, 작전 일정, 군번·성명 등 민감 군사보안 및 개인식별정보는 절대 외부 AI에 입력하지 않는다.</p></li><li><p>모든 실습에는 제공된 교육용 가상 데이터셋 및 시뮬레이션 표본만을 활용한다.</p></li></ul><h4>AI 결과와 인간 최종 판단의 구분 (HITL 원칙)</h4><ul><li><p>AI 모델이 제안한 분석값이나 탐지 결과는 참고 지표이며, 최종 승인·보류·교전·배치 명령은 사람이 확정한다.</p></li><li><p>모든 부대·직무·인원·근무일지 자료는 코드 안에서 만든 교육용 가상 집계 자료이며 실제 부대, 편제, 병력, 개인 정보는 사용하지 않는다. 개인을 식별할 수 있는 자료(이름·군번 등)는 만들지도 입력하지도 않는다. 부대 인사 자료의 외부 AI 서비스 입력과 부대 내 촬영은 금지한다. 환자·휴가 등 건강·복무 관련 수치는 집계 인원 수일 뿐이며 개인의 진단이나 판단이 아니고, 건강 문제는 의무대·군의관과 연계한다. 피로도·위험 지수와 보충 필요량은 판단 보조 정보이며 보충 요청, 인원 이동, 휴식·교대 조정은 인사관·지휘관이 인사 규정과 지휘계통에 따라 결정한다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다.</p></li></ul>",
"evalSummary": "<h4>공통 PASS/FAIL 판정 원칙</h4><ul><li><p><strong>수행 증거:</strong> 요구된 데이터 전처리, 모델 구현, 검증 지표 산출, HITL 워크플로우 증거가 명확한가?</p></li><li><p><strong>판단 근거:</strong> 오경보/미탐 방지, 신뢰도 등급화, 파라미터 튜닝의 군사적·논리적 근거가 타당한가?</p></li><li><p><strong>앞뒤 연결성:</strong> 앞 미션의 스키마·전처리가 뒤 미션의 예측·대시보드·AAR 재보정에 정상 연계되는가?</p></li><li><p><strong>안전성:</strong> 보안 규정 준수, 극단 과부하 상황에서의 Fail-safe 복원력이 확보되었는가?</p></li></ul><h4>프로젝트 완료 조건</h4><p>10개 미션 전체에서 요구되는 필수([필수]) 평가 기준을 모두 PASS해야 프로젝트 최종 PASS로 판정한다.</p>",
"prerequisites": "기본 프로그래밍 지식 및 행정·인사 데이터 분석 기초",
"refFiles": [],
"refText": "",
"projectSkills": [
{
"skillId": "competency_군특화문제해결_행정·인사_문제분석",
"level": 3,
"category": "군특화문제해결",
"subCategory": "행정·인사 문제분석"
},
{
"skillId": "competency_군특화문제해결_행정·인사_대안도출",
"level": 2,
"category": "군특화문제해결",
"subCategory": "행정·인사 대안도출"
},
{
"skillId": "competency_데이터분석검증_결과검증",
"level": 3,
"category": "데이터분석검증",
"subCategory": "AI 결과 검증"
},
{
"skillId": "competency_AI활용역량_도구활용",
"level": 2,
"category": "AI활용역량",
"subCategory": "AI 도구 및 모델 활용"
},
{
"skillId": "competency_전술의사결정_인간검토",
"level": 3,
"category": "전술의사결정",
"subCategory": "HITL 인간 검토 및 책임분계"
}
],
"prerequisiteVods": [],
"missions": [
{
"id": "ADM01_M01",
"sequence": 1,
"title": "부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계",
"durationHours": 1.5,
"overview": "<p>가상 부대의 직무별 인력 현황(편제·현재원·결원·휴가·환자·교육·보충·전출·초과근무·교대주기) 자료의 구조를 JSON 스키마로 정의하고, 정상 표본 검증 오류 0건과 필드 정의 완성도 100%를 확인한다.</p>",
"objectives": "<p>가상 대대 4곳과 직무 6종의 주간 집계 자료에서 필드 15개의 자료형·단위·허용 범위·설명·출처를 모두 정의하고 필드 간 논리 규칙(결원은 편제에서 현재원을 뺀 값, 휴가·환자·교육 합계는 현재원 이하)을 만든다. 2,496행 전체를 검증해 오류 0건을 확인하고, 자료형·허용값·범위·논리·누락·결측 오류 8종을 일부러 넣어 검출되는지 시험한다. 개인을 식별하는 필드가 없고 인원 수만 집계하는지 점검하고 입출력 명세를 정리한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>부대 인사 데이터(현재원, 결원, 휴가, 환자, 교대주기) 스키마를 설계한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>가상 부대의 직무별 인력 현황(편제·현재원·결원·휴가·환자·교육·보충·전출·초과근무·교대주기) 자료의 구조를 JSON 스키마로 정의하고, 정상 표본 검증 오류 0건과 필드 정의 완성도 100%를 확인한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>가상 대대 4곳과 직무 6종의 주간 집계 자료에서 필드 15개의 자료형·단위·허용 범위·설명·출처를 모두 정의하고 필드 간 논리 규칙(결원은 편제에서 현재원을 뺀 값, 휴가·환자·교육 합계는 현재원 이하) 작성하여 원인을 분석하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>data/schema/adm01_input_schema.json 및 docs/adm01_data_spec.md</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m01_dataset.json",
"/uploads/ADM01/adm01_m01_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m01_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m01_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"data/schema/adm01_input_schema.json (필수)",
"docs/adm01_data_spec.md (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계] 요구된 핵심 성능 기준(스키마 필드 정의 완성도 100%, 샘플 데이터 검증 오류 0건)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>스키마 필드 정의 완성도 100%, 샘플 데이터 검증 오류 0건 기준을 충족하고 입력 데이터 유효성 검증 스크립트 통과 및 명세서 문서화 완료을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>누락된 전술 파라미터(기상, 위치오차, 통신지연 등) 보완을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 행정·인사 실무 및 러시아-우크라이나 전쟁 전장 환경과의 군사적 부합성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>행정·인사 실무 및 러시아-우크라이나 전쟁 전장 환경과의 군사적 부합성이 논리적으로 검증되었으며 JSON Schema 검증 도구 및 샘플 데이터 파싱 단위 테스트를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 행정·인사 실무 및 러시아-우크라이나 전쟁 전장 환경과의 군사적 부합성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 스키마 필드 정의 완성도 100%, 샘플 데이터 검증 오류 0건</p></li><li><p>진행 기준: 입력 데이터 유효성 검증 스크립트 통과 및 명세서 문서화 완료</p></li><li><p>검증 방법: JSON Schema 검증 도구 및 샘플 데이터 파싱 단위 테스트</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M1 코드를 실행해 스키마 필드 15개의 정의 완성도와 개인 식별 필드 수를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M1 코드를 실행해 스키마 필드 15개의 정의 완성도와 개인 식별 필드 수를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M1 코드를 실행해 스키마 필드 15개의 정의 완성도와 개인 식별 필드 수를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>필드 15개 정의 완성도 100%, 개인 식별 필드 0개 정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M1 코드를 실행해 스키마 필드 15개의 정의 완성도와 개인 식별 필드 수를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M1 코드를 실행해 스키마 필드 15개의 정의 완성도와 개인 식별 필드 수를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(필드 15개 정의 완성도 100%, 개인 식별 필드 0개 정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "전체 2,496행의 검증 결과와 주입 오류 8종의 검출 결과를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>전체 2,496행의 검증 결과와 주입 오류 8종의 검출 결과를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>전체 2,496행의 검증 결과와 주입 오류 8종의 검출 결과를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>필드 15개 정의 완성도 100%, 개인 식별 필드 0개 정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>전체 2,496행의 검증 결과와 주입 오류 8종의 검출 결과를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>전체 2,496행의 검증 결과와 주입 오류 8종의 검출 결과를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(필드 15개 정의 완성도 100%, 개인 식별 필드 0개 정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "직무별 평균 결원율·초과근무·고피로 비율표를 읽고 입출력 명세를 정리한다.",
"activity": "<h4>이 단계의 역할</h4><p>직무별 평균 결원율·초과근무·고피로 비율표를 읽고 입출력 명세를 정리한다.</p><h4>해야 할 일</h4><ol><li><p>직무별 평균 결원율·초과근무·고피로 비율표를 읽고 입출력 명세를 정리한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>필드 15개 정의 완성도 100%, 개인 식별 필드 0개 정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>직무별 평균 결원율·초과근무·고피로 비율표를 읽고 입출력 명세를 정리한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>직무별 평균 결원율·초과근무·고피로 비율표를 읽고 입출력 명세를 정리한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(필드 15개 정의 완성도 100%, 개인 식별 필드 0개 정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>SCHEMA의 overtime_h 최대값을 80에서 30으로 줄이고 정상 자료 중 몇 행이 오류로 걸리는지 확인한 뒤 적절한 한도를 판단한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M02",
"sequence": 2,
"title": "비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현",
"durationHours": 2.0,
"overview": "<p>서식이 제각각인 비정형 근무일지를 파싱해 결원 사유를 분류하고 근무 시간을 시간 단위로 정규화하는 전처리 모듈을 구현한다.</p>",
"objectives": "<p>시간 표기 5종('12시간 30분', '8h', '22:00~06:00', '오후 2시~익일 오전 6시', '총 9시간')이 섞인 가상 근무일지 6,000줄에서 부대·직무·근무 시간·상황·결원 사유(휴가·환자·교육·파견·전출·기타)를 정규식과 키워드로 뽑는다. 평시·야간·훈련주간별 임계값을 중앙값과 MAD로 조정해 99시간·0.5시간 같은 이상 값과 중복 줄을 걸러내고 고정 임계값과 비교한다. 정답과 대조해 오류율과 처리 속도를 측정한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈을 구현한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>서식이 제각각인 비정형 근무일지를 파싱해 결원 사유를 분류하고 근무 시간을 시간 단위로 정규화하는 전처리 모듈을 구현한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>시간 표기 5종('12시간 30분', '8h', '22:00~06:00', '오후 2시~익일 오전 6시', '총 9시간')이 섞인 가상 근무일지 6,000줄에서 부대·직무·근무 시간·상황·결원 사유(휴가·환자·교육·파견·전출·기타)를 정규식과 키워드로 뽑는다 과정을 진행하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/preprocess/adm01_preprocessor.py 및 전처리 전후 데이터셋</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m02_dataset.json",
"/uploads/ADM01/adm01_m02_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m02_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m02_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/preprocess/adm01_preprocessor.py (필수)",
"전처리 전후 데이터셋 (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현] 요구된 핵심 성능 기준(데이터 정제 처리 속도 1,000건/초 이상, 전처리 오류율 0%)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>데이터 정제 처리 속도 1,000건/초 이상, 전처리 오류율 0% 기준을 충족하고 정제 파이프라인 자동화 및 단위 테스트 케이스 5종 통과을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>전술 상황별(주간/야간/악천후) 맞춤형 노이즈 제거 임계값 동적 조정을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 전술 환경 특유의 노이즈(스푸핑, 반사파, 센서 단절 등) 제거 타당성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>전술 환경 특유의 노이즈(스푸핑, 반사파, 센서 단절 등) 제거 타당성이 논리적으로 검증되었으며 pytest 기반 전처리 정합성 테스트 및 결측치 보정율 확인를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 전술 환경 특유의 노이즈(스푸핑, 반사파, 센서 단절 등) 제거 타당성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 데이터 정제 처리 속도 1,000건/초 이상, 전처리 오류율 0%</p></li><li><p>진행 기준: 정제 파이프라인 자동화 및 단위 테스트 케이스 5종 통과</p></li><li><p>검증 방법: pytest 기반 전처리 정합성 테스트 및 결측치 보정율 확인</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M2 코드를 실행해 파싱 성공 줄 수, 해석 실패(잘린 줄) 수, 처리 속도를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M2 코드를 실행해 파싱 성공 줄 수, 해석 실패(잘린 줄) 수, 처리 속도를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M2 코드를 실행해 파싱 성공 줄 수, 해석 실패(잘린 줄) 수, 처리 속도를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상) 동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M2 코드를 실행해 파싱 성공 줄 수, 해석 실패(잘린 줄) 수, 처리 속도를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M2 코드를 실행해 파싱 성공 줄 수, 해석 실패(잘린 줄) 수, 처리 속도를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상) 동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "고정 임계값(14시간)과 상황별 동적 임계값의 이상 판정·오탐 건수를 비교한다.",
"activity": "<h4>이 단계의 역할</h4><p>고정 임계값(14시간)과 상황별 동적 임계값의 이상 판정·오탐 건수를 비교한다.</p><h4>해야 할 일</h4><ol><li><p>고정 임계값(14시간)과 상황별 동적 임계값의 이상 판정·오탐 건수를 비교한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상) 동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>고정 임계값(14시간)과 상황별 동적 임계값의 이상 판정·오탐 건수를 비교한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>고정 임계값(14시간)과 상황별 동적 임계값의 이상 판정·오탐 건수를 비교한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상) 동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "전처리 오류율과 결원 사유 분류 분포, 사람 확인 대상을 읽는다.",
"activity": "<h4>이 단계의 역할</h4><p>전처리 오류율과 결원 사유 분류 분포, 사람 확인 대상을 읽는다.</p><h4>해야 할 일</h4><ol><li><p>전처리 오류율과 결원 사유 분류 분포, 사람 확인 대상을 읽는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상) 동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>전처리 오류율과 결원 사유 분류 분포, 사람 확인 대상을 읽는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>전처리 오류율과 결원 사유 분류 분포, 사람 확인 대상을 읽는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상) 동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>FIXED 값을 18시간으로 올렸을 때와 동적 임계값의 오탐·미탐 차이를 비교하고, 훈련주간에는 어떤 임계값이 적절한지 설명한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M03",
"sequence": 3,
"title": "직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현",
"durationHours": 2.5,
"overview": "<p>직무별 결원율과 초과근무 시간(야간 근무 비율 포함)으로 1차 피로도 점수를 계산하는 Baseline 모델을 만들고 가중치를 1차 튜닝해 정확도를 검증한다.</p>",
"objectives": "<p>결원율·초과근무·야간 비율을 한도로 나누어 가중합한 피로도 점수(0~100)를 정의하고, 앞 52주로 가중치와 기준 점수를 격자 탐색한 뒤 뒤 52주로 정확도·정밀도·재현율·F1을 시험한다. 모두 정상이라고 답했을 때의 정확도와 단순 규칙도 함께 비교한다. 최근 12주 직무별·셀별 피로도 순위와 점수 기여 분해(판단 근거), 미탐 사례의 특징을 확인한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>직무별 결원율 및 초과근무 기반 피로도 산출 Baseline 모델을 구현한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>직무별 결원율과 초과근무 시간(야간 근무 비율 포함)으로 1차 피로도 점수를 계산하는 Baseline 모델을 만들고 가중치를 1차 튜닝해 정확도를 검증한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>결원율·초과근무·야간 비율을 한도로 나누어 가중합한 피로도 점수(0~100)를 정의하고, 앞 52주로 가중치와 기준 점수를 격자 탐색한 뒤 뒤 52주로 정확도·정밀도·재현율·F1을 시험 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/models/adm01_baseline_model.py 및 기본 추론 결과 보고서</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m03_dataset.json",
"/uploads/ADM01/adm01_m03_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m03_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m03_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/models/adm01_baseline_model.py (필수)",
"기본 추론 결과 보고서 (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현] 요구된 핵심 성능 기준(기본 데이터셋 대상 탐지/처리 정확도 75% 이상 달성)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>기본 데이터셋 대상 탐지/처리 정확도 75% 이상 달성 기준을 충족하고 단위 기능 동작 확인 및 기본 시나리오 실행 로그 생성을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>판단 지연시간 최적화 및 휴리스틱 가중치 1차 튜닝을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 알고리즘의 논리적 흐름 및 군사적 판단 기준의 투명성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>알고리즘의 논리적 흐름 및 군사적 판단 기준의 투명성이 논리적으로 검증되었으며 기준 벤치마크 데이터셋 대상 추론 결과 오차율 비교를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 알고리즘의 논리적 흐름 및 군사적 판단 기준의 투명성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 기본 데이터셋 대상 탐지/처리 정확도 75% 이상 달성</p></li><li><p>진행 기준: 단위 기능 동작 확인 및 기본 시나리오 실행 로그 생성</p></li><li><p>검증 방법: 기준 벤치마크 데이터셋 대상 추론 결과 오차율 비교</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M3 코드를 실행해 단순 규칙·초기 가중·튜닝 가중의 시험 기간 정확도·정밀도·재현율을 비...",
"activity": "<h4>이 단계의 역할</h4><p>M3 코드를 실행해 단순 규칙·초기 가중·튜닝 가중의 시험 기간 정확도·정밀도·재현율을 비교한다.</p><h4>해야 할 일</h4><ol><li><p>M3 코드를 실행해 단순 규칙·초기 가중·튜닝 가중의 시험 기간 정확도·정밀도·재현율을 비교한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상) 판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M3 코드를 실행해 단순 규칙·초기 가중·튜닝 가중의 시험 기간 정확도·정밀도·재현율을 비교한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M3 코드를 실행해 단순 규칙·초기 가중·튜닝 가중의 시험 기간 정확도·정밀도·재현율을 비교한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상) 판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "단순 기준선(모두 정상) 정확도와 비교해 Baseline의 의미를 판단한다.",
"activity": "<h4>이 단계의 역할</h4><p>단순 기준선(모두 정상) 정확도와 비교해 Baseline의 의미를 판단한다.</p><h4>해야 할 일</h4><ol><li><p>단순 기준선(모두 정상) 정확도와 비교해 Baseline의 의미를 판단한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상) 판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>단순 기준선(모두 정상) 정확도와 비교해 Baseline의 의미를 판단한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>단순 기준선(모두 정상) 정확도와 비교해 Baseline의 의미를 판단한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상) 판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "직무별 피로도와 상위 5개 셀의 점수 기여 분해를 읽고 사람이 먼저 확인할 셀을 정한다.",
"activity": "<h4>이 단계의 역할</h4><p>직무별 피로도와 상위 5개 셀의 점수 기여 분해를 읽고 사람이 먼저 확인할 셀을 정한다.</p><h4>해야 할 일</h4><ol><li><p>직무별 피로도와 상위 5개 셀의 점수 기여 분해를 읽고 사람이 먼저 확인할 셀을 정한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상) 판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>직무별 피로도와 상위 5개 셀의 점수 기여 분해를 읽고 사람이 먼저 확인할 셀을 정한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>직무별 피로도와 상위 5개 셀의 점수 기여 분해를 읽고 사람이 먼저 확인할 셀을 정한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상) 판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>격자 탐색 범위를 기준 점수 45~60으로 좁히거나 야간 가중을 0.3으로 고정해 정확도와 F1이 어떻게 달라지는지 비교한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M04",
"sequence": 4,
"title": "시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화",
"durationHours": 3.0,
"overview": "<p>시계열 분석으로 부대·직무별 향후 3개월(13주) 결원 추세를 예측하고 보충 필요 인원을 산출하는 모델을 고도화해 보충 필요 셀 탐지 재현율을 검증한다.</p>",
"objectives": "<p>24개 셀의 주간 결원율을 단순 예측, 릿지 회귀(특징 재설계 전후), 교대 보충·전출 집중기를 반영한 재고-흐름 모의(300경로)로 예측해 4개 시점 롤링 검증으로 오차를 비교한다. 향후 13주 중 결원율이 15% 이상이 되는 보충 필요 셀을 확률로 탐지해 재현율·정밀도 균형과 오경보 패턴을 분석하고 처리 지연을 측정한다. 마지막 시점의 보충 필요 인원을 실제와 비교한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>시계열 분석 기반 향후 3개월 결원 추세 및 보충 필요량 예측 모델을 고도화한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>시계열 분석으로 부대·직무별 향후 3개월(13주) 결원 추세를 예측하고 보충 필요 인원을 산출하는 모델을 고도화해 보충 필요 셀 탐지 재현율을 검증한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>24개 셀의 주간 결원율을 단순 예측, 릿지 회귀(특징 재설계 전후), 교대 보충·전출 집중기를 반영한 재고-흐름 모의(300경로)로 예측해 4개 시점 롤링 검증으로 오차를 비교 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/models/adm01_advanced_detector.py 및 예외 탐지 테스트 결과</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m04_dataset.json",
"/uploads/ADM01/adm01_m04_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m04_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m04_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/models/adm01_advanced_detector.py (필수)",
"예외 탐지 테스트 결과 (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화] 요구된 핵심 성능 기준(복합 위협 탐지 재현율(Recall) 85% 이상, 처리 지연 200ms 이하)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>복합 위협 탐지 재현율(Recall) 85% 이상, 처리 지연 200ms 이하 기준을 충족하고 복합 위협 시나리오 10종에 대한 탐지 테스트 통과을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>오경보(False Alarm) 유발 패턴 식별 및 특징 공간(Feature Space) 재설계을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 기만/교란 공격에 대한 방어 로직의 현실성 및 신뢰성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>기만/교란 공격에 대한 방어 로직의 현실성 및 신뢰성이 논리적으로 검증되었으며 합성 위협 데이터셋 주입 시 이상치 탐지 정확도 검증를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 기만/교란 공격에 대한 방어 로직의 현실성 및 신뢰성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 복합 위협 탐지 재현율(Recall) 85% 이상, 처리 지연 200ms 이하</p></li><li><p>진행 기준: 복합 위협 시나리오 10종에 대한 탐지 테스트 통과</p></li><li><p>검증 방법: 합성 위협 데이터셋 주입 시 이상치 탐지 정확도 검증</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M4 코드를 실행해 4개 방식(단순·회귀 v1·v2·재고-흐름 모의)의 결원 인원 MAE를...",
"activity": "<h4>이 단계의 역할</h4><p>M4 코드를 실행해 4개 방식(단순·회귀 v1·v2·재고-흐름 모의)의 결원 인원 MAE를 비교한다.</p><h4>해야 할 일</h4><ol><li><p>M4 코드를 실행해 4개 방식(단순·회귀 v1·v2·재고-흐름 모의)의 결원 인원 MAE를 비교한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하) 확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M4 코드를 실행해 4개 방식(단순·회귀 v1·v2·재고-흐름 모의)의 결원 인원 MAE를 비교한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M4 코드를 실행해 4개 방식(단순·회귀 v1·v2·재고-흐름 모의)의 결원 인원 MAE를 비교한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하) 확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "보충 필요 탐지의 방식별 재현율·정밀도와 확률 기준별 trade-off를 읽는다.",
"activity": "<h4>이 단계의 역할</h4><p>보충 필요 탐지의 방식별 재현율·정밀도와 확률 기준별 trade-off를 읽는다.</p><h4>해야 할 일</h4><ol><li><p>보충 필요 탐지의 방식별 재현율·정밀도와 확률 기준별 trade-off를 읽는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하) 확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>보충 필요 탐지의 방식별 재현율·정밀도와 확률 기준별 trade-off를 읽는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>보충 필요 탐지의 방식별 재현율·정밀도와 확률 기준별 trade-off를 읽는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하) 확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "오경보 패턴과 마지막 시점의 보충 필요 인원 예측·실제 비교를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>오경보 패턴과 마지막 시점의 보충 필요 인원 예측·실제 비교를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>오경보 패턴과 마지막 시점의 보충 필요 인원 예측·실제 비교를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하) 확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>오경보 패턴과 마지막 시점의 보충 필요 인원 예측·실제 비교를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>오경보 패턴과 마지막 시점의 보충 필요 인원 예측·실제 비교를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하) 확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>P0 대신 확률 기준을 0.3으로 바꿔 재현율·정밀도·오경보 건수가 어떻게 달라지는지 비교하고, 현장에서 어떤 기준을 쓸지 판단한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M05",
"sequence": 5,
"title": "인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발",
"durationHours": 3.0,
"overview": "<p>인력 부족 위험 지수를 산출하고 신뢰도(High/Med/Low) 등급과 함께 인사 배치(인원 이동) 추천을 만드는 신뢰도 엔진을 개발한다.</p>",
"objectives": "<p>보충 필요 확률·예상 최대 결원율·초과근무 부담으로 위험 지수를, 예측 경로 분산·모델 간 일치·자료 충분도로 신뢰도를 계산해 가중치 매트릭스로 보여 준다. 단순 경보와 신뢰도를 반영한 경보의 오경보율을 비교하고 같은 입력으로 시드를 바꿔 5회 산출했을 때 등급 일관성을 확인한다. 같은 직무의 여유 셀에서 부족 셀로 이동하는 배치 추천안과 불확실성 표시(막대·구간)를 만든다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진을 개발한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>인력 부족 위험 지수를 산출하고 신뢰도(High/Med/Low) 등급과 함께 인사 배치(인원 이동) 추천을 만드는 신뢰도 엔진을 개발한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>보충 필요 확률·예상 최대 결원율·초과근무 부담으로 위험 지수를, 예측 경로 분산·모델 간 일치·자료 충분도로 신뢰도를 계산해 가중치 매트릭스로 보여 준다 과정을 진행하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/verification/adm01_confidence_engine.py</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m05_dataset.json",
"/uploads/ADM01/adm01_m05_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m05_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m05_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/verification/adm01_confidence_engine.py (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발] 요구된 핵심 성능 기준(오경보율(FAR) 40% 이상 감축, 신뢰도 스코어 산출 일관성 90% 이상)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>오경보율(FAR) 40% 이상 감축, 신뢰도 스코어 산출 일관성 90% 이상 기준을 충족하고 오경보 필터링 전후 비교 지표 산출 및 통합 테스트 완료을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>신뢰도 가중치 매트릭스 재조정 및 불확실성 지표 시각화 지원을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 신뢰도 등급(High/Med/Low) 부여 기준의 군사적 타당성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>신뢰도 등급(High/Med/Low) 부여 기준의 군사적 타당성이 논리적으로 검증되었으며 ROC-AUC 곡선 분석 및 임계값 민감도 테스트를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 신뢰도 등급(High/Med/Low) 부여 기준의 군사적 타당성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 오경보율(FAR) 40% 이상 감축, 신뢰도 스코어 산출 일관성 90% 이상</p></li><li><p>진행 기준: 오경보 필터링 전후 비교 지표 산출 및 통합 테스트 완료</p></li><li><p>검증 방법: ROC-AUC 곡선 분석 및 임계값 민감도 테스트</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M5 코드를 실행해 단순 경보와 신뢰도 반영 경보의 오경보율·재현율을 비교한다.",
"activity": "<h4>이 단계의 역할</h4><p>M5 코드를 실행해 단순 경보와 신뢰도 반영 경보의 오경보율·재현율을 비교한다.</p><h4>해야 할 일</h4><ol><li><p>M5 코드를 실행해 단순 경보와 신뢰도 반영 경보의 오경보율·재현율을 비교한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락 위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M5 코드를 실행해 단순 경보와 신뢰도 반영 경보의 오경보율·재현율을 비교한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M5 코드를 실행해 단순 경보와 신뢰도 반영 경보의 오경보율·재현율을 비교한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락 위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "시드 5회 반복 일관성과 가중치 매트릭스, 위험 지수 상위 셀의 신뢰도 등급을 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>시드 5회 반복 일관성과 가중치 매트릭스, 위험 지수 상위 셀의 신뢰도 등급을 확인한다.</p><h4>해야 할 일</h4><ol><li><p>시드 5회 반복 일관성과 가중치 매트릭스, 위험 지수 상위 셀의 신뢰도 등급을 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락 위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>시드 5회 반복 일관성과 가중치 매트릭스, 위험 지수 상위 셀의 신뢰도 등급을 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>시드 5회 반복 일관성과 가중치 매트릭스, 위험 지수 상위 셀의 신뢰도 등급을 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락 위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "배치 추천안에서 신뢰도가 High가 아닌 건에 '사람 확인 필수'가 붙는지 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>배치 추천안에서 신뢰도가 High가 아닌 건에 '사람 확인 필수'가 붙는지 확인한다.</p><h4>해야 할 일</h4><ol><li><p>배치 추천안에서 신뢰도가 High가 아닌 건에 '사람 확인 필수'가 붙는지 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락 위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>배치 추천안에서 신뢰도가 High가 아닌 건에 '사람 확인 필수'가 붙는지 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>배치 추천안에서 신뢰도가 High가 아닌 건에 '사람 확인 필수'가 붙는지 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락 위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>alarm 기준의 위험 50을 40으로 낮추고 오경보율과 재현율의 변화를 비교해 두 목표 사이의 균형을 설명한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M06",
"sequence": 6,
"title": "지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현",
"durationHours": 2.5,
"overview": "<p>지휘관·인사참모가 부대 근무부하 현황과 결원 예측을 한눈에 볼 수 있는 가시화 대시보드를 구현하고 응답 성능을 측정한다.</p>",
"objectives": "<p>부대 x 직무 24개 셀의 현재 결원율·13주 후 예측·초과근무·피로도·보충 필요 확률을 상태(긴급·주의·정상) 강조와 함께 표와 히트맵으로 만들고 위험 셀의 추세·예측 구간 그래프를 그린다. 전체 갱신 시간과 부대·직무 필터, 셀 드릴다운, 야간 모드 전환의 응답 시간을 각각 50회 측정한다. 야간 모드는 배경·글자·경보 색만 바꾸어 같은 수치를 보여 준다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>부대 근무부하 현황 및 결원 예측 가시화 대시보드를 구현한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>지휘관·인사참모가 부대 근무부하 현황과 결원 예측을 한눈에 볼 수 있는 가시화 대시보드를 구현하고 응답 성능을 측정한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>부대 x 직무 24개 셀의 현재 결원율·13주 후 예측·초과근무·피로도·보충 필요 확률을 상태(긴급·주의·정상) 강조와 함께 표와 히트맵으로 만들고 위험 셀의 추세·예측 구간 그래프를 그린다 과정을 진행하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/ui/adm01_dashboard.py (또는 웹 UI 컴포넌트)</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m06_dataset.json",
"/uploads/ADM01/adm01_m06_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m06_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m06_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/ui/adm01_dashboard.py (또는 웹 UI 컴포넌트) (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현] 요구된 핵심 성능 기준(화면 갱신 주기 1초 이내, UI 응답성 100ms 이내)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>화면 갱신 주기 1초 이내, UI 응답성 100ms 이내 기준을 충족하고 주요 지표 시각화 컴포넌트 4종 이상 렌더링 및 실시간 데이터 연동을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>야간 작전 모드(Dark mode) 및 긴급 경보 하이라이트 UI 개선을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 전술 작전 상황판으로서의 직관성 및 인지 부하 감소도 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>전술 작전 상황판으로서의 직관성 및 인지 부하 감소도이 논리적으로 검증되었으며 사용자 인터랙션 테스트 및 모의 데이터 스트림 렌더링 검증를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 전술 작전 상황판으로서의 직관성 및 인지 부하 감소도</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 화면 갱신 주기 1초 이내, UI 응답성 100ms 이내</p></li><li><p>진행 기준: 주요 지표 시각화 컴포넌트 4종 이상 렌더링 및 실시간 데이터 연동</p></li><li><p>검증 방법: 사용자 인터랙션 테스트 및 모의 데이터 스트림 렌더링 검증</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M6 코드를 실행해 전체 갱신 시간과 상태 집계(긴급·주의·정상)를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M6 코드를 실행해 전체 갱신 시간과 상태 집계(긴급·주의·정상)를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M6 코드를 실행해 전체 갱신 시간과 상태 집계(긴급·주의·정상)를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내) 상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M6 코드를 실행해 전체 갱신 시간과 상태 집계(긴급·주의·정상)를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M6 코드를 실행해 전체 갱신 시간과 상태 집계(긴급·주의·정상)를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내) 상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "현황판 표와 히트맵에서 '*'가 붙은 보충 필요 셀을 읽는다.",
"activity": "<h4>이 단계의 역할</h4><p>현황판 표와 히트맵에서 '*'가 붙은 보충 필요 셀을 읽는다.</p><h4>해야 할 일</h4><ol><li><p>현황판 표와 히트맵에서 '*'가 붙은 보충 필요 셀을 읽는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내) 상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>현황판 표와 히트맵에서 '*'가 붙은 보충 필요 셀을 읽는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>현황판 표와 히트맵에서 '*'가 붙은 보충 필요 셀을 읽는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내) 상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "필터·드릴다운·야간 모드 전환의 응답 시간을 확인하고 두 모드의 그래프를 비교한다.",
"activity": "<h4>이 단계의 역할</h4><p>필터·드릴다운·야간 모드 전환의 응답 시간을 확인하고 두 모드의 그래프를 비교한다.</p><h4>해야 할 일</h4><ol><li><p>필터·드릴다운·야간 모드 전환의 응답 시간을 확인하고 두 모드의 그래프를 비교한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내) 상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>필터·드릴다운·야간 모드 전환의 응답 시간을 확인하고 두 모드의 그래프를 비교한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>필터·드릴다운·야간 모드 전환의 응답 시간을 확인하고 두 모드의 그래프를 비교한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내) 상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>view 함수에 직무 필터와 상태 필터('긴급'만)를 함께 적용하는 옵션을 추가하고 응답 시간이 어떻게 변하는지 측정한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M07",
"sequence": 7,
"title": "인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계",
"durationHours": 3.0,
"overview": "<p>인력 보충 우선순위 결정을 인사담당-인사관(수동 조정)-지휘관(승인)이 거치는 HITL 워크플로우로 설계하고 성급한 자동 확정을 막는 체계를 검증한다.</p>",
"objectives": "<p>역할별 권한과 단계 순서를 정의하고 시스템은 제안만, 확정은 사람만 하도록 한다. 위험 상위 10건을 상신해 인사관이 인원을 수동 조정(전후 값·사유·근거 기록, 조정 폭 한도)하고 지휘관이 피드백과 함께 승인·반려하는 과정을 모의 실행하며 반려 사유를 필수로 한다. 위험도 우선 큐와 선입선출의 대기시간을 비교하고 권한 우회·절차 위반 14종과 로그 임의 수정을 시험한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우를 설계한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>인력 보충 우선순위 결정을 인사담당-인사관(수동 조정)-지휘관(승인)이 거치는 HITL 워크플로우로 설계하고 성급한 자동 확정을 막는 체계를 검증한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>역할별 권한과 단계 순서를 정의하고 시스템은 제안만, 확정은 사람만 하도록 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/hitl/adm01_approval_workflow.py 및 docs/adm01_hitl_guide.md</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m07_dataset.json",
"/uploads/ADM01/adm01_m07_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m07_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m07_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/hitl/adm01_approval_workflow.py (필수)",
"docs/adm01_hitl_guide.md (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계] 요구된 핵심 성능 기준(인간 검토 큐(Queue) 대기시간 및 승인/반려 처리 로깅 성공률 100%)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>인간 검토 큐(Queue) 대기시간 및 승인/반려 처리 로깅 성공률 100% 기준을 충족하고 승인/반려 인터페이스 동작 및 감사 로그(Audit Log) 생성 검증을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>검토 우선순위 큐잉 알고리즘 개선 및 지휘관 피드백 입력 폼 추가을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 지휘 책임 분계선 명확화 및 성급한 자동 단정 방지 체계 부합성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>지휘 책임 분계선 명확화 및 성급한 자동 단정 방지 체계 부합성이 논리적으로 검증되었으며 모의 조작자 승인/반려 시뮬레이션 및 데이터 무결성 검증를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 지휘 책임 분계선 명확화 및 성급한 자동 단정 방지 체계 부합성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 인간 검토 큐(Queue) 대기시간 및 승인/반려 처리 로깅 성공률 100%</p></li><li><p>진행 기준: 승인/반려 인터페이스 동작 및 감사 로그(Audit Log) 생성 검증</p></li><li><p>검증 방법: 모의 조작자 승인/반려 시뮬레이션 및 데이터 무결성 검증</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M7 코드를 실행해 큐 대기시간(선입선출 대 위험도 우선)과 결재 결과 10건을 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M7 코드를 실행해 큐 대기시간(선입선출 대 위험도 우선)과 결재 결과 10건을 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M7 코드를 실행해 큐 대기시간(선입선출 대 위험도 우선)과 결재 결과 10건을 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건 차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M7 코드를 실행해 큐 대기시간(선입선출 대 위험도 우선)과 결재 결과 10건을 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M7 코드를 실행해 큐 대기시간(선입선출 대 위험도 우선)과 결재 결과 10건을 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건 차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "인사관 조정 건의 전후 인원과 반려·피드백 기록을 읽는다.",
"activity": "<h4>이 단계의 역할</h4><p>인사관 조정 건의 전후 인원과 반려·피드백 기록을 읽는다.</p><h4>해야 할 일</h4><ol><li><p>인사관 조정 건의 전후 인원과 반려·피드백 기록을 읽는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건 차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>인사관 조정 건의 전후 인원과 반려·피드백 기록을 읽는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>인사관 조정 건의 전후 인원과 반려·피드백 기록을 읽는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건 차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "권한 우회·절차 위반 14종 차단 결과, 로깅 성공률, 해시 체인 검증과 위변조 탐지를 확...",
"activity": "<h4>이 단계의 역할</h4><p>권한 우회·절차 위반 14종 차단 결과, 로깅 성공률, 해시 체인 검증과 위변조 탐지를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>권한 우회·절차 위반 14종 차단 결과, 로깅 성공률, 해시 체인 검증과 위변조 탐지를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건 차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>권한 우회·절차 위반 14종 차단 결과, 로깅 성공률, 해시 체인 검증과 위변조 탐지를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>권한 우회·절차 위반 14종 차단 결과, 로깅 성공률, 해시 체인 검증과 위변조 탐지를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건 차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>ADJ_LIMIT를 0.5에서 0.2로 줄이고 조정 시도 중 차단되는 건이 늘어나는지 확인한 뒤 적절한 한도를 판단한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M08",
"sequence": 8,
"title": "전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션",
"durationHours": 3.5,
"overview": "<p>특정 직무에서 대량 결원이 발생한 상황과 조회 요청 500% 증가 부하에서 시스템이 중단되거나 자료가 유실되지 않는지 스트레스 시뮬레이션으로 검증한다.</p>",
"objectives": "<p>한 부대 통신 직무의 전출이 갑자기 늘어난 상황에서 보충 필요 확률과 필요 인원이 어떻게 바뀌는지 평시와 비교한다. 초당 150건 기준 요청을 100·200·500%로 늘려 큐와 작업자 스레드로 처리하고, 큐가 차거나 모델 오류가 나면 경량 예측으로 기능을 줄여 응답하며 잘못된 요청은 격리한다. 병목 함수(셀별 예측)를 캐시해 최적화 전후 응답 시간과 기능 축소 건수를 비교한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>전시 동원 및 대량 결원 모의 인사 예측 스트레스 시뮬레이션을 수행한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>특정 직무에서 대량 결원이 발생한 상황과 조회 요청 500% 증가 부하에서 시스템이 중단되거나 자료가 유실되지 않는지 스트레스 시뮬레이션으로 검증한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>한 부대 통신 직무의 전출이 갑자기 늘어난 상황에서 보충 필요 확률과 필요 인원이 어떻게 바뀌는지 평시와 비교 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>tests/adm01_stress_test.py 및 스트레스 테스트 분석 보고서</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m08_dataset.json",
"/uploads/ADM01/adm01_m08_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m08_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m08_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"tests/adm01_stress_test.py (필수)",
"스트레스 테스트 분석 보고서 (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션] 요구된 핵심 성능 기준(동시 트래픽 500% 증가 시 시스템 다운 0건, 데이터 유실률 0%)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>동시 트래픽 500% 증가 시 시스템 다운 0건, 데이터 유실률 0% 기준을 충족하고 대량 시뮬레이션 부하 주입 테스트 통과 및 병목 구간 프로파일링 완료을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>병목 함수 최적화, 비동기 큐 처리 적용 및 자원 할당 개선을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 극단 상황에서의 안전 실패(Fail-safe) 및 기능 축소 작동 적절성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>극단 상황에서의 안전 실패(Fail-safe) 및 기능 축소 작동 적절성이 논리적으로 검증되었으며 부하 테스트 도구를 통한 처리량(Throughput) 및 메모리 누수 검증를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 극단 상황에서의 안전 실패(Fail-safe) 및 기능 축소 작동 적절성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: 동시 트래픽 500% 증가 시 시스템 다운 0건, 데이터 유실률 0%</p></li><li><p>진행 기준: 대량 시뮬레이션 부하 주입 테스트 통과 및 병목 구간 프로파일링 완료</p></li><li><p>검증 방법: 부하 테스트 도구를 통한 처리량(Throughput) 및 메모리 누수 검증</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M8 코드를 실행해 평시와 통신 직무 전출 급증 상황의 보충 필요 인원을 비교한다.",
"activity": "<h4>이 단계의 역할</h4><p>M8 코드를 실행해 평시와 통신 직무 전출 급증 상황의 보충 필요 인원을 비교한다.</p><h4>해야 할 일</h4><ol><li><p>M8 코드를 실행해 평시와 통신 직무 전출 급증 상황의 보충 필요 인원을 비교한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명) 500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M8 코드를 실행해 평시와 통신 직무 전출 급증 상황의 보충 필요 인원을 비교한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M8 코드를 실행해 평시와 통신 직무 전출 급증 상황의 보충 필요 인원을 비교한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명) 500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "100·200·500% 부하에서 최적화 전후 응답 시간·기능 축소 건수·유실 건수를 확인한...",
"activity": "<h4>이 단계의 역할</h4><p>100·200·500% 부하에서 최적화 전후 응답 시간·기능 축소 건수·유실 건수를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>100·200·500% 부하에서 최적화 전후 응답 시간·기능 축소 건수·유실 건수를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명) 500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>100·200·500% 부하에서 최적화 전후 응답 시간·기능 축소 건수·유실 건수를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>100·200·500% 부하에서 최적화 전후 응답 시간·기능 축소 건수·유실 건수를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명) 500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "500% 처리 내역(정상·축소·격리)을 읽고 기능 축소 정책이 적절한지 판단한다.",
"activity": "<h4>이 단계의 역할</h4><p>500% 처리 내역(정상·축소·격리)을 읽고 기능 축소 정책이 적절한지 판단한다.</p><h4>해야 할 일</h4><ol><li><p>500% 처리 내역(정상·축소·격리)을 읽고 기능 축소 정책이 적절한지 판단한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명) 500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>500% 처리 내역(정상·축소·격리)을 읽고 기능 축소 정책이 적절한지 판단한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>500% 처리 내역(정상·축소·격리)을 읽고 기능 축소 정책이 적절한지 판단한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명) 500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>run의 qmax(큐 크기)를 48에서 16으로 줄이고 기능 축소 건수와 응답 시간이 어떻게 변하는지 비교한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M09",
"sequence": 9,
"title": "AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정",
"durationHours": 3.0,
"overview": "<p>AAR로 인사 예측 오차의 원인을 분석하고 예측 가중 파라미터를 재보정해 종합 정확도 개선과 재발 오류 현황을 검증한다.</p>",
"objectives": "<p>두 부대에서 전출이 늘어난 가상 세계 8개에서 91주 시점의 13주 예측을 실제와 비교해 편향과 원인(최근 전출 급증 미반영)을 분류한다. 튜닝 세계 4개에서 최근 전출 반영 비중(lam)과 판정 확률 기준을 격자 탐색하고 시험 세계 4개로 종합 정확도(보충 인원 +-2명 적중)·재현율·재발 오류를 검증한다. 재보정 파라미터를 YAML 문자열로 출력하고 지속 학습 트리거를 정리한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>AAR 기반 인사 예측 오차 원인을 분석하고 가중치를 재보정한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>AAR로 인사 예측 오차의 원인을 분석하고 예측 가중 파라미터를 재보정해 종합 정확도 개선과 재발 오류 현황을 검증한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>두 부대에서 전출이 늘어난 가상 세계 8개에서 91주 시점의 13주 예측을 실제와 비교해 편향과 원인(최근 전출 급증 미반영)을 분류 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>docs/adm01_aar_report.md 및 configs/adm01_tuned_params.yaml</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m09_dataset.json",
"/uploads/ADM01/adm01_m09_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m09_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m09_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"docs/adm01_aar_report.md (필수)",
"configs/adm01_tuned_params.yaml (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정] 요구된 핵심 성능 기준(AAR 피드백 적용 후 종합 정확도 10%p 이상 향상, 재발 오류 0건)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>AAR 피드백 적용 후 종합 정확도 10%p 이상 향상, 재발 오류 0건 기준을 충족하고 AAR 보고서 작성 및 파라미터 튜닝 전후 회귀 테스트 통과을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>지속적 학습(Continual Learning) 파이프라인 연계 방안 수립을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 오류 원인 규명의 객관성 및 개선 조치의 논리적 타당성 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>오류 원인 규명의 객관성 및 개선 조치의 논리적 타당성이 논리적으로 검증되었으며 회귀 테스트(Regression Test) 스위트 전체 자동 실행 및 비교를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 오류 원인 규명의 객관성 및 개선 조치의 논리적 타당성</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: AAR 피드백 적용 후 종합 정확도 10%p 이상 향상, 재발 오류 0건</p></li><li><p>진행 기준: AAR 보고서 작성 및 파라미터 튜닝 전후 회귀 테스트 통과</p></li><li><p>검증 방법: 회귀 테스트(Regression Test) 스위트 전체 자동 실행 및 비교</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M9 코드를 실행해 기존 모델의 편차(편향·전출 급증 부대 셀 오차)와 원인 분류표를 확인...",
"activity": "<h4>이 단계의 역할</h4><p>M9 코드를 실행해 기존 모델의 편차(편향·전출 급증 부대 셀 오차)와 원인 분류표를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M9 코드를 실행해 기존 모델의 편차(편향·전출 급증 부대 셀 오차)와 원인 분류표를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명 시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M9 코드를 실행해 기존 모델의 편차(편향·전출 급증 부대 셀 오차)와 원인 분류표를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M9 코드를 실행해 기존 모델의 편차(편향·전출 급증 부대 셀 오차)와 원인 분류표를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명 시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "격자 탐색 결과와 채택 파라미터, 시험 세계의 개선 효과·재발 오류를 읽는다.",
"activity": "<h4>이 단계의 역할</h4><p>격자 탐색 결과와 채택 파라미터, 시험 세계의 개선 효과·재발 오류를 읽는다.</p><h4>해야 할 일</h4><ol><li><p>격자 탐색 결과와 채택 파라미터, 시험 세계의 개선 효과·재발 오류를 읽는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명 시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>격자 탐색 결과와 채택 파라미터, 시험 세계의 개선 효과·재발 오류를 읽는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>격자 탐색 결과와 채택 파라미터, 시험 세계의 개선 효과·재발 오류를 읽는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명 시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "출력된 파라미터(YAML)와 지속 학습 트리거를 확인하고 적용 여부를 누가 결정해야 하는지...",
"activity": "<h4>이 단계의 역할</h4><p>출력된 파라미터(YAML)와 지속 학습 트리거를 확인하고 적용 여부를 누가 결정해야 하는지 적는다.</p><h4>해야 할 일</h4><ol><li><p>출력된 파라미터(YAML)와 지속 학습 트리거를 확인하고 적용 여부를 누가 결정해야 하는지 적는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명 시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>출력된 파라미터(YAML)와 지속 학습 트리거를 확인하고 적용 여부를 누가 결정해야 하는지 적는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>출력된 파라미터(YAML)와 지속 학습 트리거를 확인하고 적용 여부를 누가 결정해야 하는지 적는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명 시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>lam 후보에 0.65를 추가하고 MAE와 정확도가 어떻게 달라지는지 확인한 뒤 목표 10%p를 달성할 방법을 제안한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "ADM01_M10",
"sequence": 10,
"title": "결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성",
"durationHours": 3.5,
"overview": "<p>검증·전처리·피로도·결원 예측·위험 지수·검토 큐·감사 로그·브리핑을 묶은 결원·근무부하 대시보드 및 인력 보충 예측 시스템 패키지를 완성한다.</p>",
"objectives": "<p>앞 미션의 기능을 통합 파이프라인으로 묶어 설치 스크립트 5단계 점검, 시드 4종 End-to-End 실행(각 2행 손상 주입), 자체 점검 9항목과 함수 커버리지를 수행한다. 모의 예측이 없을 때 규칙만으로 동작하는지, 손상 레코드를 격리하는지, 감사 로그 변조를 탐지하는지 확인한다. 매뉴얼 7개 장의 작성률과 인사참모 브리핑 요약을 출력한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 패키지를 완성한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>검증·전처리·피로도·결원 예측·위험 지수·검토 큐·감사 로그·브리핑을 묶은 결원·근무부하 대시보드 및 인력 보충 예측 시스템 패키지를 완성한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>앞 미션의 기능을 통합 파이프라인으로 묶어 설치 스크립트 5단계 점검, 시드 4종 End-to-End 실행(각 2행 손상 주입), 자체 점검 9항목과 함수 커버리지 수행하고 분석하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/main_adm01.py, README.md, docs/adm01_final_report.pdf(md)</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/ADM01/adm01_m10_dataset.json",
"/uploads/ADM01/adm01_m10_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m10_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/ADM01/adm01_m10_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"행정·인사",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/main_adm01.py, README.md, docs/adm01_final_report.pdf(md) (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성] 요구된 핵심 성능 기준(End-to-End 통합 파이프라인 실행 성공률 100%, 테스트 커버리지 85% 이상)을 완벽히 달성하였는가?</strong></p><h4>PASS 증거</h4><p>End-to-End 통합 파이프라인 실행 성공률 100%, 테스트 커버리지 85% 이상 기준을 충족하고 원클릭 실행 스크립트 동작 확인 및 최종 발표 산출물 작성 완료을 만족하는 실행 결과 및 로그가 제출되었다.</p><h4>보완이 필요한 상태</h4><p>정량적 지표가 기준치에 미달하거나 실행 로그에서 예외/결측 오류가 발생한 경우.</p><h4>보완 방법</h4><p>타 부대/인접 체계와의 연동 인터페이스(API) 확장 로드맵 제시을 적용하여 파라미터를 보정하고 단위 테스트를 재수행한다.</p>",
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[정성적 타당성] 군사적 현실성 및 군 실무 즉시 도입 가능성, 운용 신뢰도 및 전략적 기대효과 관점의 타당성이 확보되었는가?</strong></p><h4>PASS 증거</h4><p>군 실무 즉시 도입 가능성, 운용 신뢰도 및 전략적 기대효과이 논리적으로 검증되었으며 최종 검증 위원회(평가관) 모의 시연 및 전체 기능 통합 검증를 통한 무결성이 확인되었다.</p><h4>보완이 필요한 상태</h4><p>비현실적인 가정을 적용했거나 오류 원인에 대한 정성적 설명 근거가 부족한 경우.</p><h4>보완 방법</h4><p>교차 검증 데이터를 보강하고 지휘관/실무자 관점의 해석 근거를 명시한다.</p>"
],
"evaluationTypes": [
"REQUIRED",
"REQUIRED"
],
"evaluationText": "<h4>미션 판정</h4><p><strong>평가 구분:</strong> 필수</p><p><strong>핵심 평가영역:</strong> 군 실무 즉시 도입 가능성, 운용 신뢰도 및 전략적 기대효과</p><h4>미션 PASS 조건</h4><ul><li><p>정량 기준: End-to-End 통합 파이프라인 실행 성공률 100%, 테스트 커버리지 85% 이상</p></li><li><p>진행 기준: 원클릭 실행 스크립트 동작 확인 및 최종 발표 산출물 작성 완료</p></li><li><p>검증 방법: 최종 검증 위원회(평가관) 모의 시연 및 전체 기능 통합 검증</p></li></ul><h4>채점자 판정 메모</h4><blockquote><p>단순 코드 실행 여부뿐만 아니라 출력된 수치와 근거 자료가 군 실무 요구사항에 부합하는지 면밀히 확인한다.</p></blockquote>",
"aiGuidelines": {
"allow": [
"데이터 전처리 알고리즘 및 정규화 서식 추천받기",
"이상치 탐지 및 모델 파라미터 튜닝 아이디어 제안받기",
"대시보드 UI 컴포넌트 코드 및 시각화 서식 생성하기"
],
"rules": [
"최종 판정 및 지휘 결심은 학습자가 직접 수행한다.",
"실제 군사 비밀이나 개인 식별 정보는 입력하지 않는다.",
"AI의 출력 결과를 맹신하지 않고 반드시 단위 테스트로 검증한다."
],
"forbid": [
"실제 군사 작전/인사 비밀 데이터를 AI에 입력하기",
"검증 없이 AI가 생성한 코드를 그대로 제출하기",
"단정적인 자동 결심 결과를 인간 검토 없이 확정하기"
]
},
"guideSteps": [
{
"step": 1,
"problem": "M10 코드를 실행해 설치 스크립트 5단계 점검과 End-to-End 시나리오 4종 결과를...",
"activity": "<h4>이 단계의 역할</h4><p>M10 코드를 실행해 설치 스크립트 5단계 점검과 End-to-End 시나리오 4종 결과를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M10 코드를 실행해 설치 스크립트 5단계 점검과 End-to-End 시나리오 4종 결과를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>( )</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M10 코드를 실행해 설치 스크립트 5단계 점검과 End-to-End 시나리오 4종 결과를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M10 코드를 실행해 설치 스크립트 5단계 점검과 End-to-End 시나리오 4종 결과를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(( ))를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "자체 점검 9항목과 함수 커버리지, 매뉴얼 작성률을 읽는다.",
"activity": "<h4>이 단계의 역할</h4><p>자체 점검 9항목과 함수 커버리지, 매뉴얼 작성률을 읽는다.</p><h4>해야 할 일</h4><ol><li><p>자체 점검 9항목과 함수 커버리지, 매뉴얼 작성률을 읽는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>( )</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>자체 점검 9항목과 함수 커버리지, 매뉴얼 작성률을 읽는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>자체 점검 9항목과 함수 커버리지, 매뉴얼 작성률을 읽는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(( ))를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "브리핑 요약의 수치가 앞선 출력과 일치하는지 확인하고 사람이 해야 할 일을 정리한다.",
"activity": "<h4>이 단계의 역할</h4><p>브리핑 요약의 수치가 앞선 출력과 일치하는지 확인하고 사람이 해야 할 일을 정리한다.</p><h4>해야 할 일</h4><ol><li><p>브리핑 요약의 수치가 앞선 출력과 일치하는지 확인하고 사람이 해야 할 일을 정리한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>( )</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>브리핑 요약의 수치가 앞선 출력과 일치하는지 확인하고 사람이 해야 할 일을 정리한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>브리핑 요약의 수치가 앞선 출력과 일치하는지 확인하고 사람이 해야 할 일을 정리한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(( ))를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>CONF의 queue_min_risk를 50에서 70으로 올려 검토 큐 건수와 필요 인원 합계가 어떻게 바뀌는지 비교한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
}
]
}