NLP | LLM

A2A (Agent-to-Agent): 지능형 에이전트 협업

삐롱K 2025. 7. 22. 15:52
728x90
반응형

 

Agent-to-Agent란?

  • AI 에이전트 간 정보·요청·작업을 직접 교환하고 협력할 수 있도록 정의한 개방형 통신 프로토콜
  • 각 에이전트는 서로 다른 기반 기술이나 플랫폼에서 독립적으로 작동 가능
  • 탈중앙화된 환경을 기반으로 에이전트 간 안전한 메 시지 교환 및 능동적인 실시간 협업 환경 제공
  • 2025년 4월 Google에 의해 AI 에이전트 상호운용성 (interoperatbility)을 위한 핵심 프로토콜로 제안
    → 복잡한 기업 워크플로우 자동화 및 AI 에이전트 간 협업 생태계 혁신을 주도할 핵심 기술로 주목
  • 이기종(Heterogeneous) 플랫폼 간 에이전트 협업 등 다양한 AI 에이전트 간 소통이 필요한 분야에 적용

 

작동 방식

  • 사용하는 모든 Agent가 다른 Agent와 통신하기 위해 서로 다른 API 형식의 코드가 필요하므로 복잡성이 가중됩니다.
  • Agent 간 통신 메시지 포맷 공통화
    • Agent Card: 각 에이전트의 기능, 역할, 처리 가능한 작업 종류, 통신 인터페이스를 정의한 ‘프로필’ (=명함 역할)
    • Task: 에이전트에 할당되어 수행해야 할 구체적인 작업 또는 목표
    • Message: 에이전트 간 의사소통하기 위해 주고받는 구조화된 데이터 패킷
    • Part: 메시지(message) 내 특정 데이터에 대한 구성 요소
    • Artifact: 에이전트가 태스크(task)를 수행한 결과로 생성되는 산출물

  • A2A 주요 구성 요소 (Core Actors)
    • End-User: 에이전트 요청을 시작하는 주체
    • A2A Client: 사용자를 대신해 작업을 요청
    • A2A Server(=Remote Agent): 작업 처리 및 결과 반환
  • A2A 실행 흐름
    • 에이전트 탐색 (A2A Client)
    • 작업 명세 전달 (A2A Client)
    • 작업 실행 (A2A Server)
    • 작업 완료 전달 (A2A Server)
  • A2A 프로토콜의 주요 특징
    • 기본적으로 안전한 설계 엔터프라이즈급 인증 및 권한 부여 지원을 목표로 설계, 출시 시점부터 Open API 인증과 동등한 수준의 보안 기능 제공
    • 장기 실행 작업 지원 사람이 개입하여 수 시간 또는 수일이 소요될 수 있는 심층연구 까지 유연하게 지원 (+실시간 피드백, 알림, 상태 업데이트 제공)
    • 에이전트 본연의 능력 포용 이기종 에이전트 간 협업할 수 있도록 지원하는데 초점, 에이전 트를 단순 “도구”로 제한하지 않고, 진정한 멀티 에이전트 시나리오 구현 가능
    • 기존 표준 기반 구축 JSON-RPC, HTTPS 등 널리 사용되는 기존 표준 기술 기반 구축

 

OpenAI의 Handoff와 랭체인의 프로토콜도 비슷한 솔루션을 제공했지만, 현재 기업들이 다른 솔루션 대신 A2A를 선호하는 핵심 이유는 다음과 같습니다:

1. 사용자 친화적인 디자인(User-Friendly Design): API는 개발자에게 자연스럽게 느껴지는 직관적인 경험을 제공합니다.

2. 프로덕션에 대한 신뢰성(Reliable for Production): 실제 애플리케이션을 위해 설계되었으며, 안정성을 보장하는 강력한 오류 처리 기능이 포함되어 있습니다.

3. 다양한 호환성(Versatile Compatibility): Langchain, CrewAI, Flask, FastAPI, Django 등 다양한 프레임워크 및 API와 원활하게 통합됩니다.

4. 경량화(Lightweight): 핵심 기능은 요청 라이브러리에만 의존하므로 추가 요구 사항을 최소화합니다.

5. 최적화된 성능(Optimised Performance): 효율적으로 작동하도록 설계되어 빠르고 안정적인 기능을 보장합니다.

MCP와 같은 새로운 프로토콜이 아니라 엔터프라이즈급 개발 도구입니다. MCP를 대체하기 위해 개발된 것이 아니라 이를 사용하는 에이전트의 역량을 강화하기 위해 만들어졌습니다.

 

더보기

1. Query: 사용자가 특정 작업이나 정보를 요청하는 Query를 AI Agent 1(Client)에게 보냅니다.

2. Agent Card: Agent의 기능, 스킬, 엔드포인트 URL 및 인증 요구 사항이 포함된 공개 JSON 파일은 클라이언트를 위한 검색 카드 역할을 합니다. 이 Agent Card를 통해 Client는 다른 Agent의 기능을 검색하여 현재 필요에 가장 적합한 Agent를 선택할 수 있습니다.

3. Task: 작업은 중심 단위(central unit of work)입니다. Client는 메시지를 전송하여 task을 시작하며, 각 task에는 고유한 ID가 있고 states를 통해 진행됩니다.

4. Processing: 서버는 작업이 진행됨에 따라 SSE event(status updates, artifacts)를 스트리밍하거나 작업을 동기적으로 처리하여 최종 Task object를 응답으로 반환합니다.

- Interaction(선택 사항): Task에 input이 필요한 경우 Client는 tasks/send 또는 tasks/sendSubscribe를 통해 동일한 task ID를 사용하여 추가 메시지를 보냅니다.

5. Completion: Task가 최종적으로 종료 상태(terminal state)에 도달합니다.

6. Result: Task가 완료되면 선택한 Client Agent를 통해 사용자에게 결과가 다시 전송됩니다.

728x90
반응형