1. 개선 및 추가해야 할 작업 목록
A. 데이터 전처리 및 청크 분할
- 토큰 수 계산 및 청크 분할 기능:
- 토큰 수를 계산해 제한에 맞게 데이터를 여러 청크로 나누는 함수를 구현
- 각 청크가 충분한 문맥을 유지하도록 분할 로직 개선
- 데이터 수집 개선:
- GitHub API로 수집한 원본 데이터를 Claude에 바로 전달하는 대신, 전처리 과정에서 데이터 양(예: README, 코드, 커밋 내역 등)을 미리 확보하고 정리
B. 프로그램 구조 재설계
- 분리된 전처리 & 분석 단계 도입:
- 기존 Claude 호출 로직에서 GitHub 데이터 수집과 분석을 분리하여, 전처리 결과(청크)를 Claude로 넘기도록 구조 변경
- API 및 워크플로우 수정:
- 기존 API 엔드포인트들을 수정하거나 추가하여, 데이터 전처리(청크 분할)와 다중 청크에 대한 처리 로직 반영
C. 포트폴리오 통합 및 프로젝트별 기여도 분석 기능
- 다중 레포지토리 통합:
- 3번 기능(포트폴리오 생성) 이후, 사용자가 여러 레포지토리의 분석 결과를 모아 하나의 통합 포트폴리오 페이지를 생성할 수 있도록 기능 추가
- 프로젝트별 기여도 분석 강화:
- 각 프로젝트의 기여 내역을 보다 상세히 분석하고, 이력서나 포트폴리오에 반영할 수 있도록 기여도 산출 로직 개선
- 분석 결과의 시각화:
- 사용자가 각 프로젝트별로 기여도와 변경된 코드를 한 눈에 볼 수 있도록 UI 개선 및 분석 결과 요약 제공
D. 임시 데이터 저장 및 분석 신뢰성 보강
- 임시 데이터 저장소 도입 검토:
- “레그” 또는 “데벨”과 같은 도구(또는 간단한 데이터베이스)를 활용하여, 중간 분석 결과(예: 각 청크별 분석 결과, 기여도 계산 결과)를 저장하고 관리하는 방안 마련
- 분석 데이터의 지속성 및 재활용:
- 저장된 데이터를 활용해 사용자가 언제든 포트폴리오를 업데이트하거나 통합 분석할 수 있도록 데이터 파이프라인 구축
E. 에러 핸들링 및 성능 최적화
- 대용량 데이터 처리 시 에러 대응:
- 토큰 제한 및 대량 데이터 처리 시 발생할 수 있는 에러에 대해 적절한 예외 처리 및 재시도 로직 구현
- API 호출 및 응답 시간 최적화:
- GitHub, Claude API 호출 시 성능 개선과 비용 문제를 고려한 최적화 작업 진행
F. UI/UX 및 문서화 업데이트
- 사용자 인터페이스 개선:
- 다중 레포지토리 선택, 분석 진행 상황(예: 데이터 청크 처리, 통합 포트폴리오 생성) 표시 등 새로운 기능에 맞춘 UI 업데이트