AI VIDEO BRIEFING
음성 AI 에이전트 관측: 구글 ADK·제미나이 라이브 통화를 랭스미스로 추적하는 법
구글 ADK와 제미나이 라이브로 만든 음성 에이전트를 랭스미스에 연결하는 과정을 정리했다. 대화 음성과 툴 호출 인자, 사용자가 끼어든 중단 이벤트, 오디오 토큰 비용까지 한 화면에서 확인할 수 있다.

핵심 메시지
쉽게 이해하기
영상은 구글의 에이전트 개발 키트(ADK)와 제미나이 라이브 모델로 만든 음성 에이전트를 랭스미스에 연결해, 통화 중 실제로 어떤 일이 벌어지는지 들여다보는 과정을 처음부터 끝까지 보여준다. 제미나이 라이브는 구글의 네이티브 오디오 모델로, 사용자의 음성을 텍스트로 옮기는 단계를 거치지 않고 음성을 그대로 받아 음성으로 답한다. 그 덕분에 사용자가 말을 마친 뒤 응답이 나오기까지의 지연이 짧고, 목소리도 훨씬 자연스럽고 감정이 실린 것처럼 들린다.
예제로 쓰인 에이전트는 터미널에서 돌아가는 단순한 날씨 비서다. 시간을 알려주는 도구와 날씨를 조회하는 도구 두 개만 붙어 있어서, 도시 이름을 말하면 에이전트가 직접 조회해 답한다. 실제 서비스라면 상황별 지시가 잔뜩 들어간 긴 프롬프트가 필요하지만, 여기서는 말투와 능력만 알려주는 몇 문장으로 끝냈다. 나머지 코드는 사용자의 음성을 모델로 보내고, 입력·출력 음성 전사를 켜고, 음성 활동 감지의 민감도를 잡고, 터미널 화면을 갱신하는 배관 작업이다.
추적은 랭체인이 내놓은 랭스미스-ADK 네이티브 통합으로 붙인다. 랭스미스 SDK에서 ADK 플러그인 클래스를 가져와 추적을 남길 프로젝트 이름, 태그, 메타데이터, 스레드 ID를 뽑아낼 함수를 설정하고, 이 플러그인을 러너에 등록하면 대부분의 추적이 자동으로 걸린다. 남은 한 가지가 대화 음성 녹음이다. 음성 에이전트가 고객과 주고받은 내용의 진짜 원본은 결국 그 오디오이기 때문에, 음성이 빠진 추적은 반쪽짜리라는 것이 영상의 설명이다.
플러그인은 사용자 음성과 에이전트 음성을 각각 기록하는 두 함수를 제공한다. 사용자 쪽은 들어온 음성 조각을 그대로 넘기면 되지만, 에이전트 쪽은 까다롭다. 에이전트가 길게 답하는 도중에 사용자가 말을 끊었다면, 생성된 전체 음성이 아니라 실제로 들린 데까지만 잘라 남겨야 하기 때문이다. 어디서 기록을 걸지는 음성 입출력이 어떤 경로로 흐르고 스피커와 어떻게 연결돼 있는지에 달려 있으며, 영상에서는 출력 오디오 클래스의 재생 콜백 지점에 기록을 넣었다.
완성된 추적 화면에서는 대화 상단에 음성 타임라인이 뜨고 사용자가 말한 구간과 에이전트가 말한 구간이 서로 다른 색으로 구분된다. 오른쪽에는 제미나이 라이브가 제공하는 입력·출력 전사를 바탕으로 한 대화 기록이 붙고, 각 툴 호출의 인자와 결과, 걸린 시간이 그대로 남는다. 대화 턴 종료나 사용자가 끼어든 중단 이벤트도 기록되고, 사용량 메타데이터에서는 입력·출력에 쓰인 오디오 토큰까지 포함한 비용 내역을 볼 수 있다.
주요 인사이트
- 음성 에이전트의 품질 문제는 대개 '무슨 말을 주고받았는지'가 아니라 '언제 끊기고 어떤 도구가 얼마나 걸렸는지'에서 드러난다. 중단 이벤트와 툴 소요 시간이 추적에 함께 남는 이유다.
- 음성 대 음성 모델은 지연과 자연스러움을 얻는 대신 텍스트 로그가 자동으로 남지 않는다. 입력·출력 전사를 설정에서 켜두는 것이 사후 분석의 전제 조건이 된다.
- 비용 관리 관점에서 오디오 토큰은 텍스트 토큰과 따로 집계된다. 사용량 메타데이터를 확인해 두지 않으면 음성 에이전트의 실제 운영비를 가늠하기 어렵다.
- 추적은 목적이 아니라 출발점이다. 쌓인 기록은 평가 실행, 데이터셋 구성, 주석 큐, 대시보드, 공유와 디버깅 같은 텍스트 에이전트에서 하던 작업에 그대로 재사용된다.
자주 묻는 질문
제미나이 라이브가 기존 음성 파이프라인과 다른 점은 무엇인가?
음성을 텍스트로 전사한 뒤 처리하는 대신 음성을 그대로 입력받아 음성을 출력한다. 중간 변환이 없어 응답 지연이 짧고, 목소리도 더 자연스럽고 감정 표현이 살아 있다.
랭스미스 추적을 붙이려면 무엇을 해야 하나?
랭스미스 SDK의 ADK 플러그인 클래스를 가져와 프로젝트 이름·태그·메타데이터·스레드 ID 추출 함수를 설정하고 러너에 등록하면 된다. 추가로 사용자와 에이전트의 대화 음성을 기록하는 호출을 각각 넣어야 한다.
에이전트 음성 녹음에서 주의할 점은?
모델이 생성한 음성 전체가 아니라 사용자가 실제로 들은 부분까지만 남겨야 한다. 사용자가 도중에 말을 끊으면 그 시점까지 잘라 기록해야 하며, 기록을 거는 위치는 음성 출력 경로에 따라 달라진다.
추적 화면에서 확인할 수 있는 정보는?
사용자와 에이전트의 발화 구간이 표시된 음성 타임라인, 대화 전사, 각 툴 호출의 인자·결과·소요 시간, 턴 종료와 중단 이벤트, 그리고 오디오 토큰을 포함한 비용 내역이다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗