도구는 Gemini 모델의 기능을 확장하여 모델이 실제 상황에서 조치를 취하고, 실시간 정보에 액세스하고, 복잡한 계산 작업을 수행할 수 있도록 지원합니다. 모델은 Live API를 통해 표준 요청-응답 상호작용과 실시간 스트리밍 세션 모두에서 도구를 사용할 수 있습니다.
Gemini API는 Gemini 모델에 최적화된 완전 관리형 내장 도구 모음을 제공하며, 함수 호출을 사용하여 맞춤 도구를 정의할 수도 있습니다.
사용 가능한 기본 제공 도구
| 도구 | 설명 | 사용 사례 |
|---|---|---|
| Google 검색 | 웹의 최신 소식과 사실에 기반하여 대답을 그라운딩하여 할루시네이션을 줄입니다. | - 최근 이벤트에 관한 질문에 답변 - 다양한 소스를 통해 사실 확인 |
| Google 지도 | 장소를 찾고, 길을 안내하고, 풍부한 지역 컨텍스트를 제공할 수 있는 위치 인식 어시스턴트를 빌드하세요. | - 여러 경유지가 있는 여행 일정 계획 - 사용자 기준에 따라 지역 업체 찾기 |
| 코드 실행 | 모델이 Python 코드를 작성하고 실행하여 수학 문제를 해결하거나 데이터를 정확하게 처리하도록 허용합니다. | - 복잡한 수학 방정식 풀이 - 텍스트 데이터를 정확하게 처리하고 분석 |
| URL 컨텍스트 | 모델이 특정 웹페이지 또는 문서의 콘텐츠를 읽고 분석하도록 지시합니다. | - 특정 URL 또는 문서를 기반으로 질문에 답변 - 여러 웹페이지에서 정보 검색 |
| 컴퓨터 사용 (미리보기) | Gemini가 화면을 보고 웹브라우저 UI와 상호작용하는 작업을 생성하도록 지원합니다 (클라이언트 측 실행). | - 반복적인 웹 기반 워크플로 자동화 - 웹 애플리케이션 사용자 인터페이스 테스트 |
| 파일 검색 | 자체 문서를 색인 생성하고 검색하여 검색 증강 생성 (RAG)을 사용 설정합니다. | - 기술 설명서 검색 - 독점 데이터에 대한 질문 답변 |
특정 도구와 관련된 비용에 대한 자세한 내용은 가격 책정 페이지를 참고하세요.
도구 실행 작동 방식
도구를 사용하면 모델이 대화 중에 작업을 요청할 수 있습니다. 흐름은 도구가 내장 (Google에서 관리)인지 맞춤 (사용자가 관리)인지에 따라 다릅니다.
기본 제공 도구 흐름
Google 검색 또는 코드 실행과 같은 기본 제공 도구의 경우 전체 프로세스가 하나의 API 호출 내에서 이루어집니다.
- 사용자가 프롬프트를 보냅니다. 'GOOG의 최신 주가의 제곱근은 뭐야?'
- Gemini는 도구가 필요하다고 판단하고 Google 서버에서 도구를 실행합니다 (예: 주가를 검색한 다음 Python 코드를 실행하여 제곱근을 계산).
- Gemini가 도구 결과를 기반으로 한 최종 대답을 다시 보냅니다.
맞춤 도구 흐름 (함수 호출)
맞춤 도구 및 컴퓨터 사용의 경우 애플리케이션에서 실행을 처리합니다.
- 사용자가 함수 (도구) 선언과 함께 프롬프트를 전송합니다.
- Gemini는 특정 함수 (예:
{"name": "get_order_status", "args": {"order_id": "123"}})를 호출하기 위해 구조화된 JSON을 다시 보낼 수 있습니다. - 사용자가 애플리케이션 또는 환경에서 함수를 실행합니다.
- 사용자가 함수 결과를 Gemini에 다시 보냅니다.
- Gemini는 결과를 사용하여 최종 대답이나 다른 도구 호출을 생성합니다.
자세한 내용은 함수 호출 가이드를 참고하세요.
구조화된 출력과 함수 호출 비교
Gemini는 구조화된 출력을 생성하는 두 가지 방법을 제공합니다. 모델이 자체 도구 또는 데이터 시스템에 연결하여 중간 단계를 실행해야 하는 경우 함수 호출을 사용합니다. 맞춤 UI를 렌더링하는 등 모델의 최종 대답이 특정 스키마를 준수해야 하는 경우 구조화된 출력을 사용하세요.
에이전트 빌드
에이전트는 모델과 도구를 사용하여 다단계 작업을 완료하는 시스템입니다. Gemini는 추론 기능('브레인')과 필수 도구('핸드')를 제공하지만, 에이전트의 메모리를 관리하고, 루프를 계획하고, 복잡한 도구 체인을 실행하려면 오케스트레이션 프레임워크가 필요한 경우가 많습니다.
Gemini는 다음과 같은 주요 오픈소스 에이전트 프레임워크와 통합됩니다.
- LangChain / LangGraph: 그래프 구조를 사용하여 상태가 저장되는 복잡한 애플리케이션 흐름과 멀티 에이전트 시스템을 빌드합니다.
- LlamaIndex: Gemini 에이전트를 비공개 데이터에 연결하여 RAG 기반 워크플로를 개선합니다.
- CrewAI: 협업적이고 롤플레잉을 하는 자율 AI 에이전트를 조정합니다.
- Vercel AI SDK: JavaScript/TypeScript로 AI 기반 사용자 인터페이스와 에이전트를 빌드합니다.
- Google ADK: 상호 운용 가능한 AI 에이전트를 빌드하고 조정하기 위한 오픈소스 프레임워크입니다.