Building a support agent that refuses to make things up

개요

기술 기반 고객 지원 에이전트 개발은 모델의 환각(hallucination) 방지에 초점을 맞추며, 이를 위해 프롬프트 엔지니어링 대신 아키텍처 설계로 해결하는 방법을 제시합니다.

주요 내용

* 기존 방식의 문제점: 단일 LLM과 방대한 문서 검색을 결합하는 방식은 외부 데이터베이스의 실시간 정보(예: 주문 번호)에 접근할 때 모델이 부정확한 정보를 생성하는 환각을 일으킵니다.
* 의도 기반 동작(Bounded Actions): 모든 요청을 미리 정의된 고정된 의도(intent) 집합(예: 주문 상태, 환불 상태)으로 라우팅하고, 각 의도는 명확한 계약을 가진 타입화된 액션으로 매핑됩니다.
* 팩트 화이트리스트 및 템플릿 사용: 모델은 정제되고 화이트리스트로 관리된 팩트와 템플릿만을 받아 자연어 문장을 생성하므로, 모델이 알지 못하는 정보에 대해 추측할 여지가 없습니다.
* 거부(Refusal)를 주요 결과로 처리: Resolution.escalate와 같은 명시적인 거부 결과는 실패 경로가 아닌, 예상 가능한 결과로 처리되며, 다양한 거부 사유(예: NOT_FOUND, OUT_OF_SCOPE, LOW_CONFIDENCE)에 따라 다른 후속 조치를 취합니다.
* 읽기(Read)와 쓰기(Write) 작업 분리 및 제어: 환불 발행과 같은 위험한 쓰기 작업은 읽기 작업과 분리되며, 판매자(merchant)가 설정하는 모드(예: auto, propose)에 따라 제어됩니다. propose 모드는 초기 배포 시 인간의 승인을 거치도록 하여 안전성을 높입니다.
* 호스팅 경계의 아키텍처 결정: 각 상점을 별도의 인스턴스에서 운영하고 오픈소스 모델을 사용하여 데이터 프라이버시와 투명성을 확보합니다. 이는 EU AI Act의 투명성 의무 준수에도 유리합니다.
* 비용 및 트레이드오프: 이 아키텍처는 자유로운 생성이 가능한 모델보다 적은 대화를 해결하지만, 정확하고 신뢰할 수 있는 응답을 제공함으로써 장기적인 고객 신뢰 확보에 유리합니다.

시사점

이 접근 방식은 AI 고객 지원 에이전트가 정확성을 최우선으로 하며, 환각으로 인한 잠재적 위험을 최소화하면서 신뢰를 구축하는 데 효과적인 아키텍처 패턴을 제시합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions