No. 06 · Technical

Le harnais bien conçu

Comment la fonction publique peut concevoir et livrer des logiciels de qualité entreprise à grande vitesse, sans abaisser ses exigences.

Abstract. Les outils de codage comme Cursor, Lovable et Claude Code produisent des applications qui, souvent, ne comportent pas les contrôles qu'exige une fonction publique. Les agents d'IA sont fréquemment des témoins peu fiables de leur propre rendement. Des instructions claires, des tests et des modèles aident à surmonter ces défis. L'Alberta a élaboré et publié une collection de fichiers appelée « harnais », qui définit clairement vos attentes envers l'IA et permet d'obtenir des résultats de qualité entreprise à la vitesse d'une application « codée à l'instinct ».
Les grands modèles de langage (GML) sont devenus très habiles à développer du code applicatif. Tôt dans notre programme Maximaliste en IA en 2025, le personnel de Technologie et Innovation a commencé à évaluer ces outils pour voir comment ils pourraient être déployés au sein de notre environnement gouvernemental. Une gamme d'outils de codage agentique a été explorée, comme Cursor, Lovable, Gemini CLI et Claude Code. Ces outils ont rendu le développement d'applications plus rapide pour les développeurs chevronnés et facile même pour le personnel non technique. Le temps pour transformer une idée en prototype fonctionnel est passé d'environ 6 semaines (selon le point de référence établi par la direction de cette unité) à aussi peu que 30 minutes. Ces gains de vitesse ont changé la façon dont les équipes travaillent. Désormais, les experts en la matière peuvent participer à la coconception au fur et à mesure que ces idées prennent forme, en fournissant une rétroaction et une approbation en temps réel. Ce seul facteur a entraîné une augmentation marquée de la vitesse de livraison, en réduisant ou en éliminant le partage chronophage de courriels, de captures d'écran et de maquettes en vue d'une révision manuelle. Souvent, un tel travail peut maintenant être accompli en une seule session.

Cette expérimentation a aussi mis en lumière de grandes lacunes lorsqu'on chargeait ces agents de produire des applications hautement sécurisées, reproductibles et conformes. Plusieurs défis devaient être résolus avant que ces outils ne soient utilisables dans la prestation gouvernementale quotidienne.



## §01 S'aligner avec les agents d'IA

Malgré les gains de rendement, les Maximalistes en IA de l'Alberta ont observé plusieurs défis importants dans les pratiques de codage par IA.

Premièrement, il était difficile de recréer deux fois la même application. Étant donné sa nature probabiliste, chaque interaction avec l'IA produisait des applications dont l'apparence, la mise en page et les fonctionnalités différaient. L'incapacité à reproduire deux fois la même application constitue un obstacle de taille au déploiement de l'IA dans un environnement gouvernemental. De plus, cela érodait la confiance des partenaires ministériels et retardait la reprise du travail ainsi que le partage des tâches entre des équipes dont les IA prenaient des décisions de conception ou techniques différentes.

Deuxièmement, ces outils privilégient l'expérience utilisateur tout en omettant fréquemment de mettre en œuvre les protocoles de sécurité nécessaires. Si l'on peut obtenir des prototypes rapidement, il faut souvent beaucoup de temps et d'efforts pour combler les lacunes du modèle de sécurité (même avec l'aide de l'IA). Et tout comme pour les interfaces utilisateur, les correctifs appliqués au code de sécurité, d'accessibilité et de mobilité étaient eux aussi souvent incohérents et difficiles à reproduire d'une application à l'autre. Des mois économisés sur le frontal peuvent facilement être perdus sur le dorsal à mettre en place les contrôles de sécurité nécessaires pour protéger la posture cybernétique de ces applications.

Le troisième défi important était l'excès de confiance de l'agent de codage. Les agents d'IA prétendent régulièrement que leur code est complet, mais lorsqu'on les sonde, ils révèlent des lacunes importantes. Les agents d'IA sont des témoins peu fiables de l'état et du rendement de leurs créations de code, et par conséquent, le personnel non technique était incapable d'évaluer avec exactitude la maturité d'une application. Faire confiance aux résultats de l'agent sans évaluation indépendante a produit des résultats erronés qui ont échoué aux audits de sécurité en aval.  


Consciente de ces limites, l'équipe a commencé à relever ces défis par essais et erreurs, par expérimentation et par un jeu intelligent.


## §02 Expérimentation et jeu

Depuis le lancement du programme Maximaliste en IA en mars 2025 jusqu'à aujourd'hui, en mai 2026, le Ministère a produit bien plus de 1 000 applications. La grande majorité sont des prototypes, mais des dizaines sont passées en production et offrent une valeur réelle. Les prototypes eux-mêmes suivent un schéma d'exploration, d'expérimentation et même de jeu. Sans une part de jeu, il est impossible pour le personnel d'apprendre les limites de ces modèles et de découvrir comment travailler efficacement. Il peut sembler étrange de parler de « jeu » dans ce contexte, surtout en environnement gouvernemental, mais c'est ainsi que nous, humains, apprenons. Nous apprenons le mieux dans un environnement psychologiquement sécuritaire, lorsqu'on nous met au défi de repousser nos limites, et lorsque nous nous amusons. Dans ces 1 000 applications et plus que nous avons bâties, nous avons exploré les limites de l'IA et trouvé ses véritables lacunes. Chaque constat nous a permis de capturer et de raffiner nos propres processus, en comblant et en surmontant manuellement ces lacunes au moyen de meilleures instructions, de meilleurs scripts et de meilleurs tests. Nous voyons où l'IA flanche, et nous trouvons des façons novatrices d'utiliser son immense capacité tout en reconnaissant ses lacunes réelles, et souvent flagrantes. Au fil de cette période d'exploration et de jeu, nous avons créé un livre de recettes sur la façon de bien travailler.

Fait notable, la variabilité d'une personne à l'autre s'est aussi révélée un facteur majeur. Deux personnes peuvent vivre une expérience très différente avec le même modèle sur la même tâche. La façon dont vous introduisez une idée, expliquez le contexte et donnez la direction peut entraîner des résultats extrêmement différents. Et dans un environnement où la reproductibilité et la qualité sont primordiales, ces petites différences peuvent engendrer une divergence inacceptable entre les individus dans leur usage de l'IA. 


Le génie de l'IA avait besoin d'un ensemble de règles à l'intérieur desquelles travailler efficacement.


## §03 Présentation du « harnais » d'IA

Pour obtenir des résultats reproductibles, nous devons suivre un ensemble de modèles et de styles qui augmentent la probabilité que le modèle exécute la bonne série de tâches. Pour un grand modèle de langage, il ne devrait pas être surprenant que nous codifiions ces règles au moyen de mots. Des instructions d'IA efficaces, appelées invites, expliquent notre intention avec un haut degré de spécificité. Lorsque nous voulons que l'IA soit créative, nous fournissons des invites axées sur les résultats et nous la laissons explorer. Lorsque nous voulons être prescriptifs, nous fournissons des invites étape par étape, fondées sur des règles. Par itération, l'Alberta a réuni des milliers de ces invites en une collection de ce qu'on appelle des « compétences » d'IA, soit des instructions qui décrivent les méthodes et les résultats visés que nous cherchons à atteindre. Ces compétences sont très « affirmées », un terme technique signifiant que nous laissons peu de place à l'imagination de nos codeurs d'IA. Elles s'efforcent aussi d'être aussi minimalistes que possible, en évitant la prose pour préserver l'espace d'attention de la « fenêtre de contexte » de l'agent d'IA. Trouver ce juste milieu est véritablement un art que l'on maîtrise par la pratique.

Au fil de rondes d'essais et d'erreurs, le personnel de l'Alberta a élaboré des étapes pour accroître l'assurance quant à la qualité et à la cohérence du code produit. En commençant par de petites fonctionnalités d'application (comme une page d'accueil ou une API), l'équipe a élaboré des instructions que le GML devait suivre dans son invite, lesquelles restreignaient la créativité du GML en limitant l'incertitude. Ces normes, désormais appelées « fichiers de compétences », sont fournies à l'agent de codage au début d'une tâche. Une spécification bien rédigée réduisait l'incertitude et produisait un résultat cohérent. 

Ces instructions sont regroupées en une collection appelée « harnais ».


## §04 Concevoir des harnais

Concevoir des harnais est difficile et exige une diligence extrême. Vous organisez les compétences qu'un humain pourrait acquérir intuitivement sur 10 à 20 ans.

On ne peut pas coder un harnais à l'instinct. Utiliser l'IA pour créer des harnais pose le problème du « photocopieur », en ce sens que chaque version dérivée dégrade la qualité, causant des défaillances futures et imprévisibles. Vous devez prendre le temps de méditer sur chaque fonctionnalité, et de tester (et tester encore) chaque itération pour vous assurer que le système construit fidèlement ce dont vous avez besoin. Le « slop » doit être évité à tout prix. 

Vous devez montrer à l'IA à quoi ressemble le bon travail. Dans le domaine technologique, cela passe par la fourniture d'une application aussi parfaite qu'humainement possible, comme modèle à imiter. C'est semblable à la façon dont les académies des arts, tout au long de l'histoire, ont appris à peindre, en étudiant les grands maîtres de la Renaissance, en les copiant et en les imitant jusqu'à atteindre une perfection aussi proche que possible. Ces modèles « chefs-d'œuvre » représentent tout pour une IA.

"En m'inspirant de la troisième loi d'Arthur C. Clarke, selon laquelle toute technologie suffisamment avancée est indiscernable de la magie, je dirais que tout modèle suffisamment avancé est indiscernable du code. Le meilleur harnais, c'est du code." · Janak Alford, Sous-ministre, Ministère de la Technologie et de l'Innovation

Un harnais se compose d'un petit nombre de pièces qui fonctionnent ensemble, et la première est un fichier nommé CLAUDE.md. L'agent le lit au début de chaque session et le suit comme les règles du projet. Il est court et clair : ce qu'est le projet, qui il sert, les normes qu'il respecte, ce que l'agent peut modifier et ce qu'il ne doit jamais toucher. C'est le seul endroit où les décisions arrêtées du projet sont consignées, de sorte que l'agent, et toute personne qui se joint, partent du même point.

Les compétences se trouvent dans un dossier nommé .claude/skills. Chaque compétence est un petit manuel pour un type de travail : comment structurer des exigences, comment écrire une migration de base de données, comment réaliser un audit de sécurité, comment réviser un passage de prose. L'agent ne les charge pas tous d'un coup. Au début, il ne lit que le nom de chaque compétence et sa description d'une ligne, juste assez pour savoir quand chacune s'applique, et il ne tire le manuel complet que lorsque la tâche devant lui y correspond. Les compétences interviennent lorsqu'on en a besoin, comme une personne de métier plonge la main dans son rouleau pour y prendre l'unique outil que la tâche réclame.

Le modèle est le chef-d'œuvre autour duquel le harnais est bâti, et il est délibérément affirmé quant à la technologie. La pile est fixe et à code source ouvert : Vue.js avec Vite sur le frontal, Node.js avec Express sur le dorsal, Postgres 18 pour les données, et l'authentification unique pour l'identité. Il est livré comme une paire fonctionnelle, un client et un serveur, avec les problèmes techniques ardus déjà résolus et fonctionnels dès le premier jour. Plus d'une centaine de décisions qu'un système public doit prendre correctement, comment un utilisateur se connecte, comment les entrées sont validées, comment les secrets sont conservés, comment l'application journalise, se défend et respecte la norme d'accessibilité, sont prises une seule fois, ici, avant que tout projet ne commence.

Les compétences, les normes, les modèles et des exigences limpides sont ce qui détermine le résultat. Les exigences disent quoi construire. Les compétences disent comment, en guidant le travail à travers chaque étape tour à tour, des exigences à la planification, à l'architecture, au développement, aux tests et au déploiement, chaque étape refusant d'avancer tant que la précédente n'est pas réelle. Les normes disent à quoi ressemble le bon travail. Et le modèle porte tout cela déjà câblé ensemble, de sorte que partout où l'agent regarde, il lit le même ensemble de préférences. C'est aussi ce qui permet à un Bâtisseur non technique de réussir : il ajoute le contenu dont son service a besoin par-dessus une fondation qu'un auditeur a déjà approuvée, et la seule chose qui change d'un projet à l'autre est la partie qui devrait véritablement changer.

Aux côtés des compétences de construction chevauchent quatre agents de révision, nommés d'après des couleurs, qui vérifient chaque application quant à la qualité, à la cohérence et à la sécurité à mesure qu'elle est construite. Le Vert couvre l'hygiène du code et de la chaîne d'approvisionnement, le Jaune la rédaction, le Rouge les tests adverses depuis l'extérieur, et le Bleu la révision défensive. Ils sont intégrés au harnais, et ils font l'objet du prochain document, Les agents rouge, bleu, vert et jaune.

Tout cela fonctionne sur Claude. Le raisonnement à long horizon sur un projet, la planification, l'architecture, la modélisation des menaces, utilise Claude Opus, qui peut tenir toute une boucle de livraison dans un seul contexte. Les nombreuses tâches plus petites qui s'exécutent en parallèle, les analyses déterministes et les révisions, s'exécutent sur Claude Sonnet par l'intermédiaire du Claude Agent SDK, la trousse d'outils pour piloter un modèle à travers de nombreuses étapes avec un ensemble fixe d'outils. 


Cependant, les compétences et les normes sont agnostiques quant au modèle et peuvent être exécutées avec n'importe quel modèle d'IA de pointe ou à code source ouvert. La propriété intellectuelle du harnais est ce qui différencie le résultat, plus que le modèle précis. Tout individu, équipe ou organisation peut codifier et partager ces compétences, rehaussant la capacité commune de tous les membres de l'équipe. Soudain, tout le monde possède les meilleures compétences de codage, de collecte des exigences, de planification de projet et de sécurité. Elles sont comme des outils dans votre ceinture à outils agentique. Vous devez encore apprendre à vous en servir.


## §05 Appliquer le harnais à grande échelle

L'Alberta exploite un programme pour investir dans nos fonctionnaires, appelé l'Académie d'IA de l'Alberta. Ce programme sera traité en profondeur dans un document futur, mais qu'il suffise de dire que des milliers de nos fonctionnaires et plus de dix mille participants du public ont utilisé la plateforme AlbertaAIAcademy.com pour apprendre les fondements d'un usage efficace de l'IA, de l'invite à la livraison de produits. Le personnel participe à des « cohortes », des groupes allant de soixante à six cents personnes qui apprennent sur trois niveaux.


La plus récente cohorte de niveau 3 s'est déroulée sur six jours, où les étudiants ont adopté une approche de livraison fondée sur le harnais. Les participants venaient d'un éventail d'horizons et de niveaux d'ancienneté; trois des cinq sous-ministres adjoints du ministère étaient assis dans la salle à titre d'étudiants, aux côtés de directeurs exécutifs, de directeurs, de gestionnaires, de membres du personnel et de stagiaires. Peu d'entre eux se seraient qualifiés d'ingénieurs en logiciel au début de la semaine. Pourtant, tous étaient disposés à être des bâtisseurs, travaillant aux côtés de l'IA selon une approche pilotée par le harnais.

Au cours de ces six jours, la cohorte a produit plus de **cinq cent soixante applications fonctionnelles**. Pour obtenir le diplôme de niveau 3, l'application de chaque étudiant a franchi la révision de cybersécurité, la vérification d'accessibilité et la norme d'apparence dès la première livraison. 

Résultat de la cohorte de niveau 3 560 / 100. Plus de cinq cent soixante applications produites par une centaine d'étudiants en six jours.

Le dernier jour du cours, des membres de l'équipe de cybersécurité se sont connectés avec leur propre trousse d'outils et ont analysé chaque soumission. Les meilleures soumissions ont franchi le seuil avec un bilan de santé impeccable : zéro cybervulnérabilité connue ou violation d'accessibilité, et une conformité totale à la norme gouvernementale. Bon nombre des meilleures méthodes de l'équipe de cybersécurité vivaient désormais nativement au sein des harnais d'IA que les étudiants utilisaient, de sorte que la cybersécurité était une préoccupation de premier ordre pour l'agent. À chaque commit et à chaque jalon, on peut exécuter ces agents pour effectuer plus de quatre-vingt-quinze vérifications. Les applications sont livrées avec leur propre bilan de santé impeccable et les preuves à l'appui. Au moment où la cybersécurité doit approuver l'application, tous les enjeux de sécurité sont atténués, ce qui donne des applications hautement cohérentes, faciles à comprendre et pleinement conformes à la cybersécurité dès le départ. 

"Nous avons fait entrer l'équipe de cybersécurité dans la tente. Nous leur avons demandé de bâtir l'agent de révision le plus rigoureux qu'ils pouvaient imaginer. 
Puis nous l'avons intégré au harnais." · Janak Alford, Sous-ministre, Ministère de la Technologie et de l'Innovation


## §06 Leçons apprises

En réfléchissant aux 16 derniers mois d'apprentissage au sein des programmes Maximalistes en IA, certains constats clés méritent d'être mis en lumière :

Donnez-vous le temps d'expérimenter. Ces méthodes ne sont ni évidentes ni faciles, et donner au personnel le temps d'apprendre, de créer et de raffiner ces méthodes est un investissement qui en vaut la peine.

Tags: velocity, harness, claude-code, agents, skills, hooks, cyber, open-source

Open the interactive version