-
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๊ฐ๋ ๊ทธ๋๋ก ์ฌ์ฌ์ฉ. -
orchestrator ๋ด๋ถ ์๋ธ ์์ด์ ํธ ๋ถํด์ ์ ํฉ โ orchestrator๊ฐ ํ๋ก์ธ์ค๋ก๋ ํ๋์ฌ๋, ๊ทธ ์์ ์ถ๋ก ์ ์ญํ ๋ณ ์๋ธ ์์ด์ ํธ๋ก ์ชผ๊ฐ root agent๊ฐ ์์ํ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ง์ํ๋ค. ์)
์ปจํ ์คํธ ์กฐ๋ฆฝโ์์ ํ๋จโ๋ก๋ด ๋์ ๊ณํ/ํ๋ธ๋ฆฟ UX ์๋ต์ ๊ฐ๊ฐ ์๋ธ ์์ด์ ํธ๋ก ์ ์. ADK์ ๋ฉํฐ ์์ด์ ํธยท์ํฌํ๋ก์ฐ ์ถ์ํ(Sequential/Parallel/Loop+LlmAgent์์)๋ก ์ด๋ฅผ ๊น๋ํ๊ฒ ํํํ ์ ์๋ค. ์๋ธ ์์ด์ ํธ๋ฅผ ์ด๋ป๊ฒ ์ ์ํ๋๋์ ๋ฐ๋ผ ์ค์ง์ ์ด์ ์ด ์ปค์ง๋ค. (๋ค๋ง ๊ฐ์ ๋ถํด๋ฅผ ํ์ฌ LangGraph ๋ ธ๋ ๊ตฌ์กฐ๋ก๋ ํํ ๊ฐ๋ฅ โ "ADK์ฌ์ผ๋ง ํ๋๊ฐ vs LangGraph๋ก ์ถฉ๋ถํ๊ฐ"๋ ยง4์์ ๋ค๋ฃจ๋ ๋น๊ต ๋์) - Vertex AI / GKE(Google Kubernetes Engine, ๊ตฌ๊ธ ์ฟ ๋ฒ๋คํฐ์ค ์์ง) ๋ฐฐํฌ ํตํฉ โ GCP(Google Cloud Platform, ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ) ์์์ ์ด์ํ๋ค๋ฉด ๋งค๋๋ฌ์.
์ด ํ๋ก์ ํธ์ ํํด ํ์์ ์ธ ์
- ์๋น์ค ๊ฐ ํต์ (A2A(Agent-to-Agent, ์์ด์ ํธ ๊ฐ ํต์ )) โ ADK๋ ๋ณ๊ฐ๋ก ๋ ์๋ ์์ด์ ํธ๋ค์ด ์๋ก ์ง์ ๋ํํ๋ฉฐ ์ผ์ ๋๋๋ ๋ฐฉ์์ ์ ์ง์ํ๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๋ ๋ชจ๋ ์๋น์ค๊ฐ MQTT ํ ๊ณณ์ ๊ฑฐ์ณ์๋ง ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ๋ก ์ ํ๊ณ (์ค๊ณ ๋ถ๋ณ์), ์ธ๋ถ์ ๋ ธ์ถ๋๋ ๋ณ๋ ์์ด์ ํธ ์๋น์ค๋ ์๋ค. ์ด ์ธต์์์๋ A2A๋ฅผ ์ธ ์๋ฆฌ๊ฐ ๊ฑฐ์ ์๋ค. (orchestrator "์"์ ์๋ธ ์์ด์ ํธ ๋ถํด๋ ๋ณ๊ฐ๋ก ์ค์ต์ด ์์ด ์ "์ข์ ์ "์ ์ ๋ฆฌ)
- ์ธ์ ์ํ ๊ด๋ฆฌ โ ADK๋ ๋ํ ๋งฅ๋ฝยท์งํ ์ํ๋ฅผ ์๊ธฐ ์์ ์ ์ฅํด ์ฃผ๋ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์๋ค. ๊ทธ๋ฐ๋ฐ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ๋ชจ๋ ์ํ๋ฅผ Home Assistant ํ ๊ณณ์๋ง ์ ์ฅํ๊ธฐ๋ก ๋ชป ๋ฐ์๋ค(orchestrator๋ ์ํ๋ฅผ ์ ๋ค๊ณ ๋งค๋ฒ HA์์ ์กฐํํ๋ stateless graph). ADK์ ์ํ ์ ์ฅ ๊ธฐ๋ฅ์ ์ ๋ฉด์ ์ผ๋ก ์ผ๋ฉด "์ํ๋ฅผ ๋ ๊ณณ์ ๋๋" ์ ์ด๋ผ ์์น๊ณผ ์ถฉ๋ํ๋ค. ๋ค๋ง ์๋ธ ์์ด์ ํธ ๋ถํด๋ฅผ ์ฐ๋๋ผ๋ ์์ ์ํ๋ HA์ ๋๊ณ 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 ๊ณ์ ๋ฑ๋ก, ํ ํฝ ์ ์ฉ, ํ ์คํธ ์ก์์ , ์ํ ํ์ธ)