매일 하던 콜 모니터링, Lambda로 자동화한 이야기
매일 하던 콜 모니터링, Lambda로 자동화한 이야기
출근하면 이미 콜 모니터링 시트가 준비돼 있음. 그게 목표였음.
뭘 했나
AICC 콜 모니터링 시트를 매일 수동으로 만들고 있었음.
Before: 매일 아침 Claude Code에서 /call-monitoring 실행 → API 조회 → 분류 → AI 코멘트 → 시트 업로드. 사람이 트리거해야 돌아가는 구조.
After: Lambda가 평일 07:00에 알아서 실행. 출근하면 시트가 이미 만들어져 있음.
이게 왜 필요했나
- AICC 콜 품질 모니터링은 CX팀의 매일 루틴임
- 전날 들어온 콜을 우선순위(P1~P4)로 분류하고, 위험한 콜을 골라서 시트에 정리하는 작업
- 매일 반복인데 사람이 빠지면 그날 시트가 안 만들어짐
- “자동화 안 하면 계속 이러고 있겠구나” 싶었음
어떻게 동작하나
평일 07:00 KST 자동 실행
│
├─ 삼쩜삼 API에서 전일 콜 + QnA 조회
├─ 룰 기반으로 우선순위 분류 (P1~P4)
├─ Gemini 2.5 Flash로 P1 승격 판단 (놓칠 수 있는 위험 콜 잡기)
├─ 우선순위별 샘플링 (P1 100%, P2 30%, P3 10%, P4 5%)
├─ 샘플링된 콜에만 AI 한줄평 생성
└─ Google Sheets에 날짜별 탭으로 업로드
핵심은 AI 승격 판단 — 룰로는 P2/P3인데 실제로는 위험한 콜을 Gemini가 P1으로 올려줌. 샘플링 전에 하니까 100% 추출 보장됨.
숫자로 보면
| 항목 | 값 |
|---|---|
| 실행 빈도 | 평일 1회 (월 ~22회) |
| Lambda 비용 | ~$0 |
| Gemini 비용 | 콜 100건 기준 |
| 시트 API | 무료 |
| 테스트 | 154개 단위/통합 테스트 |
월 $0.4로 매일 반복 업무 하나 없앤 셈.
Claude가 한 역할
이 프로젝트 자체를 Claude Code로 만들었음.
- 기획 문서 → 코드 구조 설계 → 구현까지 Claude Code와 페어 코딩
- Fernet 암호화 시크릿 관리 방식 설계 + 구현
- CI/CD 파이프라인 디버깅 (Python 패키징 버그 잡기)
- 인프라팀 핸드오프 문서 자동 생성
- 154개 테스트 작성