Google Antigravity : migrer les jobs locaux avant le 5 octobre

Préparez vos jobs Google Antigravity avant le 5 octobre : identifiez ceux qui exigent un nouvel adaptateur d’outils et ceux où changer l’ID suffit.

Friday, September 18, 2026Omid Saffari
Google Antigravity : migrer les jobs locaux avant le 5 octobre

Les jobs API Google Antigravity conçus avec l’agent de mai de Google n’ont que 18 jours pour migrer. Google a publié antigravity-preview-09-2026 le 17 septembre 2026, et son calendrier de dépréciation fixe l’arrêt de antigravity-preview-05-2026 au 5 octobre. Si votre job exécute des outils en local ou lit les étapes function_call, il faut reprendre l’adaptateur : un simple changement de version ne suffira pas.

Google Antigravity : ce qui change vraiment

Cette migration concerne l’agent Antigravity géré dans la Gemini API. Il ne s’agit pas d’une mise à jour de l’IDE Antigravity installé sur un ordinateur.

Les deux produits reposent sur les mêmes fondations d’exécution, d’où ce nom commun. Ici, le changement porte sur l’identifiant d’agent que votre application envoie à l’Interactions API de Google et, pour certaines intégrations, sur les appels d’outils intégrés qu’elle doit traiter. Mettre l’IDE à jour ne modifie pas ce contrat d’API.

Le nouvel agent est antigravity-preview-09-2026. Son modèle de raisonnement par défaut est Gemini 3.8 Flash, même si le guide de l’agent Antigravity explique comment sélectionner un autre modèle compatible via agent_config. Notre précédent décryptage des agents gérés Gemini détaille l’espace de travail hébergé, les jobs en arrière-plan et la boucle d’outils. Cette migration intervient un cran plus bas : elle détermine si ces jobs peuvent encore démarrer et si leurs appels d’outils peuvent toujours s’exécuter.

Dans sa note de version du 17 septembre, Google distingue deux parcours de migration :

  • Un job exécuté dans une sandbox distante, qui ne lit que output_text ou model_output, change simplement la chaîne de l’agent.
  • Un job qui utilise local_environment ou analyse les étapes function_call doit aussi mettre à jour son adaptateur d’outils.

Toute la décision tient à cette distinction. L’adaptateur est la petite couche de code qui reçoit le nom et les arguments d’un outil, les valide, lance l’action locale, puis renvoie le résultat.

Le contrat des outils locaux change à cinq endroits

L’ancien agent traitait surtout les opérations sur les fichiers comme de grandes lectures ou écritures. L’agent de septembre leur attribue des noms et des arguments plus précis. Il fait aussi passer les clés d’arguments du snake_case au PascalCase.

FonctionAgent de maiAgent de septembreCe que votre adaptateur doit prendre en charge
Créer un fichierwrite_file(path, content)write_to_file(TargetFile, CodeContent, Overwrite, Description)Un nouveau nom et quatre arguments en PascalCase
Modifier un fichierwrite_file(path, content) avec réécriture complètereplace_file_content(TargetFile, StartLine, EndLine, TargetContent, ReplacementContent)Le remplacement d’une plage de lignes plutôt que la réécriture du fichier entier
Lire un fichierread_file(path, offset, limit) avec décalages en octetsview_file(AbsolutePath, StartLine, EndLine, ContentOffset)Un nouveau nom, avec des décalages par ligne et par contenu
Lister un répertoirelist_files(path)list_dir(DirectoryPath)Un nouveau nom et une nouvelle casse pour l’argument
Rechercher des fichiers et du codeCommandes shellfind_by_name(SearchDirectory, Pattern, MaxDepth) et grep_search(SearchPath, Query, IsRegex)Deux appels de recherche explicites à enregistrer et à valider
Exécuter une commande shellcode_execution(command, timeout_seconds)InchangéConserver le gestionnaire existant, puis effectuer un test de non-régression
Rechercher sur le Webgoogle_search(queries)InchangéConserver le gestionnaire existant, puis effectuer un test de non-régression

Cinq familles de fonctions liées aux fichiers et à la recherche ont changé. Deux outils intégrés de la liste restent identiques. Voilà pourquoi un gestionnaire générique construit autour de write_file peut échouer alors même que le nouvel identifiant d’agent est correct.

Le nouveau contrat d’édition est également plus précis. Au lieu de renvoyer un fichier entier pour une petite modification, l’agent indique une plage de lignes, le texte qu’il s’attend à y trouver et son remplacement. Votre adaptateur doit refuser l’appel si TargetContent ne correspond plus au fichier. Sans cette protection, un job différé peut écraser une modification humaine plus récente.

Quels jobs exigent une vraie migration ?

Schéma de décision montrant les jobs Antigravity limités à la sortie suivre le parcours de changement d’identifiant, tandis que les outils locaux et les consommateurs d’appels de fonction passent par un test d’adaptateur avant l’échéance du 5 octobre
Le parcours de migration dépend des données consommées par votre application.

Un fondateur solo avec un job de rapport distant

Prenons un job nocturne qui demande à Antigravity de collecter des données dans la sandbox de Google, d’enregistrer un rapport et de renvoyer le texte final. Votre application lit output_text sans jamais examiner les étapes sous-jacentes.

C’est la migration légère. Remplacez antigravity-preview-05-2026 par antigravity-preview-09-2026, exécutez un rapport représentatif en parallèle de l’ancien job, comparez le livrable final, puis basculez la planification. Inutile de reconstruire un répartiteur d’outils locaux que vous n’utilisez pas.

Une équipe plateforme qui exécute les outils sur ses propres machines

Considérons maintenant un worker de dépôt dont les appels d’outils s’exécutent dans votre propre runner. Il lit des fichiers, recherche du code, modifie la configuration et renvoie les résultats à l’interaction.

Cette équipe prend en charge la migration la plus importante. Le répartiteur doit reconnaître les nouveaux noms, valider les arguments en PascalCase, faire respecter les règles sur les chemins et les commandes, appliquer les modifications par plage de lignes en toute sécurité et renvoyer le résultat au format attendu par l’interaction. L’enjeu est la continuité : revues de code, génération de rapports et jobs de maintenance continueront de fonctionner après la disparition du point d’accès de mai.

Une équipe observabilité qui consomme chaque étape

Certaines applications exécutent tout à distance, mais recopient tout de même les étapes function_call dans un journal d’audit, une interface de suivi, une file d’approbation ou un tableau de bord des coûts. Elles ne se contentent donc pas de la sortie finale.

Même si Google exécute l’action intégrée sur le système de fichiers, votre parseur peut encore supposer la présence de write_file, path et content. Mettez à jour sa liste d’autorisation et ses fixtures pour éviter que le tableau de bord classe une véritable modification comme inconnue, en perde les arguments ou l’envoie vers la mauvaise règle d’approbation.

Un responsable des opérations avec des déclencheurs sans surveillance

Les déclencheurs planifiés sont les plus risqués : personne ne regarde au moment où l’appel part. Un déclencheur associe un agent, un environnement, un prompt et une planification cron. Si l’interaction enregistrée pointe encore vers l’agent de mai, la planification peut sembler saine alors que son exécution échouera après l’arrêt.

Recensez l’identifiant de l’agent dans chaque définition de déclencheur, pas seulement dans l’appel SDK de l’application principale. Lancez ensuite en parallèle un job pour chaque profil d’outils distinct. Un job de reporting et un job de réparation de dépôt ne constituent pas le même test de migration sous prétexte qu’ils utilisent tous deux Antigravity.

Un test minimal du contrat de modification de fichier

Le premier test le plus sûr ne demande aucun identifiant de production. Envoyez à votre adaptateur une fixture enregistrée qui reprend la forme d’un appel, modifiez un fichier jetable et vérifiez que seule la ligne visée a changé.

J’ai exécuté le code suivant avec Node, en reprenant le nom replace_file_content publié par Google et ses champs en PascalCase. Il s’agit d’un test local de l’adaptateur, pas d’un appel réel à la Gemini API.

JavaScript
import assert from "node:assert/strict";
import { mkdtempSync, readFileSync, writeFileSync } from "node:fs";
import { tmpdir } from "node:os";
import { join } from "node:path";

function applyReplaceFileContent(call) {
  assert.equal(call.name, "replace_file_content");

  const {
    TargetFile,
    StartLine,
    EndLine,
    TargetContent,
    ReplacementContent,
  } = call.arguments;

  const lines = readFileSync(TargetFile, "utf8").split("\n");
  const current = lines.slice(StartLine - 1, EndLine).join("\n");
  assert.equal(current, TargetContent, "line window no longer matches");

  lines.splice(
    StartLine - 1,
    EndLine - StartLine + 1,
    ...ReplacementContent.split("\n"),
  );
  writeFileSync(TargetFile, lines.join("\n"));
}

const dir = mkdtempSync(join(tmpdir(), "antigravity-adapter-"));
const file = join(dir, "scheduled-job.env");
writeFileSync(file, "owner=ops\nstatus=old\nmode=scheduled\n");

applyReplaceFileContent({
  name: "replace_file_content",
  arguments: {
    TargetFile: file,
    StartLine: 2,
    EndLine: 2,
    TargetContent: "status=old",
    ReplacementContent: "status=ready",
  },
});

assert.equal(
  readFileSync(file, "utf8"),
  "owner=ops\nstatus=ready\nmode=scheduled\n",
);
console.log("PASS: line 2 changed from status=old to status=ready");

Le test a réussi. Plus important encore, il s’interrompt au lieu de modifier un contenu obsolète dès que l’on change la valeur TargetContent de la fixture.

  1. Classer les intégrations

    Pour chaque job, notez s’il ne consomme que la sortie, analyse les étapes, exécute des outils locaux ou cumule plusieurs de ces comportements. Faites-le par famille de jobs, pas par dépôt.

  2. Capturer de vraies fixtures

    Exécutez l’agent de septembre dans un environnement hors production et conservez des étapes function_call représentatives pour la création, la modification, la lecture, le listage et la recherche de fichiers. Vérifiez la numérotation réelle des lignes et l’enveloppe du résultat dans ces appels avant de reprendre le test local en production.

  3. Tester les cas de refus

    Modifiez TargetContent, faites pointer un appel hors de l’espace de travail autorisé et fournissez un nom d’outil inconnu. Chaque cas doit échouer de manière sûre et produire une trace d’audit.

  4. Exécuter un job complet en parallèle

    Utilisez le nouvel identifiant d’agent, le nouvel adaptateur et un environnement jetable. Avant de déplacer sa planification, comparez avec le job actuel le livrable final, la trace des outils, les approbations, le temps d’exécution et la consommation de tokens.

Le calcul économique oppose le coût de migration aux jobs manqués

Google n’a pas annoncé de nouveau tarif par token avec cette migration d’agent. Le poste budgétaire qui évolue est le temps consacré à l’ingénierie et aux opérations.

Utilisez deux formules simples :

Coût de migration = temps d’ingénierie de l’adaptateur + dépenses API des exécutions en parallèle + temps de supervision

Exposition à la panne = exécutions planifiées manquées × valeur d’une exécution + travail de réparation

Pour un job distant qui ne consomme que la sortie, le travail d’ingénierie peut se limiter au changement de la chaîne de l’agent et à une exécution en parallèle. Pour une intégration avec des outils locaux, prévoyez les cinq familles de fonctions modifiées, les fixtures du parseur, les tests de sécurité et une exécution complète pour chaque profil de workflow distinct.

N’en déduisez pas une estimation horaire universelle et artificielle. Un générateur de rapports ciblé et un agent de développement local ne couvrent ni les mêmes outils, ni la même logique d’approbation, ni le même coût d’échec. Appliquez aux formules votre coût d’ingénierie complet et la valeur métier de chaque exécution. La finance disposera alors d’une vraie base de décision, pas d’une liste de fonctionnalités du fournisseur.

Ce qu’il faut dire sans détour

Le test local ci-dessus prouve que la fixture et l’adaptateur sont cohérents. Il ne garantit pas ce qu’un agent réel produira pour chaque prompt. Cette exécution ne disposait pas d’identifiants pour la Gemini API ; je n’ai donc pas prétendu lancer l’agent hébergé. Votre dernier contrôle doit reposer sur un appel de l’agent de septembre capturé dans un environnement jetable.

Cet événement n’impose pas non plus le même travail à tous les utilisateurs d’Antigravity :

  • Agissez cette semaine si un job de production référence antigravity-preview-05-2026, utilise local_environment, analyse des étapes function_call ou s’exécute sans surveillance selon une planification.
  • Suivez le parcours léger si le job tourne dans une sandbox distante et ne consomme que output_text ou model_output. Changez l’identifiant et lancez-le en parallèle.
  • Partez directement du nouvel identifiant si vous évaluez encore l’API et n’avez aucun job fondé sur l’agent de mai en production.
  • Ignorez cette migration si vous utilisez uniquement l’IDE Antigravity sans appeler l’agent géré via la Gemini API.

Ce qu’il faut faire lundi

Confiez l’inventaire à une personne. Recherchez l’identifiant de l’agent de mai et les anciens noms d’outils dans la configuration déployée, les définitions de déclencheurs, les variables d’environnement, les tableaux de bord et les fixtures. Répartissez les résultats entre les jobs limités à la sortie et ceux qui nécessitent un adaptateur avant de modifier le code.

Migrez ensuite un job représentatif de chaque liste. Gardez l’ancienne planification en pause, mais disponible le temps d’inspecter l’exécution de septembre, migrez les jobs restants par famille de workflows et créez une alerte sur les appels d’outils inconnus jusqu’au 5 octobre. Le livrable du lundi n’est pas une présentation. C’est un inventaire avec des responsables, une exécution en parallèle réussie et une date pour chaque job restant.

Pour recevoir d’autres analyses claires sur les changements capables de perturber des workflows réels, inscrivez-vous à la newsletter.

Dernière mise à jour
18 sept. 2026
Catégorie
Explained

Préférez ce site dans Google

Ajouter omidsaffari.com comme source préférée dans la recherche Google

Marquez omidsaffari.com comme source préférée et Google le met en avant pour vous dans Top Stories, AI Overviews et AI Mode.

Durable Objects Cloudflare : le tracing RPC révèle le service qui ralentit la requête

Durable Objects Cloudflare : le tracing RPC révèle le service qui ralentit la requête

Le tracing Cloudflare Workers suit désormais les appels JavaScript RPC jusque dans les Durable Objects pour repérer le service qui ralentit une requête.17 sept. 2026Explained
Rétention des déploiements Vercel : les 30 jours ne sont plus garantis

Rétention des déploiements Vercel : les 30 jours ne sont plus garantis

Sur Vercel Hobby, dépasser 10GB de stockage peut entraîner la suppression d’anciens déploiements avant 30 jours. Voici ce qui reste protégé.17 sept. 2026Explained
Cloudflare AI Gateway : bloquez les requêtes sans clé avant la facture

Cloudflare AI Gateway : bloquez les requêtes sans clé avant la facture

Cloudflare AI Gateway peut refuser toute requête sans clé fournisseur avant Unified Billing. Découvrez quand le HTTP 400 s’applique et qui reste facturé.17 sept. 2026Explained
Cloudflare Hyperdrive ouvre vos bases existantes à Python

Cloudflare Hyperdrive ouvre vos bases existantes à Python

Cloudflare Hyperdrive connecte les Python Workers à PostgreSQL et MySQL. Découvrez quand supprimer la passerelle réduit vraiment les coûts et la complexité.16 sept. 2026Explained
Agent vocal IA : Gemini 3.8 Live passe aux outils asynchrones

Agent vocal IA : Gemini 3.8 Live passe aux outils asynchrones

Gemini 3.8 Live laisse un agent vocal IA parler pendant l’exécution des outils. Découvrez l’impact sur les réservations, le suivi client et les coûts.16 sept. 2026Explained
Cloudflare Worker : cloisonner les droits de déploiement par client

Cloudflare Worker : cloisonner les droits de déploiement par client

Cloudflare permet de limiter un token de déploiement à un seul Worker et de séparer diagnostic, revue de code et mise en production pour chaque client.15 sept. 2026Explained
Claude Code peut limiter l’accès réseau à une seule commande

Claude Code peut limiter l’accès réseau à une seule commande

Claude Code peut désormais limiter l’accès réseau à une seule commande en mode auto sandboxé, pour installer des dépendances sans élargir toute la session.15 sept. 2026Explained
Abonnement Claude Code : qui paie avec Vercel AI SDK ?

Abonnement Claude Code : qui paie avec Vercel AI SDK ?

Vercel AI SDK peut imputer les agents à un abonnement Claude Code ou ChatGPT existant. Comprenez l’ordre des identifiants, les coûts et les limites.15 sept. 2026Explained
Newsletter

Une lettre, chaque dimanche.Des systèmes qui tournent, pas des hot takes.

Hebdomadaire. Pas de spam. Désabonnement à tout moment.