inspector
는 단일 평가 모델이 아닌, 여러 세대의 다양한 분석 모델을 지능적으로 결합하여 개발 과정을 평가하는 동적 앙상블(Dynamic Ensemble) 시스템입니다. 최종 코드 결과물뿐만 아니라, 코드가 작성되는 '과정'의 건전성을 분석하고 AI 활용, 벼락치기, 복사-붙여넣기 등 다양한 개발 패턴을 진단합니다.
AnalysisModel
트레이트(Trait)를 기반으로 설계되어, 새로운 분석 모델을 플러그인처럼 손쉽게 추가하고 시스템에 통합할 수 있습니다.inspector
는 다음과 같은 단계로 분석을 수행합니다.
PROCRASTINATOR
, IDEAL_WORKER
)을 먼저 진단합니다.configuration/weights.json
파일에서 가장 적합한 가중치 프로필을 불러옵니다. 예를 들어, '벼락치기' 패턴이 감지되면 시간 분석 모델의 가중치가 높아집니다.gen1
, gen2
, gen3
)이 동시에 로그 파일을 분석하여 각자의 점수를 계산합니다.터미널에서 즉시 확인할 수 있는 핵심 요약 정보입니다.
════════════════════════════════════════════════════════════════════════════════
📊 동적 앙상블 개발 과정 평가 보고서 📊
════════════════════════════════════════════════════════════════════════════════
📝 분석 대상 파일: case01_ideal_human_final.log
🕑 설정 시험 시간: 100분
🧬 자동 분류 패턴: IDEAL_WORKER (🌟 장시간 동안 꾸준하고 점진적인 커밋 활동)
────────────────────────────────────────────────────────────────────────────────
【모델별 상세 점수 및 가중치 (유효 모델만 표시) 】
🎆 Gen 1 Models ⏭︎
✔︎ HAS | 점수: 89/100 [█████████████████░░░] | 가중치: 15.0%
✔︎ RSA-ai.studio | 점수: 86/100 [█████████████████░░░] | 가중치: 5.0%
✔︎ RSA-claude | 점수: 81/100 [████████████████░░░░] | 가중치: 5.0%
✔︎ DPA | 점수: 83/100 [████████████████░░░░] | 가중치: 5.0%
🎆 Gen 2 Models ⏭︎
✔︎ Qwen | 점수: 97/100 [███████████████████░] | 가중치: 21.0%
✔︎ CPA | 점수: 84/100 [████████████████░░░░] | 가중치: 16.0%
🎆 Gen 3 Models ⏭︎
✔︎ UPA-A | 점수: 83/100 [████████████████░░░░] | 가중치: 11.0%
✔︎ UPA-G | 점수: 81/100 [████████████████░░░░] | 가중치: 11.0%
✔︎ UPA-QA | 점수: 88/100 [█████████████████░░░] | 가중치: 11.0%
────────────────────────────────────────────────────────────────────────────────
【최종 평가 】
⏺︎ 최종 앙상블 점수: 87 / 100 [🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜]
⏺︎ 모델 간 점수 표준편차: 4.78
⏺︎ 분석 성공률: 100.0%
⏺︎ 신뢰도: ✅ 양호 - 모델 간 평가 결과가 비교적 일관됩니다.
════════════════════════════════════════════════════════════════════════════════
💾 HTML 상세 보고서가 저장되었습니다: case01_ideal_human_final.html
════════════════════════════════════════════════════════════════════════════════════
📊 동적 앙상블 개발 과정 평가 보고서 📊
════════════════════════════════════════════════════════════════════════════════════
📝 분석 대상 파일: case02_initial_burst_ai_final.log
🕑 설정 시험 시간: 100분
🧬 자동 분류 패턴: CRAMMING_AI (🔥 소수의 커밋으로 대량의 코드가 한 번에 추가됨)
────────────────────────────────────────────────────────────────────────────────────
【모델별 상세 점수 및 가중치 (유효 모델만 표시) 】
🎆 Gen 1 Models ⏭︎
✔︎ HAS | 점수: 2/100 [░░░░░░░░░░░░░░░░░░░░] | 가중치: 21.0%
✔︎ RSA-ai.studio | 점수: 5/100 [█░░░░░░░░░░░░░░░░░░░] | 가중치: 11.0%
✔︎ DPA | 점수: 0/100 [░░░░░░░░░░░░░░░░░░░░] | 가중치: 10.0%
✔︎ RSA-claude | 점수: 0/100 [░░░░░░░░░░░░░░░░░░░░] | 가중치: 5.0%
🎆 Gen 2 Models ⏭︎
✔︎ Qwen | 점수: 0/100 [░░░░░░░░░░░░░░░░░░░░] | 가중치: 5.0%
🎆 Gen 3 Models ⏭︎
✔︎ UPA-A | 점수: 5/100 [█░░░░░░░░░░░░░░░░░░░] | 가중치: 16.0%
✔︎ UPA-G | 점수: 0/100 [░░░░░░░░░░░░░░░░░░░░] | 가중치: 16.0%
✔︎ UPA-QA | 점수: 5/100 [█░░░░░░░░░░░░░░░░░░░] | 가중치: 16.0%
────────────────────────────────────────────────────────────────────────────────────
【최종 평가 】
⏺︎ 최종 앙상블 점수: 2 / 100 [⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜]
⏺︎ 모델 간 점수 표준편차: 2.32
⏺︎ 분석 성공률: 100.0%
⏺︎ 신뢰도: ✅ 양호 - 모델 간 평가 결과가 비교적 일관됩니다.
════════════════════════════════════════════════════════════════════════════════════
💾 HTML 상세 보고서가 저장되었습니다: case02_initial_burst_ai_final.html
웹 브라우저에서 열어볼 수 있는 상세 보고서입니다. 종합 요약, 전문가(모델)별 상세 의견, 주요 증거 및 해석, 그리고 구체적인 개선 권장사항을 포함합니다.
(실제 보고서는 아래 이미지보다 훨씬 상세한 내용을 담고 있습니다.)
git clone https://github.com/{TBD}}/inspector.git
cd inspector
cargo build --release
빌드가 완료되면 target/release/inspector
실행 파일이 생성됩니다.
inspector
는 커맨드 라인 인터페이스(CLI)를 통해 실행됩니다.
기본 명령어 형식:
./target/release/inspector --logfile <분석할_파일_경로> --duration <시험_시간(분)>
옵션:
--logfile <FILE_PATH>
: (필수) 분석할 로그 파일의 경로를 지정합니다.--duration <MINUTES>
: (필수) 해당 과제의 총 시험 시간을 분 단위로 지정합니다.--html-output <OUTPUT_PATH>
: (선택) HTML 상세 보고서를 저장할 경로를 지정합니다. 폴더만 지정하면 기본 이름으로, 파일 경로까지 지정하면 해당 이름으로 저장됩니다.실행 예시:
# inspector.sample 폴더의 procrastinator 케이스를 100분 기준으로 분석
./target/release/inspector \
--logfile ../inspector.sample/input/case08_procrastinator.txt \
--duration 100 \
--html-output ../inspector.sample/output/html/case08_procrastinator.html
.
├── inspector/ # Rust 프로젝트 루트
│ ├── Cargo.toml # 프로젝트 의존성 및 메타데이터 관리
│ ├── configuration/
│ │ └── weights.json # 개발 패턴별 모델 가중치 설정 파일
│ ├── doc/ # 추가 문서
│ └── src/ # 소스 코드
│ ├── main.rs # 프로그램 진입점, 핵심 로직, 리포팅
│ └── engines/ # 개별 분석 모델(플러그인)
│ ├── common/ # 모델들이 공유하는 파서, 정규식 등
│ ├── gen1/ # 1세대 분석 모델
│ ├── gen2/ # 2세대 분석 모델
│ └── gen3/ # 3세대 분석 모델
│
└── inspector.sample/ # 샘플 데이터
└── input/
├── case01_ideal_human_final.txt
└── ... (다양한 개발 패턴의 샘플 로그 파일)
이 프로젝트는 현재 오픈소스로 배포하지 않고 있습니다. 이에 대한 문의는 drsungwon@khu.ac.kr로 연락바랍니다.