✅ Built-in Tools란?
- ADK에서 미리 제공하는 도구로, 별도 개발 없이 사용할 수 있음
- 대표 예시:
- google_search – 웹 검색
- BuiltInCodeExecutor – 코드 실행
- VertexAiSearchTool – Vertex AI 문서 검색
✅ 사용 방법 (3단계)
- Import

- Initialize (필요 시)
일부 도구는 파라미터 필요 (예: Vertex AI Search → 데이터스토어 ID 필요) - Agent에 등록

✅ 주요 Built-in Tools 정리
1. 📡 Google Search
- 기능: 실제 웹을 검색해 최신 정보 획득
- 모델 제약: Gemini 2 모델 전용
- 주의: 검색 결과에 포함된 renderedContent(HTML UI)는 앱에서 반드시 렌더링하여 사용자에 보여줘야 함

2. 🧮 BuiltInCodeExecutor (코드 실행)
- 기능: 에이전트가 Python 코드를 작성하고 실행
- 용도: 계산, 데이터 처리, 간단한 스크립트 실행
- 등록 위치: tools가 아닌 executor에 등록

executor와 tools는 동시에 사용할 수 없음
3. 📂 Vertex AI Search Tool
- 기능: GCP Vertex AI Search를 이용한 사내 문서/지식 검색
- 필수조건: data_store_id (GCP 검색 인덱스) 필요

✅ 함께 사용하는 예시 (Multi-Agent로 연결)
Built-in Tool은 다른 도구와 함께 단일 Agent에서 사용할 수 없음 → 서브 에이전트 형태로 우회 가능

❗ 제한 사항 (Limitations – Built-in Tools)
ADK에서 Built-in Tool 사용 시 주의해야 할 제한 사항은 다음과 같습니다:
제한 항목 설명 예시 가능 여부
🔸 FunctionTool 등과 병행 불가 | FunctionTool, RestApiTool 등 일반 도구들과 동일 Agent 내에서 Built-in Tool (google_search, BuiltInCodeExecutor)을 함께 사용할 수 없음 | tools=[google_search, my_custom_tool] | ❌ |
🔸 executor 병행 불가 | executor=[BuiltInCodeExecutor]와 tools=[FunctionTool(...)] 같이 executor와 다른 도구를 동시에 등록할 수 없음 | tools=[my_tool], executor=[BuiltInCodeExecutor] | ❌ |
🔸 Sub-agent로 사용 불가 | Built-in Tool을 포함한 Agent를 sub_agents=[...]에 넣으면 작동하지 않음 | sub_agents=[Agent(tools=[google_search])] | ❌ |
🔸 여러 Built-in Tool 직접 포함 불가 | 하나의 Agent에 여러 개의 Built-in Tool을 직접 등록할 수 없음 | tools=[google_search, VertexAiSearchTool(...)] | ❌ |
✅ 권장 사용 방법
방법 설명 예시 가능 여부
✅ Agent-as-a-Tool 방식 사용 | Built-in Tool을 포함한 Agent를 각각 생성하고, AgentTool(agent=...)로 루트 Agent에 등록하면 정상 작동 | tools=[AgentTool(agent=search_agent), AgentTool(agent=code_agent)] | ✔️ |
✅ 요약 비교
도구명 기능 모델제약 설정위치 특이사항
google_search | 웹 검색 | Gemini 2 전용 | tools | UI 렌더링 필수 |
BuiltInCodeExecutor | 코드 실행 | Gemini 2 전용 | executor | tools와 병행 사용 ❌ |
VertexAiSearchTool | 사내 문서 검색 | Gemini 2 전용 | tools | data_store_id 필요 |
'ADK(Agent Development Kit) 관련' 카테고리의 다른 글
ADK Tool - Google Cloud Tools (0) | 2025.07.05 |
---|---|
ADK Tool - Third-Party Tool (1) | 2025.07.04 |
ADK Tool - Function Tool, Long Running Function Tool, Agent-as-a-Tool (0) | 2025.07.02 |
ADK Tool (0) | 2025.07.01 |
ADK에서 모델 사용 방식 (0) | 2025.06.30 |