Donner à l’agent un moyen de vérifier son travail

L’exécution réelle est le pilier de la vérification du code généré par l’agent. Le jugement du modèle sur sa propre génération n’est pas fiable. Les moyens de vérification sont multiples et décrits dans les sections suivantes, le préalable étant d’exécuter le code généré sur le poste du développeur ou en CI/CD (avec plus d’isolation et de sandboxing dans ce cas).

La vérification doit donc s’appuyer sur un oracle que l’agent n’a pas produit : l’exécution réelle, la spécification, le type system, un vérificateur déterministe, etc. Le rôle de l’agent est de réagir à un résultat de vérification, pas de le produire.

Oracle. Mécanisme qui détermine si le comportement observé d’un système est correct pour une exécution donnée, en fournissant un verdict : succès ou échec.
L’oracle répond à « le résultat est-il celui attendu ? » : c’est un critère de correctness (spécification, propriété, valeur de référence, invariant, etc.) qui est distinct du système évalué. Sa fiabilité tient à son indépendance vis-à-vis de l’implémentation : idéalement, il est créé avant le code, ou par un autre auteur que celui qui le génère.

Les principes généraux :

Validation statique des sources

Les analyses statiques sont la première barrière et le premier feedback. C’est la moins coûteuse et la plus déterministe, qui doit passer au vert avant toute autre exécution (test, etc.).

Brancher ces contrôles en gate : aucun artefact ne progresse tant que la couche statique n’est pas verte.

Exécution du code

Donner à l’agent la capacité d’exécuter les commandes du dépôt (lancer ou builder le projet, lire la sortie et les logs du runtime) puis de réagir aux erreurs observées : corriger, relancer, jusqu’à ce que l’exécution passe. L’auto-jugement ne remplace jamais l’exécution réelle.

Browser

Donner à l’agent un contrôle navigateur réel pour obtenir sa boucle de feedback sur le rendu et les parcours UI : naviguer, remplir, cliquer, capturer, asserter. L’agent vérifie ainsi ce qui s’affiche réellement dans le navigateur.

Playwright CLI s’inscrit naturellement dans une logique de vérifiabilité : il permet à l’agent d’exécuter les tests d’acceptance comme des fitness functions, fournissant un oracle exécutable sur le comportement réel du système sans saturer le contexte sur les suites de tests avec un nombre important d’étapes.

Privilégier Playwright CLI exposé en Skill (économe en contexte, snapshots/screenshots sur disque) plutôt que le serveur MCP, et garder Chrome DevTools MCP pour le diagnostic (console, réseau, DOM).

Appel d’API / Messaging / CLI

Exposer et faire invoquer par l’agent les interfaces réelles du système : clients HTTP (avec curl, wget ou httpie), CLI métier, flux de messages, etc. L’agent confronte alors ses hypothèses au comportement réel du système.

Privilégier les commandes idempotentes et les modes dry-run afin d’éviter les changements d’états qu’il faudra nettoyer.
Pensez aussi à isoler les credentials hors du contexte de l’agent.