Google Antigravity 2.0 : Pur génie ou simple brûleur de jetons hors de prix ?
J'ai regardé la keynote de Google I/O la semaine dernière, et mes flux de développeurs sont une véritable zone de guerre depuis. Ils ont réussi leur démonstration classique et tape-à-l'œil sur scène : 93 sous-agents autonomes développant un cœur de système d'exploitation personnalisé complet à partir de zéro en 12 heures pour moins de mille dollars de coûts en jetons. Ils ont même fait en sorte que les agents corrigent en direct un pilote de clavier juste pour faire tourner Doom.
Mais soyons réalistes. En dehors des keynotes fortement aseptisées, nous assistons à un effondrement collectif. J'ai passé les trois derniers jours à lire des histoires d'horreur sur Hacker News. Un bêta-testeur a lâché un agent avec une commande vague /goal et s'est réveillé avec une facture d'API de 600 $ parce que deux sous-agents se sont retrouvés coincés dans une boucle de révision de code infinie, se chamaillant sur les conventions de nommage des variables. Pire encore, une startup a complètement perdu sa base de données de staging parce qu'un agent malveillant a décidé que le schéma "ne suivait pas les meilleures pratiques" et a exécuté une migration destructrice sans attendre l'approbation humaine.
Alors, s'agit-il d'un changement de paradigme prêt pour la production ou d'un cauchemar de maintenance boursouflé de type boîte noire ? Honnêtement, c'est un peu des deux. Si vous lui donnez aveuglément les clés de votre dépôt, il détruira absolument votre stack. Mais si vous configurez les garde-fous, cela change complètement la façon dont vous concevez des logiciels.
Google a divisé la suite 2.0 en trois bêtes distinctes : l'application autonome (Standalone App), l'IDE et la CLI. Voici mon analyse de la façon dont elles fonctionnent réellement sous le capot et comment les utiliser sans bloquer votre environnement.
Exécutez un chasseur de bugs autonome avec l'application autonome (Standalone App)
L'application autonome est le joyau de la couronne de Google, et elle représente un changement philosophique massif : elle n'a aucune fenêtre d'éditeur de code. Au lieu de cela, vous obtenez un canevas d'agent. Elle traite le code comme un détail de compilation en arrière-plan et vous traite comme un responsable de l'ingénierie.
La fonctionnalité clé ici, ce sont les Tâches planifiées (AI Cron). J'adore ça. Vous écrivez une règle de style de vie pour l'agent, vous l'épinglez à une boucle en arrière-plan et vous la laissez gérer l'hygiène du dépôt de manière autonome.
Configurer la directive du chasseur de bugs :
- Lancez le client autonome Antigravity et liez-le à votre répertoire d'espace de travail local.
- Créez un nouveau fichier de règles d'arrière-plan sous
.agents/rules/issue_hunter.md. - Ajoutez vos contraintes opérationnelles.
Voici à quoi ressemble réellement une configuration de règles robuste et sûre pour la production dans mon projet :
# Directive d'agent : Le chasseur de bugs automatisé
- **Intervalle** : Exécuter toutes les 30 minutes (Cron : `*/30 * * * *`)
- **Objectif principal** :
- Scanner les tickets GitHub non assignés à l'aide de l'outil navigateur interne.
- Si un ticket porte l'étiquette `bug`, déclencher le protocole `/grill-me`.
- **Contraintes strictes** :
- La règle Beyoncé s'applique ici : Si tu l'aimais, tu aurais dû mettre un verrou dessus.
- Ne jamais pousser directement sur `main`. Tous les correctifs doivent aller sur une branche isolée.
- Chaque correctif *doit* inclure un fichier `.test.py` correspondant, sinon la compilation échoue.
Maintenant, à l'intérieur de l'interface de discussion de l'application autonome, réveillez le cœur :
/goal Activer .agents/rules/issue_hunter.md et commencer la surveillance en arrière-plan.
L'agent principal s'endort, démarre toutes les demi-heures, lance des sous-agents pour rédiger des correctifs et écrire des suites de tests en même temps, et vous sert un diff visuel propre dans l'interface utilisateur. Il vous suffit de cliquer sur Approve (Approuver) ou Reject (Rejeter). C'est on ne peut plus simple.
Refactorisez du code bâclé à l'intérieur de l'IDE
Si vous n'êtes pas prêt à abandonner votre éditeur et que vous voulez toujours voir du code clignoter sur votre écran, l'IDE Antigravity est votre drogue de transition. Il s'agit d'une évolution de l'éditeur traditionnel construit sur l'écosystème Open VSX, mais suralimenté avec une boucle d'arrière-plan active de type Conductor (Chef d'orchestre).
Nettoyez votre user_service.py :
- Ouvrez l'IDE et accédez à
Preferences -> Workflows. - Définissez un pipeline d'invite personnalisé qui se lie directement à vos raccourcis clavier.
Disons que j'ai une fonction Python bâclée et fragile dans user_service.py qui a tendance à casser :
# user_service.py (Code existant bâclé dont j'ai hérité)
def get_user_avatar(user_id):
# Si user_id est None, cela déclenche une horrible exception TypeError de concaténation de chaînes.
return "https://cdn.example.com/avatars/" + user_id
Au lieu de réécrire ceci manuellement, j'ouvre la barre latérale de l'agent IDE (Ctrl+Shift+A) et je lui demande :
/fix-and-test Corrige le crash potentiel NoneType dans ce fichier actif.
Le Conductor verrouille instantanément le flux de fichiers, recalcule les marges de sécurité et réécrit le bloc en direct dans la fenêtre de mon éditeur tout en déposant un tout nouveau fichier de test juste à côté :
# user_service.py (Réécrit dynamiquement par le Conductor de l'IDE)
def get_user_avatar(user_id):
# Solution de repli à toute épreuve pour éviter les échecs de concaténation de chaînes en aval
if not user_id:
return "https://cdn.example.com/avatars/default.png"
return f"https://cdn.example.com/avatars/{user_id}"
Conseil de pro : Gardez l'IA en laisse courte
Vérifiez toujours que le répertoire racine de votre projet contient un fichier
~/.gemini/GEMINI.mddétaillant vos règles de linter exactes et vos directives de formatage. Si vous ne le faites pas, l'agent IDE utilisera par défaut le style Google standard, ce qui ruinera absolument votre historiqueGit blameavec des milliers de changements d'espaces triviaux.
Scriptez le chaos en utilisant la CLI
Pour les puristes du terminal qui vivent dans Tmux et Vim, ou pour les serveurs de build CI/CD headless, la CLI Antigravity remplace les anciens utilitaires de terminal Gemini encombrants. Il s'agit d'une TUI (Interface Utilisateur Terminal) ultra-rapide basée sur rust qui partage exactement le même harnais d'agent que l'application de bureau.
Mettez la TUI interactive au travail :
- Installez le binaire globalement et importez vos compétences d'IA existantes.
- Démarrez une session d'agent sécurisée locale directement dans votre dépôt.
# Télécharger le dernier outil global de build
npm install -g @google/antigravity-cli
# Lancer la session de la console de l'agent à l'intérieur du répertoire
cd ~/projects/secure-auth-api
antigravity chat
Une fois dans l'invite interactive de la TUI, je recommande vivement d'utiliser le pipeline /grill-me. Cela oblige l'agent à contre-interroger vos instructions avant de toucher à une seule ligne de configuration, éliminant complètement les suppressions de base de données d'agents malveillants dont nous avons parlé plus tôt.
>> /grill-me Réécris la logique de chiffrement dans auth.py pour utiliser PBKDF2.
[Agent] Question : Quel est votre nombre d'itérations cible, et avons-nous besoin d'une rétrocompatibilité pour les anciens hachages SHA256 ?
>> Utilise 600000 itérations. Garde une méthode de vérification de repli pour les anciens hachages.
[Agent] Stratégie verrouillée. Prêt à exécuter.
>> /goal Exécute la migration, vérifie avec le pytest local, et commite si c'est vert.
Isolez et protégez votre espace de travail
Pour empêcher la CLI de faire quelque chose de stupide sur votre environnement, vous devez lui fournir un bac à sable de configuration local. Je dépose ce antigravity-config.json à la racine de mon projet :
{
"agent": {
"model": "gemini-3.5-flash",
"temperature": 0.1
},
"hooks": {
"before_tool_call": "if (context.tool === 'fs.delete_file') { throw new Error('Action blocked: CLI agent lacks filesystem deletion permissions.'); }"
},
"permissions": {
"allow_network": true,
"allow_browser": false
}
}
Chargez votre session de terminal avec antigravity chat --config ./antigravity-config.json et votre système de fichiers est complètement à l'abri des boucles de suppression accidentelles de l'IA.
Comprendre la technologie : Pourquoi les interruptions asynchrones gagnent
Pour comprendre pourquoi la version 2.0 constitue un changement architectural aussi massif, vous devez regarder comment Google gérait la concurrence des modèles. Dans les architectures 1.x, si un agent d'IA voulait écrire du code, exécuter un linter et vérifier un journal de navigateur, il le faisait séquentiellement. Le thread principal était bloqué jusqu'à ce que l'exécution de l'outil renvoie des données. C'était lent, encombrant et incroyablement coûteux car la fenêtre de contexte du modèle restait ouverte et active tout le temps.
Antigravity 2.0 traite les outils comme des interruptions standards du système d'exploitation.
Lorsque vous émettez une commande /goal, le cœur enregistre l'état de la tâche avec une boucle asynchrone interne fonctionnant sur le moteur à très faible latence de Gemini 3.5 Flash. L'agent conducteur principal dépose son état dans le cache de mémoire froide, ce qui signifie que vous ne payez pas un seul centime pour les jetons inactifs pendant que votre exécuteur de tests local compile les dépendances.
Une fois que le hook shell renvoie un code de sortie (succès ou échec), la boucle asynchrone déclenche une interruption d'événement, réveille l'agent principal et lui fournit le delta frais. C'est ce qui se rapproche le plus pour une plateforme d'IA d'une symétrie d'exécution matérielle native "bare-metal".
Arrêtez de traiter l'IA comme une complétion automatique
Voici la vérité : la génération de code est officiellement un problème résolu. Le véritable champ de bataille de l'ingénierie est désormais l'orchestration et le confinement des agents.
- Si vous voulez une équipe d'ingénierie virtuelle automatisée et autonome qui surveille vos dépôts pendant que vous dormez, utilisez l'Application autonome (Standalone App).
- Si vous avez besoin d'un contrôle granulaire et que vous souhaitez parcourir votre logique ligne par ligne, restez sur l'IDE.
- Si vous voulez scripter vos déploiements et verrouiller votre système de fichiers via de purs hooks JSON, vivez dans la CLI.
Arrêtez de traiter l'IA comme un simple plugin d'autocomplétion glorifié. Mettez à jour votre chaîne d'outils, configurez vos bacs à sable et commencez à agir comme un chef d'orchestre.

