| 이름 |
담당 영역 |
핵심 책임 파일 |
역할 요약 |
| 팀원2 |
핵심 기능 개발 |
service_agent.py · judge_agent.py rule_validator.py · main.py |
OpenAI API 연동, 챗봇·평가 에이전트 구현, 파이프라인 오케스트레이션 |
| 팀원1 |
프로젝트 환경 구성 및 일정 관리 |
config.py · knowledge_base.py .env · requirements.txt |
가상환경·의존성 설정, 지식베이스 구축, 전체 일정 조율 및 팀 미팅 주관 |
| 팀원3 |
결과 리포트 및 대시보드 구현 |
report_generator.py dashboard/streamlit_app.py |
JSON·CSV·MD 보고서 자동 생성, Plotly 시각화 대시보드 구현 |
| 최성우 |
테스트 및 발표 준비 |
data/test_cases.json 최종 발표 자료 (PPT) |
테스트 케이스 설계·통합 테스트 수행, 발표 자료 및 데모 시나리오 제작 |
| No |
업무 항목 |
세부 내용 |
산출물 |
비고 |
| 1 |
ServiceAgent 구현 |
OpenAI gpt-4o-mini 연동, EDUCATION_POLICY_TEXT 기반 시스템 프롬프트 설계, temperature=0.0 설정, 예외 처리 |
service_agent.py |
SVC-001~006 |
| 2 |
JudgeAgent 구현 |
Pydantic EvaluationSchema 정의, Structured Outputs API 호출, 4대 지표(정확성·근거성·유용성·안전성) 채점 로직, 판정 기준(PASS/REVIEW/FAIL) 구현 |
judge_agent.py |
JDG-001~006 |
| 3 |
RuleValidator 구현 |
Empty/Short 답변 검출, 금지어 사전 필터, 동일문자 반복 이상탐지(정규식), 결과 딕셔너리 반환 |
rule_validator.py |
RV-001~006 |
| 4 |
main.py 파이프라인 구현 |
테스트 케이스 순회, 키워드 매칭, 에이전트 순차 호출, usefulness→helpfulness 필드 변환, 스키마 조립, 콘솔 진행 출력 |
main.py |
MAIN-001~006 |
| 5 |
단위 테스트 지원 |
각 모듈 __main__ 블록 작성, 최성우 팀원 테스트 지원 |
각 모듈 하단 테스트 코드 |
협업 |
| No |
업무 항목 |
세부 내용 |
산출물 |
비고 |
| 1 |
프로젝트 폴더 구조 설계 |
디렉터리 트리 설계(data·reports·dashboard), .gitignore 작성, 폴더 자동 생성 로직 설계 |
디렉터리 구조 |
CFG-001 |
| 2 |
가상환경 및 패키지 관리 |
.venv 생성, requirements.txt 작성(openai·pydantic·pandas·streamlit·plotly·python-docx 등), pip install 검증 |
requirements.txt · .venv |
CFG-001~003 |
| 3 |
config.py 구현 |
pathlib 기반 경로 관리, .env 로드(load_dotenv), init_directories() 자동 초기화, OS 독립성 확보 |
config.py |
CFG-001~003 |
| 4 |
knowledge_base.py 구현 |
EDUCATION_POLICY_TEXT(교육시간·출결·수료·취업지원·예외처리 정책) 작성, EVALUATION_CRITERIA 딕셔너리 구성 |
knowledge_base.py |
KB-001~003 |
| 5 |
.env 환경변수 설정 |
OPENAI_API_KEY 환경변수 템플릿 작성, Key 보안 관리 가이드 팀 공유 |
.env (템플릿) |
NF-003 |
| 6 |
전체 일정 관리 및 팀 미팅 |
WBS 기준 주간 진행률 체크, 이슈 트래킹, 팀 미팅 진행 및 회의록 작성 |
WBS · 회의록 |
PM |
| No |
업무 항목 |
세부 내용 |
산출물 |
비고 |
| 1 |
report_generator.py 구현 |
JSON 보고서(중첩 구조 유지), CSV 보고서(Flatten·utf-8-sig 인코딩), Markdown 보고서(이모지 배지·지표 평균·케이스별 상세) 3종 자동 생성 |
report_generator.py |
RPT-001~005 |
| 2 |
Streamlit 대시보드 구현 |
사이드바 메뉴 3종(종합통계·세부로그·최종결론), KPI 메트릭 카드 4종, 파일 경로 절대경로화(__file__ 기준) |
streamlit_app.py |
DASH-001~008 |
| 3 |
Plotly 차트 구현 |
도넛 차트(PASS·REVIEW·FAIL 분포), 바 차트(카테고리별 평균 정확성), 색상 팔레트 정의 |
streamlit_app.py 차트 섹션 |
DASH-004~005 |
| 4 |
최종 결론 자동 분석 구현 |
취약 지표 자동 탐지(idxmin), 최저 합격률 카테고리 분석, Action Items 4종 동적 생성 |
streamlit_app.py 결론 섹션 |
DASH-006~007 |
| 5 |
보고서 샘플 데이터 작성 |
TC-001~007 기준 evaluation_result.json·csv·md 샘플 데이터 직접 작성하여 대시보드 초기 검증 |
reports/ 3종 파일 |
협업 |
| No |
업무 항목 |
세부 내용 |
산출물 |
비고 |
| 1 |
테스트 케이스 설계 |
7개 시나리오(Happy·Edge·Negative) 설계, case_id·category·test_type·user_question·expected_keyword·expected_policy 필드 작성 |
data/test_cases.json |
TC-001~007 |
| 2 |
단위 테스트 수행 |
각 모듈 독립 실행 테스트(__main__ 블록), 정상·오류·경계값 케이스 검증, 결과 기록 |
테스트 결과 보고서 |
NF-001~002 |
| 3 |
통합 테스트 수행 |
전체 파이프라인(main.py) E2E 실행, 보고서 3종 생성 확인, 대시보드 데이터 연동 검증, 엣지케이스 재현 |
통합 테스트 결과서 |
NF-001~002 |
| 4 |
발표 자료 제작 |
프로젝트 개요·아키텍처·시연 흐름·평가 결과·결론 포함 PPT 제작(10슬라이드 내외) |
발표 PPT (.pptx) |
발표 |
| 5 |
데모 시나리오 준비 |
main.py 실행 → reports/ 생성 → 대시보드 시연 순서의 라이브 데모 스크립트 작성, 리허설 진행 |
데모 스크립트 |
발표 |
| 6 |
최종 산출물 검수 |
전체 파일 구조 최종 점검, README 작성, 팀원 산출물 취합 및 제출 패키지 구성 |
최종 제출 패키지 |
PM 협업 |