Google ADK와 A2A: Python·Go 에이전트를 한 파이프라인으로 묶는 법 | DAKER 커뮤니티
Google Developers가 ADK와 A2A 프로토콜로 Python 에이전트와 Go 에이전트를 연결하는 예제를 공개했습니다. 중요한 변화는 멀티에이전트를 “프롬프트 체인”이 아니라 언어가 다른 서비스들의 운영 구조로 본다는 점입니다.
A2A란, 서로 다른 프레임워크와 언어로 만든 AI 에이전트가 통신하게 하는 공개 프로토콜입니다.
오늘의 한 줄 요약은 무엇인가요?
Google ADK와 A2A의 메시지는 명확합니다. 큰 프롬프트 하나보다 역할이 좁고 테스트 가능한 에이전트 여러 개가 운영에 강합니다.
왜 지금 중요한가요?
실제 회사의 AI 시스템은 한 언어, 한 팀, 한 프레임워크로 끝나지 않습니다. 데이터팀은 Python으로 추출 에이전트를 만들고, 보안팀은 Go로 결정적 검증 서비스를 만들 수 있습니다. 문제는 둘을 어떻게 한 업무 흐름으로 묶느냐입니다.
Google의 예제는 계약 컴플라이언스 파이프라인을 통해 Python의 Gemini 기반 추출 에이전트와 Go의 정책 검증 에이전트를 A2A로 연결합니다. ADK는 원격 A2A 서비스를 로컬 하위 에이전트처럼 다루는 추상화를 제공합니다.
실무자가 볼 포인트는 무엇인가요?
• 구조: 역할 분리 / 의미: 한 에이전트가 모든 일을 하지 않습니다 / 실무 적용: 추출, 검증, 보고를 나눕니다
• 구조: A2A 프로토콜 / 의미: 언어와 프레임워크가 달라도 통신합니다 / 실무 적용: Python과 Go 서비스를 연결합니다
• 구조: Agent Card / 의미: 에이전트가 자기 기능을 설명합니다 / 실무 적용: API 문서처럼 능력을 발견합니다
• 구조: JSON-RPC 통신 / 의미: 구조화된 요청과 응답을 씁니다 / 실무 적용: 로그와 재현이 쉬워집니다
• 구조: 실패 상태 처리 / 의미: 다운스트림 장애를 수동 검토로 넘깁니다 / 실무 적용: 조용한 실패를 줄입니다
단일 거대 에이전트보다 나은 이유는 무엇인가요?
단일 에이전트는 데모에서는 빠릅니다. 하지만 도구가 10개, 20개로 늘면 모델은 어떤 도구를 언제 써야 하는지 놓치기 쉽습니다. 작은 장애 하나가 전체 작업 실패로 번지고, 프롬프트 변경이 어디까지 영향을 미쳤는지도 테스트하기 어려워집니다.
멀티에이전트 구조는 이 문제를 백엔드 서비스처럼 나눕니다. 애매한 판단은 LLM 에이전트가 맡고, 규칙 기반 검증은 결정적 서비스가 맡습니다. 이렇게 나누면 테스트, 장애 격리, 감사가 쉬워집니다.
바로 할 일은 무엇인가요?
• 현재 AI 업무를 추출, 판단, 검증, 보고 단계로 나눠 봅니다.
• LLM이 꼭 필요한 단계와 규칙 기반 코드가 더 나은 단계를 분리합니다.
• 각 에이전트의 입력, 출력, 실패 상태를 JSON 형태로 먼저 적습니다.
• 첫 실험은 서로 다른 언어를 억지로 통합하기보다 HTTP 경계로 연결합니다.
• 실패 시 “재시도, 수동 검토, 중단” 중 어느 상태로 갈지 정합니다.
주의할 점은 무엇인가요?
A2A와 ADK를 쓴다고 자동으로 좋은 아키텍처가 되는 것은 아닙니다. 에이전트가 많아질수록 관찰성, 권한, 비용, 상태 관리가 더 중요해집니다. 작은 업무부터 나누고, 각 에이전트의 책임을 한 문장으로 설명할 수 있을 때 확장해야 합니다.
또한 모든 것을 LLM으로 처리하려는 습관을 줄여야 합니다. 컴플라이언스 판정, 금액 검증, 정책 매칭처럼 재현성이 필요한 영역은 결정적 코드가 더 적합할 수 있습니다.
FAQ는 무엇을 확인하면 되나요?
Q. Google ADK와 A2A는 같은 것인가요?
아닙니다. ADK는 에이전트를 만들고 오케스트레이션하는 개발 도구이고, A2A는 에이전트끼리 통신하기 위한 프로토콜입니다.
Q. 왜 Python과 Go를 함께 쓰나요?
AI 추론과 데이터 처리는 Python 생태계가 편하고, 정책 검증이나 고성능 서비스는 Go 같은 언어가 적합할 수 있기 때문입니다.
Q. 소규모 팀도 멀티에이전트를 써야 하나요?
처음부터 복잡하게 나눌 필요는 없습니다. 다만 추출, 검증, 보고처럼 실패 성격이 다른 단계는 일찍 분리하면 운영이 쉬워집니다.
Q. A2A가 MCP와 다른 점은 무엇인가요?
MCP는 주로 모델이 도구와 리소스를 쓰는 연결에 초점이 있고, A2A는 에이전트와 에이전트가 작업을 주고받는 통신에 초점이 있습니다.
Q. 한국 실무자가 바로 적용할 포인트는 무엇인가요?
에이전트 개수를 늘리는 것보다 책임 경계를 먼저 그리는 것입니다. 각 에이전트의 입력, 출력, 실패 상태가 명확해야 운영할 수 있습니다.