맞춤 ADK 에이전트 등록

에이전트 개발 키트 (ADK)를 사용하여 커스텀 에이전트를 빌드하고 자체 인프라에서 호스팅하는 경우 에이전트 카드를 노출하고 엔드포인트를 수동으로 등록하여 에이전트 레지스트리에서 검색 가능하도록 만들 수 있습니다.

이 문서에서는 ADK 에이전트가 Agent2Agent (A2A) 프로토콜을 준수하도록 하여 레지스트리가 기술을 색인화할 수 있도록 하는 방법을 설명합니다.

에이전트 카드 엔드포인트

에이전트 레지스트리가 커스텀 에이전트의 기능을 이해할 수 있도록 하려면 에이전트가 Agent2Agent (A2A) 프로토콜 을 사용하여 메타데이터와 사용 가능한 기술을 노출해야 합니다.

A2A 사양에서는 에이전트가 에이전트의 ID와 도구를 설명하는 JSON 문서인 에이전트 카드를 일반적으로 /.well-known/agent-card.json인 특정 엔드포인트에서 제공해야 합니다.

ADK의 특정 A2A 서버 플러그인 또는 모듈을 사용하여 에이전트를 등록하면 프레임워크가 코드에서 제공하는 Agent 정의 및 tools를 기반으로 이 에이전트 카드를 자동으로 생성하고 제공할 수 있습니다.

노출된 에이전트 등록

호스팅 환경에 ADK 에이전트를 배포하고 REST 엔드포인트를 성공적으로 제공한 후 에이전트 레지스트리가 이를 검색하도록 안내합니다.

커스텀 배포에는 수동 등록이 필요하므로 레지스트리에서 Service 리소스를 만듭니다. 생성된 에이전트 카드를 로컬 JSON 파일(예: agent-card.json)로 저장합니다.

Google Cloud CLI를 사용하여 에이전트를 등록합니다. 이때 a2a-agent-card 사양 유형을 지정하고 --agent-spec-content 플래그를 사용하여 로컬 파일을 업로드해야 합니다.

gcloud 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

사양 파일의 최대 파일 크기는 10KB입니다.

다음을 바꿉니다.

  • AGENT_NAME: 에이전트에 지정할 이름입니다(예: my-custom-agent).
  • PROJECT_ID: 프로젝트 ID입니다.
  • LOCATION: 등록처 위치 또는 리전입니다.
  • DISPLAY_NAME: 에이전트의 사람이 읽을 수 있는 이름입니다.

Service 리소스가 생성되면 에이전트 레지스트리가 에이전트 카드를 파싱하고 검색 가능한 Agent 리소스를 만들고, 다른 개발자가 검색할 수 있도록 ADK Python 코드에 정의된 기술을 색인화합니다.