정해진 통화 목적과 병원 정책에 따라 환자에게 먼저 연락합니다.
반복되는 운영 업무를,
프로덕션 AI 시스템으로.
병원의 전화 업무를 AI가 실제로 처리하게 만들고, 그 시스템을 설계부터 운영까지 책임집니다. 같은 방식을 통화 분석과 사내 업무지원 AI로 넓혀 왔습니다.
병원 전화 Voice AI에서 시작해 통화 분석 및 평가 · 챗봇 고객상담 · AIU 사내 업무지원까지 운영 AI 제품의 범위를 넓혀 왔습니다.
키보드 ← → 또는 화면 클릭으로 다음 슬라이드
기술이 아니라, 업무 구조에서 시작합니다
무엇을 쓸지 고르기 전에, 누가 무엇을 반복하고 어떤 예외가 운영을 멈추게 하는지부터 정의합니다.
- 2014.12 – 2016.02 예스콜닷컴웹 개발자 반응형 웹 빌더·쇼핑몰 플랫폼의 프론트엔드와 백엔드 개발
- 2017.10 – 2018.12 투미유소프트웨어 엔지니어 영어회화 학습 서비스의 iOS 앱·백엔드 개발과 AWS 인프라 운영
- 2019.03 – 2025.02 투썬월드소프트웨어 엔지니어 교육·AI 웹 제품, 데이터 수집 파이프라인, RAG 비자 챗봇을 엔드투엔드 개발
- 2025.03 – 현재 와이즈에이아이AI 엔지니어 / AI 프로덕트 팀장 Voice AI·통화 분석·고객상담·사내 업무지원 AI의 설계부터 운영까지 리드
일하는 방식
- 01업무 이해반복 구간과 사람이 병목이 되는 지점을 먼저 찾습니다.
- 02경계 설계정책·권한·예외를 코드와 설정으로 고정해 모델의 추론과 분리합니다.
- 03제품화실제 도구·데이터·채널에 연결해 운영 가능한 상태까지 만듭니다.
- 04운영 개선관측과 평가 결과를 다음 설계의 근거로 되돌립니다.
프론트엔드·백엔드·인프라 경험 위에서 Multi-Agent, 실시간 음성 처리, 검색, LLM 평가를 하나의 제품 경계로 연결해 왔습니다.
End-to-end product scope
사용자 접점에서 데이터·인프라까지 연결하고, 운영 결과를 다시 설계로 되돌립니다.
- 01 사용자 접점Voice · Web · Slack WebRTCAG-UINext.jsReact
- 02 Agent 런타임추론 · Workflow · 업무 경계 LiveKit AgentsLangGraphDeep AgentsLangChain
- 03 애플리케이션서비스 · API · Tool 구현 PythonTypeScriptBunFastAPI
- 04 데이터 기반저장 · 검색 · 이벤트 전달 PostgreSQLMySQLRedisQdrant HybridKafkaRabbitMQ
각 Chapter가 답하는 질문
네 Chapter는 각각 하나의 질문에 답하고, 그 답을 코드와 운영으로 확인 가능한 설계 증거로 뒷받침합니다. 행을 누르면 해당 Chapter로 이동합니다.
인/아웃바운드 Voice Call Agent
병원의 예약 확인·안내 전화를 자동 발신하고, 걸려오는 문의를 예약 신청·병원 안내·상담원 연결로 이어가는 실시간 Voice AI 시스템입니다.
예약 신청·조회, 병원 정보 안내, 상담원 연결과 메모 접수로 이어갑니다.
통화 Context · 병원별 정책 · 예약 Tool · 상담원 연결을 같은 Agent 구조에서 운영합니다.
전체 시스템 아키텍처
전화망, 실시간 미디어, Agent 실행, 업무 API와 후처리를 서로 다른 책임으로 분리했습니다.
미디어 전달과 Agent compute를 분리하고, 통화마다 격리된 job이 Room에 참가합니다.
Kafka가 실시간 경로와 분석의 경계입니다. 분석이 지연되거나 실패해도 전화 처리 경로는 계속 동작합니다.
LiveKit 기반 실시간 음성 처리
LiveKit Server는 미디어를 전달하고, 통화별 Agent job이 STT·LLM·TTS와 Tool 실행을 담당합니다.
job dispatch
audio publish
Interruption · 환자가 끼어들면 생성·합성·재생을 중단하고, 실제로 들은 지점에 맞춰 다음 turn을 이어갑니다.
안전한 Tool Calling 기반 예약 처리
LLM은 예약을 직접 확정하지 않습니다. 병원 정책을 확인하고, 조회된 일정과 환자의 동의가 일치할 때만 예약 신청을 기록합니다.
auto코드 검증 후 AI가 처리transfer상담원 연결로 전환leave_memo메모를 접수하고 종료병원마다 신규 예약·조회에 다른 action mode를 적용합니다.
진료과·의료진·날짜 조건으로 후보를 가져옵니다.
stage_booking만 확인 문구를 만듭니다.
날짜·시간·진료과를 듣고 확인합니다.
현재 staging과 동의 대상이 같을 때만 진행합니다.
EarliestOffer가 다음 승인에 다시 사용됨Warm Transfer 기반 상담 연속성
AI가 모든 통화를 끝내는 것이 목표가 아닙니다. 사람의 판단이 필요한 순간에도 환자가 같은 맥락으로 상담을 이어가게 만듭니다.
SIP REFER로 즉시 전달하고 caller가 LiveKit Room을 떠나면서 AI 세션이 끝납니다. 상담 맥락 브리핑은 없습니다.
환자를 대기시키고 상담원 응답을 확인한 뒤, AI가 요청과 대화 맥락을 브리핑하고 연결 후 이탈합니다.
LiveKit 공식 Warm Transfer의 사용자 경험 단계를 참고하되, 현재 구현은 custom SingleRoomWarmTransferTask입니다.
상담원 연결 요청을 순서대로 처리합니다
인바운드와 아웃바운드 요청이 동시에 들어오면 병원별 하나의 대기줄에 세우고, 먼저 기다린 통화부터 상담원에게 연결합니다.
인바운드와 아웃바운드를 따로 세우지 않아 어느 방향도 순서를 새치기하지 않습니다.
다음 순서를 엽니다.
성과와 배운 점
프로덕션에서 반복 통화를 운영하며, AI가 직접 끝낸 일과 사람에게 이어준 일을 실제 결과로 확인했습니다.
실제 인바운드 처리 결과
2026.08.13–26 · PROD상담원 연결이나 메모 접수 없이 AI가 끝까지 처리한 통화입니다.
업무별 숫자는 각 요청을 시도한 건 중 해당 흐름을 끝까지 처리한 비율입니다. 예약 신청은 신청 정보 기록이며, 변경·취소 완료도 실제 EMR 상태 변경 수치가 아닙니다.
운영하며 배운 세 가지
인/아웃바운드 통화 분석 및 평가
2026 · Kafka 기반 후처리·평가 파이프라인 · 설계·구현
대화 내용·시스템 이벤트·녹음을 결합해 업무 처리 결과와 대화 품질을 분석하고 운영 지표로 제공합니다.
상담원 연결 이후 통화 내용 복원
AI가 대화에서 빠진 이후의 환자·상담원 발화를 녹음에서 복원해, 한 통화의 전체 시간순 기록을 만듭니다.
28개 규칙 기반 통화 분류
Developer 이벤트를 규칙으로 해석해 예약·정보·상담원·종료 활동을 28개 항목으로 표시합니다. 한 통화에서 여러 항목이 동시에 감지될 수 있습니다.
업무별 처리 결과와 통화 결과 분류
한 통화 안의 여러 업무 결과는 각각 기록하고, 통화 전체의 대표 결과는 하나만 남겨 중복 집계를 막습니다.
예약 조회
조회 결과를 환자에게 안내
처리 완료예약 변경
본인 확인 단계에서 중단
미완료상담원 연결
상담원이 요청을 수락
처리 완료업무별 결과는 보존하고, 고정된 규칙으로 대표 결과 하나만 집계합니다.
LLM 기반 대화 품질 평가
업무 처리 결과는 규칙으로 유지하고, 요청 의도·응답 품질처럼 해석이 필요한 항목만 실제 대화 근거를 요구해 LLM으로 평가합니다.
목요일 오후를 요청한 근거 없음
USER TURN · valid for patient intent“목요일 오후 가능합니다”
ASSISTANT TURN · response evidence only환자는 목요일 오후를 원함
환자 의도는 환자 발화만 근거로 사용
운영 지표로 현황 확인
응대·셀프 처리·예약·상담원 연결과 초기이탈을 같은 기간에서 비교해 운영 상태의 변화를 먼저 확인합니다.
통화 분석으로 문제 진단
통화를 하나의 결과와 업무별 시도로 나눠 어디에서 실패했고 다음 개선을 누가 맡아야 하는지 확인합니다.
분석 결과를 운영 개선으로 연결
지표를 보는 데서 끝내지 않고, 문제를 찾은 뒤 규칙을 검증하고 과거 통화를 같은 기준으로 다시 계산합니다.
병원 고객상담 AI Agent
2025.03 – 2026.03 · 초기 상담 그래프와 서비스 경계 설계·주요 구현
웹·Kakao에서 환자 문의를 받고, 병원별 지식 안내부터 필요한 상담 절차까지 이어주는 텍스트 기반 상담 챗봇입니다.
LangGraph 기반 상담 시스템 아키텍처
정해진 규칙으로 먼저 처리하고, 필요한 문의만 상담 Agent와 도구 실행으로 연결합니다.
Entry Harness
규칙 우선 처리
상태 기반 상담 흐름
개인정보 수집이 중간에 끼어들어도 원래 질문과 이미 수집한 값을 보존해 상담을 이어갑니다.
질문 접수
상담 목적과 후속 질문을 함께 이해합니다.
messages원래 질문 보관
개인정보 수집 전에 첫 질문을 잠시 저장합니다.
pending_question개인정보 수집
동의 후 이름·전화번호·생년월일을 확인합니다.
customer info필드별 상태 병합
새 값만 더하고 이미 수집한 값은 지우지 않습니다.
collected_info원래 질문으로 복귀
연결 신청과 임플란트 질문을 이어서 처리합니다.
current_node병원별 지식 검색과 근거 응답
같은 질문도 병원마다 답이 다르기 때문에 병원과 질문 종류를 먼저 좁힌 뒤 근거가 있는 답만 사용합니다.
질문 해석
운영시간과 진료과 정보를 함께 찾아야 하는 질문입니다.
병원·주제 제한
검색 전에 현재 병원과 질문 종류를 먼저 고정합니다.
근거 선택
채널 응답 변환
데모가 아니라, 300개 병원에서 운영 중인 제품입니다
2025년 5월 출시 후 1년 3개월 — 실제 퍼널 수치와, 그 수치를 만든 설계 원칙입니다.
상담원 연결
다 맡기지 않았습니다
정답이 정해진 질문은 규칙이 답하고, 생성형 답변은 마지막 수단으로 남겼습니다. 병원이 300개로 늘어도 답변 품질이 흔들리지 않은 이유입니다.
사내 AX 프로젝트 — 동료의 반복 업무를 AI 코워커에게
2026.08 – 현재 · 설계·구축 · AX(AI Transformation): 반복 업무를 AI로 전환하는 사내 프로젝트
매뉴얼·통화 기록·운영 지표가 흩어져 있어, 답 하나 찾으려면 사내 시스템 여러 곳을 뒤져야 했습니다. 동료가 이미 쓰는 웹과 Slack에서 질문 한 번으로 답을 받는 사내 AI 코워커를 만들었습니다.
AIU는 병원 AI 제품군(전화 AI · 통화 분석 · Agent Admin · 운영 도구)의 이름이고, OpenBot은 신원·권한·실행·감사를 담당하는 사내 Agent 플랫폼입니다. AIU 코워커는 OpenBot 위에서 동작합니다.
운영 동료의 하루에서, 세 장면을 따라갑니다
OpenBot 위에서, Supervisor가 네 전문 Agent를 지휘합니다
권한·감사·실행은 플랫폼(OpenBot)이 맡고, 도메인 지식과 답변은 범위를 나눈 전문 Agent가 맡는 Multi-Agent 구조입니다.
위임 — 범위를 나눈 전문 Agent 넷
인바운드
받는 전화 · 통화 조회 · QA
아웃바운드
거는 전화 · 전환 분석
Agent Admin
통화 관리 화면 매뉴얼
HQ · SVC
본사·서비스 운영 도구
지식 번들
5개 제품 · 322개 문서 — 읽기 전용, Agent마다 선언된 자기 소스만 접근합니다
운영 데이터베이스
MySQL — SELECT-only, 이름·전화번호·원문을 제외하고 조회합니다
기술 스택
자연어로 물으면, 검증된 지표로 답합니다
왜 지표 계산을 코드가 소유하나
"전환율"이 무엇을 세는지가 질문마다 달라지면 대시보드와 답변이 어긋납니다. 계산 규칙을 코드에 고정해 누가 언제 물어도 같은 숫자가 나오게 했습니다.
- 한 전화번호가 여러 번 기록돼도 최대 1건으로만 집계합니다
- 메모 접수로 마무리된 통화는 전환 실패로 세지 않습니다
무슨 일이 있었는지, 안전장치 안에서 확인합니다
환자와의 대화 원문은 민감 정보입니다. 검토는 하되 유출은 못 하도록 네 개의 안전장치를 코드로 강제했습니다.
322개 매뉴얼에서 근거를 찾아, 화면까지 붙여 답합니다
한 AI가 다 읽지 않고, 제품별 전문 Agent 넷이 나눠 맡습니다. 각자 자기 제품의 매뉴얼만 읽을 수 있어, 비슷한 화면이 많아도 답이 섞이지 않습니다.
받는 전화 담당
인바운드 Voice AI
거는 전화 담당
아웃바운드 Voice AI
Agent Admin 담당
통화 관리 화면
HQ · SVC 담당
본사·서비스 운영 도구
다음 단계 — 찾아주는 AI에서, 실행하는 AI로
지금 AIU 코워커는 찾아서 답하는 읽기 전용입니다. 실행을 맡길 기반은 이미 준비되어 있습니다.
묻고, 찾고, 답한다
- 매뉴얼 답변 · 통화 조회 · 통화 QA를 웹과 Slack에서
- 3주 만에 구축 — 5개 제품 · 322개 문서 · 4개 전문 Agent · 45개 계약 테스트
- 읽기 전용 지식 · SELECT-only 조회 · 개인정보 마스킹
같은 거버넌스 위에서, 반복 업무를 직접 수행한다
매뉴얼로 안내하던 반복 운영 업무를 AI가 직접 수행하는 AX 자동화로 확장합니다. 실행 기반은 OpenBot에 이미 있습니다.
- 정책 평가 → 감사 기록 → 실행 — 기록 없이 움직이는 경로가 없습니다
- Bot마다 격리된 컨테이너 브라우저로 화면 작업 수행
- 민감한 작업은 사람이 승인한 뒤에만 진행
AI를 가능성에서
프로덕션으로 옮기는
엔지니어입니다.
병원 전화 · 통화 분석 · 챗봇 상담 · 사내 업무지원 — 업무를 이해하고, 할 일과 안 할 일을 정하고, 운영으로 증명합니다.