ADK와 Agent Engine
ADK(Agent Development Kit)는 Google이 공개한 오픈소스 AI 에이전트 프레임워크이고, Agent Engine은 만든 에이전트를 배포하는 Vertex AI의 관리형 런타임입니다.
ADK 핵심 개념
섹션 제목: “ADK 핵심 개념”| 개념 | 설명 |
|---|---|
| Agent | LLM + instruction + tools 로 구성되는 실행 단위 |
| Tool | 에이전트가 호출하는 함수/API (Python 함수, OpenAPI, MCP 등) |
| Sub-agent | 에이전트 아래에 다른 에이전트를 배치하는 멀티 에이전트 구성 |
| Session / State | 대화 세션과 상태 관리 |
| Runner | 로컬 실행/디버깅 (adk web, adk run) |
최소 예제
섹션 제목: “최소 예제”from google.adk.agents import Agent
def get_exchange_rate(currency: str) -> dict: """환율을 조회합니다.""" return {"currency": currency, "rate": 1350.0}
root_agent = Agent( name="fx_agent", model="gemini-2.5-flash", instruction="환율 질문에 도구를 사용해 답변한다.", tools=[get_exchange_rate],)pip install google-adkadk web # 로컬 개발 UI (http://localhost:8000)배포 옵션 비교
섹션 제목: “배포 옵션 비교”| 옵션 | 장점 | 고려사항 |
|---|---|---|
| Agent Engine | 세션/메모리 관리 내장, 완전관리형, Vertex AI 통합 | 런타임 커스터마이징 제한 |
| Cloud Run | 자유로운 커스터마이징, 기존 CI/CD 재사용 | 세션 저장소 등 직접 구성 |
| GKE | 대규모/복잡 구성 | 운영 부담 최대 |
데모/PoC는 Cloud Run, 프로덕션 에이전트 플랫폼은 Agent Engine을 기본 검토안으로 잡는 것을 권장합니다.
멀티 에이전트 패턴
섹션 제목: “멀티 에이전트 패턴”- Coordinator + Specialist: 루트 에이전트가 의도 분류 후 전문 서브 에이전트에 위임
- Sequential / Parallel Workflow: 정해진 순서/병렬로 에이전트 실행 (Workflow Agents)
- Agent-as-a-Tool: 다른 에이전트를 도구처럼 호출
실무 팁
섹션 제목: “실무 팁”- instruction은 짧은 규칙 목록으로 — 장문 서술보다 불릿 규칙이 안정적
- 도구 docstring이 곧 스펙 — 파라미터 설명을 명확히 작성
- 상태 공유는
session.state활용, 도구 간 암묵적 전역변수 금지 - 평가:
adk eval로 시나리오 회귀 테스트 자동화 - MCP 서버 연결로 외부 시스템(DB, GitHub 등) 도구화 가능