원격 서브 에이전트 (실험적 기능)
Gemini CLI는 Agent-to-Agent (A2A) 프로토콜을 사용하여 원격 서브 에이전트에 연결하는 것을 지원합니다. 이를 통해 Gemini CLI는 다른 에이전트와 상호 작용하여 원격 서비스에 작업을 위임함으로써 기능을 확장할 수 있습니다.
Gemini CLI는 호환되는 모든 A2A 에이전트에 연결할 수 있습니다. 다음 저장소에서 A2A 에이전트 샘플을 찾을 수 있습니다:
참고: 원격 서브 에이전트는 현재 실험적인 기능입니다.
구성
원격 서브 에이전트를 사용하려면 settings.json에서 명시적으로 활성화해야 합니다:
{
"experimental": {
"enableAgents": true
}
}원격 서브 에이전트 정의
원격 서브 에이전트는 YAML frontmatter가 있는 Markdown 파일(.md)로 정의됩니다.
다음 위치에 배치할 수 있습니다:
- 프로젝트 수준:
.gemini/agents/*.md(팀과 공유) - 사용자 수준:
~/.gemini/agents/*.md(개인 에이전트)
구성 스키마
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
kind | 문자열 | 예 | 반드시 remote여야 합니다. |
name | 문자열 | 예 | 에이전트의 고유 이름입니다. 유효한 슬러그(소문자, 숫자, 하이픈, 밑줄만 허용)여야 합니다. |
agent_card_url | 문자열 | 예 | 에이전트의 A2A 카드 엔드포인트 URL입니다. |
단일 서브 에이전트 예시
---
kind: remote
name: my-remote-agent
agent_card_url: https://example.com/agent-card
---다중 서브 에이전트 예시
로더는 단일 Markdown 파일에 정의된 여러 원격 서브 에이전트를 명시적으로 지원합니다.
---
- kind: remote
name: remote-1
agent_card_url: https://example.com/1
- kind: remote
name: remote-2
agent_card_url: https://example.com/2
---참고: 단일 파일에 로컬 및 원격 에이전트를 혼합하거나 여러 로컬 에이전트를 정의하는 것은 지원되지 않습니다. 목록 형식은 현재 원격 전용입니다.
서브 에이전트 관리
사용자는 Gemini CLI 내에서 다음 명령을 사용하여 서브 에이전트를 관리할 수 있습니다:
/agents list: 사용 가능한 모든 로컬 및 원격 서브 에이전트를 표시합니다./agents refresh: 에이전트 레지스트리를 다시 로드합니다. 에이전트 정의 파일을 추가하거나 수정한 후 사용하세요./agents enable <agent_name>: 특정 서브 에이전트를 활성화합니다./agents disable <agent_name>: 특정 서브 에이전트를 비활성화합니다.
팁: 서브 에이전트 구성에 대한 도움말은 Gemini CLI 내에서
@cli_help에이전트를 사용할 수 있습니다.