name: tooling-strategies description: decision matrix for agent tools. Use this to choose between Extensions, Functions, and Data Stores based on security, execution location, and data type.
Gemini Tooling Strategies
Goal
Select the correct tool type to bridge the gap between the model's internal knowledge and the external world.
Tool Types & Decision Matrix
1. Extensions (Agent-Side Execution)
- Definition: A standardized bridge to an API where the Agent manages the execution using examples to learn how to call the endpoint.
- Best For:
- When you want the agent to control interactions with API endpoints.
- Leveraging native pre-built Extensions (e.g., Code Interpreter, Vertex Search).
- Multi-hop planning where the agent needs full autonomy.
- Mechanism: The agent uses examples to learn how to call the API and executes it automatically.
2. Functions (Client-Side Execution)
- Definition: The model generates the parameters for a function, but your Client Application executes the code.
- Best For:
- Security: Handling sensitive credentials (API keys) that you don't want to share with the model.
- Control: When you need to transform data before giving it back to the agent (e.g., filtering a huge JSON response).
- Timing/Order: For batch operations or human-in-the-loop reviews.
- Flow: Model -> Returns JSON -> Client executes Code -> Client returns result to Model.
3. Data Stores (Retrieval/RAG)
- Definition: A read-only connection to structured or unstructured data sources (PDFs, Websites, Databases) that converts documents into vector embeddings.
- Best For:
- Grounding: Preventing hallucinations by anchoring responses in your private data.
- Dynamic Knowledge: Accessing information that changes frequently or isn't in training data (e.g., internal policies, financial spreadsheets).
- Mechanism: Uses Vector Search (Embeddings) to find relevant chunks of text and injects them into the context window.
Summary Table
| Feature | Extensions | Functions | Data Stores |
|---|---|---|---|
| Execution | Agent-Side | Client-Side | Agent-Side (Retrieval) |
| Primary Use | APIs & Actions | Custom Logic & Security | RAG & Knowledge |
| Control | Platform-Managed | Developer-Managed | Platform-Managed |