데스크톱 기반 다중 AI 에이전트 회의 시스템
개발

데스크톱 기반 다중 AI 에이전트 회의 시스템

작성일: 2026년 03월 16일·...

아이디어 도출

여러 AI가 하나의 주제를 두고 각자의 페르소나에 맞춰 의견을 나누는 모습을 상상해 보았습니다. 단순히 사용자와 AI가 1대1로 질문과 답변을 주고받는 것을 넘어, 서로 다른 전문 분야(의사, 기자, 셰프 등)를 가진 AI들이 서로의 의견을 듣고 새로운 인사이트를 도출하는 플랫폼을 만들고자 했습니다. 언제든 쉽게 열어볼 수 있는 가상의 사무실 느낌을 주기 위해 데스크톱 환경에 상주하는 형태로 기획했습니다.

기술 방향성

웹 브라우저의 제약에서 벗어나 네이티브 수준의 성능과 OS 통합을 이루기 위해 데스크톱 애플리케이션 형태로 방향을 잡았습니다. 데스크톱 앱 내에서 부드러운 3D 아바타 모델링을 보여주면서, AI 릴레이 대화 파이프라인과 음성 합성 기능이 동시에 매끄럽게 돌아가야 했습니다. 이를 위해 백엔드와 프론트엔드의 역할을 명확히 나누고, 무거운 로직과 API 통신은 시스템 자원 접근이 용이한 코어 단에서 처리하도록 설계했습니다.

기술 스택

  • 코어 및 백엔드: Tauri(v2), Rust
  • 프론트엔드: React 19, Vite, Tailwind CSS v4
  • 상태 관리: Zustand
  • 3D 시각화: Three.js, React Three Fiber
  • AI 추론: Gemini 2.5 Flash API
  • 음성 합성: OpenAI TTS (tts-1)
  • 난이도 별 기술과제

  • 하 (상태 관리 로직 구성): 여러 에이전트의 상태(대기, 작업 중, 완료)와 전체 회의 컨텍스트를 전역적으로 관리하는 작업이었습니다. 상태 관리 라이브러리를 활용해 각 에이전트의 턴이 돌아올 때마다 UI가 자연스럽게 반응하도록 구현하는 것은 비교적 수월했습니다.
  • 중 (안정적인 다중 AI 파이프라인 구축): 독립된 페르소나를 가진 여러 에이전트가 공유된 문맥 안에서 릴레이로 대화를 이어가도록 파이프라인을 설계하는 과정입니다. 전체 회의 맥락을 주입하고, 각 에이전트가 단문 형태의 핵심 인사이트를 생성한 뒤 순차적으로 턴을 넘기는 흐름을 연출하는 것이 핵심이었습니다.
  • 상 (3D 렌더링과 비동기 로직의 결합): React Three Fiber로 구현된 3D 렌더링 뷰포트 위에서 Tauri 코어의 상태 변화를 실시간으로 동기화하는 작업이었습니다. 메인 렌더링 스레드가 멈추지 않으면서 텍스트 생성과 동시에 오디오 버퍼를 지연 없이 재생하도록 처리하는 것이 가장 까다로웠습니다.
  • TTS 모델 선정

    텍스트를 생성하는 것만큼이나 이를 어떤 목소리로 전달하느냐가 시스템의 몰입도에 큰 영향을 미쳤습니다. 초기에는 무료로 접근 가능한 다양한 TTS 방법을 검토했고, edge-tts-universal과 같은 패키지를 통해 클라이언트 단에서 직접 음성을 처리해보려는 시도도 있었습니다. 하지만 에이전트들의 특성에 맞는 자연스러운 억양과 감정 표현력을 끌어내기에는 품질과 일관성 면에서 아쉬움이 남았습니다. 수많은 테스트 끝에, 응답 속도가 빠르고 억양 처리가 압도적으로 자연스러운 OpenAI의 TTS API를 Rust 코어에서 직접 호출하는 방식으로 선회했습니다. 의사는 깊이 있는 onyx, 기자는 명확한 nova, 교사는 차분한 sage 등 구체적인 프로필 맵핑이 가능해지면서 드디어 의도했던 감각적이고 입체적인 회의실 분위기를 완성할 수 있었습니다.

    v1 완성

    이러한 고민과 과정을 거쳐 각자의 개성을 가진 AI들이 3D 화면에 모여 하나의 주제를 탐구하는 데스크톱 앱의 첫 번째 버전이 완성되었습니다. 이제 사용자가 던진 하나의 안건이 여러 AI의 입을 거쳐 다각도의 통찰력 있는 결과물로 확장되는 것을 생생하게 지켜볼 수 있게 되었습니다.