Dernière mise à jour : 18 août 2026. Les affirmations techniques ont été recoupées avec Managed Agents (Gemini Agent), Function calling et Using Tools with Gemini API.
Symptôme : la doc mélange Gemini, Agent, Tools et Function calling, et l’équipe ne sait plus s’il faut Interactions, une boucle maison ou un agent géré.
Décision rapide : séparer « le modèle a proposé un appel » et « qui exécute les effets de bord ». Les outils intégrés tournent chez Google. Les fonctions métier restent dans votre appli jusqu’au function_result.
Public visé : backends qui branchent Google AI Agent sur commandes et API internes, architectes qui comparent une Agent Loop maison aux Managed Agents, plateformes qui savent chatter mais pas écrire en base sans risque.
Ce que désigne vraiment Gemini Agent
En réunion, la même formule recouvre trois couches. Les mélanger inverse IAM et astreinte.
Première couche : le modèle Gemini. Avec un schéma de fonction, il peut émettre un function_call structuré plutôt que de la prose. Cela répond à « sait-il quoi invoquer ? », pas à « possède-t-il le mot de passe SQL ? ».
Deuxième couche : les outils de l’API Gemini. La doc officielle regroupe les capacités demandables dans un tour ou une session Live : Search, Code Execution, URL Context, ou vos Function Calling. Voir la doc Tools.
Troisième couche : le Gemini Agent / Managed Agent produit. Instructions, outils par défaut, MCP distant, fonctions métier, fichiers et AGENTS.md deviennent un agent appelé par ID via Interactions. Défauts : code_execution, google_search, url_context, surchargeables par interaction. Voir Building Managed Agents.
Un lookup structuré unique ? Function calling suffit. Sandbox, recherche, exécution de code, MCP et config réutilisable ? Passez aux Managed Agents. N’injectez pas toute la métier dans le prompt sous prétexte qu’il y a « Agent » sur l’étiquette.
Outils, API et fonctions : qui exécute quoi
- Outils : catalogue vu par le modèle. L’hébergé s’exécute chez Google ; le custom n’est qu’une déclaration.
- API : HTTP métier et requêtes. Le secret reste au compte de service.
- Fonctions : code local et producteurs de file. JSON Schema, corrélation par
id.
Google liste trois usages du Function calling : agir, enrichir la connaissance, étendre les capacités. Ce n’est pas Structured Outputs, qui ne contraint que la charge finale. Si un hop intermédiaire touche un système à vous, utilisez Function calling. Guide Function calling
Pour figer la mémoire après un outil, voir Guide TencentDB Agent Memory (2026). Pour documenter la boucle elle-même dans Claude Code, Diagram Design pour Claude Code : guide complet reste un bon complément visuel.
La boucle complète d’appel de fonction
Un nom de fonction dans la réponse n’est pas un succès. Le flux officiel tient en cinq étapes.
- Déclarer nom, description, JSON Schema, y compris quand ne pas appeler.
- Envoyer le tour utilisateur et les tools à
interactions.createougenerateContent. - Le modèle répond en texte ou renvoie un
function_callavecidetarguments. - Valider types, auth, timeouts, idempotence, puis frapper l’API réelle. Le modèle n’exécute pas votre code.
- Renvoyer un
function_resultau mêmeid, avecprevious_interaction_idsi la conversation continue.
{
"type": "function",
"name": "get_order_status",
"description": "Consulter le statut d’une commande. Jamais créer ni annuler.",
"parameters": {
"type": "object",
"properties": {
"order_id": {"type": "string", "description": "Identifiant métier du type OD-20260818-001"}
},
"required": ["order_id"]
}
}
Ne concaténez pas les arguments du modèle dans du SQL ou un shell. Schéma, DTO interne, compte de service. Agrégez les arguments streamés avant d’exécuter. Les appels parallèles peuvent lire stock et livraison ensemble ; les appels compositionnels (lieu puis météo) attendent le hop précédent.
Outils intégrés contre fonctions métier
Le bug de prod classique : lire « le modèle a demandé un outil » comme « le serveur a fini ». Les outils intégrés s’exécutent chez Google et émettent des function_result appariés. Les fonctions métier restent chez vous.
Les Managed Agents utilisent le step matching. L’intégré se termine côté serveur ; les appels custom en attente passent l’interaction en requires_action. Réexécuter le même call_id est un incident paiement. Conservez l’appel d’origine, les logs locaux, le résultat et le statut d’interaction.
Modes, MCP et appels compositionnels
tool_choice : auto, any, none, aperçu validated. Forcer any sur la météo est raisonnable, pas sur « supprimer la prod » sans validation humaine. Le MCP distant ajoute un serveur d’outils via name et url. Un MCP public sans auth n’a rien à faire sur Internet. Gemini 3 mélange outils intégrés et fonctions métier dans une interaction ; previous_interaction_id transporte le contexte. Archivez par interaction, pas par POST HTTP isolé.
Contrôles avant les écritures de production
- Lire et écrire dans des fonctions distinctes ; retirer du schéma ce que le modèle ne doit pas voir.
- Idempotence sur création, débit, e-mail via
function_call.idou request-id. - Timeouts avec erreur typée, jamais une chaîne vide qui relance avec des args mutés.
- Résultats minimaux : statut, résumé, indice suivant.
- Budgets de hops, de durée et de tokens ; débordement vers une file humaine.
- Rejeu : version de schéma, de modèle, arguments, hash du résultat.
Si le résultat a pu atterrir dans le SI, consultez la table d’idempotence. Interdiction de « laisser le modèle réessayer ». Double affichage UI : corrigez l’agrégation des logs, pas le prompt.
Trois phrases : Structured Outputs pour la charge finale, Function calling pour vos API, Managed Agents pour sandbox, recherche, MCP et config réutilisable. Les trois peuvent cohabiter ; la responsabilité d’exécution doit figurer sur le schéma d’architecture.
Sur un portable qui s’endort, la boucle Gemini Agent perd les callbacks requires_action. Pour rejouer la nuit, un Mac Kvmkit est souvent plus propre qu’un PC perso. Voir le site français Kvmkit. Les charges USB ou réseau dédié restent sur du matériel que vous possédez.
Sur un Mac mini cloud, la boucle d’outils va jusqu’au bout
Gemini Agent paie sa place quand les fonctions métier se terminent et que les journaux se rejouent. Le Mac mini Apple Silicon réunit toolchain Unix, Docker et veille basse. La mémoire unifiée M4 peut héberger client modèle et archives d’interaction ; environ 4W en veille rendent la régression 24/7 réaliste. Gatekeeper et SIP valent mieux que des clés de prod éparpillées sur des agents Windows partagés.
Pour faire sortir le Function calling de la démo vers un job inattendu auditable, Kvmkit cloud Mac mini M4 est le point de départ pragmatique — voir les offres.