사내 CS 에이전트에 function calling을 붙인 지 3주째, 정확도 리포트는 꾸준히 97%를 찍고 있었다. 그런데 특정 고객의 환불 건이 이상했다.
금요일 오후 4시 12분. 슬랙 #cs-escalation 채널에 "고객 답변이 갑자기 딱딱해졌다"는 제보가 올라왔다.
파싱 에러율 0%를 달성했을 때 팀 슬랙에 축하 이모지가 쏟아졌다. Structured Output 도입 전에는 LLM 응답의 8~12%가 JSON 파싱에 실패했고, 그때마다 재시도 로직이 돌면서 레이턴시와 비용을 잡아먹었다.
고객 문의 분류기를 만들 때였다. 프론티어 모델 API 비용이 월 400만 원을 찍자 팀에서 "파인튜닝해서 작은 모델로 돌리자"는 결론이 나왔다.
고객 지원 에이전트에 세션 간 기억 기능을 붙인 지 3주째, CS 티켓이 하나 올라왔다. "이 봇이 제가 서울에 산다고 하는데, 저 작년에 부산으로 이사했거든요.
내부 문서 검색 챗봇의 정확도가 70%에서 안 올라갔다. 임베딩도 바꿔보고 청킹 전략도 손봤는데, 진짜 병목은 다른 데 있었다 — 복합 질문에서 한 번의 검색으로 답이 안 나오는 구조적 한계.
에이전트 하나가 고객 응대, 데이터 조회, 결제 처리를 전부 맡고 있었다. PoC에서는 완벽했고, 데모 영상도 찍었고, C레벨도 박수쳤다.
우리 팀이 GPT-4 클래스 모델 하나로 모든 요청을 처리하던 시절이 있었다. "일단 잘 되니까"라는 이유로 고객 인사말 응답부터 복잡한 문서 분석까지 전부 같은 엔드포인트를 태웠다.
고객사 기술문서 5만 건을 학습시키면 답변 품질이 올라갈 거라고 믿었다. LoRA로 Llama 3.
금융 도메인 챗봇을 6개월째 운영 중이었다. 모델 성능도 안정적이고, 할루시네이션 비율도 허용 범위 안이었다.
에이전트 PoC 하나 만드는 데 진짜 일주일이면 된다. LangGraph를 쓰든 Claude tool use를 붙이든, 데모 영상 찍어서 슬랙에 올리면 "우와 이거 신기하다" 반응이 온다.
"이번 주 수요일 교육 자료 어디 있어요?" 배달의민족 교육 운영팀에서 이 질문이 반복될 때마다 누군가는 DB를 열고, 구글 드라이브를 뒤지고, 캘린더를 확인했다.
70B 모델을 A100 4장에 올리고 vLLM으로 서빙을 시작했다. nvidia-smi를 찍어보니 GPU 사용률이 30% 언저리.
사내 기술 문서 3만 건을 벡터 DB에 넣고 RAG 챗봇을 만들었다. 데모 날, 팀장이 던진 질문 5개 중 4개를 정확하게 답했고 프로젝트 예산이 승인됐다.
지난달 우리 팀은 고객 응대 챗봇의 시스템 프롬프트에 문장 두 개를 추가했다 — 그게 전부였다. PR을 올리고, 유닛 테스트 187개가 돌았고, 통합 테스트도 통과했고, 코드 리뷰도 받았다.
지난달 팀에서 고객 응대 챗봇의 시스템 프롬프트를 딱 한 줄 수정했다. "친절하고 상세하게 답변하세요"를 "핵심만 간결하게 답변하세요"로 바꿨다.
파인튜닝 프로젝트의 가장 위험한 순간은 학습이 끝난 직후가 아니다. 모든 게 잘 돌아가는 것처럼 보이는 한 달 후다.