WEBBOOK CHAPTER

말로 일하는 AI: 6장 전사문과 대화 상태를 분리한다

6장 전사문과 대화 상태를 분리한다

전사문은 관찰 데이터이고, 대화 상태는 업무 판단이다. “다음 주 화요일”이라는 전사문을 바로 2026-08-11로 저장하면 기준 날짜와 시간대를 잃는다.


{
  "transcript": "다음 주 화요일 오후요",
  "candidate": {"date":"2026-08-11","period":"afternoon"},
  "confidence": "needs_confirmation",
  "timezone": "Asia/Seoul"
}

원문, 해석 후보, 확인 상태를 구분하면 사용자가 수정할 수 있다. 모델이 새 turn에서 다른 날짜를 제시하면 조용히 덮어쓰지 않고 변경을 확인한다.

세션 상태는 작게 유지한다.


collecting → awaiting_confirmation → completed
          ↘ cancelled
          ↘ handoff_requested

모델의 자유로운 문장과 상태 전이를 분리한다. 허용된 이벤트만 도메인 함수에 넘기고, 함수가 다음 상태를 결정한다.

CallGarden의 대화 전사와 결정적 확인 카드를 나란히 보여 주는 실습 화면
CallGarden의 대화 전사와 결정적 확인 카드를 나란히 보여 주는 실습 화면

왼쪽 대화는 자연어이고 오른쪽 카드는 업무 상태다. 사용자가 “네, 맞아요”를 선택하기 전 상태가 awaiting_confirmation인지, 실제 예약이 아니라는 경고가 보이는지 함께 확인한다.