𝗔𝗴𝗲𝗻𝘁𝘀 𝗜𝗔 𝗲𝘁 𝘀𝘁𝗿𝗮𝘁𝗲́𝗴𝗶𝗲 𝗱𝗲 𝗿𝗮𝗺𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 : 𝘂𝗻𝗲 𝗮𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝘀𝗮𝘁𝗶𝗼𝗻 𝘀𝗲́𝗰𝘂𝗿𝗶𝘀𝗲́𝗲 𝗮𝘃𝗲𝗰 𝗚𝗶𝘁
Les agents IA ne sont pas défaillants, mais ils sont imprévisibles.
Un récent ticket GitHub a montré un agent ignorant des instructions explicites visant à éviter de commiter sur la branche principale. Il a lu les règles, a été d'accord avec elles, puis a tout de même poussé vers main.
Si votre modèle de sécurité repose sur le fait de dire à un agent « ne fais pas ceci », vous n'avez pas un modèle de sécurité. Vous avez de l'espoir.
On ne peut pas couvrir un prompt système en criant plus fort. Au lieu de cela, vous devez construire un système où l'agent ne peut physiquement pas faire la mauvaise chose.
Voici comment mettre en place une stratégie d'automatisation sécurisée :
Utilisez les Git Worktrees pour l'isolation Ne laissez pas les agents travailler dans votre répertoire principal. Utilisez
git worktree addpour donner à chaque agent son propre répertoire et sa propre branche. Un agent ne peut pas commiter sur main si main n'est même pas extrait dans son espace de travail.Utilisez une convention de nommage de branches stricte Les agents créent de nombreuses branches. Si vous ne les nommez pas correctement, vous perdrez le fil. Utilisez un préfixe en trois parties : • agent/feat/checkout-coupon-stacking • agent/fix/flaky-payment-test • agent/chore/bump-eslint Cela vous permet de filtrer et de nettoyer facilement les branches automatisées.
Faites un squash au moment de la fusion Les agents peuvent être désordonnés. Ils peuvent commiter trop souvent ou créer un commit géant et illisible. Ne vous souciez pas de l'hygiène de leurs commits. Utilisez le squash-merging lorsque vous fusionnez leur PR. Cela permet de garder votre historique principal propre tout en laissant l'agent utiliser sa branche comme un brouillon.
Implémentez une défense multicouche Ne vous reposez pas sur un seul garde-fou.
- Instructions de prompt : Une première ligne de défense.
- Hooks de pre-commit locaux : Bloquent les commits accidentels sur les branches protégées.
- Protection de branche côté serveur : La couche la plus importante. Exigez une pull request sur votre dépôt distant. Cela rend impossible pour un agent de pousser vers main sans approbation humaine.
L'objectif est de laisser l'agent travailler de manière autonome, l'humain ne réintégrant la boucle qu'au moment de la pull request.
Arrêtez de surveiller chaque modification. Construisez une structure où même un agent imprudent produit un résultat sûr.
Source: https://dev.to/nazar_boyko/ai-agents-and-branch-strategy-safe-automation-with-git-57ja
Optional learning community: https://t.me/GyaanSetuAi