AICX: AI로 5초 만에 항공권 환불 수수료 계산하기

동기에서 비동기, 그리고 다시 동기

Share
AICX: AI로 5초 만에 항공권 환불 수수료 계산하기

동기에서 비동기, 그리고 다시 동기

안녕하세요. AICX 프로덕트팀의 Product Engineer 이종준입니다.

AICX는 인공지능(AI)를 통해 기업 운영의 반복 업무를 자동화하고 고객 경험(CX)을 혁신하는 미션을 가진 마이리얼트립의 자회사입니다.
[AICX 바로가기]

이번 글에서는 제가 항공권 환불 수수료 계산을 AI로 자동화하는 과정에서 겪었던 시행착오와 얻은 인사이트를 공유하고자 합니다.

마이리얼트립의 항공 버티컬에는 매일 수백 건의 고객 문의가 들어옵니다. 이 중 약 20%는 환불 수수료 관련 문의입니다.

항공권 환불 규정은 항공사, 노선, 발권 시점, 출발지, 탑승객 유형 등에 따라 제각각입니다. 이 규정은 별도의 형식 없이 자연어로 작성되어 있고, 수수료 계산에는 출발일 기준 날짜 비교, 운임 규정별 조건문, 복수 수수료 합산 등 복잡한 과정이 포함됩니다. 여행자는 수수료를 직접 계산하기 어려웠고, 상담사 역시 매번 규정을 검토해야만 했습니다.

이 반복적인 응대를 보며 우리는 질문했습니다.

“이 계산을 사람이 매번 하지 않아도 된다면?”
“AI가 규정을 읽고 자동으로 환불 수수료를 계산해 줄 수는 없을까?”

이 질문에서 AI 환불 수수료 계산 API 프로젝트가 시작되었습니다.

이 프로젝트의 목표는 단순히 상담 인력을 줄이는 것이 아니라, 고객이 환불을 요청했을 때 “확인 후 다시 안내드리겠습니다”라는 말을 듣지 않아도 되는 경험을 만드는 것이었습니다. AI가 반복적이고 계산 중심적인 업무를 맡고, 사람이 더 복잡한 케이스에 집중할 수 있는 구조를 만들고자 하였습니다.

모든 걸 AI에게 맡기다

처음에는 단순하게 접근했습니다. 항공사 환불 규정 전문과 예약 정보를 그대로 LLM에 전달하면 알아서 계산해줄 것이라 기대했습니다.

입력은 다음과 같았습니다.

  • 규정 전문: 자연어 형태의 항공사 환불 규정 전체
  • 예약 정보: 예약 상세 JSON 전체

LLM이 이를 해석해 수수료를 계산한 뒤, 정형화된 API 응답(JSON)을 반환하도록 설계했습니다.

하지만 결과는 기대에 미치지 못했습니다. 평균 처리 시간은 25초정도였고, 날짜 계산과 수수료 합산 과정에서 오류가 빈번했습니다. LLM은 문맥 이해에는 강했지만, 수학적 연산과 날짜 비교에는 약했습니다.

또한 모든 데이터를 한꺼번에 입력하다 보니 토큰 사용량과 비용 측면에서도 비효율적이었습니다.

역할을 나누다

우리는 AI가 잘하는 일과 전통적인 코드가 잘하는 일을 명확히 분리하기로 했습니다.

  • LLM → 환불 규정 파싱 및 수수료 관련 데이터 추출 및 구조화된 형태로 반환
  • Python 서버(FastAPI) → 날짜 계산, 수수료 산출, 최종 응답 포맷 생성

이렇게 역할을 나누자 평균 응답 시간이 25초에서 12초약 52% 단축되었으며, 정확도 또한 눈에 띄게 개선되었습니다.
이제 LLM은 단순한 ‘계산기’가 아닌, ‘계산기가 무엇을 계산해야 하는지를 알려주는 조력자’로서의 역할이 명확해졌습니다.

그러나 12초는 여전히 긴 시간이었습니다. 일반적인 API 환경에서는 응답이 10초 이상 지연될 경우 클라이언트 타임아웃 오류가 발생할 수 있었습니다.

이에 우리는 비동기 구조로의 전환을 고민하게 되었습니다.

비동기 구조로의 전환

우리가 선택한 Redis와 Celery기반의 비동기 구조는 다음과 같습니다.

요청이 들어오면 Redis 큐에 Job을 등록하고, 즉시 job_id를 반환합니다. 실제 계산 작업은 Celery 워커에서 백그라운드로 처리되고, 클라이언트는 이후 별도의 엔드포인트를 통해 결과를 조회합니다.

이는 기술적으로 안정적이었습니다. 서버 리소스 효율이 좋아졌고, 클라이언트의 timeout 문제도 사라졌습니다.

하지만 실제 고객 경험 측면에서는 다른 문제가 드러났습니다.

고객 경험의 단절

챗봇과 콜봇 환경에서 비동기 응답은 어색하게 느껴졌습니다.

예를 들어, 챗봇에서 계산 중이라는 메시지가 나간 후 10초 이상이 지나 계산된 수수료 정보가 전송되면, 대부분의 고객은 이미 대화를 종료했거나 다른 주제로 넘어가 있었습니다. 콜봇에서도 동일한 문제가 반복되었습니다.

결과를 알림톡과 같은 다른 채널로 전달하는 방향도 고려하였지만, 이는 채널 이동으로 인해 대화의 맥락이 끊어지게 만들어 고객 경험이 저하되는 요인이 되었습니다.

기술적으로는 올바른 선택이었지만, 경험적으로는 잘못된 방향이었습니다.

다시 동기로

우리는 다시 동기 구조로 돌아왔습니다. 하지만 단순히 이전의 방식으로 회귀한 것이 아니라, 입력 최적화와 처리 구조 재설계를 통해 효율을 극대화하고자 하였습니다.

  1. 입력 데이터 최소화
    자연어 규정 전문은 그대로 전달하되, 예약 정보는 계산에 반드시 필요한 필드만 선별했습니다.
    LLM이 처리해야 할 데이터 양이 절반으로 줄었습니다.
  2. 모델 및 하이퍼파라미터 조합 실험
    여러 모델과 하이퍼파라미터(reasoning) 조합을 테스트하며 정확도·속도·비용의 균형점을 찾았습니다.
    결과적으로 정확도를 유지한 채로 평균 응답 시간을 5초 이내로 단축할 수 있었으며, 이는 첫 시도 대비 약 80%의 개선에 해당합니다.

5초 이내의 응답은 챗봇이나 콜봇 환경에서도 충분히 실시간으로 자연스럽게 느껴졌습니다. 결과적으로 사용자 경험 측면에서 가장 안정적인 구조로 정착했습니다.

AI 환불 수수료 계산 API 도입 전에는 상담사가 규정을 직접 확인하고 수수료를 산출하는 데 평균 약 2분이 소요되었습니다. 하지만 AI 기반 자동화 시스템 도입 후에는 동일한 작업이 평균 5초 이내로 처리되며, 약 95% 이상의 시간 절감 효과를 얻을 수 있었습니다.

고객은 기다림 없이 결과를 확인할 수 있었고, 상담사는 동일한 API를 통해 빠르고 정확한 정보를 전달할 수 있게 되었습니다.

앞으로의 방향

이번 프로젝트를 통해 확인한 가장 큰 인사이트는 다음과 같습니다.

“AI는 모든 일을 잘하지 않는다. 대신 AI와 코드가 각각 잘하는 일을 구분해 결합할 때, 시스템 전체의 효율이 극대화된다.”

이 깨달음을 바탕으로 우리는 다음 단계로의 확장을 준비하고 있습니다.

  • 캐싱 최적화
    동일 항공사·운임 조합 요청을 캐싱해 응답 속도 추가 단축
  • 규정 파싱 자동화
    항공사별 규정 형식이 달라도 스스로 구조를 인식하도록 개선
  • 적용 범위 확장
    외항사, 귀국편 환불 등 다양한 케이스로 확대

마무리하며

이 프로젝트는 단순한 기술적 전환이 아니라, AI를 실제 고객 경험 속에 자연스럽게 녹여내기 위한 실험이었습니다.

많은 사람들이 “AI는 아직 실무에 적용하기엔 부족하다”라며 도입을 망설이거나 포기하곤 합니다. 하지만 이번 경험을 통해, AI가 모든 것을 완벽하게 처리하지 못하더라도, 어떻게 활용하고 어떤 역할을 맡길지에 따라 결과는 완전히 달라질 수 있다는 점을 직접 확인할 수 있었습니다.

AICX는 앞으로도 기술 혁신이 곧 고객 경험의 혁신으로 이어질 수 있도록 끊임없이 도전하고 실험하겠습니다.

감사합니다.

Read more

딱 내가 바라던 여행, LAFC 홈구장 곳곳에서의 특별한 경험

딱 내가 바라던 여행, LAFC 홈구장 곳곳에서의 특별한 경험

경기 시작 전 아직은 조용한 경기장. 관중석이 채워지기 전, 선수들이 그라운드로 나와 몸을 풉니다. 누군가는 그 모습을 관중석이 아니라 바로 앞에서 봤습니다. 선수들이 걸어 나오는 통로 앞, 숨소리가 들릴 만큼 가까운 자리였습니다. 몇 시간 뒤 함성으로 채워진 경기장 전광판에는 이들을 맞는 문구가 떴고, 경기가 끝난 뒤에는 선수에게 직접 사인을 받았습니다.

By 마이리얼트립
눈팅만 하던 여행자들을 위한 설계: '동행매칭' 개편기

눈팅만 하던 여행자들을 위한 설계: '동행매칭' 개편기

마이리얼트립 앱 내 커뮤니티의 '동행매칭'은 같은 시기에 같은 도시로 떠나는 여행자를 서로 연결하는 서비스입니다. 지난 넉 달 동안 이 서비스를 커뮤니티의 중심으로 옮기고, 참여하는 방식을 다시 설계했습니다. 기존 커뮤니티에는 여러 주제의 게시판이 있었고, 작업은 무엇을 남길지 고르는 일에서 시작했습니다. 동행을 찾는 관심은 충분했습니다. 다만 글을 여러 개

By 마이리얼트립
한 곳에서, 어디서나, 더 잘 보이게: 마이리얼트립이 파트너에게 새로 연 세 가지

한 곳에서, 어디서나, 더 잘 보이게: 마이리얼트립이 파트너에게 새로 연 세 가지

마이리얼트립에서 떠나는 여행의 대부분은 파트너의 손에서 시작됩니다. 현지에서 투어를 진행하고, 숙소를 운영하고, 여행자의 문의에 답하는 일을 파트너가 함께합니다. 마이리얼트립은 그 여행이 여행자에게 잘 닿게 하는 일을 맡습니다. 어느 한쪽만 잘해서는 좋은 여행이 되지 않습니다. 마이리얼트립이 파트너의 운영을 돕는 일에 오래 공을 들여 온 이유입니다. 파트너의 하루가 수월해지는 만큼 여행자의 여행도

By 마이리얼트립
여행 앱에서 웬 뷰티요? 나를 돌보는 시간까지 골라 드립니다

여행 앱에서 웬 뷰티요? 나를 돌보는 시간까지 골라 드립니다

뷰티·웰니스. 여행 앱에서 이 단어를 마주하면 잠깐 갸웃하게 됩니다. 항공권과 숙소, 투어를 예약하던 곳에서 웬 마사지와 스파일까요. 그런데 따지고 보면 둘은 생각보다 가까운 사이입니다. 여행을 준비할 때 우리는 컨디션을 챙기고, 사진 속 나를 신경 쓰고, 다녀와서는 쌓인 피로를 풀고 싶어 합니다. 여행이 나를 위한 시간이라면, 나를 돌보는 관리 역시

By 마이리얼트립