대화가 끝나면 채점이 시작된다 — 체크포인트 기반 피드백 설계
종료 버튼을 누르면 그때부터 진짜가 시작됩니다. 롤플레이 훈련 챗봇을 직접 만들면서 가장 오래 붙잡고 있던 부분은 AI 고객의 말투도, 화면 디자인도 아니었습니다. 대화가 끝난 다음 "그래서 이 사람은 잘한 건가, 못한 건가"를 어떻게 판정하느냐였습니다. 채점이 없으면 롤플레이는 그냥 심심풀이 대화로 끝납니다. 반대로 채점이 엉성하면 훈련하는 사람이 시스템을 신뢰하지 않게 되고, 결국 아무도 쓰지 않습니다. 이 글은 이 채점 로직을 어떤 의도로 설계했는지, 왜 "정답 하나"로 매기지 않기로 했는지를 코드 설계 관점에서 자세히 정리합니다. [시리즈] S2S·LLM 음성 에이전트 엔지니어링 63편 · 현재 10-7편 ← 이전: 10-6 퀴즈 풀 사전생성 / 다음 → 10-8 혼자 쓰는 챗봇의 현실 10-5 AI 고객 페르소나 프롬프트 엔지니어링 10-6 퀴즈 풀 사전생성 10-7 대화가 끝나면 채점한다 (현재 글) 10-8 혼자 쓰는 챗봇의 현실 11-1 KMS 프로젝트가 실사 이후로 밀리는 이유 전체 목차 펼치기 (63편) Part 1 — 음성 AI가 느린 이유: 레이턴시 진단 (4편) 1-1 AI 보이스봇이 답답한 이유 — Cascaded 레이턴시 1-2 1초의 벽 — 지연이 UX를 결정하는 이유 1-3 지연 줄이기 — 스트리밍·청크로 TTFT 단축 1-4 RAG 병목과 오디오 버퍼링 제어 Part 2 — 텍스트를 넘어: End-to-End S2S의 원리 (4편) 2-1 End-to-End S2S 작동 원리 2-2 OpenAI Realtime API vs 오픈소스 S2S 2-3 음성 토큰(Audio Token)이란 2-4 감정·톤 조절이 CS를 바꾸는 이유 Part 3 — 실시간 대화와 에이전트화: 인터럽트·MCP·도구 (5편) 3-1 실시간 인터럽트(끼어들기) 감지 3-2 실시간 음성에 MCP가 필요한 이유 3-3 스트리밍 중 MCP 초고속 데이터 룩업 3...