AI 챗봇 품질관리 자동화 파이프라인

업무분장 및 WBS (Work Breakdown Structure)

프로젝트명 : ai_quality_final_project

작성일자 : 2026-07-01

팀 구성 : 팀원2 · 팀원1 · 팀원3 · 최성우


1. 팀 구성 및 역할 개요

이름 담당 영역 핵심 책임 파일 역할 요약
팀원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)
테스트 케이스 설계·통합 테스트 수행, 발표 자료 및 데모 시나리오 제작

2. 세부 업무분장표

2-1. 팀원2 — 핵심 기능 개발

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__ 블록 작성, 최성우 팀원 테스트 지원 각 모듈 하단 테스트 코드 협업

2-2. 팀원1 — 프로젝트 환경 구성 및 일정 관리

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

2-3. 팀원3 — 결과 리포트 및 대시보드 구현

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종 파일 협업

2-4. 최성우 — 테스트 및 발표 준비

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 협업