에이전트 개발 키트 (ADK)를 사용하여 커스텀 에이전트를 빌드하고 자체 인프라에서 호스팅하는 경우 에이전트 카드를 노출하고 엔드포인트를 수동으로 등록하여 에이전트 레지스트리에서 검색할 수 있도록 할 수 있습니다.
이 문서에서는 ADK 에이전트가 Agent2Agent (A2A) 프로토콜을 준수하여 레지스트리에서 기능을 색인할 수 있도록 하는 방법을 설명합니다.
에이전트 카드 엔드포인트
에이전트 레지스트리가 맞춤 에이전트의 기능을 이해할 수 있도록 에이전트는 Agent2Agent (A2A) 프로토콜을 사용하여 메타데이터와 사용 가능한 기술을 노출해야 합니다.
A2A 사양에 따라 에이전트는 특정 엔드포인트(일반적으로 /.well-known/agent-card.json)에서 에이전트의 ID와 도구를 설명하는 JSON 문서인 에이전트 카드를 제공해야 합니다.
ADK의 특정 A2A 서버 플러그인 또는 모듈을 사용하여 에이전트를 등록하면 프레임워크에서 코드에 제공된 Agent 정의와 tools에 따라 이 에이전트 카드를 자동으로 생성하고 제공할 수 있습니다.
노출된 에이전트 등록
호스팅 환경에 ADK 에이전트를 배포하고 REST 엔드포인트가 성공적으로 제공되면 에이전트 레지스트리가 이를 검색하도록 지시합니다.
커스텀 배포에는 수동 등록이 필요하므로 레지스트리에서 Service 리소스를 만듭니다. 에이전트의 생성된 에이전트 카드를 로컬 JSON 파일(예: agent-card.json)로 저장합니다.
Google Cloud CLI를 사용하여 에이전트를 등록하고 a2a-agent-card 사양 유형을 지정한 후 --agent-spec-content 플래그를 사용하여 로컬 파일을 업로드합니다.
gcloud alpha agent-registry services create AGENT_NAME \
--project=PROJECT_ID \
--location=LOCATION \
--display-name="DISPLAY_NAME" \
--agent-spec-type=a2a-agent-card \
--agent-spec-content=agent-card.json
다음을 바꿉니다.
AGENT_NAME: 에이전트에 지정할 이름(예:my-custom-agent)PROJECT_ID: 프로젝트 ID입니다.LOCATION: 등록처 위치 또는 리전입니다.DISPLAY_NAME: 에이전트의 사람이 읽을 수 있는 이름입니다.
Service 리소스가 생성되면 에이전트 레지스트리에서 에이전트 카드를 파싱하고, 검색 가능한 Agent 리소스를 생성하고, 다른 개발자가 검색할 수 있도록 ADK Python 코드에 정의된 기능을 색인합니다.