YOAP-A2A은(는) 무엇을 하나요?
A2A 프로토콜을 통해 인간을 대표하는 AI 에이전트들을 연결하여 앱과 도구 전반에 걸쳐 원활하고 안전한 상호작용을 가능하게 합니다.
개요
이 스킬은 Google의 Agent-to-Agent (A2A) 프로토콜을 기반으로 AI 에이전트 간 통신을 구현합니다. 에이전트가 서로를 발견하고, 작업을 위임하며, 결과를 공유할 수 있는 표준화된 방법을 제공합니다.
주요 기능
- 에이전트 검색: A2A 프로토콜을 통해 다른 에이전트의 기능과 가용성을 자동으로 탐색합니다.
- 보안 인증: 상호 TLS 및 OAuth 2.0을 지원하여 에이전트 간 안전한 통신 채널을 보장합니다.
- 작업 위임: 한 에이전트가 다른 에이전트에게 특정 작업을 요청하고 진행 상황을 추적할 수 있습니다.
- 결과 동기화: 에이전트 간 작업 결과와 데이터를 실시간으로 동기화합니다.
- 멀티 에이전트 조정: 여러 에이전트가 협력하여 복잡한 워크플로우를 실행할 수 있도록 지원합니다.
지원 플랫폼
- Claude Code
- Cursor
- Codex
- 기타 A2A 호환 AI 에이전트 플랫폼
설치 방법
# 저장소 클론
git clone https://github.com/Scryptic-Official/YOAP-A2A.git
# 디렉토리 이동
cd YOAP-A2A
# 의존성 설치
pip install -r requirements.txt
설정
- 환경 변수 파일 생성:
cp .env.example .env .env파일에서 다음 변수 설정:AGENT_ID: 고유 에이전트 식별자A2A_ENDPOINT: A2A 프로토콜 엔드포인트 URLAUTH_TOKEN: 인증 토큰 (OAuth 2.0 또는 API 키)TRUSTED_AGENTS: 신뢰할 수 있는 에이전트 ID 목록 (쉼표로 구분)
사용법
에이전트 등록
from yoap_a2a import AgentRegistry
registry = AgentRegistry()
registry.register(
agent_id="my-agent",
capabilities=["code_review", "documentation", "testing"],
endpoint="https://my-agent.example.com/a2a"
)
작업 위임
from yoap_a2a import TaskClient
client = TaskClient(target_agent="target-agent-id")
task = client.delegate(
task_type="code_review",
payload={
"repository": "user/repo",
"branch": "main",
"files": ["src/main.py"]
}
)
print(f"Task {task.id} created with status: {task.status}")
결과 수신
from yoap_a2a import TaskListener
listener = TaskListener()
@listener.on_task_completed
def handle_result(task_result):
print(f"Task {task_result.task_id} completed:")
print(task_result.data)
listener.start()
API 엔드포인트
| 엔드포인트 | 메서드 | 설명 |
|---|---|---|
/a2a/discover | GET | 에이전트 기능 검색 |
/a2a/task | POST | 새 작업 생성 및 위임 |
/a2a/task/{id} | GET | 작업 상태 확인 |
/a2a/task/{id}/cancel | POST | 실행 중인 작업 취소 |
/a2a/result/{id} | GET | 완료된 작업 결과 조회 |
메시지 형식
A2A 메시지는 JSON 형식을 사용하며 다음과 같은 구조를 가집니다:
{
"protocol_version": "1.0",
"message_id": "msg-12345",
"sender": {
"agent_id": "agent-a",
"endpoint": "https://agent-a.example.com/a2a"
},
"target": {
"agent_id": "agent-b"
},
"action": "delegate_task",
"payload": {
"task_type": "data_analysis",
"parameters": {
"dataset": "sales_2024.csv",
"metrics": ["revenue", "growth_rate"]
}
},
"timestamp": "2024-01-15T10:30:00Z"
}
보안
- 모든 통신은 TLS 1.3 이상으로 암호화됩니다.
- 인증은 OAuth 2.0 또는 사전 공유 API 키를 사용합니다.
- 각 메시지에는 위변조 방지를 위한 HMAC 서명이 포함됩니다.
- 신뢰할 수 있는 에이전트만 작업을 위임할 수 있도록 화이트리스트를 유지합니다.
예제
다중 에이전트 워크플로우
- 검색 에이전트가 인터넷에서 정보를 수집합니다.
- 분석 에이전트가 수집된 데이터를 분석합니다.
- 보고서 에이전트가 분석 결과를 바탕으로 보고서를 작성합니다.
- 검토 에이전트가 최종 보고서를 검토합니다.
각 에이전트는 독립적으로 실행되며 A2A 프로토콜을 통해 작업을 주고받습니다.
라이선스
MIT License
기여하기
버그 리포트, 기능 제안, 풀 리퀘스트를 환영합니다. 자세한 내용은 기여 가이드라인을 참조해주세요.