이 문서에서는 의 실시간, 양방향 멀티 에이전트 AI 시스템에 대한 대략적인 아키텍처를 제공합니다. Google Cloud이 시스템은 사용자가 복잡한 구성요소 조립, 장비 오작동 진단, 복잡한 수리 절차 탐색과 같은 기술 작업을 완료하는 데 도움이 됩니다. 에이전트 AI 시스템은 지속적인 양방향 멀티모달 데이터 스트림을 통해 근거가 있는 기술 안내와 자동화된 안전 모니터링을 제공합니다.
이 문서의 주요 대상에는 클라우드에서 AI 인프라 및 애플리케이션을 빌드하고 관리하는 설계자, 개발자, 관리자가 포함됩니다. 이 문서에서는 사용자가 AI 에이전트 및 모델에 대한 기본적인 이해를 갖추고 있다고 가정합니다. 이 문서에서는 AI 에이전트 설계 및 코딩에 관한 구체적인 안내를 제공하지 않습니다.
이 문서의 배포 섹션에는 멀티 에이전트 AI 시스템을 빌드하고 배포하는 방법을 알아보는 데 사용할 수 있는 코드 샘플이 나와 있습니다.
아키텍처
다음 다이어그램은 멀티 에이전트 AI 시스템을 사용하여 실시간 양방향 멀티모달 데이터 스트리밍을 지원하는 아키텍처를 간략하게 보여줍니다.
위 다이어그램의 아키텍처에는 기술 안내와 안전 모니터링이라는 두 가지 워크플로가 있습니다.
- 기술 안내 워크플로 를 사용하면 사용자가 복잡한 기술 문의에 대한 실시간 내레이션 솔루션을 받을 수 있습니다. 이 워크플로는 Gemini Live 모델을 사용하여 멀티모달 스트림을 처리하고 하위 에이전트와 협력하여 지식 데이터베이스에서 근거가 있는 제품 정보를 가져옵니다.
- 안전 모니터링 워크플로 는 기술 절차 중에 사용자 안전을 보장하기 위해 자동화된 위험 감지를 제공합니다. 이 워크플로는 Gemini를 사용하여 라이브 동영상 세그먼트를 분석하고, 잠재적 위험을 식별하고, 클라이언트 대시보드를 통해 즉각적인 경고를 트리거합니다.
다음 탭에는 기술 안내 및 안전 모니터링 워크플로를 보여주는 아키텍처 다이어그램이 나와 있습니다.
기술 안내 워크플로
다음 다이어그램은 기술 안내 워크플로의 세부 아키텍처를 보여줍니다.
위 다이어그램에서는 다음과 같은 데이터 흐름을 보여줍니다.
-
사용자가 클라이언트 대시보드를 통해 음성 기술 문의를 하여 세션을 시작합니다. 예를 들어 기술자가 카메라를 제어판에 대고 '이 빨간색 오류 표시등이 깜박이는 것은 무엇을 의미하나요?'라고 물을 수 있습니다.
-
클라이언트 대시보드는 프런트엔드와 백엔드 서버 간에 영구 WebSocket 연결을 설정합니다.
-
WebSocket 메시지는 원시 멀티미디어 데이터를
Blob객체로 패키징합니다. 에이전트 개발 키트 (ADK)LiveRequestQueue구성요소는 입력 데이터를 디스패처 에이전트로 지속적으로 스트리밍합니다. -
디스패처 에이전트는 기술 안내가 필요한 오디오 또는 시각적 명령어를 감지하고 입력 스트림을 Gemini Live 모델로 전송합니다.
-
Gemini Live 모델은 원시 데이터를 검색하여 이벤트 를 식별합니다. 이벤트는 '조립' 또는 '도움말'과 같은 오디오 키워드 또는 손짓과 같은 시각적 신호입니다.
Gemini는 각 이벤트를 평가하여 사용자 문의와 관련이 있는지 확인합니다. 예를 들어 손동작이나 추임새는 관련이 없을 수 있으므로 Gemini는 이러한 이벤트를 처리하지 않습니다.
-
각 관련 이벤트에 대해 Gemini는 함수 호출을 사용 설정하여 추가 컨텍스트가 필요한지 평가합니다. 추가 컨텍스트가 필요한지 여부에 따라 Gemini 또는 설계자 에이전트가 디스패처 에이전트에 대답을 다시 전송합니다.
-
컨텍스트가 더 필요한 경우 Gemini는 설계자 에이전트 카드를 조회하여 요청을 구성하는 방법을 파악합니다.
-
Gemini는 구조화된 요청을 디스패처 에이전트에 전송합니다. 요청에는 제품 유형, 모델 번호, 이벤트 유형, 속성과 같은 이벤트 세부정보가 포함됩니다.
-
디스패처 에이전트는 Agent2Agent (A2A) 프로토콜 을 사용하여 구조화된 요청을 설계자 에이전트에 전송합니다.
-
설계자 에이전트는 서버리스 VPC 액세스 커넥터를 통해 쿼리를 전송합니다. 커넥터를 사용하면 에이전트가 이 아키텍처의 스토리지 리소스에 사용되는 가상 프라이빗 클라우드 (VPC) 네트워크의 리소스에 안전하게 액세스할 수 있습니다.
-
서버리스 VPC 액세스 커넥터는 Memorystore for Redis Cluster에 저장된 캐시된 데이터와 상호작용합니다. 캐시된 레이어에서 데이터를 사용할 수 없는 경우 설계자 에이전트는 지식 데이터베이스를 호스팅하는 Compute Engine 인스턴스와 상호작용합니다.
-
설계자 에이전트는 데이터 캐시 또는 지식 데이터베이스에서 제품 정보를 수신합니다. 설계자 에이전트는 대답을 생성하기 위해 제품 정보를 Gemini에 전송합니다. 예를 들어 '오류 코드 3B: 팬 오작동. 권장 조치: 장애물 확인'
설계자 에이전트는 제품 정보를 디스패처 에이전트에 다시 전송합니다.
컨텍스트가 더 필요하지 않은 경우 Gemini는 사용자 요청에 대한 대답을 직접 생성합니다.
-
-
디스패처 에이전트는 Gemini 또는 아키텍처 에이전트로부터 대답을 수신하고 멀티모달 대답을 생성합니다.
-
Gemini Live 모델 및 ADK
run_live함수를 사용하여 기술 솔루션이 포함된 멀티모달 대답을 생성합니다. -
대답을
Blob객체로 저장합니다. -
스트리밍 버퍼와 영구 WebSocket 연결을 통해 기술 솔루션을 전송하여 클라이언트 대시보드에 기술 솔루션을 제공합니다.
-
-
클라이언트 대시보드는 기술 솔루션에서
Blob데이터를 추출하여 즉각적인 내레이션 안내를 제공하고 관련 트랜스크립션으로 UI를 업데이트합니다. 활성 양방향 스트림이 유지되는 동안 요청 루프가 완료됩니다.
안전 모니터링 워크플로
다음 다이어그램은 안전 모니터링 워크플로의 세부 아키텍처를 보여줍니다.
위 다이어그램에서는 다음과 같은 데이터 흐름을 보여줍니다.
- 클라이언트 대시보드는 프런트엔드와 백엔드 서버 간에 영구
WebSocket 연결을
설정하여 실시간 동영상
스트림을 관찰합니다. WebSocket 메시지는 이 원시 멀티미디어 데이터를
Blob객체로 패키징하고 ADKLiveRequestQueue구성요소를 사용하여 스트리밍 버퍼로 지속적으로 전송합니다. - 스트리밍 버퍼는 동영상 프레임에서 위험을 감지하기 위해 지속적인 백그라운드 루프에서 실행되는 스트리밍 도구로 입력 스트림을 전달합니다.
- 스트리밍 도구는 스트리밍 버퍼의 최신 동영상 프레임을 Gemini에 전송합니다.
- Gemini는 밝은 빛이나 증기와 같은 위험이 있는지 동영상 프레임
을 관찰합니다.
- 위험이 감지되지 않으면 아무 일도 일어나지 않습니다.
- 위험이 감지되면
Gemini는 위험 유형, 속성, 위치가 포함된
멀티모달 대답을 생성하고
Blob객체로 저장합니다. Gemini 는 위험 경고 대답을 스트리밍 도구에 다시 전송합니다.
- 스트리밍 도구는 위험 경고 대답을 스트리밍 버퍼로 전달합니다.
- 스트리밍 버퍼는 영구 WebSocket 연결을 사용하여 클라이언트 대시보드에 기술 솔루션을 제공합니다.
- 클라이언트 대시보드는 기술
솔루션에서
Blob데이터를 추출하여 즉각적인 내레이션 안내를 제공하고 관련 트랜스크립션으로 UI를 업데이트합니다. 이렇게 하면 활성 양방향 스트림을 유지하면서 요청 루프가 완료됩니다.
사용 제품
이 참조 아키텍처에는 다음과 같은 Google Cloud 제품 및 도구가 사용됩니다.
- Cloud Run: Google의 확장 가능한 인프라에서 직접 컨테이너를 실행할 수 있게 해주는 서버리스 컴퓨팅 플랫폼입니다.
- Gemini: Google에서 개발한 멀티모달 AI 모델 제품군입니다.
- Vertex AI: ML 모델 및 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용하도록 LLM을 맞춤설정할 수 있게 해주는 ML 플랫폼입니다.
- 에이전트 개발 키트 (ADK): AI 에이전트를 개발, 테스트, 배포하는 데 사용할 수 있는 도구 및 라이브러리 모음입니다.
- Agent2Agent (A2A) 프로토콜: 프로그래밍 언어 및 런타임과 관계없이 에이전트 간의 통신 및 상호 운용성을 지원하는 개방형 프로토콜입니다.
- 서버리스 VPC 액세스: 서버리스 환경을 가상 프라이빗 클라우드 네트워크의 리소스에 연결할 수 있는 서비스입니다.
- 가상 프라이빗 클라우드 (VPC): 워크로드에 확장 가능한 전역 네트워킹 기능을 제공하는 가상 시스템입니다. Google Cloud VPC에는 VPC 네트워크 피어링, Private Service Connect, 비공개 서비스 액세스, 공유 VPC가 포함됩니다.
- Memorystore for Redis Cluster: Redis용 완전 관리형 인메모리 데이터 스토어 서비스입니다.
- Compute Engine: Google 인프라에서 가상 머신을 만들고 실행할 수 있는 안전하고 맞춤설정 가능한 컴퓨팅 서비스입니다.
프레임워크, 에이전트 런타임, 도구, 메모리, 설계 패턴을 비롯한 에이전트 AI 시스템의 대체 구성요소 선택에 관한 자세한 내용은 다음 항목을 참조하세요. 에이전트 AI 아키텍처 구성요소 선택
사용 사례
이 참조 아키텍처는 지속적인 양방향 멀티모달 데이터 스트림의 실시간 합성이 필요한 사용 사례를 위해 설계되었습니다. 다음은 이 문서에 설명된 아키텍처의 사용 사례 예시입니다.
- 산업 제조 및 현장 유지보수: 기술자에게 스마트 글라스의 실시간 오디오 및 동영상을 처리하는 AI 어시스턴트를 제공하여 복잡한 기계를 핸즈프리로 수리할 수 있도록 지원합니다. 기술자는 AI 어시스턴트와 대화하여 기계 도면을 가져옵니다. AI 어시스턴트는 제품 문서에 액세스하는 내부 데이터베이스 에이전트를 사용하여 근거가 있는 수리 및 조립 안내를 보장합니다. 동시 백그라운드 비전 도구는 양방향 스트림을 모니터링하여 기술자에게 기계적 위험 또는 잘못된 조립 단계를 사전에 경고합니다.
- 원격 기술 지원: 사용자가 실시간 휴대전화 카메라 피드를 멀티모달 에이전트 AI 시스템과 공유하도록 허용하여 고객 문제 해결 결과를 개선합니다. 양방향 스트리밍 아키텍처는 시스템이 하드웨어를 실시간으로 관찰하는 동적 대화를 지원합니다. 백그라운드 비전 프로세스에서 잘못된 포트의 케이블과 같은 잘못된 연결을 식별하면 시스템은 저지연 스트림을 사용하여 수정 안내로 사용자를 즉시 중단합니다.
설계 고려사항
다음 섹션에서는 AI 에이전트를 설계하고 프로덕션용으로 이 아키텍처를 구현하기 위한 일반적인 권장사항을 제공합니다.
AI 에이전트 설계
에이전트의 비용과 성능을 개선하려면 다음 권장사항을 고려하세요.
- 제어 루프 스크립트: 양방향 실시간 에이전트의 시스템 프롬프트를 단순한 개성 가이드라인이 아닌 엄격한 상태 머신 동작 루프로 작성합니다. 시스템 프롬프트는 트리거될 때까지 에이전트가 침묵을 유지하도록 명시적으로 명령해야 합니다. 음성 상호작용이 간결하고 자연스럽도록 간결하고 작업 우선 대답을 적용해야 합니다.
- 관심사 분리: 전용 백그라운드 스트리밍 도구를 사용하여 기본 에이전트와 독립적으로 동영상 피드를 모니터링합니다. 아키텍처의 루트 에이전트는 양방향이며 자체 음성을 즉시 중단하여 이러한 중요한 안전 경고를 사용자에게 브로드캐스트할 수 있습니다. 또한 단일 에이전트에게 동영상 피드를 지속적으로 모니터링하도록 요청하면 인지 과부하 및 환각이 발생할 수 있습니다.
- 비용 효율적인 프롬프트: 프롬프트 (입력)의 길이와 생성된 대답 (출력)은 성능과 비용에 직접적인 영향을 미칩니다. 짧고 직접적이며 충분한 컨텍스트를 제공하는 프롬프트를 작성합니다. 모델에서 간결한 대답을 얻을 수 있도록 프롬프트를 설계합니다. 예를 들어 '2문장으로 요약' 또는 '주요사항 3가지 나열'과 같은 문구를 포함합니다. 자세한 내용은 프롬프트 설계 권장사항을 참조하세요.
프로덕션 설계
프로덕션용으로 이 아키텍처를 구현하려면 다음 권장사항을 고려하세요.
- 인그레스 보안: 애플리케이션에 대한 액세스를 제어하려면
프런트엔드 Cloud Run 서비스의
기본
run.appURL을 사용 중지하고 리전 외부 애플리케이션 부하 분산기를 설정합니다. 부하 분산기는 애플리케이션으로 들어오는 트래픽의 부하를 분산하는 것 외에도 SSL 인증서 관리를 처리합니다. 보안을 강화하기 위해 Google Cloud Armor 보안 정책 을 사용하여 서비스에 요청 필터링, DDoS 보호, 비율 제한을 제공할 수 있습니다. - 액세스 제어: 토폴로지의 리소스에 대한 권한을 구성할 때는 최소 권한의 원칙을 따르세요.
- 비동기 버퍼링: 들어오는 오디오 및 동영상 패킷을 모델의 추론 엔진에서 분리하려면 스레드로부터 안전한 비동기식 선입선출 (FIFO) 버퍼를 사용합니다. 이 버퍼는 시스템이 과도한 계산 중에 사용자 인터페이스를 정지하지 않고 사용자 중단에 계속 응답하도록 하는 멀티플렉서 역할을 합니다.
- 데이터 수집 비용: 토큰 비용을 줄이고 컨텍스트 윈도우 소진을 방지하려면 초당 2프레임 수와 같은 저빈도 프레임 샘플링을 사용하고 모든 데이터를 Base64 JPEG 파일로 압축합니다.
- 인메모리 캐싱: 밀리초 미만의 읽기 속도를 달성하려면 설계자 에이전트의 도면 보관소에 인메모리 Memorystore for Redis Cluster 데이터베이스를 사용합니다. 이 구현은 지연 시간을 최소화하고, 실시간 음성 상호작용 중에 침묵을 방지하며, 확장 가능한 단일 정보 소스를 제공합니다.
- WebSocket 보안: 모든 양방향 WebSocket 연결에 TLS 암호화를 적용하여 음성 지문 및 동영상과 같은 민감한 멀티모달 데이터를 보호합니다.
- 보안 A2A 통신:
- 인증된 확장 에이전트 카드를 사용하여 A2A 통신을 보호합니다.
- OpenID Connect (OIDC) ID 토큰을 요청에 첨부합니다. OIDC ID 토큰을 사용하면 Identity and Access Management (IAM)를 사용하여 승인된 에이전트만 데이터에 액세스하도록 검증할 수 있습니다.
- 리소스 할당: 성능 요구사항에 따라 Cloud Run 서비스에 할당할 메모리 한도 및 CPU 한도를 구성합니다.
멀티 에이전트 AI 시스템 빌드 및 배포를 위한 설계 요소, 권장사항, 권장사항에 관한 자세한 내용은 의 멀티 에이전트 AI 시스템을 참조하세요. Google Cloud
배포
이 아키텍처의 샘플 구현을 배포하려면 다음 Codelab을 사용해 보세요.
- ADK 양방향 스트리밍 에이전트 Codelab 빌드: 라이브 동영상 스트림을 처리하여 특정 사용자 동작을 인식하는 단일 에이전트 AI 시스템을 빌드합니다.
- 실시간 양방향 멀티 에이전트 시스템 Codelab: 양방향 스트리밍을 사용하여 실시간 음성 및 동영상 상호작용을 지원하는 멀티 에이전트 AI 시스템을 빌드합니다. 이 시스템에는 지속적인 안전 모니터링을 위한 사전 예방적 스트리밍 도구가 포함되어 있습니다.
다음 단계
- 라이브 세션을 시작하고 관리하는 방법을 알아봅니다.
- ADK Gemini Live API 툴킷 소개를 살펴봅니다.
- Cloud Run에서 AI 에이전트를 호스팅하는 방법을 알아봅니다.
- 에이전트 AI 아키텍처 구성요소를 선택하는 방법을 알아봅니다.
- 에이전트 AI 아키텍처 가이드를 더 둘러보기.
- 에서 AI 및 ML 워크로드와 관련된 아키텍처 원칙 및 권장사항에 대한 개요는 Google Cloud Well-Architected Framework의 AI 및 ML 관점 을 참조하세요.
- 그 밖의 참조 아키텍처, 다이어그램, 튜토리얼, 권장사항을 알아보려면 Cloud 아키텍처 센터를 확인하세요.
참여자
저자:
기타 참여자: