시나리오 내용 반영

This commit is contained in:
KIM SU BO committed 2026-10-08 16:43:48 +09:00
1 parent d9287de729
commit 350bb92bf9
270 files changed
+198867

No files matched your search

+879
View File
@@ -0,0 +1,879 @@
{
"version": "1.0.0",
"exportedAt": "2026-10-08T00:00:00.000Z",
"id": "WEL01",
"title": "더미 생체신호 기반 열·한랭 스트레스 경보 프로토타입",
"category": "장병 복지·지원",
"level": 2,
"durationDays": 5,
"requiredHours": 27.5,
"status": "COMPLETED",
"isRecommended": false,
"summary": "",
"objectives": "<p>러시아-우크라이나 전쟁에서는 혹한과 폭염 속에서 장시간 기동하는 전투원의 열·한랭 손상이 작전 지속력을 좌우하는 문제로 드러났고, 웨어러블 센서 신호로 위험 징후를 일찍 알아차리되 오경보와 센서 오류를 가려내는 일이 중요해졌다. 본 프로젝트에서는 교육용 가상 병사의 더미 생체신호(심박수, 체온, 피부전도도)와 기상을 코드로 직접 만들어, 데이터 스키마 정의, 결측·센서 튐 전처리, 체온-심박 상관 기반 Baseline, 기상·개인 특성을 결합한 복합 위험도 모델, 개인화 신뢰도 엔진, 소대장·의무관용 상황판, 군의관 원격 검토 중심의 HITL 절차, 폭염·혹한 대량 데이터 유입 시험, AAR 재보정, 최종 통합까지 열·한랭 스트레스 경보 프로토타입을 단계별로 구현한다. 최종 목표는 위험 징후를 놓치지 않으면서 오경보를 줄이고, 모든 조치 판단은 진단이 아닌 보조 정보로서 군의관·의무대와 연계되도록 설계하는 것이다.</p>",
"deliverables": [
"data/schema/wel01_input_schema.json (필수)",
"docs/wel01_data_spec.md (필수)",
"src/preprocess/wel01_preprocessor.py (필수)",
"전처리 전후 데이터셋 (필수)",
"src/models/wel01_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": 2,
"category": "군특화문제해결",
"subCategory": "장병 복지·지원 문제분석"
},
{
"skillId": "competency_군특화문제해결_장병 복지·지원_대안도출",
"level": 1,
"category": "군특화문제해결",
"subCategory": "장병 복지·지원 대안도출"
},
{
"skillId": "competency_데이터분석검증_결과검증",
"level": 2,
"category": "데이터분석검증",
"subCategory": "AI 결과 검증"
},
{
"skillId": "competency_AI활용역량_도구활용",
"level": 1,
"category": "AI활용역량",
"subCategory": "AI 도구 및 모델 활용"
},
{
"skillId": "competency_전술의사결정_인간검토",
"level": 2,
"category": "전술의사결정",
"subCategory": "HITL 인간 검토 및 책임분계"
}
],
"prerequisiteVods": [],
"missions": [
{
"id": "WEL01_M01",
"sequence": 1,
"title": "전투원 착용 웨어러블 더미 생체신호(심박수, 체온, 피부전도도) 데이터 규격 정의",
"durationHours": 1.5,
"overview": "<p>웨어러블 더미 생체신호(심박수, 체온, 피부전도도)와 가상 병사 특성·기상·기기 상태의 데이터 규격을 정의하고, 잘못된 데이터를 걸러내는 검증기를 만든다.</p>",
"objectives": "<p>신호 3종의 허용 범위, 샘플링 간격, 기기 종류와 접촉 품질, 병사 특성(안정시 심박, 연령, 체격, 더위 순응 여부), 기상(기온, 습도, 풍속) 필드를 담은 스키마를 작성한다. 가상 병사 20명의 샘플 레코드를 만들어 검증하고, 형식·범위·누락·허용값·개수 불일치 오류를 일부러 넣어 검증기가 모두 잡아내는지 확인한 뒤 명세서로 정리한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>전투원 웨어러블 더미 생체신호(심박수, 체온, 피부전도도) 데이터셋을 정의한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>웨어러블 더미 생체신호(심박수, 체온, 피부전도도)와 가상 병사 특성·기상·기기 상태의 데이터 규격을 정의하고, 잘못된 데이터를 걸러내는 검증기를 만든다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>신호 3종의 허용 범위, 샘플링 간격, 기기 종류와 접촉 품질, 병사 특성(안정시 심박, 연령, 체격, 더위 순응 여부), 기상(기온, 습도, 풍속) 필드를 담은 스키마 설계하고 작성하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>data/schema/wel01_input_schema.json 및 docs/wel01_data_spec.md</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m01_dataset.json",
"/uploads/WEL01/wel01_m01_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m01_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m01_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"data/schema/wel01_input_schema.json (필수)",
"docs/wel01_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 코드를 실행해 정상 샘플 20건의 검증 결과를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M1 코드를 실행해 정상 샘플 20건의 검증 결과를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M1 코드를 실행해 정상 샘플 20건의 검증 결과를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출 필드 17개가 명세서에 정리됨</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M1 코드를 실행해 정상 샘플 20건의 검증 결과를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M1 코드를 실행해 정상 샘플 20건의 검증 결과를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출 필드 17개가 명세서에 정리됨)를 충족하였다.</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>정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출 필드 17개가 명세서에 정리됨</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>오류 주입 결과 5건이 어떤 규칙(형식·허용값·누락·범위·개수 불일치)에 걸렸는지 표로 정리한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>오류 주입 결과 5건이 어떤 규칙(형식·허용값·누락·범위·개수 불일치)에 걸렸는지 표로 정리한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출 필드 17개가 명세서에 정리됨)를 충족하였다.</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>정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출 필드 17개가 명세서에 정리됨</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>데이터 명세 요약표에서 기상(기온·습도·풍속)과 기기 상태 필드가 정의되었는지 검토한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>데이터 명세 요약표에서 기상(기온·습도·풍속)과 기기 상태 필드가 정의되었는지 검토한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(정상 샘플 20건 오류 0건, 주입 오류 5종 모두 검출 필드 17개가 명세서에 정리됨)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>SCHEMA의 sample에 혈중산소(spo2, 70~100) 필드를 추가하고, 범위를 벗어난 값을 넣어 검출되는지 확인해 본다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M02",
"sequence": 2,
"title": "야전 활동 중 발생하는 생체신호 결측치 보정 및 센서 노이즈 필터링 전처리 구현",
"durationHours": 2.0,
"overview": "<p>야전 활동 중 발생하는 결측, 센서 튐, 센서 고착(단절)을 탐지·보정하는 전처리 모듈을 구현한다.</p>",
"objectives": "<p>생리적으로 불가능한 범위 밖 값을 결측으로 바꾸고 선형 보간과 3분 이동 중앙값으로 정리하며, 같은 값이 8분 이상 이어지는 센서 고착을 찾아 결측 처리한다. 처리 속도(건/초)와 오류 수를 재고 단위 테스트 5종을 통과시키며, 센서 고착과 튐을 주입한 데이터에서 보정 전후 체온 오차(RMSE)와 경보 성능을 비교한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>야전 활동 중 생체신호 결측치 보정 및 센서 노이즈 필터링 전처리 모듈을 구현한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>야전 활동 중 발생하는 결측, 센서 튐, 센서 고착(단절)을 탐지·보정하는 전처리 모듈을 구현한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>생리적으로 불가능한 범위 밖 값을 결측으로 바꾸고 선형 보간과 3분 이동 중앙값으로 정리하며, 같은 값이 8분 이상 이어지는 센서 고착을 찾아 결측 처리 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/preprocess/wel01_preprocessor.py 및 전처리 전후 데이터셋</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m02_dataset.json",
"/uploads/WEL01/wel01_m02_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m02_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m02_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/preprocess/wel01_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 코드를 실행해 처리 속도와 단위 테스트 5종 결과를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M2 코드를 실행해 처리 속도와 단위 테스트 5종 결과를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M2 코드를 실행해 처리 속도와 단위 테스트 5종 결과를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과 폭염 체온 RMSE 0.146 → 0.104로 감소</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M2 코드를 실행해 처리 속도와 단위 테스트 5종 결과를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M2 코드를 실행해 처리 속도와 단위 테스트 5종 결과를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과 폭염 체온 RMSE 0.146 → 0.104로 감소)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "보정 전후 비교표에서 체온 RMSE가 줄어든 상황(폭염·혹한)을 찾아 이유를 설명한다.",
"activity": "<h4>이 단계의 역할</h4><p>보정 전후 비교표에서 체온 RMSE가 줄어든 상황(폭염·혹한)을 찾아 이유를 설명한다.</p><h4>해야 할 일</h4><ol><li><p>보정 전후 비교표에서 체온 RMSE가 줄어든 상황(폭염·혹한)을 찾아 이유를 설명한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과 폭염 체온 RMSE 0.146 → 0.104로 감소</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>보정 전후 비교표에서 체온 RMSE가 줄어든 상황(폭염·혹한)을 찾아 이유를 설명한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>보정 전후 비교표에서 체온 RMSE가 줄어든 상황(폭염·혹한)을 찾아 이유를 설명한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과 폭염 체온 RMSE 0.146 → 0.104로 감소)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "경보 F1 변화가 작은 이유를 임계값 기준과 연결해 적는다.",
"activity": "<h4>이 단계의 역할</h4><p>경보 F1 변화가 작은 이유를 임계값 기준과 연결해 적는다.</p><h4>해야 할 일</h4><ol><li><p>경보 F1 변화가 작은 이유를 임계값 기준과 연결해 적는다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과 폭염 체온 RMSE 0.146 → 0.104로 감소</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>경보 F1 변화가 작은 이유를 임계값 기준과 연결해 적는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>경보 F1 변화가 작은 이유를 임계값 기준과 연결해 적는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(처리 속도 1,000건/초 이상(예시 약 18,000), 오류 0건, 테스트 5/5 통과 폭염 체온 RMSE 0.146 → 0.104로 감소)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>flatline의 run 값을 8에서 4로 바꿔 정상 변화가 고착으로 오탐되는지 확인하고, 적절한 run 값의 근거를 적는다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M03",
"sequence": 3,
"title": "체온-심박수 상관관계 기반 1차 열사병/저체온증 경보 Baseline 모델 구현",
"durationHours": 2.5,
"overview": "<p>체온과 심박수의 상관관계를 이용해 온열·한랭 스트레스를 1차로 경보하는 규칙 기반 Baseline을 구현하고 판단 기준을 투명하게 기록한다.</p>",
"objectives": "<p>최근 5분 평균 체온이 38.0도 이상이면서 심박수가 95 이상이면 온열 스트레스 의심, 36.3도 이하이면 한랭 스트레스 의심으로 분류한다. 가상 병사 90명에서 유형별 판정표, 정확도, 위험 단계별 재현율, 체온-심박 상관계수와 임계값 민감도를 구하고, 운동 직후 심박 상승과 센서 냉각을 구분하지 못하는 한계를 정리한다. 결과는 진단이 아닌 경보 단계임을 명시한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>체온-심박수 상관관계 기반 1차 온열/한랭 스트레스 경보 Baseline 모델을 구현한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>체온과 심박수의 상관관계를 이용해 온열·한랭 스트레스를 1차로 경보하는 규칙 기반 Baseline을 구현하고 판단 기준을 투명하게 기록한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>최근 5분 평균 체온이 38.0도 이상이면서 심박수가 95 이상이면 온열 스트레스 의심, 36.3도 이하이면 한랭 스트레스 의심으로 분류 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/models/wel01_baseline_model.py 및 기본 추론 결과 보고서</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m03_dataset.json",
"/uploads/WEL01/wel01_m03_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m03_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m03_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/models/wel01_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>경보 유형 분류 정확도 75% 이상(예시 86.9%) 온열 재현율 75.5%, 한랭 재현율 99.1%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M3 코드를 실행해 유형별 판정표와 정확도를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M3 코드를 실행해 유형별 판정표와 정확도를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(경보 유형 분류 정확도 75% 이상(예시 86.9%) 온열 재현율 75.5%, 한랭 재현율 99.1%)를 충족하였다.</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>경보 유형 분류 정확도 75% 이상(예시 86.9%) 온열 재현율 75.5%, 한랭 재현율 99.1%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>온열 재현율이 한랭보다 낮은 이유를 판정표의 오분류 칸에서 찾는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>온열 재현율이 한랭보다 낮은 이유를 판정표의 오분류 칸에서 찾는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(경보 유형 분류 정확도 75% 이상(예시 86.9%) 온열 재현율 75.5%, 한랭 재현율 99.1%)를 충족하였다.</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>경보 유형 분류 정확도 75% 이상(예시 86.9%) 온열 재현율 75.5%, 한랭 재현율 99.1%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>온열 체온 기준 민감도 표에서 재현율과 오경보가 반대로 움직이는 구간을 찾는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>온열 체온 기준 민감도 표에서 재현율과 오경보가 반대로 움직이는 구간을 찾는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(경보 유형 분류 정확도 75% 이상(예시 86.9%) 온열 재현율 75.5%, 한랭 재현율 99.1%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>HR_GATE를 95에서 0으로 바꿔 심박 조건이 없을 때 온열 재현율과 오경보가 어떻게 변하는지 비교하고 심박 조건의 의미를 설명한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M04",
"sequence": 4,
"title": "기상 데이터(온·습도, 풍속) 결합 온열/한랭 스트레스 복합 위험도 예측 모델 고도화",
"durationHours": 3.0,
"overview": "<p>기상(온도·습도·풍속)과 개인 특성을 결합한 복합 환경 위험도 분류 모델로 고도화하고, 센서 이상·교란 신호를 점검하는 예외 탐지를 추가한다.</p>",
"objectives": "<p>체감 더위·추위 지수, 안정시 심박 대비 심박 상승, 체온 변화율, 더위 순응 여부 등을 특징으로 그래디언트 부스팅 모델을 학습한다. 일반 시험셋과 강풍·센서 튐이 겹친 복합 교란 시험셋에서 위험 구간 재현율과 처리 지연을 Baseline과 비교하고, 고착·튐·결측·체온-심박 불일치 등 센서 이상 10종이 모델 입력 전에 걸러지는지 시험한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>기상 데이터와 결합한 복합 환경 위험도 예측 모델을 고도화한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>기상(온도·습도·풍속)과 개인 특성을 결합한 복합 환경 위험도 분류 모델로 고도화하고, 센서 이상·교란 신호를 점검하는 예외 탐지를 추가한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>체감 더위·추위 지수, 안정시 심박 대비 심박 상승, 체온 변화율, 더위 순응 여부 등을 특징으로 그래디언트 부스팅 모델을 학습 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/models/wel01_advanced_detector.py 및 예외 탐지 테스트 결과</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m04_dataset.json",
"/uploads/WEL01/wel01_m04_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m04_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m04_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/models/wel01_advanced_detector.py (필수)",
"예외 탐지 테스트 결과 (필수)"
],
"evaluationKeys": [
"<h4>평가 질문 (PASS/FAIL)</h4><p><strong>[기상 데이터(온·습도, 풍속) 결합 온열/한랭 스트레스 복합 위험도 예측 모델 고도화] 요구된 핵심 성능 기준(복합 위협 탐지 재현율(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 코드를 실행해 일반·복합 교란 시험셋의 재현율과 오경보 수를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M4 코드를 실행해 일반·복합 교란 시험셋의 재현율과 오경보 수를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M4 코드를 실행해 일반·복합 교란 시험셋의 재현율과 오경보 수를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하 오경보 Baseline 446 → 고도화 108, 센서 이상 10/10 통과</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M4 코드를 실행해 일반·복합 교란 시험셋의 재현율과 오경보 수를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M4 코드를 실행해 일반·복합 교란 시험셋의 재현율과 오경보 수를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하 오경보 Baseline 446 → 고도화 108, 센서 이상 10/10 통과)를 충족하였다.</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>복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하 오경보 Baseline 446 → 고도화 108, 센서 이상 10/10 통과</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>특징 중요도 상위 항목이 무엇인지 확인하고 의미를 설명한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>특징 중요도 상위 항목이 무엇인지 확인하고 의미를 설명한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하 오경보 Baseline 446 → 고도화 108, 센서 이상 10/10 통과)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 3,
"problem": "센서 이상 탐지 10종이 어떤 플래그로 걸렸는지 표로 정리한다.",
"activity": "<h4>이 단계의 역할</h4><p>센서 이상 탐지 10종이 어떤 플래그로 걸렸는지 표로 정리한다.</p><h4>해야 할 일</h4><ol><li><p>센서 이상 탐지 10종이 어떤 플래그로 걸렸는지 표로 정리한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하 오경보 Baseline 446 → 고도화 108, 센서 이상 10/10 통과</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>센서 이상 탐지 10종이 어떤 플래그로 걸렸는지 표로 정리한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>센서 이상 탐지 10종이 어떤 플래그로 걸렸는지 표로 정리한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(복합 위험 재현율 85% 이상(예시 92.9%), 지연 200ms 이하 오경보 Baseline 446 → 고도화 108, 센서 이상 10/10 통과)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>ADV_FEATS에서 hr_rel과 acclim을 빼고 다시 실행해 재현율과 오경보가 어떻게 달라지는지 확인한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M05",
"sequence": 5,
"title": "전투원 신체 조건별 개인화 위험 지수 산출 및 오경보 방지 신뢰도 엔진 개발",
"durationHours": 3.0,
"overview": "<p>병사 개인의 체력·순응 여부를 반영한 개인화 위험 지수를 산출하고 오경보를 줄이는 신뢰도 엔진을 개발한다.</p>",
"objectives": "<p>활동 강도와 개인 체력으로 예상되는 심박을 빼 '설명되지 않는 심박 상승'과 체온 편차를 만들고, 로지스틱 회귀로 위험 확률을 계산해 0.8 이상 High, 0.5 이상 Medium, 그 미만 Low 등급을 부여한다. 고정 임계값 경보와 오경보율을 비교하고 ROC-AUC, 측정 흔들림에 대한 등급 일관성, 개인 특성별 점수 차이, 점수 기여 특징을 확인한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>개인화 위험 지수 산출 및 오경보 방지 신뢰도 엔진을 개발한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>병사 개인의 체력·순응 여부를 반영한 개인화 위험 지수를 산출하고 오경보를 줄이는 신뢰도 엔진을 개발한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>활동 강도와 개인 체력으로 예상되는 심박을 빼 '설명되지 않는 심박 상승'과 체온 편차를 만들고, 로지스틱 회귀로 위험 확률을 계산해 0.8 이상 High, 0.5 이상 Medium, 그 미만 Low 등급을 부여 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/verification/wel01_confidence_engine.py</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m05_dataset.json",
"/uploads/WEL01/wel01_m05_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m05_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m05_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/verification/wel01_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>FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%) ROC-AUC 0.986</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M5 코드를 실행해 고정 임계값 방식과 신뢰도 엔진의 오경보율을 비교한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M5 코드를 실행해 고정 임계값 방식과 신뢰도 엔진의 오경보율을 비교한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%) ROC-AUC 0.986)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"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>FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%) ROC-AUC 0.986</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>단계별 등급 분포 표에서 정상 구간이 High로 분류된 경우가 있는지 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>단계별 등급 분포 표에서 정상 구간이 High로 분류된 경우가 있는지 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%) ROC-AUC 0.986)를 충족하였다.</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>FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%) ROC-AUC 0.986</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>개인화 예시에서 체력·순응 여부에 따라 점수가 달라지는 이유를 설명한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>개인화 예시에서 체력·순응 여부에 따라 점수가 달라지는 이유를 설명한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(FAR 40% 이상 감축(예시 57.9%), 등급 일관성 90% 이상(예시 92.9%) ROC-AUC 0.986)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>엔진 임계값을 0.5에서 0.8로 올릴 때 오경보율 감소와 미탐 증가를 표로 정리하고, 건강 보호 목적에서 어느 쪽 실패가 더 위험한지 토의한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M06",
"sequence": 6,
"title": "소대장/의무관용 장병 생체 위험 신호 모니터링 및 긴급 경보 대시보드 구현",
"durationHours": 2.5,
"overview": "<p>소대장과 의무관이 가상 소대 병사들의 생체 위험 신호를 한눈에 보고 확인 대상을 정하는 모니터링 상황판을 구현한다.</p>",
"objectives": "<p>가상 병사 24명의 상태를 정상·주의·경보·신호두절로 나누고 체온·심박·추세·권고 문구를 표로 만든다. 폭염·혹한 구역의 병사 체온 추이를 그림으로 보이고, 신호두절은 정상이 아니라 확인 필요로 먼저 표시한다. 틱당 갱신 처리시간과 렌더링 시간을 재고 24명을 확인 대상으로 압축해 인지 부하가 줄어드는지 확인한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>지휘관/의무관용 장병 생체 위험 신호 모니터링 대시보드를 구현한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>소대장과 의무관이 가상 소대 병사들의 생체 위험 신호를 한눈에 보고 확인 대상을 정하는 모니터링 상황판을 구현한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>가상 병사 24명의 상태를 정상·주의·경보·신호두절로 나누고 체온·심박·추세·권고 문구를 표로 작성하여 원인을 분석하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/ui/wel01_dashboard.py (또는 웹 UI 컴포넌트)</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m06_dataset.json",
"/uploads/WEL01/wel01_m06_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m06_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m06_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/ui/wel01_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>갱신 평균 1초 이내(예시 약 74ms) 24명이 확인 대상 12명(경보 7·주의 3·신호두절 2)으로 압축됨</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M6 코드를 실행해 갱신 처리시간과 소대 현황 요약을 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M6 코드를 실행해 갱신 처리시간과 소대 현황 요약을 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(갱신 평균 1초 이내(예시 약 74ms) 24명이 확인 대상 12명(경보 7·주의 3·신호두절 2)으로 압축됨)를 충족하였다.</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>갱신 평균 1초 이내(예시 약 74ms) 24명이 확인 대상 12명(경보 7·주의 3·신호두절 2)으로 압축됨</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>우선 확인 목록에서 신호두절이 정상이 아닌 확인 필요로 먼저 표시되는 이유를 설명한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>우선 확인 목록에서 신호두절이 정상이 아닌 확인 필요로 먼저 표시되는 이유를 설명한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(갱신 평균 1초 이내(예시 약 74ms) 24명이 확인 대상 12명(경보 7·주의 3·신호두절 2)으로 압축됨)를 충족하였다.</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>갱신 평균 1초 이내(예시 약 74ms) 24명이 확인 대상 12명(경보 7·주의 3·신호두절 2)으로 압축됨</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>그림의 체온 추이를 보고 소대장이 가장 먼저 확인할 병사를 정한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>그림의 체온 추이를 보고 소대장이 가장 먼저 확인할 병사를 정한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(갱신 평균 1초 이내(예시 약 74ms) 24명이 확인 대상 12명(경보 7·주의 3·신호두절 2)으로 압축됨)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>squad의 병사 수를 48명으로 늘려 갱신 시간이 어떻게 변하는지 측정하고, 1초 안에 처리 가능한 최대 인원을 추정한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M07",
"sequence": 7,
"title": "위험 장병 발생 시 군의관 원격 검토 및 임무 배제/휴식 명령 HITL 절차 설계",
"durationHours": 3.0,
"overview": "<p>위험 신호가 발생한 병사에 대해 군의관이 원격으로 검토하고 조치를 결정하는 인간 개입(HITL) 절차를 설계한다.</p>",
"objectives": "<p>AI 위험 신호는 점수와 무관하게 검토 대기로 등록하고 등급·점수 순으로 검토 순서를 정한다. 휴식 권고, 임무 배제 요청, 의무대 인계 요청, 재측정 보류 시 담당자 ID·역할·근거를 강제하고, High 등급 휴식 판단은 군의관 검토를 거치게 하며, 임무 배제는 군의관 요청 후 지휘관 승인 2단계로 나눈다. 보류 기한을 넘기면 자동 조치 대신 군의관에게 상신하고 모든 결정을 해시 체인 감사 로그에 남겨 위·변조를 검출한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>위험 장병 발생 시 군의관 원격 검토 및 조치 명령 HITL 절차를 설계한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>위험 신호가 발생한 병사에 대해 군의관이 원격으로 검토하고 조치를 결정하는 인간 개입(HITL) 절차를 설계한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>AI 위험 신호는 점수와 무관하게 검토 대기로 등록하고 등급·점수 순으로 검토 순서를 정 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/hitl/wel01_approval_workflow.py 및 docs/wel01_hitl_guide.md</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m07_dataset.json",
"/uploads/WEL01/wel01_m07_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m07_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m07_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/hitl/wel01_approval_workflow.py (필수)",
"docs/wel01_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 코드를 실행해 검토 순서와 차단된 규칙 위반 5건을 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M7 코드를 실행해 검토 순서와 차단된 규칙 위반 5건을 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M7 코드를 실행해 검토 순서와 차단된 규칙 위반 5건을 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>자동 조치 0건, 규칙 위반 5건 차단 결정 5건 로깅 성공률 100%, 변조 위치(8번째) 검출</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M7 코드를 실행해 검토 순서와 차단된 규칙 위반 5건을 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M7 코드를 실행해 검토 순서와 차단된 규칙 위반 5건을 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(자동 조치 0건, 규칙 위반 5건 차단 결정 5건 로깅 성공률 100%, 변조 위치(8번째) 검출)를 충족하였다.</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>자동 조치 0건, 규칙 위반 5건 차단 결정 5건 로깅 성공률 100%, 변조 위치(8번째) 검출</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>임무 배제가 군의관 요청과 지휘관 승인의 두 단계로 나뉘는 로그를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>임무 배제가 군의관 요청과 지휘관 승인의 두 단계로 나뉘는 로그를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(자동 조치 0건, 규칙 위반 5건 차단 결정 5건 로깅 성공률 100%, 변조 위치(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>자동 조치 0건, 규칙 위반 5건 차단 결정 5건 로깅 성공률 100%, 변조 위치(8번째) 검출</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>감사 로그 변조 후 검증 결과가 어떻게 바뀌는지 본다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>감사 로그 변조 후 검증 결과가 어떻게 바뀌는지 본다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(자동 조치 0건, 규칙 위반 5건 차단 결정 5건 로깅 성공률 100%, 변조 위치(8번째) 검출)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>HOLD_LIMIT_S를 30초로 줄이고 보류 기한 초과 시 자동으로 휴식을 명령하도록 바꾸면 어떤 위험이 생기는지 토의한다(코드 수정 없이 토의만 해도 됨).</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M08",
"sequence": 8,
"title": "폭염/혹한 야전 기동훈련 모의 대량 생체 데이터 유입 스트레스 부하 테스트",
"durationHours": 3.5,
"overview": "<p>폭염·혹한 기동훈련에서 생체 데이터 유입이 크게 늘어도 시스템이 멈추지 않고 경보를 잃지 않는지 시험한다.</p>",
"objectives": "<p>접속 병사 수를 평시 20명에서 최대 120명(트래픽 500% 증가)까지 늘리고 패킷 손실, 센서 튐, 기기 두절, 경보 수신 확인 손실을 주입한다. 정밀 처리 용량을 넘는 병사는 체온 기준 단순 모드로 처리하고, 신호가 끊긴 병사는 신호두절 경보로 기록하며, 수신 확인이 없는 경보는 재전송하여 유실 여부를 확인한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>혹한/폭염 기동훈련 모의 대량 생체 데이터 유입 부하 테스트를 수행한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>폭염·혹한 기동훈련에서 생체 데이터 유입이 크게 늘어도 시스템이 멈추지 않고 경보를 잃지 않는지 시험한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>접속 병사 수를 평시 20명에서 최대 120명(트래픽 500% 증가)까지 늘리고 패킷 손실, 센서 튐, 기기 두절, 경보 수신 확인 손실 주입하여 처리 지연 및 복원력을 시험하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>tests/wel01_stress_test.py 및 스트레스 테스트 분석 보고서</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m08_dataset.json",
"/uploads/WEL01/wel01_m08_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m08_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m08_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"tests/wel01_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 코드를 실행해 평시부터 120명까지 시나리오별 결과표를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M8 코드를 실행해 평시부터 120명까지 시나리오별 결과표를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M8 코드를 실행해 평시부터 120명까지 시나리오별 결과표를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>다운 0건, 최대 유실률 0%(120명 기준) 축소 모드 오경보율 22.1%(정밀 14.6%), 위험 재현율은 오히려 99.7%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M8 코드를 실행해 평시부터 120명까지 시나리오별 결과표를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M8 코드를 실행해 평시부터 120명까지 시나리오별 결과표를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(다운 0건, 최대 유실률 0%(120명 기준) 축소 모드 오경보율 22.1%(정밀 14.6%), 위험 재현율은 오히려 99.7%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "기기 두절 8명 상황에서 신호두절 경보 수와 위험 재현율 변화를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>기기 두절 8명 상황에서 신호두절 경보 수와 위험 재현율 변화를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>기기 두절 8명 상황에서 신호두절 경보 수와 위험 재현율 변화를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>다운 0건, 최대 유실률 0%(120명 기준) 축소 모드 오경보율 22.1%(정밀 14.6%), 위험 재현율은 오히려 99.7%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>기기 두절 8명 상황에서 신호두절 경보 수와 위험 재현율 변화를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>기기 두절 8명 상황에서 신호두절 경보 수와 위험 재현율 변화를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(다운 0건, 최대 유실률 0%(120명 기준) 축소 모드 오경보율 22.1%(정밀 14.6%), 위험 재현율은 오히려 99.7%)를 충족하였다.</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>다운 0건, 최대 유실률 0%(120명 기준) 축소 모드 오경보율 22.1%(정밀 14.6%), 위험 재현율은 오히려 99.7%</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>정밀 모드와 축소 모드의 오경보율·재현율 차이를 정리한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>정밀 모드와 축소 모드의 오경보율·재현율 차이를 정리한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(다운 0건, 최대 유실률 0%(120명 기준) 축소 모드 오경보율 22.1%(정밀 14.6%), 위험 재현율은 오히려 99.7%)를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>FULL_CAPACITY를 30으로 낮춰 축소 모드 병사가 늘 때 오경보와 재현율이 어떻게 달라지는지 비교한다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M09",
"sequence": 9,
"title": "AAR 기반 오경보 유발 생체 패턴 분석 및 위험 임계값 파라미터 재보정",
"durationHours": 3.0,
"overview": "<p>AAR(사후검토)로 오경보를 유발한 생체 패턴을 분석하고 위험 임계값 파라미터를 재보정한다.</p>",
"objectives": "<p>초기 설정(열 기준 37.8도, 한랭 기준 36.6도, 지속 1분)의 모의 운용 결과에서 오경보를 강풍 센서 냉각, 센서 튐, 임계값 근접 등 원인별로 분류한다. 열·한랭 임계값, 최소 지속 시간, 센서 냉각 보정을 격자 탐색해 오경보율 15% 이하·재현율 90% 이상 제약 안에서 재발이 가장 적고 F1이 높은 조합을 고르고, 개선 전후와 재발 오류 수를 yaml 파라미터와 함께 정리한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>AAR 기반 오경보 유발 생체 패턴 분석 및 위험 임계값을 재보정한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>AAR(사후검토)로 오경보를 유발한 생체 패턴을 분석하고 위험 임계값 파라미터를 재보정한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>초기 설정(열 기준 37.8도, 한랭 기준 36.6도, 지속 1분)의 모의 운용 결과에서 오경보를 강풍 센서 냉각, 센서 튐, 임계값 근접 등 원인별로 분류 수행하고 검증하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>docs/wel01_aar_report.md 및 configs/wel01_tuned_params.yaml</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m09_dataset.json",
"/uploads/WEL01/wel01_m09_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m09_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m09_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"docs/wel01_aar_report.md (필수)",
"configs/wel01_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>F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p) 재발 오류 20건 남음(목표 0건 미달)</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M9 코드를 실행해 초기 설정의 오경보 원인별 건수를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M9 코드를 실행해 초기 설정의 오경보 원인별 건수를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p) 재발 오류 20건 남음(목표 0건 미달))를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 2,
"problem": "격자 탐색 상위 조합의 F1과 재발 건수를 비교해 최종 설정이 선택된 이유를 설명한다.",
"activity": "<h4>이 단계의 역할</h4><p>격자 탐색 상위 조합의 F1과 재발 건수를 비교해 최종 설정이 선택된 이유를 설명한다.</p><h4>해야 할 일</h4><ol><li><p>격자 탐색 상위 조합의 F1과 재발 건수를 비교해 최종 설정이 선택된 이유를 설명한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p) 재발 오류 20건 남음(목표 0건 미달)</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>격자 탐색 상위 조합의 F1과 재발 건수를 비교해 최종 설정이 선택된 이유를 설명한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>격자 탐색 상위 조합의 F1과 재발 건수를 비교해 최종 설정이 선택된 이유를 설명한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p) 재발 오류 20건 남음(목표 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>F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p) 재발 오류 20건 남음(목표 0건 미달)</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>재보정 후에도 남은 재발 오류의 원인을 일지에서 찾아 적는다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>재보정 후에도 남은 재발 오류의 원인을 일지에서 찾아 적는다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(F1 10%p 이상 향상(예시 0.746 → 0.914, +16.8%p) 재발 오류 20건 남음(목표 0건 미달))를 충족하였다.</p></li></ul><h4>보완이 필요한 경우</h4><ul><li><p>실행 중 오류가 발생했거나 필수 검증 지표가 누락된 경우 재실행하여 보완한다.</p></li></ul>",
"attachments": []
},
{
"step": 4,
"problem": "도전 과제 및 파라미터 튜닝 최적화",
"activity": "<h4>이 단계의 역할</h4><p>기본 파이프라인 수행 후 심화 튜닝 및 조건 변경을 통해 최적화 역량을 다진다.</p><h4>해야 할 일</h4><p>재보정 제약의 재현율 하한을 0.90에서 0.95로 올리면 선택 조합과 오경보율이 어떻게 바뀌는지 확인하고, 건강 보호 관점에서 하한 설정의 의미를 적는다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
},
{
"id": "WEL01_M10",
"sequence": 10,
"title": "더미 생체신호 기반 온열·한랭 스트레스 경보 시스템 통합 패키지 완성",
"durationHours": 3.5,
"overview": "<p>데이터 검증부터 전처리, 위험 점수, 지속 조건 경보, 군의관 검토 대기열, 상황판, 재보정값 적용까지 전체 파이프라인을 통합하고 브리핑 패키지를 완성한다.</p>",
"objectives": "<p>재보정 파라미터로 전체 과정을 한 번에 실행하는 통합 코드를 완성하고 손상 데이터와 기기 두절 병사가 자동 처리되는지 확인한다. 재현율·오경보율·처리시간·자동 조치 여부·감사 로그 무결성과 핵심 모듈 실행 라인 커버리지를 자체 점검 항목으로 모두 통과시키고, 성능·경보 현황·운용 유의사항·한계(진단 아님, 의무대 연계)를 담은 브리핑 요약과 배포용 설명서를 작성한다.</p>",
"scenario": "<h4>미션 배경 및 당위성</h4><p>더미 생체신호 기반 열·한랭 스트레스 경보 시스템 통합 패키지를 완성한다. 실제 전술 현장에서는 단순 탐지에 그치지 않고 신속한 위협 판단과 신뢰도 높은 의사결정이 필수적이므로, <strong>데이터 검증부터 전처리, 위험 점수, 지속 조건 경보, 군의관 검토 대기열, 상황판, 재보정값 적용까지 전체 파이프라인을 통합하고 브리핑 패키지를 완성한다.</strong> 과업을 완수하여 오판을 방지하고 작전 대응력을 극대화해야 합니다.</p><p>이 문제를 해결하기 위해 본 미션에서는 <strong>재보정 파라미터로 전체 과정을 한 번에 실행하는 통합 코드를 완성하고 손상 데이터와 기기 두절 병사가 자동 처리되는지 확인하고 유효성을 점검하는</strong> 실습을 체계적으로 수행합니다.</p><p>학습자는 실습가이드에 제시된 총 4개 세부 활동(기본 기능 구현 ➔ 결과 지표 검증 ➔ 파라미터 튜닝 및 도전과제)을 순차적으로 진행하며 핵심 판정 기준을 달성합니다.</p><p><strong>이번 결과물:</strong> <code>src/main_wel01.py, README.md, docs/wel01_final_report.pdf(md)</code> 형태의 결과물을 완성한다.</p>",
"attachments": [],
"materials": [
"/uploads/WEL01/wel01_m10_dataset.json",
"/uploads/WEL01/wel01_m10_sample.md"
],
"materialText": "<p><strong>미션 실습 자료</strong></p><ul><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m10_dataset.json\">가상 데이터셋 샘플 (JSON)</a></li><li><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"/uploads/WEL01/wel01_m10_sample.md\">실습 및 검증 가이드 (MD)</a></li></ul><p><strong>활용 주의</strong>: 제공된 교육용 가상 데이터만 사용하며 실제 군사 비밀 및 개인정보는 입력하지 않습니다.</p>",
"techStack": [
"장병 복지·지원",
"코딩형",
"데이터 전처리",
"알고리즘 구현",
"HITL 검증"
],
"deliverables": [
"src/main_wel01.py, README.md, docs/wel01_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 코드를 실행해 자체 점검 10개 항목의 PASS 여부를 확인한다.",
"activity": "<h4>이 단계의 역할</h4><p>M10 코드를 실행해 자체 점검 10개 항목의 PASS 여부를 확인한다.</p><h4>해야 할 일</h4><ol><li><p>M10 코드를 실행해 자체 점검 10개 항목의 PASS 여부를 확인한다.에 필요한 데이터셋과 입력 파라미터를 준비한다.</p></li><li><p>정답 코드 및 모듈을 실행하여 중간 출력 결과를 도출한다.</p></li><li><p>출력된 지표와 로그가 기준 조건을 만족하는지 대조·검증한다.</p></li></ol><h4>핵심 확인 지표</h4><blockquote><p>( )</p></blockquote><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>M10 코드를 실행해 자체 점검 10개 항목의 PASS 여부를 확인한다. 실행 결과 및 검증 로그</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>M10 코드를 실행해 자체 점검 10개 항목의 PASS 여부를 확인한다. 과정이 정상적으로 수행되고 오류 없이 완료되었다.</p></li><li><p>요구된 핵심 성능 지표(( ))를 충족하였다.</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>( )</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": 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>CONFIG의 min_persist를 1로 줄이면 어떤 자체 점검 항목이 영향을 받는지 확인하고, 지속 시간 설정 근거를 브리핑에 한 문단으로 적는다.</p><h4>학습자가 제출해야 하는 내용</h4><ul><li><p>파라미터 변경 전후 비교 분석 메모 및 최종 최적화 결과</p></li></ul>",
"evalText": "<h4>PASS 기준</h4><ul><li><p>도전 과제 변경 사항이 논리적으로 타당하며 결과 변화 이유를 명확히 기술하였다.</p></li></ul>",
"attachments": []
}
]
}
]
}