이 문서에서는 Google Cloud에서 단일 에이전트 AI 시스템을 설계하는 데 도움이 되는 참조 아키텍처를 제공합니다. 이 아키텍처의 단일 에이전트 시스템은 에이전트 개발 키트 (ADK)를 사용하여 빌드되며 Cloud Run에 배포됩니다. Vertex AI Agent Engine 또는 Google Kubernetes Engine (GKE)에 에이전트를 배포할 수도 있습니다. 이 아키텍처는 에이전트가 여러 소스의 정보에 액세스하고 이를 처리하여 컨텍스트가 풍부한 통계를 제공할 수 있도록 지원하는 모델 컨텍스트 프로토콜 (MCP)을 사용합니다.
이 문서는 AI 애플리케이션의 설계자, 개발자, 관리자를 대상으로 합니다. 여기에서는 AI, 머신러닝 (ML), 대규모 언어 모델 (LLM) 개념에 대한 기본 이해가 있다고 가정합니다. 또한 이 문서에서는 AI 에이전트 및 모델에 대한 기본적인 이해가 있다고 가정합니다. AI 에이전트를 설계하고 코딩하는 방법에 대해서는 구체적으로 설명하지 않습니다.
이 문서의 배포 섹션에는 단일 에이전트 AI 시스템을 빌드하고 배포하는 방법을 알아볼 수 있는 코드 샘플이 나열되어 있습니다.
아키텍처
다음 다이어그램은 Cloud Run에 배포된 단일 에이전트 AI 시스템의 아키텍처를 보여줍니다.
아키텍처 구성요소
예시 아키텍처는 다음 구성요소로 구성됩니다.
| 구성요소 | 설명 |
|---|---|
| 프런트엔드 | 사용자는 서버리스 Cloud Run 서비스로 실행되는 채팅 인터페이스와 같은 프런트엔드를 통해 에이전트와 상호작용합니다. |
| 에이전트 | 에이전트는 사용자 요청을 수신하고, 사용자 의도를 해석하고, 적절한 도구를 선택한 다음, 정보를 합성하여 질문에 답변합니다. |
| 에이전트 런타임 | 에이전트는 ADK를 사용하여 빌드되며 서버리스 Cloud Run 서비스로 배포됩니다. Vertex AI Agent Engine에 에이전트를 배포하거나 GKE에 컨테이너화된 앱으로 배포할 수도 있습니다. 에이전트 런타임을 선택하는 방법에 관한 자세한 내용은 에이전트 AI 아키텍처 구성요소 선택하기를 참고하세요. |
| ADK | ADK는 에이전트를 개발, 테스트, 배포하는 도구와 프레임워크를 제공합니다. ADK는 에이전트 생성의 복잡성을 추상화하여 AI 개발자가 에이전트의 로직과 기능에 집중할 수 있도록 지원합니다. ADK를 사용하여 에이전트를 개발할 때 Google 검색과 같은 기본 제공 도구에 액세스하고 이를 사용하도록 에이전트를 구성할 수 있습니다. |
| AI 모델 및 모델 런타임 | 추론 제공을 위해 이 예시 아키텍처의 에이전트는 Vertex AI의 Gemini AI 모델을 사용합니다. |
| MCP 도구 상자 | 데이터베이스용 MCP 도구 상자는 에이전트를 위한 데이터베이스별 도구를 제공합니다. 연결 풀링 및 인증과 같은 복잡성을 처리할 수 있습니다. |
| MCP 클라이언트, 서버, 도구 | MCP는 에이전트와 도구 간의 상호작용을 표준화하여 도구에 대한 액세스를 용이하게 합니다. 각 에이전트-도구 쌍에 대해 MCP 클라이언트는 에이전트가 파일 시스템이나 API와 같은 도구에 액세스하는 MCP 서버에 요청을 보냅니다. 예를 들어 StackOverflow LangChain 도구 및 Google 검색 도구와 같은 외부 도구는 데이터와 그라운딩을 제공할 수 있습니다. |
| 관측 가능성 | 에이전트는 로깅, 모니터링, 추적을 위해 Google Cloud Observability를 사용하여 모니터링됩니다. |
에이전트형 흐름
위 아키텍처의 단일 에이전트 시스템 예시에는 다음과 같은 흐름이 있습니다.
- 사용자가 서버리스 Cloud Run 서비스로 실행되는 채팅 인터페이스와 같은 프런트엔드를 통해 프롬프트를 입력합니다.
- 프런트엔드가 프롬프트를 에이전트로 전달합니다.
- 에이전트는 AI 모델을 사용하여 사용자의 프롬프트를 추론하고 대답을 합성합니다.
- AI 모델은 컨텍스트 정보를 수집하거나 작업을 실행하는 데 사용할 도구를 결정합니다.
- 에이전트가 도구 호출을 실행하고 응답을 컨텍스트에 추가합니다.
- 에이전트는 그라운딩 및 중간 유효성 검사를 실행합니다.
사용 제품
이 참조 아키텍처에는 다음과 같은 Google Cloud 및 오픈소스 제품과 도구가 사용됩니다.
- Cloud Run: Google의 확장 가능한 인프라에서 직접 컨테이너를 실행할 수 있게 해주는 서버리스 컴퓨팅 플랫폼입니다.
- Gemini: Google에서 개발한 멀티모달 AI 모델 제품군입니다.
- Vertex AI: ML 모델 및 AI 애플리케이션을 학습 및 배포하고 AI 기반 애플리케이션에서 사용하도록 LLM을 맞춤설정할 수 있게 해주는 ML 플랫폼입니다.
- 모델 컨텍스트 프로토콜 (MCP): AI 애플리케이션을 외부 시스템에 연결하기 위한 오픈소스 표준입니다.
- 데이터베이스용 MCP 도구 상자: 연결 풀링, 인증, 모니터링 가능성과 같은 데이터베이스 복잡성을 관리하여 AI 에이전트가 데이터베이스에 안전하게 연결할 수 있도록 지원하는 오픈소스 모델 컨텍스트 프로토콜 (MCP) 서버입니다.
- Google Cloud Observability: 애플리케이션의 동작, 상태, 성능을 이해하는 데 도움이 되는 Cloud Monitoring, Cloud Logging, Cloud Trace 등의 관측 가능성 서비스입니다.
사용 사례
이 섹션에서는 이 문서에 설명된 아키텍처의 가능한 사용 사례를 설명합니다.
자동 버그 신고 분류
이 참조 아키텍처를 적용하여 수신되는 버그 신고의 분류를 자동화할 수 있습니다. 문제 이해, 중복 검색, 관련 기술 컨텍스트 수집, 시스템의 버그 생성 등의 작업을 자동화할 수 있습니다. AI 기반 상담사는 초기 조사를 수행할 수 있는 지능형 어시스턴트 역할을 할 수 있으므로 인간 전문가가 더 복잡한 문제 해결에 집중할 수 있습니다.
이 사용 사례에서 아키텍처는 다음과 같은 이점을 제공합니다.
- 더 빠른 해결 시간: 에이전트가 초기 조사와 컨텍스트 수집을 자동화하므로 버그 티켓을 할당하고 해결하는 데 걸리는 시간을 크게 줄일 수 있습니다.
- 정확성 및 일관성 향상: 에이전트는 여러 데이터 소스 (내부 데이터베이스, 코드 저장소, 공개 웹)를 체계적으로 검색할 수 있습니다. 이 기능을 사용하면 수동 트리아지보다 더 포괄적이고 일관된 분석이 가능합니다.
- 수동 워크로드 감소: 에이전트는 IT 지원 및 엔지니어링 팀의 반복적인 트리아지 작업을 오프로드하여 가치가 높은 작업에 집중할 수 있도록 지원합니다.
이 아키텍처는 소프트웨어를 개발하고 버그 해결 프로세스의 효율성과 효과를 개선하려는 모든 조직에 적합합니다. 자세한 내용과 배포 옵션은 소프트웨어 버그 어시스턴트 - ADK Python 샘플 에이전트 및 도구로 에이전트 만들기: ADK를 사용하여 제로부터 어시스턴트까지를 참고하세요.
고객 서비스
이 참조 아키텍처를 적용하여 고객에게 원활하고 맞춤화된 쇼핑 경험을 제공할 수 있습니다. AI 기반 상담사는 고객 서비스를 제공하고, 제품을 추천하고, 주문을 관리하고, 서비스를 예약할 수 있으므로 인간 상담사는 다른 작업에 집중할 수 있습니다.
이 사용 사례에서 아키텍처는 다음과 같은 이점을 제공합니다.
업셀링 및 프로모션: 상담사는 제품, 서비스, 프로모션을 추천하여 판매를 늘릴 수 있습니다. 상담사의 제안은 고객의 현재 주문 및 관련 판매, 고객의 주문 내역, 장바구니에 있는 상품을 기반으로 합니다.
주문 관리 및 일정 예약: 상담사는 고객의 장바구니 내용을 관리하고 서비스의 자체 예약 기능을 지원하여 효율성을 높이고 고객의 불편을 줄일 수 있습니다.
수동 업무량 감소: 에이전트가 일반적인 문의, 주문, 일정을 처리하므로 인간 고객 서비스 상담사는 더 복잡한 고객 문제에 집중할 수 있습니다.
이 아키텍처는 고객 경험을 개선하고, 매출을 늘리고, 주문 관리 및 일정을 간소화하려는 모든 소매 조직에 적합합니다. 자세한 내용과 배포 옵션은 Cymbal Home & Garden 고객 서비스 상담사를 참고하세요.
시계열 예측
이 참조 아키텍처를 적용하여 수요 예측, 트래픽 패턴 예측, 기계 고장 분석 및 예측과 같은 결과를 예측할 수 있습니다. AI 기반 에이전트는 실시간 데이터, 이전 추세, 예정된 이벤트를 분석할 수 있습니다. 상담사는 이러한 분석을 사용하여 지정된 기간의 결과를 예측할 수 있습니다. 이러한 예측은 계획을 수립하고 인간 데이터 분석가가 소비하는 시간을 줄이는 데 도움이 될 수 있습니다.
이 사용 사례는 다음과 같은 여러 시나리오에서 조직에 도움이 될 수 있습니다.
- 재고 관리: 에이전트는 고급 분석과 이전 판매 데이터 및 시장 동향을 결합하여 고객 수요의 급증 또는 감소에 대비할 수 있도록 재입고 주문을 계획하는 데 도움을 줄 수 있습니다.
- 이동 경로: 에이전트는 공사나 도로 폐쇄와 같은 이벤트와 함께 실시간 및 과거 교통 패턴을 분석하여 배송 및 서비스 제공업체의 시간을 절약하고 이동 비용을 줄일 수 있습니다.
- 서비스 중단 방지: 에이전트는 이전 서비스 중단의 근본 원인을 파악하여 잠재적인 서비스 중단을 방지하는 데 도움을 줄 수 있습니다. 또한 향후 발생할 수 있는 잠재적 실패 상태를 예측하여 문제가 발생하기 전에 문제를 완화할 수 있습니다.
이 아키텍처는 확립된 추세에 따라 변화하는 패턴에 적응해야 하는 모든 조직에 적합합니다. 또한 고객이 미래를 계획하는 데 도움이 되는 사전 통계를 활용할 수 있는 조직에도 적합합니다. 자세한 내용과 배포 옵션은 Google의 ADK 및 MCP 도구 상자를 사용하는 시계열 예측 에이전트를 참고하세요.
문서 가져오기
이 참조 아키텍처를 적용하여 Vertex AI RAG Engine을 사용하고 컨텍스트 데이터 검색을 관리하는 에이전트를 만들 수 있습니다. 문서 검색 에이전트는 선별된 문서 집합에서 관련 데이터를 가져와 소스 자료에 대한 인용과 함께 사실에 기반한 답변을 제공할 수 있습니다.
문서 검색 에이전트를 사용하면 고객과 내부 사용자가 질문에 대해 정보에 입각하고 맥락을 인식하는 답변을 받을 수 있습니다. 이 구현은 검증된 정보를 기반으로 대답하도록 지원하여 실수와 부정확성을 줄이는 데 도움이 될 수 있습니다.
문서 검색 아키텍처는 정책 및 프로세스, 기술 인프라, 제품 기능, 기타 사실 기반 문서에 관한 기술 자료에 적합합니다. 검색 증강 생성 (RAG) 기반 문서 검색 에이전트를 개발하는 방법을 알아보려면 문서 검색 에이전트를 참고하세요.
설계 대안
이 섹션에서는 Google Cloud에서 AI 에이전트 배포에 대해 고려할 수 있는 대체 설계 접근 방식을 보여줍니다.
에이전트 런타임
이 문서에서 설명하는 아키텍처에서 에이전트와 해당 도구는 Cloud Run에 배포됩니다. GKE 또는 Vertex AI Agent Engine을 대체 런타임으로 사용할 수도 있습니다. 에이전트 런타임을 선택하는 방법에 관한 자세한 내용은 '에이전트 AI 아키텍처 구성요소 선택'의 에이전트 런타임을 참고하세요.
AI 모델 런타임
이 문서에서 설명하는 아키텍처에서 AI 모델 런타임은 Vertex AI입니다. Cloud Run 또는 GKE를 대체 런타임으로 사용할 수도 있습니다. 모델 런타임을 선택하는 방법에 관한 자세한 내용은 '에이전트 AI 아키텍처 구성요소 선택'의 모델 런타임을 참고하세요.
설계 고려사항
이 섹션에서는 이 참조 아키텍처를 사용하여 보안, 안정성, 비용, 운영 효율성, 성능에 대한 특정 요구사항을 충족하는 아키텍처를 개발하는 데 도움이 되는 안내를 제공합니다.
시스템 설계
이 섹션에서는 배포에 사용할 Google Cloud 리전을 선택하고 적절한 Google Cloud 제품 및 도구를 선택하는 데 도움이 되는 안내를 제공합니다.
리전 선택
AI 애플리케이션의 Google Cloud 리전을 선택할 때는 다음 요소를 고려하세요.
- 각 리전의 Google Cloud 서비스 가용성
- 최종 사용자 지연 시간 요구사항
- Google Cloud 리소스 비용
- 규제 기관 요구사항
애플리케이션에 적합한 Google Cloud 위치를 선택하려면 다음 도구를 사용하세요.
- Google Cloud 리전 선택 도구: 탄소 발자국, 비용, 지연 시간과 같은 요인을 기반으로 애플리케이션과 데이터에 최적화된 Google Cloud 리전을 선택하는 대화형 웹 기반 도구입니다.
- Cloud Location Finder API: Google Cloud, Google Distributed Cloud, 기타 클라우드 제공업체에서 배포 위치를 찾는 프로그래매틱 방법을 제공하는 공개 API입니다.
에이전트 설계
이 섹션에서는 AI 에이전트 설계에 관한 일반적인 권장사항을 제공합니다. 에이전트 코드와 로직 작성에 관한 자세한 안내는 이 문서의 범위를 벗어납니다.
| 설계 중점 | 권장사항 |
|---|---|
| 에이전트 정의 및 설계 |
|
| 상담사 상호작용 |
|
| 컨텍스트, 도구, 데이터 |
|
메모리 및 세션 스토리지
이 문서에 표시된 아키텍처 예시에는 메모리나 세션 스토리지가 포함되어 있지 않습니다. 프로덕션 환경에서는 상태와 메모리를 에이전트에 통합하여 대답을 개선하고 맞춤설정을 추가할 수 있습니다.
- 세션: 세션은 초기 상호작용부터 대화가 끝날 때까지 사용자 및 에이전트 간의 대화형 스레드입니다.
- 상태: 상태는 에이전트가 특정 세션 내에서 사용하고 수집하는 데이터입니다. 수집되는 상태 데이터에는 사용자와 에이전트가 주고받은 메시지 기록, 도구 호출 결과, 에이전트가 대화의 컨텍스트를 이해하는 데 필요한 기타 변수가 포함됩니다.
ADK는 Session 객체와 state 속성을 사용하여 단기 메모리에서 세션을 추적할 수 있습니다. ADK는 메모리 뱅크를 비롯하여 동일한 사용자와의 세션 전반에서 장기 메모리도 지원합니다.
세션 상태를 저장하려면 Redis용 Memorystore와 같은 서비스를 사용할 수도 있습니다.
에이전트 메모리 옵션에 대한 자세한 내용은 에이전트 AI 아키텍처 구성요소 선택을 참고하세요.
보안
이 섹션에서는 워크로드의 보안 요구사항을 충족하는 Google Cloud 의 토폴로지를 설계하기 위한 설계 고려사항과 권장사항을 설명합니다.
| 구성요소 | 설계 고려사항 및 권장사항 |
|---|---|
| 에이전트 |
AI 에이전트는 기존의 결정론적 보안 관행으로는 적절하게 완화할 수 없는 특정 고유하고 심각한 보안 위험을 초래합니다. Google에서는 결정론적 보안 제어의 강점과 동적, 추론 기반 방어를 결합하는 접근 방식을 권장합니다. 이 접근 방식은 인간의 감독, 신중하게 정의된 에이전트 자율성, 관측 가능성이라는 세 가지 핵심 원칙에 기반합니다. 다음은 이러한 핵심 원칙에 부합하는 구체적인 권장사항입니다. 인간의 감독: 에이전트 AI 시스템이 때때로 실패하거나 예상대로 작동하지 않을 수 있습니다. 예를 들어 모델이 부정확한 콘텐츠를 생성하거나 에이전트가 부적절한 도구를 선택할 수 있습니다. 비즈니스에 중요한 에이전트 AI 시스템에서는 인간 감독자가 에이전트를 모니터링하고, 재정의하고, 일시중지할 수 있도록 인간 참여(Human-In-The-Loop) 흐름을 통합합니다. 예를 들어 인간 사용자는 에이전트의 출력을 검토하고, 출력을 승인하거나 거부하고, 오류를 수정하거나 전략적 결정을 내리기 위한 추가 안내를 제공할 수 있습니다. 이 접근 방식은 에이전트 AI 시스템의 효율성과 인간 사용자의 비판적 사고 및 도메인 전문성을 결합합니다. 에이전트 액세스 제어: Identity and Access Management (IAM) 컨트롤을 사용하여 에이전트 권한을 구성합니다. 각 에이전트에게 작업을 실행하고 도구 및 다른 에이전트와 통신하는 데 필요한 권한만 부여합니다. 이 접근 방식은 보안 침해의 잠재적 영향을 최소화하는 데 도움이 됩니다. 손상된 에이전트가 시스템의 다른 부분에 대한 액세스가 제한되기 때문입니다. 자세한 내용은 에이전트의 ID 및 권한 설정 및 배포된 에이전트의 액세스 관리를 참고하세요. 모니터링: 추론 프로세스, 도구 선택, 실행 경로를 포함하여 에이전트가 수행하는 모든 작업을 파악하는 포괄적인 추적 기능을 사용하여 에이전트 동작을 모니터링합니다. 자세한 내용은 Vertex AI Agent Engine에서 에이전트 로깅 및 ADK에서 로깅을 참고하세요. AI 에이전트 보안에 관한 자세한 내용은 AI 에이전트의 안전 및 보안을 참고하세요. |
| Vertex AI |
공동 책임: 보안은 공동 책임입니다. Vertex AI는 기본 인프라를 보호하고 데이터, 코드, 모델을 보호하는 데 도움이 되는 도구와 보안 제어를 제공합니다. 서비스를 올바르게 구성하고, 액세스 제어를 관리하고, 애플리케이션을 보호할 책임은 사용자에게 있습니다. 자세한 내용은 Vertex AI 공유 책임을 참고하세요. 보안 제어: Vertex AI는 데이터 상주, 고객 관리 암호화 키 (CMEK), VPC 서비스 제어를 사용한 네트워크 보안, 액세스 투명성에 대한 요구사항을 충족하는 데 사용할 수 있는 Google Cloud 보안 제어를 지원합니다. 자세한 내용은 다음 문서를 참고하세요. 안전: AI 모델은 때때로 악성 프롬프트에 대한 응답으로 유해한 대답을 생성할 수 있습니다.
모델 액세스: 조직 정책을 설정하여 Google Cloud 프로젝트에서 사용할 수 있는 AI 모델의 유형과 버전을 제한할 수 있습니다. 자세한 내용은 Model Garden 모델에 대한 액세스 제어를 참고하세요. 데이터 보호: 프롬프트 및 응답과 로그 데이터에서 민감한 정보를 탐색하고 익명화하려면 Cloud Data Loss Prevention API를 사용하세요. 자세한 내용은 AI 앱에서 민감한 정보 보호하기 동영상을 참고하세요. |
| MCP | MCP를 사용하도록 에이전트를 구성할 때는 외부 데이터 및 도구에 대한 액세스가 승인되었는지 확인하고, 암호화와 같은 개인 정보 보호 관리 기능을 구현하고, 민감한 정보를 보호하기 위해 필터를 적용하고, 에이전트 상호작용을 모니터링하세요. 자세한 내용은 MCP 및 보안을 참고하세요. |
| A2A |
전송 보안: A2A 프로토콜은 프로덕션 환경에서 모든 A2A 통신에 HTTPS를 사용하도록 요구하고 전송 계층 보안 (TLS) 버전 1.2 이상을 권장합니다. 인증: A2A 프로토콜은 인증을 HTTP 헤더와 같은 표준 웹 메커니즘과 OAuth2 및 OpenID Connect와 같은 표준에 위임합니다. 각 에이전트는 에이전트 카드에 인증 요구사항을 광고합니다. 자세한 내용은 A2A 인증을 참고하세요. |
| Cloud Run |
인그레스 보안 (프런트엔드 서비스용): 애플리케이션에 대한 액세스를 제어하려면 프런트엔드 Cloud Run 서비스의 기본 사용자 인증:
자세한 내용은 사용자 인증을 참고하세요. 컨테이너 이미지 보안: 승인된 컨테이너 이미지만 Cloud Run에 배포되도록 하려면 Binary Authorization을 사용하면 됩니다. 컨테이너 이미지의 보안 위험을 식별하고 완화하려면 Artifact Analysis를 사용하여 취약점 스캔을 자동으로 실행하세요. 자세한 내용은 컨테이너 스캔 개요를 참고하세요. 데이터 상주: Cloud Run은 데이터 상주 요구사항을 충족하도록 도와줍니다. Cloud Run Functions는 선택한 리전 내에서 실행됩니다. 컨테이너 보안에 관한 자세한 안내는 일반적인 Cloud Run 개발 팁을 참고하세요. |
| 아키텍처의 모든 제품 |
데이터 암호화: 기본적으로 Google Cloud는 Google-owned and Google-managed encryption keys를 사용하여 저장 데이터를 암호화합니다. 사용자가 제어하는 암호화 키를 사용하여 에이전트의 데이터를 보호하려면 Cloud KMS에서 만들고 관리하는 CMEK를 사용하면 됩니다. Google Cloud Cloud KMS와 호환되는 서비스에 대한 자세한 내용은 호환 서비스를 참고하세요. 데이터 무단 반출 위험 완화: 데이터 무단 반출 위험을 줄이려면 인프라 주변에 VPC 서비스 제어 경계를 만드세요. VPC 서비스 제어는 이 참조 아키텍처에서 사용하는 모든 Google Cloud 서비스를 지원합니다. 액세스 제어: 토폴로지의 리소스에 대한 권한을 구성할 때는 최소 권한의 원칙을 따르세요. 클라우드 환경 보안: Security Command Center의 도구를 사용하여 취약점을 감지하고, 위협을 식별하고 완화하고, 보안 상황을 정의하고 배포하고, 추가 분석을 위해 데이터를 내보냅니다. 배포 후 최적화: Google Cloud에 애플리케이션을 배포한 후 Active Assist를 사용하여 보안을 추가로 최적화하기 위한 권장사항을 확인하세요. 권장사항을 검토하고 환경에 맞게 적용합니다. 자세한 내용은 Active Assist에서 추천 찾기를 참고하세요. |
기타 보안 권장사항
안정성
이 섹션에서는 Google Cloud에서 배포를 위한 안정적인 인프라를 빌드하고 운영하기 위한 설계 고려사항 및 권장사항을 설명합니다.
| 구성요소 | 설계 고려사항 및 권장사항 |
|---|---|
| 에이전트 |
실패 시뮬레이션: 에이전트 기반 AI 시스템을 프로덕션에 배포하기 전에 프로덕션 환경을 시뮬레이션하여 유효성을 검사합니다. 문제와 예기치 않은 동작을 식별하고 수정합니다. 수평으로 확장: 고가용성과 내결함성을 보장하려면 부하 분산기 뒤에서 에이전트 애플리케이션의 여러 인스턴스를 실행하세요. 이 접근 방식은 인스턴스에 요청을 분산하여 지연 시간과 타임아웃을 줄이는 데도 도움이 됩니다. 일부 에이전트 런타임은 Cloud Run 서비스의 인스턴스 자동 확장과 같이 부하 분산을 자동으로 처리합니다. 정전으로부터 복구: 에이전트가 정상적으로 다시 시작하고 컨텍스트를 유지할 수 있도록 런타임에서 상태를 분리합니다. 이러한 상태 비저장 에이전트 애플리케이션을 구현하려면 데이터베이스나 분산 캐시와 같은 외부 데이터 저장소를 사용하세요. 예를 들어 Memory Bank, Memorystore for Redis 또는 Cloud SQL과 같은 데이터베이스 서비스를 사용할 수 있습니다. 오류 처리: 오류 진단 및 문제 해결을 지원하려면 로깅, 예외 처리, 재시도 메커니즘을 구현합니다. |
| Vertex AI |
할당량 관리: Vertex AI는 Gemini 모델에 동적 공유 할당량 (DSQ)을 지원합니다. DSQ를 사용하면 사용한 만큼만 지불 요청을 유연하게 관리할 수 있으며 할당량을 수동으로 관리하거나 할당량 상향을 요청할 필요가 없습니다. DSQ는 활성 고객에게 지정된 모델과 리전의 사용 가능한 리소스를 동적으로 할당합니다. DSQ를 사용하면 개별 고객에 사전 정의된 할당량 제한이 없습니다. 용량 계획: 모델에 대한 요청 수가 할당된 용량을 초과하면 오류 코드 429가 반환됩니다. 비즈니스에 중요한 워크로드로서 지속적으로 높은 처리량이 필요한 경우 프로비저닝된 처리량을 사용하여 처리량을 예약할 수 있습니다. 모델 엔드포인트 가용성: 여러 리전 또는 국가에서 데이터를 공유할 수 있는 경우 모델에 전역 엔드포인트를 사용할 수 있습니다. |
| Cloud Run |
인프라 중단에 대한 강력한 기능: Cloud Run은 리전 서비스입니다. 데이터를 리전 내 여러 영역에 동기식으로 저장하고 영역 간에 트래픽을 자동으로 부하 분산합니다. 영역 중단이 발생해도 Cloud Run이 계속 실행되고 데이터가 손실되지 않습니다. 리전 서비스 중단이 발생하면 Google에서 서비스 중단을 해결할 때까지 서비스 실행이 중지됩니다. 수평 확장: Cloud Run 서비스는 인스턴스 자동 확장을 처리합니다. 자동 확장 기능을 사용하면 고가용성을 보장하는 데 필요한 모든 수신 요청, 이벤트, CPU 사용률을 인스턴스가 처리할 수 있습니다. |
| 아키텍처의 모든 제품 |
배포 후 최적화: Google Cloud에 애플리케이션을 배포한 후 Active Assist를 사용하여 보안을 추가로 최적화하기 위한 권장사항을 확인하세요. 권장사항을 검토하고 환경에 맞게 적용합니다. 자세한 내용은 Active Assist에서 추천 찾기를 참고하세요. |
AI 및 ML 워크로드와 관련된 안정성 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 안정성을 참조하세요.
작업
이 섹션에서는 이 참조 아키텍처를 사용하여 효율적으로 운영할 수 있는 Google Cloud 토폴로지를 설계할 때 고려해야 하는 요소를 설명합니다.
| 구성요소 | 설계 고려사항 및 권장사항 |
|---|---|
| 에이전트 |
디버깅 및 분석: 에이전트 애플리케이션 내에서 구조화된 로깅을 구현합니다. 로깅 및 추적을 사용하면 호출된 도구, 에이전트의 입력 및 출력, 각 단계의 지연 시간과 같은 주요 정보를 구조화된 형식으로 캡처할 수 있습니다. |
| Vertex AI |
로그를 사용한 모니터링: 기본적으로 지속적 평가: 에이전트의 출력과 에이전트가 출력을 생성하기 위해 취한 궤적 또는 단계를 정기적으로 정성적으로 평가합니다. 에이전트 평가를 구현하려면 Gen AI Evaluation Service 또는 ADK에서 지원하는 평가 방법을 사용하면 됩니다. |
| Cloud Run |
상태 및 성능: Google Cloud Observability를 사용하여 Cloud Run 서비스를 모니터링합니다. Cloud Monitoring에서 오류율 증가, 높은 지연 시간, 비정상적인 리소스 사용률과 같은 잠재적인 문제를 알리도록 알림을 설정합니다. |
| 데이터베이스 |
상태 및 성능: Google Cloud Observability를 사용하여 데이터베이스를 모니터링합니다. Monitoring에서 알림을 설정하여 오류율 증가, 높은 지연 시간, 비정상적인 리소스 사용률과 같은 잠재적인 문제에 대한 알림을 받습니다. |
| MCP |
데이터베이스 도구: AI 에이전트의 데이터베이스 도구를 효율적으로 관리하고 에이전트가 연결 풀링 및 인증과 같은 복잡한 작업을 안전하게 처리하도록 하려면 데이터베이스용 MCP 도구 상자를 사용하세요. 데이터베이스 도구를 저장하고 업데이트할 수 있는 중앙 위치를 제공합니다. 에이전트 간에 도구를 공유하고 에이전트를 다시 배포하지 않고 도구를 업데이트할 수 있습니다. 이 도구 상자에는 PostgreSQL용 AlloyDB와 같은 Google Cloud 데이터베이스와 MongoDB와 같은 서드 파티 데이터베이스를 위한 다양한 도구가 포함되어 있습니다. 생성형 AI 모델: AI 에이전트가 Imagen, Veo와 같은 Google 생성형 AI 모델을 사용할 수 있도록 하려면 생성형 미디어 API용 MCP 서버를 사용하면 됩니다. Google Cloud Google 보안 제품 및 도구: AI 에이전트가 Google Security Operations, Google 위협 인텔리전스, Security Command Center와 같은 Google 보안 제품 및 도구에 액세스할 수 있도록 하려면 Google 보안 제품용 MCP 서버를 사용하세요. |
| 아키텍처의 모든 Google Cloud 제품 |
추적: Trace를 사용하여 추적 데이터를 지속적으로 수집하고 분석합니다. 추적 데이터를 사용하면 복잡한 에이전트 워크플로 내에서 지연 시간 문제를 신속하게 식별하고 진단할 수 있습니다. Google Cloud 콘솔의 Trace 탐색기 페이지에서 시각화를 통해 심층 분석을 실행할 수 있습니다. 자세한 내용은 에이전트 추적을 참고하세요. |
AI 및 ML 워크로드와 관련된 운영 우수성 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 운영 우수성을 참고하세요.
비용 최적화
이 섹션에서는 이 참조 아키텍처를 사용하여 빌드하는 Google Cloud 토폴로지의 설정 및 운영 비용을 최적화하는 방법을 안내합니다.
| 구성요소 | 설계 고려사항 및 권장사항 |
|---|---|
| Vertex AI |
비용 분석 및 관리: Vertex AI 비용을 분석하고 관리하려면 초당 쿼리 수 (QPS) 및 초당 토큰 수 (TPS)의 기준 측정항목을 만드는 것이 좋습니다. 그런 다음 배포 후 이러한 측정항목을 모니터링합니다. 기준은 용량 계획에도 도움이 됩니다. 예를 들어 기준을 사용하면 프로비저닝된 처리량이 필요할 수 있는 시점을 파악할 수 있습니다. 모델 선택: AI 애플리케이션에 선택한 모델은 비용과 성능에 직접적인 영향을 미칩니다. 특정 사용 사례에 대해 성능과 비용 간의 최적의 균형을 제공하는 모델을 식별하려면 모델을 반복적으로 테스트하세요. 가장 비용 효율적인 모델로 시작하여 점차 더 강력한 옵션으로 진행하는 것이 좋습니다. 비용 효율적인 프롬프트: 프롬프트(입력)의 길이와 생성된 대답 (출력)은 성능과 비용에 직접적인 영향을 미칩니다. 짧고 직접적이며 충분한 맥락을 제공하는 프롬프트를 작성합니다. 모델에서 간결한 대답을 얻을 수 있도록 프롬프트를 설계하세요. 예를 들어 '2문장으로 요약해 줘' 또는 '핵심 3가지 나열해 줘'와 같은 문구를 포함합니다. 자세한 내용은 프롬프트 설계 권장사항을 참고하세요. 컨텍스트 캐싱: 입력 토큰 수가 많은 반복 콘텐츠가 포함된 요청의 비용을 줄이려면 컨텍스트 캐싱을 사용하세요. 일괄 요청: 관련이 있는 경우 일괄 예측을 고려하세요. 일괄 요청은 표준 요청보다 비용이 저렴합니다. |
| Cloud Run |
리소스 할당: Cloud Run 서비스를 만들 때 할당할 메모리 및 CPU 양을 지정할 수 있습니다. 기본 CPU 및 메모리 할당으로 시작합니다. 시간이 지남에 따라 리소스 사용량과 비용을 관찰하고 필요에 따라 할당을 조정합니다. 자세한 내용은 다음 문서를 참고하세요. 요금 최적화: CPU 및 메모리 요구사항을 예측할 수 있으면 약정 사용 할인 (CUD)을 통해 비용을 절약할 수 있습니다. |
| 아키텍처의 모든 제품 | 배포 후 최적화: Google Cloud에 애플리케이션을 배포한 후 Active Assist를 사용하여 비용을 추가로 최적화하기 위한 권장사항을 확인합니다. 권장사항을 검토하고 환경에 맞게 적용합니다. 자세한 내용은 Active Assist에서 추천 찾기를 참고하세요. |
Google Cloud 리소스의 비용을 추정하려면 Google Cloud 가격 계산기를 사용하세요.
AI 및 ML 워크로드와 관련된 비용 최적화 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 비용 최적화를 참조하세요.
성능 최적화
이 섹션에서는 Google Cloud 에서 워크로드의 성능 요구사항을 충족하는 토폴로지를 설계하기 위한 설계 고려사항과 권장사항을 설명합니다.
| 구성요소 | 설계 고려사항 및 권장사항 |
|---|---|
| 에이전트 |
모델 선택: 에이전트 AI 시스템의 모델을 선택할 때는 에이전트가 실행해야 하는 작업에 필요한 기능을 고려하세요. 프롬프트 최적화: 대규모로 프롬프트 성능을 빠르게 개선하고 최적화하며 수동 재작성의 필요성을 없애려면 Vertex AI 프롬프트 옵티마이저를 사용하세요. 최적화 도구를 사용하면 다양한 모델에서 프롬프트를 효율적으로 조정할 수 있습니다. |
| Vertex AI |
모델 선택: AI 애플리케이션에 선택한 모델은 비용과 성능에 직접적인 영향을 미칩니다. 특정 사용 사례에 대해 성능과 비용 간의 최적의 균형을 제공하는 모델을 식별하려면 모델을 반복적으로 테스트하세요. 가장 비용 효율적인 모델로 시작하여 점차 더 강력한 옵션으로 진행하는 것이 좋습니다. 프롬프트 엔지니어링: 프롬프트 (입력)의 길이와 생성된 대답 (출력)은 성능과 비용에 직접적인 영향을 미칩니다. 짧고 직접적이며 충분한 맥락을 제공하는 프롬프트를 작성합니다. 모델에서 간결한 대답을 얻을 수 있도록 프롬프트를 설계하세요. 예를 들어 '2문장으로 요약해 줘' 또는 '핵심 3가지 나열해 줘'와 같은 문구를 포함합니다. 자세한 내용은 프롬프트 설계 권장사항을 참고하세요. 컨텍스트 캐싱: 입력 토큰 수가 많은 반복 콘텐츠가 포함된 요청의 지연 시간을 줄이려면 컨텍스트 캐싱을 사용하세요. |
| Cloud Run |
리소스 할당: 성능 요구사항에 따라 Cloud Run 서비스에 할당할 메모리와 CPU를 구성합니다. 자세한 내용은 다음 문서를 참고하세요. 성능 최적화 가이드에 대한 자세한 내용은 일반적인 Cloud Run 개발 팁을 참고하세요. |
| 아키텍처의 모든 제품 | 배포 후 최적화: Google Cloud에 애플리케이션을 배포한 후 Active Assist를 사용하여 성능을 추가로 최적화하기 위한 추천을 받습니다. 권장사항을 검토하고 환경에 맞게 적용합니다. 자세한 내용은 Active Assist에서 추천 찾기를 참고하세요. |
AI 및 ML 워크로드와 관련된 성능 최적화 원칙 및 권장사항은 Well-Architected Framework의 AI 및 ML 관점: 성능 최적화를 참조하세요.
배포
이 참조 아키텍처에는 자동 배포를 사용할 수 없습니다. 다음 코드 샘플을 사용하여 단일 에이전트 아키텍처를 빌드하세요.
- 소프트웨어 버그 어시스턴트 - ADK Python 샘플 에이전트를 배포하여 유사한 아키텍처를 배포합니다.
- Python Tutor - ADK 상태 및 메모리 예시에서 메모리 및 상태에 대해 자세히 알아보세요.
MCP 서버와 함께 ADK를 사용하는 방법을 시작하는 코드 샘플은 MCP 도구를 참고하세요.
추가 단일 에이전트 AI 시스템의 예는 다음 코드 샘플을 참고하세요. 이러한 코드 샘플은 학습 및 실험을 위한 완전히 작동하는 시작점입니다. 프로덕션 환경에서 최적으로 작동하려면 특정 비즈니스 및 기술 요구사항에 따라 코드를 맞춤설정해야 합니다.
- 맞춤형 쇼핑: 특정 브랜드, 판매자 또는 온라인 마켓에 맞춤형 제품 추천을 제공합니다.
- 인시던트 관리: 동적 ID 전파를 사용하여 요청별로 최종 사용자 토큰과 ID를 검증합니다.
- 주문 처리: 주문을 처리하고 저장하며 지정된 주문 수량에 대해 조건부 사람 검토를 통해 이메일 확인을 오케스트레이션합니다.
- 데이터 엔지니어링: Dataform 파이프라인을 개발하고, 파이프라인 문제를 해결하고, 복잡한 SQL 쿼리부터 데이터 변환 및 데이터 종속 항목까지 데이터 엔지니어링을 관리합니다.
- 문서 검색: RAG를 사용하여 Vertex AI RAG Engine에 업로드한 문서를 쿼리하고 문서 및 코드에 대한 인용과 함께 답변을 받습니다.
다음 단계
- Agent Garden에서 샘플 에이전트 및 도구 살펴보기
- ADK를 사용하여 에이전트 빌드
- 에이전트 배포 대상 Google Cloud
- Cloud Run에서 MCP 서버 호스팅
- Cloud Run에서 AI 앱 및 에이전트 호스팅
- Google Cloud에서 생성형 AI 애플리케이션을 위한 RAG 인프라를 구현하는 방법을 알아봅니다.
- Google Cloud에서 AI 및 ML 워크로드와 관련된 아키텍처 원칙 및 권장사항에 대한 개요는 Well-Architected Framework의 AI 및 ML 관점을 참조하세요.
- 그 밖의 참조 아키텍처, 다이어그램, 튜토리얼, 권장사항을 알아보려면 Cloud 아키텍처 센터를 확인하세요.
참여자
- 저자: 쿠마르 다나고팔 | 크로스 프로덕트 솔루션 개발자
- 메건 오키프 | Developer Advocate
- 시르 메이르 라도르 | 개발자 관계 엔지니어링 관리자