Pourquoi votre IA rate les décisions d'infrastructure (et comment y remédier)

Pourquoi votre IA rate les décisions d'infrastructure (et comment y remédier)

Mai 25, 2026 infrastructure-as-code terraform ai-development devops cloud-architecture application-design vibe-coding

Pourquoi votre IA rate les décisions d'infrastructure (et comment y remédier)

On voit partout que l'IA peut écrire du code. Sur la logique métier, les routes ou les requêtes, elle fait souvent du bon travail. Mais dès qu'il s'agit d'infrastructure, les choses se compliquent.

Le problème du contexte

L'IA sait produire du HCL valide. Le vrai souci, c'est qu'elle ne comprend pas pourquoi ces valeurs existent.

Vous lui demandez d'ajouter un événement dans votre système de messagerie. Elle crée un topic SNS, une file SQS avec sa dead-letter queue, les abonnements et les politiques IAM. Tout semble correct. Pourtant, elle choisit le visibility timeout, la durée de rétention et la portée des droits sans connaître votre charge réelle ni vos incidents passés.

La revue qui explose

Le code d'application se relit assez facilement. Pour l'infrastructure générée, c'est une autre histoire. Il faut vérifier la syntaxe HCL, croiser les ressources avec l'architecture existante, respecter des conventions non écrites et s'assurer que les rôles existent bien dans le bon compte.

Le relecteur finit par porter tout le contexte que l'IA n'a pas. Et quand un mauvais paramètre passe en production, c'est le pager qui sonne à trois heures du matin.

Deux mondes séparés

Le vrai blocage n'est pas technique. Même avec des modules personnalisés ou des validateurs de politiques, le fossé reste : le code applicatif et le code d'infrastructure vivent dans des dépôts distincts, avec des cycles de revue différents. L'IA décide sans voir comment l'application va réellement utiliser ces ressources.

Une autre voie : l'infrastructure au moment de la compilation

Et si l'infrastructure n'était plus un sujet à part ?

Au lieu d'écrire du code qui suggère vaguement ce dont il a besoin, on déclare les ressources directement dans le code typé. Le framework s'occupe du reste : provisioning, politiques IAM, files mortes, abonnements. Tout est déduit des types déclarés.

Un topic se définit alors en quelques lignes :

export const orderCreated = new Topic<OrderCreatedEvent>("order-created", {
  deliveryGuarantee: "at-least-once",
});

Plus de fichier Terraform séparé. Plus de devinettes sur les timeouts. La PR contient uniquement le diff TypeScript. Les décisions risquées passent d'une estimation aveugle à un calcul déterministe.

Ce que ça change pour le "vibe coding"

On peut confier la logique applicative à l'IA parce qu'elle reste typée et testée. L'infrastructure, elle, a besoin d'un contexte qui vit ailleurs. La solution n'est pas d'améliorer les prompts, mais de supprimer la frontière entre les deux mondes. Quand le framework génère l'infrastructure à partir du code applicatif, les décisions critiques sortent des mains de l'IA et des relecteurs de nuit.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NB NL HU IT ES DE DA ZH-HANS EN