시나리오 내용 반영

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

@@ -0,0 +1,97 @@
**결원·근무부하 추세 대시보드와 보충 필요량 예측**
난 이 도 **고급**
| **프로젝트 목표** | 병력 감소와 전출·파견·휴가·환자·교육이 겹치면 부대 직무별 결원이 갑자기 커지고 남은 인원의 초과근무와 피로가 누적되어 전투력 유지가 어려워지지만, 현재원 표만으로는 향후 결원과 보충 필요량을 미리 보기 어렵다. 본 프로젝트는 러시아-우크라이나 전쟁에서 드러난 인력 소모·피로 관리 문제의식을 교육용 가상 자료로 재구성해, 가상 대대 4곳의 직무 6종 주간 인력 집계 자료로 결원·근무부하 추세를 보고 향후 3개월 보충 필요량을 예측하는 과제이다. 인력 자료 스키마와 근무일지 전처리, 피로도 Baseline, 13주 결원 예측과 위험 지수·신뢰도, 현황 대시보드, 인사관·지휘관 검토 워크플로우, 대량 결원 스트레스 시험, AAR 재보정, 통합 패키지까지 단계별로 구현한다. 최종 목표는 인력 부족과 피로 위험을 근거와 불확실성과 함께 보여 주되, 보충 요청과 인원 이동 결정은 인사관·지휘관이 하도록 지원하는 시스템을 완성하는 것이다. |
| --- | --- |
| **유의사항** | 모든 부대·직무·인원·근무일지 자료는 코드 안에서 만든 교육용 가상 집계 자료이며 실제 부대, 편제, 병력, 개인 정보는 사용하지 않는다. 개인을 식별할 수 있는 자료(이름·군번 등)는 만들지도 입력하지도 않는다. 부대 인사 자료의 외부 AI 서비스 입력과 부대 내 촬영은 금지한다. 환자·휴가 등 건강·복무 관련 수치는 집계 인원 수일 뿐이며 개인의 진단이나 판단이 아니고, 건강 문제는 의무대·군의관과 연계한다. 피로도·위험 지수와 보충 필요량은 판단 보조 정보이며 보충 요청, 인원 이동, 휴식·교대 조정은 인사관·지휘관이 인사 규정과 지휘계통에 따라 결정한다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다. |
| --- | --- |
**1단계. 인력 자료 스키마 정의 및 근무일지 전처리**
| **미션 1. 부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계** [초급 · 1.5시간] | **미션 1. 부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계** [초급 · 1.5시간] |
| --- | --- |
| **목표** | 가상 부대의 직무별 인력 현황(편제·현재원·결원·휴가·환자·교육·보충·전출·초과근무·교대주기) 자료의 구조를 JSON 스키마로 정의하고, 정상 표본 검증 오류 0건과 필드 정의 완성도 100%를 확인한다. |
| **수행** | 가상 대대 4곳과 직무 6종의 주간 집계 자료에서 필드 15개의 자료형·단위·허용 범위·설명·출처를 모두 정의하고 필드 간 논리 규칙(결원은 편제에서 현재원을 뺀 값, 휴가·환자·교육 합계는 현재원 이하)을 만든다. 2,496행 전체를 검증해 오류 0건을 확인하고, 자료형·허용값·범위·논리·누락·결측 오류 8종을 일부러 넣어 검출되는지 시험한다. 개인을 식별하는 필드가 없고 인원 수만 집계하는지 점검하고 입출력 명세를 정리한다. |
| **산출물** | data/schema/adm01_input_schema.json 및 docs/adm01_data_spec.md |
| **평가** | **[필수] 인력 자료 스키마 정의** — 스키마 필드 정의 완성도 100%, 샘플 데이터 검증 오류 0건, 주입 오류 검출, 개인 식별 필드 0개, 행정·인사 실무에 맞는 구조인가. |
| **미션 2. 비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현** [초급~중급 · 2시간] | **미션 2. 비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현** [초급~중급 · 2시간] |
| --- | --- |
| **목표** | 서식이 제각각인 비정형 근무일지를 파싱해 결원 사유를 분류하고 근무 시간을 시간 단위로 정규화하는 전처리 모듈을 구현한다. |
| **수행** | 시간 표기 5종('12시간 30분', '8h', '22:00~06:00', '오후 2시~익일 오전 6시', '총 9시간')이 섞인 가상 근무일지 6,000줄에서 부대·직무·근무 시간·상황·결원 사유(휴가·환자·교육·파견·전출·기타)를 정규식과 키워드로 뽑는다. 평시·야간·훈련주간별 임계값을 중앙값과 MAD로 조정해 99시간·0.5시간 같은 이상 값과 중복 줄을 걸러내고 고정 임계값과 비교한다. 정답과 대조해 오류율과 처리 속도를 측정한다. |
| **산출물** | src/preprocess/adm01_preprocessor.py 및 전처리 전후 데이터셋 |
| **평가** | **[필수] 근무일지 전처리** — 데이터 정제 처리 속도 1,000건/초 이상, 정답 대조 전처리 오류율 0%, 상황별(평시·야간·훈련주간) 임계값 조정의 타당성, 해석 실패 줄 격리를 확인했는가. |
**2단계. 피로도 Baseline 및 13주 결원 예측 모델**
| **미션 3. 직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현** [중급 · 2.5시간] | **미션 3. 직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현** [중급 · 2.5시간] |
| --- | --- |
| **목표** | 직무별 결원율과 초과근무 시간(야간 근무 비율 포함)으로 1차 피로도 점수를 계산하는 Baseline 모델을 만들고 가중치를 1차 튜닝해 정확도를 검증한다. |
| **수행** | 결원율·초과근무·야간 비율을 한도로 나누어 가중합한 피로도 점수(0~100)를 정의하고, 앞 52주로 가중치와 기준 점수를 격자 탐색한 뒤 뒤 52주로 정확도·정밀도·재현율·F1을 시험한다. 모두 정상이라고 답했을 때의 정확도와 단순 규칙도 함께 비교한다. 최근 12주 직무별·셀별 피로도 순위와 점수 기여 분해(판단 근거), 미탐 사례의 특징을 확인한다. |
| **산출물** | src/models/adm01_baseline_model.py 및 기본 추론 결과 보고서 |
| **평가** | **[필수] 피로도 Baseline** — 시험 기간 정확도 75% 이상(단순 기준선 대비 개선 확인), 판단 근거 기여 점수의 투명성, 판단 지연시간 측정과 가중치 1차 튜닝 결과를 확인했는가. |
| **미션 4. 시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화** [중급 · 3시간] | **미션 4. 시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화** [중급 · 3시간] |
| --- | --- |
| **목표** | 시계열 분석으로 부대·직무별 향후 3개월(13주) 결원 추세를 예측하고 보충 필요 인원을 산출하는 모델을 고도화해 보충 필요 셀 탐지 재현율을 검증한다. |
| **수행** | 24개 셀의 주간 결원율을 단순 예측, 릿지 회귀(특징 재설계 전후), 교대 보충·전출 집중기를 반영한 재고-흐름 모의(300경로)로 예측해 4개 시점 롤링 검증으로 오차를 비교한다. 향후 13주 중 결원율이 15% 이상이 되는 보충 필요 셀을 확률로 탐지해 재현율·정밀도 균형과 오경보 패턴을 분석하고 처리 지연을 측정한다. 마지막 시점의 보충 필요 인원을 실제와 비교한다. |
| **산출물** | src/models/adm01_advanced_detector.py 및 예외 탐지 테스트 결과 |
| **평가** | **[필수] 결원 추세 예측** — 보충 필요 셀 탐지 재현율 85% 이상(정밀도 trade-off 명시), 처리 지연 200ms 이하, 오경보 패턴 식별과 특징 재설계 효과를 확인했는가. |
**3단계. 위험 지수·신뢰도 엔진 및 근무부하 대시보드**
| **미션 5. 인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발** [중급~고급 · 3시간] | **미션 5. 인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발** [중급~고급 · 3시간] |
| --- | --- |
| **목표** | 인력 부족 위험 지수를 산출하고 신뢰도(High/Med/Low) 등급과 함께 인사 배치(인원 이동) 추천을 만드는 신뢰도 엔진을 개발한다. |
| **수행** | 보충 필요 확률·예상 최대 결원율·초과근무 부담으로 위험 지수를, 예측 경로 분산·모델 간 일치·자료 충분도로 신뢰도를 계산해 가중치 매트릭스로 보여 준다. 단순 경보와 신뢰도를 반영한 경보의 오경보율을 비교하고 같은 입력으로 시드를 바꿔 5회 산출했을 때 등급 일관성을 확인한다. 같은 직무의 여유 셀에서 부족 셀로 이동하는 배치 추천안과 불확실성 표시(막대·구간)를 만든다. |
| **산출물** | src/verification/adm01_confidence_engine.py |
| **평가** | **[필수] 위험 지수·신뢰도 엔진** — 오경보율 40% 이상 감축, 시드 반복 시 위험 등급 일관성 90% 이상, 신뢰도 등급(High/Med/Low) 기준의 타당성과 불확실성 표시를 확인했는가. |
| **미션 6. 지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현** [중급 · 2.5시간] | **미션 6. 지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현** [중급 · 2.5시간] |
| --- | --- |
| **목표** | 지휘관·인사참모가 부대 근무부하 현황과 결원 예측을 한눈에 볼 수 있는 가시화 대시보드를 구현하고 응답 성능을 측정한다. |
| **수행** | 부대 x 직무 24개 셀의 현재 결원율·13주 후 예측·초과근무·피로도·보충 필요 확률을 상태(긴급·주의·정상) 강조와 함께 표와 히트맵으로 만들고 위험 셀의 추세·예측 구간 그래프를 그린다. 전체 갱신 시간과 부대·직무 필터, 셀 드릴다운, 야간 모드 전환의 응답 시간을 각각 50회 측정한다. 야간 모드는 배경·글자·경보 색만 바꾸어 같은 수치를 보여 준다. |
| **산출물** | src/ui/adm01_dashboard.py (또는 웹 UI 컴포넌트) |
| **평가** | **[선택] 결원·근무부하 대시보드** — 화면 갱신 1초 이내, UI 응답 100ms 이내, 긴급 경보 강조와 야간 모드 제공, 작전 상황판으로서 직관적이고 인지 부하가 낮은가. |
**4단계. 인사관 HITL 워크플로우 및 대량 결원 스트레스 시험**
| **미션 7. 인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계** [고급 · 3시간] | **미션 7. 인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계** [고급 · 3시간] |
| --- | --- |
| **목표** | 인력 보충 우선순위 결정을 인사담당-인사관(수동 조정)-지휘관(승인)이 거치는 HITL 워크플로우로 설계하고 성급한 자동 확정을 막는 체계를 검증한다. |
| **수행** | 역할별 권한과 단계 순서를 정의하고 시스템은 제안만, 확정은 사람만 하도록 한다. 위험 상위 10건을 상신해 인사관이 인원을 수동 조정(전후 값·사유·근거 기록, 조정 폭 한도)하고 지휘관이 피드백과 함께 승인·반려하는 과정을 모의 실행하며 반려 사유를 필수로 한다. 위험도 우선 큐와 선입선출의 대기시간을 비교하고 권한 우회·절차 위반 14종과 로그 임의 수정을 시험한다. |
| **산출물** | src/hitl/adm01_approval_workflow.py 및 docs/adm01_hitl_guide.md |
| **평가** | **[필수] 인사관 HITL 워크플로우** — 인간 검토 큐 대기시간 측정과 승인·반려·조정 처리 로깅 성공률 100%, 권한 우회 차단 100%, 지휘 책임 분계선 명확화와 자동 단정 방지를 확인했는가. |
| **미션 8. 전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션** [고급 · 3.5시간] | **미션 8. 전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션** [고급 · 3.5시간] |
| --- | --- |
| **목표** | 특정 직무에서 대량 결원이 발생한 상황과 조회 요청 500% 증가 부하에서 시스템이 중단되거나 자료가 유실되지 않는지 스트레스 시뮬레이션으로 검증한다. |
| **수행** | 한 부대 통신 직무의 전출이 갑자기 늘어난 상황에서 보충 필요 확률과 필요 인원이 어떻게 바뀌는지 평시와 비교한다. 초당 150건 기준 요청을 100·200·500%로 늘려 큐와 작업자 스레드로 처리하고, 큐가 차거나 모델 오류가 나면 경량 예측으로 기능을 줄여 응답하며 잘못된 요청은 격리한다. 병목 함수(셀별 예측)를 캐시해 최적화 전후 응답 시간과 기능 축소 건수를 비교한다. |
| **산출물** | tests/adm01_stress_test.py 및 스트레스 테스트 분석 보고서 |
| **평가** | **[선택] 대량 결원·부하 스트레스** — 동시 트래픽 500% 증가 시 시스템 다운 0건·데이터 유실률 0%, 안전 실패(기능 축소) 적절성, 병목 함수 최적화와 큐 처리 개선 효과를 확인했는가. |
**5단계. AAR 재보정 및 통합 패키지 완성**
| **미션 9. AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정** [고급 · 3시간] | **미션 9. AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정** [고급 · 3시간] |
| --- | --- |
| **목표** | AAR로 인사 예측 오차의 원인을 분석하고 예측 가중 파라미터를 재보정해 종합 정확도 개선과 재발 오류 현황을 검증한다. |
| **수행** | 두 부대에서 전출이 늘어난 가상 세계 8개에서 91주 시점의 13주 예측을 실제와 비교해 편향과 원인(최근 전출 급증 미반영)을 분류한다. 튜닝 세계 4개에서 최근 전출 반영 비중(lam)과 판정 확률 기준을 격자 탐색하고 시험 세계 4개로 종합 정확도(보충 인원 +-2명 적중)·재현율·재발 오류를 검증한다. 재보정 파라미터를 YAML 문자열로 출력하고 지속 학습 트리거를 정리한다. |
| **산출물** | docs/adm01_aar_report.md 및 configs/adm01_tuned_params.yaml |
| **평가** | **[필수] AAR 재보정** — AAR 적용 후 종합 정확도 10%p 이상 향상 여부, 재발 오류 현황(목표 0건) 보고, 오류 원인 규명의 객관성과 조치의 타당성, 지속 학습 연계 방안을 확인했는가. |
| **미션 10. 결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성** [최고급 · 3.5시간] | **미션 10. 결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성** [최고급 · 3.5시간] |
| --- | --- |
| **목표** | 검증·전처리·피로도·결원 예측·위험 지수·검토 큐·감사 로그·브리핑을 묶은 결원·근무부하 대시보드 및 인력 보충 예측 시스템 패키지를 완성한다. |
| **수행** | 앞 미션의 기능을 통합 파이프라인으로 묶어 설치 스크립트 5단계 점검, 시드 4종 End-to-End 실행(각 2행 손상 주입), 자체 점검 9항목과 함수 커버리지를 수행한다. 모의 예측이 없을 때 규칙만으로 동작하는지, 손상 레코드를 격리하는지, 감사 로그 변조를 탐지하는지 확인한다. 매뉴얼 7개 장의 작성률과 인사참모 브리핑 요약을 출력한다. |
| **산출물** | src/main_adm01.py, README.md, docs/adm01_final_report.pdf(md) |
| **평가** | **[필수] 통합 패키지·배포** — End-to-End 통합 파이프라인 실행 성공률 100%, 테스트(함수) 커버리지 85% 이상, 군 실무 즉시 도입 가능성과 연동 인터페이스 확장 방안을 설명하는가. |
**최종 판정**
**판정 기준 :** 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다.
최종 판정 결과 : ( PASS / FAIL )
평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)
@@ -0,0 +1,269 @@
**ADM01 실습가이드 - 결원·근무부하 추세 대시보드와 보충 필요량 예측**
구 분 **실습가이드 [교육용가상자료]**
**1. 실습 개요**
본 실습은 교육용 가상 부대 인력 집계 자료로 결원·근무부하 추세를 분석하고 향후 3개월 보충 필요량을 예측하는 시스템을 미션 단위로 구현하는 과정이다. 미션마다 정답 코드(ADM01_정답코드.md)의 해당 코드를 웹 파이썬 실행기에 붙여 넣어 실행하고, 출력된 수치가 평가 기준을 충족하는지 확인한 뒤 파라미터를 바꿔 보는 도전 과제를 수행한다. 미션별 코드는 서로 독립적이어서 어느 미션부터 실행해도 동작한다.
| **과제** | ADM01 결원·근무부하 추세 대시보드와 보충 필요량 예측 |
| --- | --- |
| **난이도·유형** | 고급 / 코딩형 |
| --- | --- |
| **예상 소요시간** | 미션 10개, 총 27.5시간 |
| --- | --- |
| **준비물** | ADM01_정답코드.md, 웹 파이썬 실행기(numpy·pandas·scipy·scikit-learn·matplotlib 사용 가능), 결과 기록용 문서 |
| --- | --- |
**2. 진행 방법**
- 정답코드 md에서 해당 미션의 코드 블록 전체를 복사해 실행기에 붙여 넣고 실행한다(부분 복사 시 가상 인력 자료 생성 함수가 빠져 오류가 난다).
- 실행 결과를 md의 '실행 결과 예시'와 비교한다. 난수 시드가 고정되어 같은 값이 나오지만, 처리 시간(초·ms)과 처리 속도는 실행 환경에 따라 달라진다.
- 도전 과제는 코드 상단의 파라미터(기준값, 가중치, 확률 기준, 한도 등)를 바꿔 다시 실행하고 변화와 이유를 기록한다.
- 그래프 글자는 영문, 표·출력은 한글이다. 한글이 깨지면 실행기 글꼴 문제이며 결과에는 영향이 없다.
- 자료는 모두 가상 집계 인원 수이며 개인 정보는 없다. 실제 인사 자료는 입력하지 않는다. 보충·인원 이동·휴식 조정은 인사관·지휘관이 결정하며, 시간·속도 수치는 실행 환경에 따른 참고값이다.
- 미션 8과 9는 부하 시험과 8개 가상 세계 예측 때문에 10초 안팎이 걸릴 수 있고, 미션 4·5·10도 5~7초가 걸릴 수 있다. 실행이 끝날 때까지 기다린다.
**3. 미션 진행 요약**
| **미션** | **난이도·시간** | **핵심 확인 결과** |
| --- | --- | --- |
| **M1. 부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계** | 초급
1.5시간 | 필드 15개 정의 완성도 100%, 개인 식별 필드 0개 |
| **M2. 비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현** | 초급~중급
2시간 | 6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상) |
| **M3. 직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현** | 중급
2.5시간 | 기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상) |
| **M4. 시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화** | 중급
3시간 | MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하) |
| **M5. 인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발** | 중급~고급
3시간 | 오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락 |
| **M6. 지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현** | 중급
2.5시간 | 전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내) |
| **M7. 인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계** | 고급
3시간 | 고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건 |
| **M8. 전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션** | 고급
3.5시간 | 평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명) |
| **M9. AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정** | 고급
3시간 | 기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명 |
| **M10. 결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성** | 최고급
3.5시간 | 설치 5/5 통과, E2E 4/4 성공, 자체 점검 9/9, 커버리지 100%(14/14), 매뉴얼 7/7장(100%) |
**미션 1. 부대 인사/편제 데이터(현재원, 결원, 휴가, 환자, 교대주기) 데이터셋 스키마 설계**
| **난이도·시간** | 초급 · 1.5시간 |
| --- | --- |
| **진행 순서** | 1) M1 코드를 실행해 스키마 필드 15개의 정의 완성도와 개인 식별 필드 수를 확인한다.
2) 전체 2,496행의 검증 결과와 주입 오류 8종의 검출 결과를 확인한다.
3) 직무별 평균 결원율·초과근무·고피로 비율표를 읽고 입출력 명세를 정리한다. |
| --- | --- |
| **확인할 결과** | 필드 15개 정의 완성도 100%, 개인 식별 필드 0개
정상 2,496행 오류 0건, 주입 오류 8종 중 8종 검출 |
| --- | --- |
| **도전 과제** | SCHEMA의 overtime_h 최대값을 80에서 30으로 줄이고 정상 자료 중 몇 행이 오류로 걸리는지 확인한 뒤 적절한 한도를 판단한다. |
| --- | --- |
| **제출물** | 스키마(JSON)·검증 코드, 필드 정의표와 입출력 명세 |
| --- | --- |
**미션 2. 비정형 근무일지 파싱, 결원 사유 분류 및 근무 시간 정규화 전처리 모듈 구현**
| **난이도·시간** | 초급~중급 · 2시간 |
| --- | --- |
| **진행 순서** | 1) M2 코드를 실행해 파싱 성공 줄 수, 해석 실패(잘린 줄) 수, 처리 속도를 확인한다.
2) 고정 임계값(14시간)과 상황별 동적 임계값의 이상 판정·오탐 건수를 비교한다.
3) 전처리 오류율과 결원 사유 분류 분포, 사람 확인 대상을 읽는다. |
| --- | --- |
| **확인할 결과** | 6,060줄 중 5,953줄 파싱(해석 실패 107줄 격리), 처리 속도 수만 건/초(목표 1,000건/초 이상)
동적 임계값은 잡음 75/75 검출·오탐 0건(고정 임계값은 오탐 약 585건), 전처리 오류율 0.00% |
| --- | --- |
| **도전 과제** | FIXED 값을 18시간으로 올렸을 때와 동적 임계값의 오탐·미탐 차이를 비교하고, 훈련주간에는 어떤 임계값이 적절한지 설명한다. |
| --- | --- |
| **제출물** | 전처리 코드, 전처리 전후 비교표와 임계값 조정 기록 |
| --- | --- |
**미션 3. 직무별 결원율 및 초과근무 시간 기반 1차 피로도 산출 Baseline 모델 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M3 코드를 실행해 단순 규칙·초기 가중·튜닝 가중의 시험 기간 정확도·정밀도·재현율을 비교한다.
2) 단순 기준선(모두 정상) 정확도와 비교해 Baseline의 의미를 판단한다.
3) 직무별 피로도와 상위 5개 셀의 점수 기여 분해를 읽고 사람이 먼저 확인할 셀을 정한다. |
| --- | --- |
| **확인할 결과** | 기준선 65.2%, 단순 규칙 92.7%, 튜닝 가중(결원 0.3·초과근무 0.6·야간 0.1, 기준 55점) 정확도 94.1%(목표 75% 이상)
판단 지연 0.01ms 미만, 피로도 직무 순위 보급 68·통신 64 순 |
| --- | --- |
| **도전 과제** | 격자 탐색 범위를 기준 점수 45~60으로 좁히거나 야간 가중을 0.3으로 고정해 정확도와 F1이 어떻게 달라지는지 비교한다. |
| --- | --- |
| **제출물** | Baseline·튜닝 코드, 가중치 비교표와 판단 근거 예시 |
| --- | --- |
**미션 4. 시계열 분석 기반 부서별 향후 3개월 결원 추세 및 보충 필요 인력 예측 모델 고도화**
| **난이도·시간** | 중급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M4 코드를 실행해 4개 방식(단순·회귀 v1·v2·재고-흐름 모의)의 결원 인원 MAE를 비교한다.
2) 보충 필요 탐지의 방식별 재현율·정밀도와 확률 기준별 trade-off를 읽는다.
3) 오경보 패턴과 마지막 시점의 보충 필요 인원 예측·실제 비교를 확인한다. |
| --- | --- |
| **확인할 결과** | MAE 단순 1.39·회귀 v2 1.16·모의 1.07명, 예측 지연 24개 셀 전체 수십 ms(목표 200ms 이하)
확률 0.15 이상 기준 재현율 85.7%(목표 85%)·정밀도 56%, 확률 0.5 이상은 24건 중 21건 적중 |
| --- | --- |
| **도전 과제** | P0 대신 확률 기준을 0.3으로 바꿔 재현율·정밀도·오경보 건수가 어떻게 달라지는지 비교하고, 현장에서 어떤 기준을 쓸지 판단한다. |
| --- | --- |
| **제출물** | 예측 모델 코드, 방식별 비교표와 보충 필요 인원 산출표 |
| --- | --- |
**미션 5. 인력 부족 위험 지수 산출 및 인사 배치 추천 신뢰도 엔진 개발**
| **난이도·시간** | 중급~고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M5 코드를 실행해 단순 경보와 신뢰도 반영 경보의 오경보율·재현율을 비교한다.
2) 시드 5회 반복 일관성과 가중치 매트릭스, 위험 지수 상위 셀의 신뢰도 등급을 확인한다.
3) 배치 추천안에서 신뢰도가 High가 아닌 건에 '사람 확인 필수'가 붙는지 확인한다. |
| --- | --- |
| **확인할 결과** | 오경보율 36.4%에서 11.1%(69% 감축, 목표 40% 이상), 단 재현율은 60.0%에서 45.7%로 하락
위험 등급 일관성 96%(목표 90% 이상), 신뢰도 등급 일관성 88% |
| --- | --- |
| **도전 과제** | alarm 기준의 위험 50을 40으로 낮추고 오경보율과 재현율의 변화를 비교해 두 목표 사이의 균형을 설명한다. |
| --- | --- |
| **제출물** | 위험 지수·신뢰도 엔진 코드, 경보 비교표와 배치 추천안 |
| --- | --- |
**미션 6. 지휘관/인사참모용 부대 근무부하 현황 및 결원 예측 가시화 대시보드 구현**
| **난이도·시간** | 중급 · 2.5시간 |
| --- | --- |
| **진행 순서** | 1) M6 코드를 실행해 전체 갱신 시간과 상태 집계(긴급·주의·정상)를 확인한다.
2) 현황판 표와 히트맵에서 '*'가 붙은 보충 필요 셀을 읽는다.
3) 필터·드릴다운·야간 모드 전환의 응답 시간을 확인하고 두 모드의 그래프를 비교한다. |
| --- | --- |
| **확인할 결과** | 전체 갱신 수십~백 ms(목표 1초 이내), 최대 95백분위 응답 수 ms(목표 100ms 이내)
상태 집계 긴급 5·주의 2·정상 17, 전체 결원율 10.0% |
| --- | --- |
| **도전 과제** | view 함수에 직무 필터와 상태 필터('긴급'만)를 함께 적용하는 옵션을 추가하고 응답 시간이 어떻게 변하는지 측정한다. |
| --- | --- |
| **제출물** | 대시보드 코드, 화면 출력 캡처와 응답 시간 측정표 |
| --- | --- |
**미션 7. 인사 보충 우선순위 결정 시 인사관 수동 조정 및 승인(HITL) 워크플로우 설계**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M7 코드를 실행해 큐 대기시간(선입선출 대 위험도 우선)과 결재 결과 10건을 확인한다.
2) 인사관 조정 건의 전후 인원과 반려·피드백 기록을 읽는다.
3) 권한 우회·절차 위반 14종 차단 결과, 로깅 성공률, 해시 체인 검증과 위변조 탐지를 확인한다. |
| --- | --- |
| **확인할 결과** | 고위험 평균 대기 4.8h에서 2.5h(위험도 우선), 승인 9건·종결(반려) 1건, 조정 2건
차단 14/14(100%), 처리 요청 100건 대비 로그 100건(성공률 100%), 이력 무결성 100%·수정 탐지 |
| --- | --- |
| **도전 과제** | ADJ_LIMIT를 0.5에서 0.2로 줄이고 조정 시도 중 차단되는 건이 늘어나는지 확인한 뒤 적절한 한도를 판단한다. |
| --- | --- |
| **제출물** | 워크플로우·감사 로그 코드, 권한 시험표와 큐 대기시간 비교표 |
| --- | --- |
**미션 8. 전시 동원 및 대량 결원 발생 상황 모의 인사 예측 스트레스 시뮬레이션**
| **난이도·시간** | 고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M8 코드를 실행해 평시와 통신 직무 전출 급증 상황의 보충 필요 인원을 비교한다.
2) 100·200·500% 부하에서 최적화 전후 응답 시간·기능 축소 건수·유실 건수를 확인한다.
3) 500% 처리 내역(정상·축소·격리)을 읽고 기능 축소 정책이 적절한지 판단한다. |
| --- | --- |
| **확인할 결과** | 평시 필요 인원 67명, 통신 전출 급증 시 75명(해당 셀 1명에서 9명)
500%에서 시스템 다운 0건·데이터 유실 0건, 캐시 후 p95 응답과 기능 축소 건수 대폭 감소 |
| --- | --- |
| **도전 과제** | run의 qmax(큐 크기)를 48에서 16으로 줄이고 기능 축소 건수와 응답 시간이 어떻게 변하는지 비교한다. |
| --- | --- |
| **제출물** | 스트레스 시험 코드, 부하 시험 결과표와 병목 최적화 기록 |
| --- | --- |
**미션 9. AAR 기반 인사 예측 오차 원인 분석 및 인력 예측 가중치 파라미터 재보정**
| **난이도·시간** | 고급 · 3시간 |
| --- | --- |
| **진행 순서** | 1) M9 코드를 실행해 기존 모델의 편차(편향·전출 급증 부대 셀 오차)와 원인 분류표를 확인한다.
2) 격자 탐색 결과와 채택 파라미터, 시험 세계의 개선 효과·재발 오류를 읽는다.
3) 출력된 파라미터(YAML)와 지속 학습 트리거를 확인하고 적용 여부를 누가 결정해야 하는지 적는다. |
| --- | --- |
| **확인할 결과** | 기존 종합 정확도 72.4%, 급증 부대 셀 평균 오차 +3.4명
시험 세계 종합 정확도 63.5%에서 67.7%(+4.2%p, 목표 10%p 미달), 급증 셀 평균 오차 +3.6명에서 +1.7명, 재발 오류 8건에서 5건 |
| --- | --- |
| **도전 과제** | lam 후보에 0.65를 추가하고 MAE와 정확도가 어떻게 달라지는지 확인한 뒤 목표 10%p를 달성할 방법을 제안한다. |
| --- | --- |
| **제출물** | AAR 분석·재보정 코드, 원인 분류표와 재보정 전후 비교표, 파라미터(YAML) |
| --- | --- |
**미션 10. 결원·근무부하 추세 대시보드 및 인력 보충 예측 시스템 통합 패키지 완성**
| **난이도·시간** | 최고급 · 3.5시간 |
| --- | --- |
| **진행 순서** | 1) M10 코드를 실행해 설치 스크립트 5단계 점검과 End-to-End 시나리오 4종 결과를 확인한다.
2) 자체 점검 9항목과 함수 커버리지, 매뉴얼 작성률을 읽는다.
3) 브리핑 요약의 수치가 앞선 출력과 일치하는지 확인하고 사람이 해야 할 일을 정리한다. |
| --- | --- |
| **확인할 결과** | 설치 5/5 통과, E2E 4/4 성공, 자체 점검 9/9, 커버리지 100%(14/14), 매뉴얼 7/7장(100%)
브리핑: 셀 24개 중 위험 지수 50 이상 8개, 검토 큐 8건 모두 PENDING, 보충 필요 인원 71명 |
| --- | --- |
| **도전 과제** | CONF의 queue_min_risk를 50에서 70으로 올려 검토 큐 건수와 필요 인원 합계가 어떻게 바뀌는지 비교한다. |
| --- | --- |
| **제출물** | 통합 파이프라인 코드, 점검 결과 출력과 브리핑 요약 |
| --- | --- |
**4. 최종 점검표**
| **점검 항목** | **확인** |
| --- | --- |
| 미션 1~10 코드가 모두 오류 없이 실행되었다 | ( ) |
| 각 미션의 확인할 결과를 기록했다 | ( ) |
| 도전 과제 결과와 이유를 기록했다 | ( ) |
| 브리핑 수치가 실행 결과와 일치한다 | ( ) |
| 실제 부대·인원·개인 정보를 사용하지 않았다 | ( ) |
| 보충·인원 이동·휴식 조정 결정을 인사관·지휘관이 하도록 설계했다 | ( ) |