-
Notifications
You must be signed in to change notification settings - Fork 0
ADK_REVIEW
โ ๏ธ ์ด ๋ฌธ์๋ ๋ ผ์ยท๊ฒํ ์ฉ ์๋ฃ์ ๋๋ค. ํ์ฌ ์ค๊ณ ๊ฒฐ์ ์ ๋ฐ์๋ ๋ด์ฉ์ด ์๋๋ฉฐ, 7๊ฐ ์ค๊ณ deliverable์ ๋ถ๋ณ์์ ๋ฐ๊พธ์ง ์์ต๋๋ค. ADK(Agent Development Kit, ์์ด์ ํธ ๊ฐ๋ฐ ํคํธ) ์ฑํ ์ฌ๋ถ๋ ๋ฏธ๊ฒฐ ์ํ์ ๋๋ค.์์ฑ์ผ: 2026-05-23
ํ์ฌ orchestrator๋ LangGraph + Claude Agent SDK(Software Development Kit, ์ํํธ์จ์ด ๊ฐ๋ฐ ํคํธ) ๋ก MCP(Model Context Protocol, ๋ชจ๋ธ ์ปจํ ์คํธ ํ๋กํ ์ฝ) ์๋ฒ 3๊ฐ๋ฅผ LLM(Large Language Model, ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ) ๋๊ตฌ๋ก ๋ ธ์ถํ๋ค (OSS_INTEGRATION ยง3.3). "Google ADK๋ก๋ ๋์ผํ๊ฒ ๊ตฌ์ฑํ ์ ์๋๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋์ ์ด์ ์ด ์๋๊ฐ"๋ฅผ ๊ฒํ ํ ๋ฉ๋ชจ.
๊ฐ์ฅ ๋จผ์ ๋ถ๋ฆฌํด์ผ ํ ์ : ํ๋ ์์ํฌ ๊ต์ฒด์ ๋ชจ๋ธ ๊ต์ฒด๋ ๋ณ๊ฐ์ ๊ฒฐ์ ์ด๋ค.
| ๊ฒฐ์ ์ถ | ์ ํ์ง | ๋น๊ณ |
|---|---|---|
| ํ๋ ์์ํฌ | LangGraph + Claude Agent SDK โ Google ADK | ADK๋ ๋ชจ๋ธ ์ค๋ฆฝ์ |
| ๋ชจ๋ธ | Claude(Opus/Sonnet) โ Gemini โ ๊ธฐํ | LiteLLM ๋ํผ๋ก ๊ต์ฐจ ์ฌ์ฉ ๊ฐ๋ฅ |
๋ฐ๋ผ์ "ADK + Claude" ๋, "Claude Agent SDK ์ ์ง + ๋ชจ๋ธ๋ง Gemini" ๋ ๊ฐ๋ฅํ๋ค. ADK ๋์ ์ด ๊ณง Gemini ์ฑํ์ ์๋ฏธํ์ง ์๋๋ค.
MCP๋ ํ์ค ํ๋กํ ์ฝ์ด๋ผ ์๋ฒ ์ธก(mcp-robot-adapter ๋ฑ 3๊ฐ)์ ์ด๋ ๊ฒฝ์ฐ๋ ๋ณ๊ฒฝ ๋ถํ์ํ๋ค. ๋ฐ๋๋ ๊ฒ์ orchestrator ์์ LLM ํธ์ถ์๋ฟ์ด๋ค.
| ํญ๋ชฉ | Gemini 3.5 Flash | Claude Opus 4.7 | ์ด ํ๋ก์ ํธ ์ค์๋ |
|---|---|---|---|
| ์ถ๋ ฅ ์๋ / TTFT(Time To First Token, ์ฒซ ํ ํฐ๊น์ง ์๊ฐ) | ~4๋ฐฐ ๋น ๋ฆ, <500ms | 1โ3์ด | โณ |
| ๋น์ฉ (input/output, 1M tokens) | ~$0.075 / ~$0.30 | ~$15 / ~$75 (~100๋ฐฐ) | โ |
| ์ค์ฒฉ tool callยท์๋ฌ ๋ณต๊ตฌ | ์ํธ | ๋ ์ ๋ขฐ์ฑ ๋์ | โ |
| ๊ธด ๋ฉํฐํด instruction adherence | ๋ณดํต | ์ฐ์ | โ |
| agentic ๋ฒค์น (MCP Atlas, Toolathlon ๋ฑ) | Flash๊ฐ ์ํ (๊ตฌ๊ธ ๋ฐํ ๊ธฐ์ค) | โ | โ |
ํด์:
- orchestrator๋
vision/zone/enter๊ฐ์ ์ฌ๋-์ํธ์์ฉ ํ์ด์ค์ ์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ์ด๊ณ per-session lock์ผ๋ก ์ง๋ ฌํ๋๋ค (SYSTEM_DESIGN ยง7.3). ์ด๋น ์์ญ ๋ฒ ๋๋ tight loop์ด ์๋๋ฏ๋ก Flash์ ์๋ ์ฐ์๊ฐ ๊ฒฐ์ ์ ์ด์ง ์๋ค. - ๋ฐ๋๋ก ์ถ๋ ฅ์ ๋ก๋ด ๋ฌผ๋ฆฌ ๋์ ๋ช ๋ น์ด๋ค. ์ค์ฒฉ tool call ์ ๋ขฐ์ฑยท์กฐ๊ฑด๋ถ instruction ์ค์๊ฐ ์์ ๊ณผ ์ง๊ฒฐ๋์ด Opus์ ๊ฐ์ ์ด ์ ๋นํ๋๋ค. ์ด๋ SYSTEM_DESIGN ยง15์์ Opus(ํ์ง) vs Sonnet(latency)์ ์ ์ธ์งํ๋ ์ถ๊ณผ ๊ฐ๋ค.
- ๋น์ฉ 100๋ฐฐ ์ฐจ์ด๋ ๋ฌด์ ๋ชป ํ๋ค. ๊ฐ๋๋ ์ผ์ด ์ด๋ฏธ MCP ์๋ฒ ์ธก์ ๊ฐ์ ๋๋ฏ๋ก(JSON schema โ capability whitelist โ zone polygon clamp โ velocity clamp), "๋ชจ๋ธ์ด ๊ฐ๋ ํ๋ ค๋ ์๋ฒ์์ ๋งํ๋ค"๋ ์์ ๋ง์ด ์๋ค. โ ์ ๋น๋ ๋จ์ ๊ฒฐ์ ์ ์ ๋น์ฉ ๋ชจ๋ธ, ๊ณ ์ํ ๊ฒฐ์ ์ Opus ๊ฐ์ ํฐ์ด๋ง ์ฌ์ง๊ฐ ์๋ค.
์์ง: Gemini๋ก ๋ฐ๊ฟ ๊ฐํ ์ด์ ๋ ์ฑ๋ฅ์ด ์๋๋ผ ๋น์ฉ์ด๋ค. ์์ ยท์ ๋ขฐ์ฑ ๊ด์ ์์ Claude Opus๊ฐ ์ด ์ํฌ๋ก๋์ ์ฌ์ ํ ๋ ๋ถํฉํ๋ค.
ADK๋ 2026๋ 1.0 GA(General Availability, ์ ์ ์ถ์) ์ ๋๋ฌํ๊ณ (Python/Go/Java/TypeScript), ์ฃผ์ ๊ฐ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ข์ ์
-
MCP 1๊ธ ์ง์ โ
MCPToolset์ผ๋ก MCP ์๋ฒ๋ฅผ ๋ถ์ด๋ฉด ๋๊ตฌ ์๋ ๋ฑ๋ก. ๊ธฐ์กด MCP ์๋ฒ 3๊ฐ๋ ๊ทธ๋๋ก ์ฌ์ฌ์ฉ. - A2A(Agent-to-Agent, ์์ด์ ํธ ๊ฐ ํต์ ) ํ๋กํ ์ฝ โ ๋ฉํฐ ์์ด์ ํธ ์์ ํ์คํ. ํฅํ "๋ก๋ด๋ณ sub-agent" ํ์ฅ ์ ์ ๋ฆฌ.
-
์ํฌํ๋ก์ฐ ์์ด์ ํธ (
Sequential/Parallel/Loop) ๋ด์ฅ โ LangGraph ๊ทธ๋ํ๋ฅผ ๋์ฒดํ ์ถ์ํ ์กด์ฌ. - Vertex AI / GKE(Google Kubernetes Engine, ๊ตฌ๊ธ ์ฟ ๋ฒ๋คํฐ์ค ์์ง) ๋ฐฐํฌ ํตํฉ โ GCP(Google Cloud Platform, ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ) ์์์ ์ด์ํ๋ค๋ฉด ๋งค๋๋ฌ์.
์ด ํ๋ก์ ํธ์ ํํด ํ์์ ์ธ ์
-
ADK์ ๋ ๊ฐํ ๊ธฐ๋ฅ์ด ์ด ํ๋ก์ ํธ์์ ์ ์ ๋ง๋๋ค. ADK๊ฐ ๋ด์ธ์ฐ๋ ๊ฐ์ ์ ํฌ๊ฒ ๋ ๊ฐ์ง์ธ๋ฐ, ๋ ๋ค ์ฐ๋ฆฌ ๊ตฌ์กฐ์๋ ์ด๊ธ๋๋ค.
- A2A(์์ด์ ํธ ๊ฐ ์ง์ ํต์ ): ADK๋ ์ฌ๋ฌ ์์ด์ ํธ๊ฐ ์๋ก ์ง์ ๋ํํ๋ฉฐ ์ผ์ ๋๋ ๊ฐ๋ ๋ฐฉ์์ ์ ์ง์ํ๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ๋ชจ๋ ์๋น์ค๊ฐ MQTT ํ ๊ณณ์ ๊ฑฐ์ณ์๋ง ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ๋ก ์ ํ๊ณ (์ค๊ณ ๋ถ๋ณ์), orchestrator๋ ์ฌ๋ฌ ๊ฐ๊ฐ ์๋๋ผ ์ฌ์ค์ ํ๋๋ค. ์ฆ "์์ด์ ํธ๋ผ๋ฆฌ ์ง์ ๋ํ"ํ ์ผ์ด ๊ฑฐ์ ์์ด์ ์ด ๊ธฐ๋ฅ์ ์ธ ์๋ฆฌ๊ฐ ์๋ค.
- ์ธ์ ์ํ ๊ด๋ฆฌ: ADK๋ ๋ํ ๋งฅ๋ฝยท์งํ ์ํ๋ฅผ ์๊ธฐ ์์ ์ ์ฅํด ์ฃผ๋ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ๋ชจ๋ ์ํ๋ฅผ Home Assistant ํ ๊ณณ์๋ง ์ ์ฅํ๊ธฐ๋ก ๋ชป ๋ฐ์๋ค(orchestrator๋ ์ํ๋ฅผ ์ ๋ค๊ณ ๋งค๋ฒ HA์์ ์กฐํํ๋ stateless graph). ๊ทธ๋์ ADK์ ์ํ ์ ์ฅ ๊ธฐ๋ฅ์ ์ผ๋ฉด "์ํ๋ฅผ ๋ ๊ณณ์ ๋๋" ์ ์ด ๋์ด ์คํ๋ ค ์์น๊ณผ ์ถฉ๋ํ๋ค.
- ์ ๋ฆฌํ๋ฉด, ADK๋ฅผ ์จ๋ ์ด ๋ ๊ธฐ๋ฅ์ ๊บผ๋๊ฑฐ๋ ์ฐํํ๊ฒ ๋๋ฏ๋ก, ADK๋ก ๋ฐ๊ฟ์ ์ป๋ ์ค์ต์ด ๊ทธ๋งํผ ์ค์ด๋ ๋ค.
- ๋ฐฐํฌ ๋ชจ๋ธ์ด ghcr.io ๊ธฐ๋ฐ cloud-build/local-run (DEPLOYMENT) ์ด๋ผ GCP ์ข ์ ์ด์ ์ด ์ฝํ๋ค.
-
ํ๋กฌํํธ ์บ์ฑ ๋ฆฌ์คํฌ: "system prompt + zone playbook โ Anthropic prompt caching" ์ต์ ํ๋ Claude Agent SDK๊ฐ Anthropic API๋ฅผ ์ง์ ์น ๋ ๊ฐ์ฅ ๊น๋ํ๋ค. ADK๊ฐ Claude๋ฅผ LiteLLM ๊ฒฝ์ ๋ก ๋ถ๋ฅด๋ฉด
cache_control์ ๋ฌ ์ฌ๋ถ๋ฅผ ๊ฒ์ฆํด์ผ ํ๊ณ , ์ ๋๋ฉด ๋น์ฉ ์ด์ ์ด ๊น์ธ๋ค.
- ๋ชจ๋ธ: Gemini์ ๋งค๋ ฅ์ ์๋๋ณด๋ค ๋น์ฉ(100x). ๋จ ์์ ๋ช ๋ น ๋์คํจ์น ์ํฌ๋ก๋ ํน์ฑ์ Claude์ tool-use ์ ๋ขฐ์ฑ์ด ๋ ๋ถํฉ โ ์ ๋ฉด ๊ต์ฒด๋ณด๋ค ํฐ์ด๋ง ๊ฒํ ๊ฐ ํฉ๋ฆฌ์ .
- ํ๋ ์์ํฌ: ADK๋ ํ๋ฅญํ๋, MQTT ์ค์ฌยทHA ์ํ์ ์ฅยท้GCP ๋ฐฐํฌ ๊ตฌ์กฐ์์๋ LangGraph ๋๋น ์ถ๊ฐ ์ด๋์ด ์ ํ์ ์ด๊ณ prompt caching ๊ฒ์ฆ ๋ถ๋ด์ด ์๊ธด๋ค.
- ๋ ๋ณ๊ฒฝ ๋ชจ๋ SYSTEM_DESIGN ยง15์ ์๋ ์ ๊ท ์ํคํ ์ฒ ๊ฒฐ์ ์ด๋ฏ๋ก, ์ค๊ณ ๋ฐ์ ์ ํฉ์๊ฐ ํ์ํ๋ค.
- Google ADK ๊ฒํ (ํ๋ ์์ํฌยท๋ชจ๋ธ ๋น๊ต)
- ํ๋ฅด์๋ + ์ํฉ ์นด๋ ๋ชจ๋ธ (2์ฐจ ์๋๋ฆฌ์ค ๊ตฌ๋ ๋ฐฉ์)
- Mac Studio ๋ก์ปฌ LLM + Claude Opus ํ์ด๋ธ๋ฆฌ๋ ๋ผ์ฐํ ์ ๋ต
- ๊ฐ๋ฐ ์ผ์ ยทํ ์ผ ์ ๊ฒํ (๋จ๊ณ๋ณ ์งํ ์ ๊ฒ)
- ๋ก๋ด Adapter ๊ฐ๋ฐ ์จ๋ณด๋ฉ (HAยทMQTT ๊ณ์ ๋ฑ๋ก, ํ ํฝ ์ ์ฉ, ํ ์คํธ ์ก์์ , ์ํ ํ์ธ)