Agent2Agent Protocol
Agent2Agent Protocol (A2A)을 통해 AI 에이전트가 Ultralytics YOLO26을 사용하여 다양한 프레임워크 전반에서 안전하게 검색, 통신, 작업 위임, 협업을 수행할 수 있는 방법을 알아보세요.
Agent2Agent Protocol (A2A)은 독립된 AI 에이전트들이 서로를 발견하고, 요청을 교환하며, 작업을 위임하고, 서로 다른 프레임워크, 벤더, 조직 간에 결과를 반환할 수 있도록 지원하는 개방형 통신 표준입니다. 에이전트의 내부 메모리, 추론 프로세스 또는 도구를 노출하는 대신, A2A는 협업을 위한 공유 인터페이스를 제공합니다. 이를 통해 특화된 에이전트들이 독립적으로 구현 및 운영되면서도 더 큰 목표에 기여하는 분산형 AI agent 시스템을 구축하는 데 유용합니다.
Agent2Agent Protocol 작동 방식#
공식 official A2A Protocol overview는 작업을 요청하는 클라이언트 에이전트와 이를 수행하는 원격 에이전트 간의 상호작용을 정의합니다. 통신에는 비공식적인 애플리케이션 전용 메시지 대신 HTTP 기반 인터페이스와 구조화된 프로토콜 객체가 사용됩니다. (a2a-protocol.org)
일반적인 상호작용은 다음 요소들로 구성됩니다:
- Agent Cards and discovery: Agent Card는 에이전트의 신원, 엔드포인트, 지원 기능, 인증 요구사항, 기술을 설명하는 JSON 문서입니다. 클라이언트 에이전트는 이를 사용하여 원격 에이전트가 작업을 처리할 수 있는지 판단합니다.
- 메시지: 요청, 지시사항, 컨텍스트, 응답은 텍스트, 파일 또는 구조화된 데이터를 포함하는 메시지로 표현됩니다.
- 작업: 작업은 식별자와 상태를 가진 상태 유지형 작업 단위입니다. 문서화된 A2A task lifecycle은 완료되거나, 실패하거나, 추가 입력이 필요하거나, 취소될 수 있는 작업을 지원합니다.
- 아티팩트: 보고서, 이미지, 비디오, JSON 레코드와 같은 구체적인 출력은 대화형 텍스트에 섞이지 않고 아티팩트로 반환됩니다.
- Streaming and asynchronous operations: 장기 실행 에이전트는 점진적 업데이트를 스트리밍하거나, 폴링을 지원하거나, 웹훅을 통해 클라이언트에 알릴 수 있습니다.
기본 요청 형식은 JSON-RPC 2.0 specification을 따르며, 구현에 일관된 메서드, 매개변수, 응답, 오류 구조를 제공합니다.
관련 에이전트 기술과 A2A 비교#
A2A는 에이전트 간의 통신을 다루지만, 에이전트 시스템의 모든 부분을 정의하지는 않습니다.
- Model Context Protocol: MCP는 주로 에이전트를 도구, 데이터 소스, 리소스에 연결합니다. A2A는 하나의 자율 에이전트를 다른 자율 에이전트에 연결합니다. 공식 A2A and MCP guidance는 두 프로토콜이 경쟁 관계로 취급되는 대신 어떻게 함께 사용될 수 있는지 설명합니다. (a2a-protocol.org)
- Agent Skills: 스킬은 에이전트가 특화된 작업을 수행하는 데 도움이 되는 재사용 가능한 지시사항과 절차를 패키징합니다. Agent Card는 원격 협업을 위한 기능을 광고하며, Ultralytics Agent Skills는 문서화된 computer vision 워크플로를 통해 호환되는 코딩 에이전트를 안내합니다.
- AI agent orchestration: 오케스트레이션은 어떤 에이전트가 어떤 순서로, 어떤 제약 조건 하에 행동해야 하는지 결정합니다. A2A는 오케스트레이터가 사용할 수 있는 통신 계층을 제공합니다.
- Function calling and tool use: 함수 호출은 특정 작업을 호출합니다. A2A 요청은 원격 에이전트가 독립적으로 계획하고 완료하는 더 광범위한 목표를 위임할 수 있습니다.
실제 AI 및 computer vision 애플리케이션#
제조업 검사: 코디네이터 에이전트는 생산 이미지를 전문가 computer vision 에이전트에 보낼 수 있습니다. 해당 에이전트는 결함 검출을 실행하고 주석이 달린 이미지와 구조화된 결과를 아티팩트로 반환합니다. 그 후 코디네이터는 확인된 결함을 유지보수 에이전트에 위임하고, 불확실한 경우는 사람이 검토하도록 라우팅할 수 있습니다.
소매 재고 관리: 매장 운영 에이전트는 비전 에이전트에 선반 이미지를 검사하고, 제품을 세고, 빈 공간을 식별하도록 요청할 수 있습니다. 그런 다음 해당 관찰 내용을 재고 기록을 확인하는 재고 에이전트와 보충 요청을 준비하는 조달 에이전트에 보낼 수 있습니다. A2A는 이러한 에이전트들이 모델, 소스 코드 또는 비공개 내부 컨텍스트를 공유할 필요 없이 상호 운용성을 유지하도록 합니다.
이러한 워크플로를 위해 팀은 Ultralytics Platform을 사용하여 시각적 데이터셋에 주석을 달고, 모델을 학습시키며, 추론 엔드포인트를 배포하고, 에이전트가 호출하는 인지 서비스를 모니터링할 수 있습니다.
Computer Vision Agent 예시#
다음의 문서화된 Ultralytics YOLO prediction workflow는 원격 비전 에이전트 내부의 인지 단계를 나타냅니다:
from pathlib import Path
from ultralytics import YOLO
source = "https://ultralytics.com/images/bus.jpg"
output_path = Path("vision_artifact.jpg")
# Perform the remote agent's visual analysis
model = YOLO("yolo26n.pt")
results = model(source)
result = results[0]
result.save(filename=str(output_path))
print(output_path)여기서 Ultralytics YOLO26은 시각적 추론을 수행하고 주석이 달린 이미지를 생성합니다. A2A 서버는 해당 이미지를 아티팩트로 반환하는 동시에 기계 읽기 가능한 검출 결과를 별도로 반환할 수 있습니다. 프로토콜은 결과를 전송하고 추적하며, 비전 모델을 대체하지는 않습니다.
설계 및 보안 고려사항#
A2A 상호 운용성이 자동으로 멀티 에이전트 시스템을 안전하거나 신뢰할 수 있게 만들어 주는 것은 아닙니다. 개발자는 Agent Card를 검증하고, 모든 호출자를 인증하며, 스킬별로 액세스 권한을 부여하고, 위임된 권한을 제한하며, 원격 출력을 신뢰할 수 없는 입력으로 취급해야 합니다. 프로토콜의 enterprise implementation guidance는 HTTPS, OAuth 기반 인증, 최소 권한 승인, 로깅, 추적, 데이터 최소화와 같은 기존 웹 제어를 권장합니다. (a2a-protocol.org)
프로덕션 시스템은 또한 타임아웃, 재시도 정책, 작업 취소, 멱등성 작업, 그리고 중요한 작업에 대한 사람의 승인을 정의해야 합니다. Ultralytics Platform deployment monitoring을 통해 요청 오류, 지연 시간, 엔드포인트 상태를 모니터링하면 팀이 협업 에이전트 전반으로 확산되기 전에 비전 기반 에이전트 워크플로의 오류를 식별하는 데 도움이 될 수 있습니다.






