Google 의 Agent Development Kit (ADK) 와 같은 에이전트 프레임워크 덕분에 AI 에이전트 개발이 접근 가능해졌습니다. 그러나 이에 둘러싸인 모든 것 (평가, 인프라, 배포, 발행 등) 은 여전히 수공예적인 프로세스로, 산업화되지 않았습니다. Google 이 해결하려는 문제입니다. TL;DR: Agents CLI 는 ADK 에이전트의 전체 라이프사이클을 orchestrate(조율)하는 공식 Google 도구입니다. 생성, 테스트, 평가, 배포, 발행까지 모두 포함합니다. 터미널 모드와 에이전트 모드 (Gemini CLI, Claude Code, Cursor 등) 에서 모두 작동하도록 설계되었습니다.
🤖 Agents CLI 는 무엇인가요?
Agents CLI 는 ADK 로 구축된 에이전트의 개발 라이프사이클을 위한 공식 Google 도구입니다. 핵심 아이디어: 프로젝트마다 0 부터 도구를 다시 구축할 필요가 없습니다. 이 도구는 scaffolding 초기 단계부터 프로덕션 배포까지의 모든 단계를 커버하기 위해 개발 환경 (또는 AI 어시스턴트) 에 직접 7 개의 "skills" 을 주입합니다.
이 도구는 두 가지 보완적인 모드로 작동합니다:
- Human mode: 터미널에 직접 명령어를 입력하는 방식과 동일하게, 마치 일반적인 CLI 에이전트처럼.
- Agent mode: Gemini CLI, Claude Code, Cursor 등 AI 어시스턴트가 명령어를 자동으로 실행합니다. 이 두 번째 모드가 가장 흥미로운 포인트입니다.
Agents CLI 는 에이전트가 프로젝트 컨텍스트를 이해할 수 있도록 구조화된 skills 를 노출합니다. 문서에 잠겨버리지 않고 더 적은 context overhead(오버헤드)로 실제 자율성을 높입니다.
💻 설치 및 요구 사항
- 요구 사항: Python 3, Node.js, uv (빠른 Python 패키지 관리자)
Agents CLI 설치 및 설정
uvx google-agents-cli setup
인증은 자동으로 gcloud credentials 를 통해 이루어집니다. GCP 프로젝트 없이 작업하는 경우, 로컬 실행을 위해 환경 변수 GEMINI_API_KEY 만 있으면 됩니다.
🔄 명령어로 작동하는 라이프사이클
생성부터 프로덕션까지의 전체 플로우입니다:
1. 프로젝트 scaffolding 생성
agents-cli create mon-agent --deployment-target agent_runtime
2. 의존성 설치
agents-cli install
3. 로컬 playground(테스트용 웹 인터페이스) 실행
agents-cli playground
4. 에이전트 성능 평가
agents-cli eval run
5. 두 개의 평가 run 비교
agents-cli eval compare run1.json run2.json
6. GCP 인프라 Provisioning (자동화된 IaC)
agents-cli infra single-project
7. Cloud Run 또는 Agent Runtime 에 배포
agents-cli deploy
8. Gemini Enterprise 에 발행
agents-cli publish gemini-enterprise
플로우의 일관성을 주목하세요: 각 명령어는 이전 명령어의 자연스러운 연속으로 이어지며, 여러 도구나 GCP 콘솔을 번갈아 사용해야 할 필요가 없습니다.
💡 구체적인 예시: 다중 에이전트 고객 지원 에이전트
Agents CLI 로 프로덕션에 빠르게 배포할 수 있는 것을 보여주는 것입니다. 두 개의 전문화된 에이전트와 각각의 명확한 역할:
from google.adk.agents import LlmAgent
from google.adk.tools import FunctionTool
1. 분류 에이전트: 의도를 분석하고 올바른 전문가로 라우팅
concierge = LlmAgent(
name="concierge",
model="gemini-2.0-flash",
instruction="입력 요청을 분석하고 적절한 에이전트로 라우팅합니다.",
tools=[FunctionTool(route_to_specialist)],
)
2. 물류 에이전트: 주문, 배송 및 재고에 대한 질문 처리
logistician = LlmAgent(
name="logistician",
model="gemini-2.0-flash",
instruction="주문, 배송 및 재고 관련 질문에 답변합니다.",
tools=[FunctionTool(get_order_status), FunctionTool(check_inventory)],
)
Agents CLI 는 이어 컨테이너화, Artifact Registry 로의 push, IAM 설정을 지원합니다. 비즈니스 로직에만 집중하세요.
🤔 Agents CLI 의 장점 및 개선점
강점:
- 전체 라이프사이클을 위한 단일 도구, 자체 배포 스크립트 종료.