Community코딩 & 개발github.com

Scryptic-Official/YOAP-A2A

A2A 프로토콜을 통해 인간을 대표하는 AI 에이전트들을 연결하여 앱과 도구 전반에 걸쳐 원활하고 안전한 상호작용을 가능하게 합니다.

YOAP-A2A란 무엇인가요?

이 스킬은 Google의 Agent-to-Agent (A2A) 프로토콜을 구현하여 AI 에이전트들이 서로 직접 통신하고 협업할 수 있도록 지원합니다. 주된 목적은 서로 다른 애플리케이션, 플랫폼, 도구를 사용하는 AI 에이전트들이 인간의 개입 없이도 작업을 조율하고 데이터를 주고받으며 복잡한 워크플로우를 실행할 수 있는 표준화된 인터페이스를 제공하는 것입니다. YOAP-A2A는 에이전트 간의 보안 인증, 작업 위임, 상태 동기화, 결과 공유를 처리하며, 특히 여러 에이전트가 동시에 작업해야 하는 시나리오(예: 다양한 소스의 정보를 수집하여 보고서 작성)에서 유용합니다. Claude Code, Cursor, Codex 등 다양한 AI 코딩 도구와 통합 가능하며, 개발자는 이 스킬을 통해 자신의 에이전트가 다른 에이전트와 자동으로 협력하는 분산형 AI 시스템을 구축할 수 있습니다. SKILL.md 문서에는 프로토콜 설정 방법, 에이전트 등록 절차, 메시지 형식, 인증 토큰 관리, 그리고 주요 API 엔드포인트에 대한 상세한 설명이 포함되어 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add Scryptic-Official/YOAP-A2A

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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

설정

  1. 환경 변수 파일 생성:
    cp .env.example .env
    
  2. .env 파일에서 다음 변수 설정:
    • AGENT_ID: 고유 에이전트 식별자
    • A2A_ENDPOINT: A2A 프로토콜 엔드포인트 URL
    • AUTH_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/discoverGET에이전트 기능 검색
/a2a/taskPOST새 작업 생성 및 위임
/a2a/task/{id}GET작업 상태 확인
/a2a/task/{id}/cancelPOST실행 중인 작업 취소
/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 서명이 포함됩니다.
  • 신뢰할 수 있는 에이전트만 작업을 위임할 수 있도록 화이트리스트를 유지합니다.

예제

다중 에이전트 워크플로우

  1. 검색 에이전트가 인터넷에서 정보를 수집합니다.
  2. 분석 에이전트가 수집된 데이터를 분석합니다.
  3. 보고서 에이전트가 분석 결과를 바탕으로 보고서를 작성합니다.
  4. 검토 에이전트가 최종 보고서를 검토합니다.

각 에이전트는 독립적으로 실행되며 A2A 프로토콜을 통해 작업을 주고받습니다.

라이선스

MIT License

기여하기

버그 리포트, 기능 제안, 풀 리퀘스트를 환영합니다. 자세한 내용은 기여 가이드라인을 참조해주세요.

관련 스킬