늦은 밤, 어느 기업의 챗봇 관리자 화면.

관리자는 호텔 예약해줘라는 말은 알아듣지만 숙소 좀 잡아줘라는 말에는 응답하지 못하는 봇의 로그를 살피고 있다.

이런 수동 설정의 한계가 이제 바뀐다.

LLM 도입으로 달성한 92%의 정확도

Amazon Lex(대화형 AI 봇 구축 서비스)가 Assisted NLU(LLM을 활용한 자연어 이해 보조 기능)를 출시했다. 이 기능은 LLM(거대언어모델)을 사용하여 의도 분류와 슬롯 분석(사용자 입력에서 필요한 정보를 추출하는 과정) 능력을 강화한다. 평균적으로 의도 분류 정확도 92%, 슬롯 분석 정확도 84%를 달성했다.

실제 도입 고객들의 데이터는 더 구체적이다. 의도 분류 성능이 11~15% 상승했고, 폴백 응답(봇이 이해하지 못했을 때 내보내는 기본 응답)은 23.5% 감소했다. 노이즈가 섞인 입력에 대한 처리 능력은 30% 개선되었다. 해당 기능은 표준 Amazon Lex 가격 체계에 포함되어 추가 비용 없이 제공된다.

수동 설정에서 프롬프트 기반 최적화로의 전환

예전에는 개발자가 모든 가능한 발화 변형을 일일이 수동으로 설정해야 했다. 호텔 예약이라고 학습시킨 봇은 숙박 시설 예약이라는 표현을 만나면 작동하지 않는 구조였다. 특히 시애틀 다운타운 지점에 12월 15일부터 18일까지 스위트룸을 예약해달라는 복잡한 요청이 들어오면 객실 유형, 위치, 날짜 같은 핵심 세부 정보를 놓치는 경우가 많았다. 예약에 도움이 필요하다는 모호한 문구 역시 봇이 예약, 조회, 수정, 취소 중 무엇을 원하는지 추측하게 만들었다.

반면 Assisted NLU는 의도와 슬롯의 이름 및 설명을 바탕으로 입력을 해석한다. 수동 설정 없이도 오타나 복잡한 문장 구조를 처리한다. 작동 방식은 두 가지 모드로 구분된다. Primary 모드는 모든 사용자 입력에 대해 LLM을 사용한다. 반면 Fallback 모드는 기존 NLU(자연어 이해)를 먼저 사용하고, 신뢰도가 낮거나 폴백 의도로 경로가 지정될 때만 LLM을 호출한다.

주목할 점은 설정의 기준점이 바뀌었다는 사실이다. 이제 의도 설명은 팀 내부 공유용 문서가 아니라 LLM을 위한 프롬프트(AI에게 주는 지시어) 역할을 한다. 의도 설명은 [의도] [동사] [대상] [맥락/제약] 패턴으로 작성해야 하며, 이 품질이 곧 분류 정확도를 결정한다. 슬롯 설명 역시 [캡처 대상] [맥락적 제약] [유효 값 안내] 패턴을 따라야 LLM이 관련 값을 더 효과적으로 우선순위화한다.

여러 의도가 사용자의 입력과 일치할 가능성이 있을 때, Assisted NLU는 사용자에게 선택지를 제시하는 의도 모호성 제거(사용자의 목표를 명확히 하기 위해 선택지를 제공하는 기능) 옵션을 제공한다. 잘 설계된 모호성 제거 과정은 사용자 마찰을 줄이고 대화의 흐름을 유지한다.

개발자가 체감하는 변화는 검증 단계에서 나타난다. Amazon Lex Test Workbench(봇의 성능을 측정하는 테스트 도구)를 통해 실제 발화 변형을 테스트하고 설정을 검증할 수 있다. 특히 다음 화요일이나 15일 같은 날짜 형식의 변형, NYC나 New York City 같은 위치 별칭 등 엣지 케이스(정상적인 범위 밖의 예외적인 상황)를 집중적으로 테스트하여 실제 환경의 무질서함을 처리하는 능력을 확인해야 한다.

설정은 콘솔의 로캘 설정에서 Assisted NLU 토글을 켜고 모드를 선택하는 것으로 완료된다. 프로그래밍 방식의 설정은 NluImprovementSpecification API를 통해 가능하며, 상세 가이드는 Amazon Lex Developer Guide에서 확인할 수 있다.

이제 챗봇의 성능은 발화 리스트의 양이 아니라 설명문의 정교함에서 결정된다.