기록의 배경
성우를 찾을 때 모든 조건이 정해진 검색어로 나오지는 않습니다. 예를 들어 “차분하지만 힘이 있는 목소리”, “밝고 빠른 게임 캐릭터 연기”처럼 맥락과 인상을 섞어 말하는 경우가 많습니다. VoiceFinder AI Chat은 이런 자연어 요청을 등록된 성우와 음성 샘플을 찾는 검색 과정으로 바꿉니다.
대화를 검색 절차로 바꾸기
AI Chat은 한 번의 답변을 만들어 끝내는 구조보다 도구를 순서대로 호출하는 구조를 택했습니다. 요청을 받은 뒤 성우를 찾을지, 샘플을 찾을지, 특정 성우의 상세 정보를 볼지 판단하고 필요한 조회를 실행합니다. 결과를 제시할 시점에는 별도의 종료 도구를 사용해 같은 내용을 반복 생성하지 않도록 흐름을 닫습니다.
이 구조에서 언어 모델은 검색 조건을 해석하고 다음 도구를 선택하는 역할을 맡습니다. 실제 후보는 시스템에 등록된 성우와 샘플 데이터에서 가져옵니다. 대화가 자연스럽더라도 결과의 근거를 자유 서술에만 두지 않고, 이후 화면과 작업에서 다시 사용할 수 있는 대상에 연결하려는 선택입니다.
성우와 샘플을 다른 결과로 다루기
성우 후보와 음성 샘플은 서로 관련 있지만 같은 결과는 아닙니다. 성우 목록은 누구를 검토할지 보여주고, 샘플 목록은 어떤 목소리와 연기를 직접 들어볼지 보여줍니다. VoiceFinder는 두 종류의 결과를 각각 저장할 수 있는 형태로 대화 기록에 남깁니다.
이 구분은 ‘조건에 맞는 사람이 누구인가’와 ‘지금 들어볼 근거가 무엇인가’를 한 화면에서 섞지 않게 합니다. 특정 성우를 더 살피거나 다른 조건으로 샘플을 다시 찾는 후속 대화도 같은 도구 흐름 안에서 이어갈 수 있습니다.
모델을 바꿔도 검색 흐름은 유지하기
AI Chat은 언어 모델 공급자별 호출 방식과 도구 형식의 차이를 서버 경계에서 나눕니다. 공통 진입점은 대화 스트림과 도구 실행 흐름을 유지하고, 각 공급자 어댑터가 세부 메시지 형식을 처리합니다. 한 모델의 응답 형식이 전체 검색 경험의 구조가 되지 않도록 분리한 셈입니다.
다만 이 분리는 검색 결과의 정확성을 보장하지 않습니다. 자연어 해석과 후보 적합성은 별도로 검토해야 하며, 외부 검색 결과가 섞일 수 있는 경로와 등록 데이터 결과도 구분해야 합니다. 이 글은 등록된 성우와 샘플을 찾는 핵심 흐름만 설명합니다.
기록 정보
2026년 10월 2일에 기능과 설계를 정리한 기술 기록입니다. 표시된 날짜는 이 글의 정리일이며, 각 기능의 개발일이나 출시일을 뜻하지 않습니다.
결과 이미지는 실제 chat.tsx의 샘플·성우 결과 카드 구조를 익명 예시로 렌더링한 뒤 AI 편집했습니다. 도구와 ID 도식은 현행 구현의 구조 설명이지 실제 AI 호출·DB 조회 로그가 아닙니다. 2026년 10월 6일에 그림 배치를 교체했으며 제목·설명은 별도 웹 텍스트입니다.
