ITzWorking
Tous les piliers
// Pilier 04 sur 05

Architecture

Les paris que le modèle ne peut pas faire à votre place.

L'IA est une régression vers la médiane. Elle écrit le code que contiennent la plupart des dépôts, qui est aussi le code que la plupart des dépôts regrettent. Les ingénieurs seniors font les choix architecturaux que le modèle ne peut pas faire : où tracer une frontière, quoi abstraire, quoi laisser dupliqué.

// Sans lui

La boucle du stagiaire

Un junior accepte la forme que le modèle renvoie, telle quelle. Après trois sprints, la codebase a quatre façons de faire un appel HTTP, deux stratégies de retry, trois conventions de logs, et un fichier service de 1 200 lignes parce que le modèle n'a fait qu'y empiler. Chaque génération isolée semblait correcte. La dérive cumulée, c'est la facture.

// La pratique

Décidé avant d'être généré

L'architecture se décide avant la génération, elle ne se découvre pas après. Les frontières (modules, services, couches) sont choisies délibérément, les patterns nommés (un client HTTP, un type d'erreur, un chargeur de config), les générations qui les violent refusées. Les abstractions arrivent quand il y a un vrai deuxième appelant, jamais par spéculation. Le modèle a un terrain de jeu plus serré, et produit du code plus serré.

// Résultats

Se lit comme l'œuvre d'un seul ingénieur

Un repo qui se lit comme si un seul ingénieur l'avait écrit. Des conventions documentées, imposées par le lint, refactorées quand elles cassent. Les nouvelles fonctionnalités atterrissent proprement parce que les coutures sont conçues, pas émergentes. Le modèle produit du code qui s'intègre, parce qu'il n'avait pas d'autre option.

// Auto-diagnostic
  1. 01Les frontières (modules, services, couches) sont-elles décidées avant la génération ou découvertes après ?
  2. 02Votre repo a-t-il un client HTTP et un type d'erreur, ou plusieurs de chaque ?
  3. 03Les conventions sont-elles documentées quelque part où un nouvel ingénieur (ou un modèle) peut les trouver, ou vivent-elles dans la mémoire tribale ?
  4. 04Quand le modèle renvoie un fichier service de 1 200 lignes, quelque chose l'empêche-t-il d'atterrir tel quel ?

Des specs précises, une deadline ferme, de vrais utilisateurs ?

Démarrer un projet