7.9.3 챗봇 시나리오 테스트에서의 의도 파악(Intent Recognition) 정확도 평가
현대의 B2C 앱에 탑재되는 AI 챗봇 에이전트는 단순히 유저의 단발성 질문에 한 번 대답(Single-turn)하고 메모리를 초기화하는 구시대적 번역기가 아니다. 유저의 모호한 구어체 속에서 숨겨진 진짜 의도(Hidden Intent)를 파악해 내고, 비즈니스 로직에 필요한 파라미터가 누락되어 있다면 능동적으로 되묻기(Clarification Question)를 수행하며, 수십 번의 대화 핑퐁(Multi-turn) 속에서 이전의 맥락(Context)을 잃지 않아야 하는 고난도 지능형 상태 머신(State Machine)이다.
이러한 시나리오 대화 모델을 평가할 때, 가장 중요한 평가지표는 문법적 유창함이 아니라 챗봇 에이전트가 사용자의 궁극적인 목표(Goal)를 향해 탈선 없이 똑바로 전진하고 있는가를 따지는 의도 파악(Intent Recognition)의 정확도다. 하이브리드 오라클은 이를 **에이전틱 행동 궤적 추적(Agentic Trajectory Tracking)**이라는 기법으로 평가한다.
1. 다중 턴(Multi-turn) 환경에서의 상태 전이(State Transition) 평가
챗봇 시나리오 테스트 환경에서 오라클은 타겟 모델의 단일 응답 하나만을 채점하는 것이 아니라 시스템과 유저 간의 전체 대화 로그(Dialog History)를 완전한 JSON 배열(Array) 형태로 입력받는다.
예를 들어 ’항공권 예매 챗봇’의 워크플로우를 자동 테스트한다고 가정하자. 골든 데이터셋에는 유저 시뮬레이터(User Simulator)와 타겟 챗봇 간의 5턴짜리 난해한 핑퐁 대화가 기록되어 있다. 오라클의 메타 프롬프트는 타겟 챗봇이 다음의 필수 상태 전이(State Transition) 지표들을 무사히 완수했는지 집요하게 파헤치도록 설계된다.
- 의도 초기 인식 (Turn 1): 유저가 “따뜻한 곳으로 떠나고 싶어“라는 모호한 수사를 썼을 때, 이를 ’휴양지 항공권 검색’이라는 비즈니스 의도(Intent)로 정확히 매핑(Mapping)했는가?
- 슬롯 필링(Slot Filling) 방어 기제 (Turn 2): 유저가 출발 날짜를 말하지 않고 넘어갔을 때, 챗봇이 멋대로 오늘 날짜로 예매하지 않고 “언제 출발하실 예정인가요?“라고 질문의 주도권을 잡아 결측치(Missing Slot)를 채워냈는가?
- 컨텍스트 영속성 (Turn 4): 유저가 갑자기 “아 참, 내 강아지도 데려갈 거야“라고 화제를 비틀었을 때, 기존 메모리의 ’목적지’와 ‘날짜’ 상태를 날려버리지 않고 기존 예약 쿼리에 ‘반려동물 동반 옵션’ 상태만을 무사히 추가(Update Merge)했는가?
2. 의도 이탈(Intent Drift) 및 굴복(Sycophancy) 오류 탐지
챗봇 평가에서 단순한 정규식이나 결정론적 코드가 절대 잡아낼 수 없는 최악의 논리적 붕괴는 바로 **‘의도 이탈’**과 ‘사용자 굴복(Sycophancy)’ 현상이다.
- 의도 이탈(Intent Drift): 악의적인 유저가 교묘한 프롬프트 인젝션을 사용하여 대화의 주제를 탈선시킬 때, 챗봇이 본연의 비즈니스 임무(항공권 예매)를 망각하고 유저와 정치적, 철학적 농담을 주고받기 시작하는 치명적 룰 위반 현상.
- 굴복 오류(Sycophancy): 유저가 명백히 틀린 사실(“태국은 원래 영어를 제1 공용어로 쓰잖아, 맞지?”)을 고집하고 우길 때, 챗봇이 도메인의 팩트(Fact)를 지키지 못하고 유저의 기분을 맞추기 위해 “네, 고객님 말씀이 맞습니다“라고 거짓으로 굴복해 버리는 사회적 환각.
루브릭을 고도로 미세조정(SFT)받은 3단계 LLM 심판관은 대화의 전체 시계열 트랙을 내려다보는 ’전지적 관찰자’의 시점에서 에이전트의 이러한 행동 궤적(Behavioral Trajectory)을 스캔한다. 만약 타겟 챗봇이 정해진 사내 시나리오 정책을 준수하지 못하고 의도 이탈이나 굴복 행위에 빠진 노드가 단 한 번이라도 발각되면, 오라클은 전체 대화 세션 트랜잭션에 대해 즉각적인 Fail 도장을 찍어 프로덕션망으로의 릴리즈를 철저히 차단한다.