01 / 입력의 불확실성키오스크 · 음성 검색
- 마주한 문제
- 음성 인식 결과를 그대로 검색에 사용하면 잘못 인식한 단어가 검색 결과에도 영향을 줍니다.
- 선택한 방법
- 음성 인식 이후 LLM 보정과 RAG 검색을 연결하고, 검색 결과를 화면에서 실행할 JSON 액션으로 변환했습니다.
- 적용한 결과
- 말을 텍스트로 바꾸는 단계부터 검색과 화면 동작까지 하나의 처리 흐름으로 연결했습니다.
음성 보정과 검색 흐름 읽기02 / 연결과 복구DID · 실시간 송출
- 마주한 문제
- 단말의 연결이 끊기거나 늦게 합류하면, 현재 재생 상태와 그룹의 전환 시점이 달라질 수 있습니다.
- 선택한 방법
- 재접속한 단말은 현재 콘텐츠를 먼저 개별 재생하고, 다음 콘텐츠 전환 명령부터 그룹 동기화에 합류하도록 했습니다.
- 적용한 결과
- 방장 연결 해제에 따른 제어 역할 승계와 멤버 재접속을 구분해, 상황별 복구 흐름을 구성했습니다.
재접속과 재생 복구 과정 읽기03 / 조회 성능이커머스 · 운영 통계
- 마주한 문제
- 정산·매출·원가·할인 데이터를 함께 조인하는 통계 조회가 무거워졌습니다.
- 선택한 방법
- 인덱스를 적용하고 조인 전에 데이터를 줄였습니다. 전날 데이터를 미리 집계해 조회 시 반복하는 계산을 나눴습니다.
- 적용한 결과
- 저장 프로시저에서 통계 계산을 나누고, 계산된 데이터를 운영 화면의 시각화로 연결했습니다.
조회 구조를 바꾼 과정 읽기04 / 외부 서비스 의존성키오스크 · 음성 안내
- 마주한 문제
- 동일한 안내도 매번 TTS API에 요청하면 네트워크 지연이나 단절이 음성 재생에 영향을 줍니다.
- 선택한 방법
- 안내 문구의 해시로 로컬 MP3를 먼저 조회하고, 파일이 없을 때만 원격 합성 후 저장하도록 했습니다.
- 적용한 결과
- 한 번 저장한 안내는 네트워크 없이 다시 재생할 수 있도록 했습니다.
음성 파일 캐싱 흐름 읽기05 / 시스템 간 약속키오스크 · 웹–앱 연동
- 마주한 문제
- 웹 요청에 대한 응답과 앱이 먼저 보내는 이벤트가 섞이면, 화면이 무엇을 기다리고 어떻게 처리할지 모호해집니다.
- 선택한 방법
- command와 messageId로 요청·응답 기준을 정하고, 실패 코드를 화면 중단·경고 후 진행·직원 호출로 나눴습니다.
- 적용한 결과
- 기획의 처리 조건을 통신 규약과 화면 분기에 연결해 구현 기준으로 사용했습니다.
요청과 실패 처리 규약 읽기