Guide d'ingénierie
Faire évoluer la livraison logicielle agent-first
Augmentez la capacité de livraison parallèle utile en améliorant les limites des tâches, le débit de retour et les preuves de mise en production plutôt qu'en ajoutant simplement des agents.
Sur cette page
La livraison agent-first consiste à concevoir un workflow de livraison logicielle dans lequel des agents de code réalisent un travail significatif d'implémentation ou d'investigation sous contrôles d'ingénierie. Cela ne signifie pas que chaque ticket est autonome, que chaque agent peut fusionner ou que le parallélisme est automatiquement productif. La limite est souvent le débit de CI, la contention du dépôt, la qualité de l'évaluation ou la capacité d'examen, plutôt que la disponibilité des modèles.
L'article d'OpenAI de février 2026 sur le harness engineering souligne l'environnement autour des agents de code. Les travaux d'Anthropic sur les agents de longue durée et parallèles démontrent un point connexe : les agents peuvent progresser durablement lorsque les tâches, les retours, l'état et la synchronisation sont explicites. Ce sont des préoccupations de système de livraison qui nécessitent une planification de capacité.
Commencer par une taxonomie de livraison
Classez le travail avant de le paralléliser. De bons premiers candidats sont les correctifs étroits avec reproduction déterministe, les ajouts de tests, les mises à jour de dépendances avec des barrières de compatibilité connues, la documentation synchronisée au code ou les investigations de dépôt qui produisent des preuves plutôt que des écritures. De mauvais premiers candidats comprennent les changements produit ambigus, les migrations transverses étendues, les incidents de production, les changements sensibles à la sécurité sans vérificateur fort et les tâches partageant un petit nombre de fichiers très sollicités.
Pour chaque catégorie, documentez l'autonomie maximale, la validation requise, l'examen humain attendu, la stratégie de restauration ainsi que le budget de coût et de latence. Un nettoyage de test à faible risque peut suivre une politique différente d'une migration de base de données, même si les deux tiennent dans une pull request.
Décomposer pour une progression indépendante
Les agents parallèles ont besoin d'unités de travail indépendantes. Découpez par service, package, échec de test, feature flag ou frontière de contrat, et non par lignes de code arbitraires. Chaque tranche nécessite un responsable, des fichiers attendus, des critères d'acceptation et une déclaration de dépendances. Si deux agents doivent modifier la même interface, séquencez la décision ou créez d'abord une tâche de conception partagée.
Utilisez une légère revendication de tâche ou une file avec des baux afin que les agents ne se concurrencent pas sur le même changement. Faites expirer les revendications abandonnées et consignez pourquoi le travail s'est arrêté. Les travaux d'Anthropic sur les agents parallèles décrivent une synchronisation explicite des tâches et des espaces de travail séparés ; appliquez ce principe en gardant un mécanisme assez simple à auditer.
Ne transformez pas une grande migration en dizaines de prompts concurrents. Créez d'abord une jointure vérifiée : un adaptateur, un test de compatibilité, un contrat d'interface ou un déploiement progressif. Le travail parallèle devient plus sûr après que le système expose des preuves indépendantes.
Concevoir le débit CI comme une contrainte produit
La vitesse des agents est limitée par la boucle de retour. Instrumentez le temps d'attente CI, le provisionnement de l'environnement, l'installation des dépendances, l'exécution des tests, le téléversement des artefacts et le taux de réexécution. Une tâche de modèle de dix minutes qui attend quarante minutes un exécuteur n'est pas un parcours de livraison rapide.
Augmentez la capacité sans affaiblir les barrières :
- Exécutez des vérifications ciblées et déterministes pour le package affecté avant les suites coûteuses.
- Répartissez les tests indépendants et n'utilisez l'exécution sélective que si l'analyse des dépendances est fiable.
- Mettez en cache les dépendances immuables par fichier de verrouillage et plateforme, non les espaces de travail ni les identifiants mutables.
- Préconstruisez les images d'exécuteur communes et ne préchauffez que des artefacts sûrs, vérifiés pour leur intégrité.
- Donnez aux agents des quotas de concurrence explicites pour qu'ils ne privent pas les charges de travail humaines ou de release de ressources.
- Mettez les tests instables en quarantaine avec un responsable et une date d'expiration ; ne les réessayez pas silencieusement jusqu'à ce qu'ils passent.
La barrière de fusion qui fait autorité doit rester reproductible dans un environnement propre. Des pré-vérifications plus rapides servent à réduire le temps d'itération, pas à prouver que la barrière complète est inutile.
Budgéter latence, coût et contexte
Définissez un budget par catégorie de tâche pour l'attente en file, le temps d'exécution, l'inférence du modèle, les appels d'outils, les tokens, les minutes CI et les tentatives. Suivez p50 et p95, car une moyenne saine peut masquer un arriéré de travail bloqué. Ajoutez aussi des budgets de contexte : limitez la sortie de recherche dans le dépôt, interdisez les journaux sans limite et utilisez une récupération ciblée afin que les agents conservent les critères d'acceptation et les échecs récents.
Utilisez une politique d'arrêt et d'escalade lorsqu'une exécution dépasse le budget sans produire de nouvelles preuves déterministes. Conservez la branche, le diff, la sortie des tests et la classification du blocage. Un opérateur peut alors décider de découper la tâche, d'ajouter une fixture de test manquante, d'augmenter la capacité ou de rejeter l'approche.
L'attribution des coûts doit inclure toute la boucle : dépense de modèle, temps d'exécuteur, stockage, réseau, tentatives, appels d'évaluateur et examen humain. L'exécution d'agent la moins chère n'est pas nécessairement le changement livré au plus faible coût si elle crée un long examen ou une régression.
Garder les contrôles de fusion et de release indépendants
Un agent peut préparer une pull request, mais les protections du dépôt doivent imposer indépendamment les examens, vérifications, exigences de signature ou de provenance et approbations de déploiement. Séparez l'autorisation d'écriture de branche de l'autorisation de fusion, et l'autorisation de fusion de l'autorité de déploiement en production. Assurez-vous que chaque chemin d'automatisation dispose d'une procédure de restauration et d'un responsable de service redevable.
Utilisez canaris, feature flags, livraison progressive et supervision au niveau du service pour les changements susceptibles d'affecter le comportement à l'exécution. Ce sont des contrôles d'ingénierie normaux, non des concessions spéciales aux agents. Un changement généré par modèle doit recevoir le même niveau d'examen, voire un niveau supérieur, que tout autre changement selon son rayon d'impact.
Envisager l'architecture de performance du parcours de livraison lorsqu'elle est un goulot d'étranglement
L'architecture de performance edge et de livraison peut être pertinente lorsque des équipes mondialement distribuées ou des exécuteurs CI éphémères récupèrent de grosses dépendances, archives source, images conteneur et artefacts de build. Un cache proche, un routage fiable et une distribution protégée des artefacts peuvent améliorer la latence entre file CI et retour. C'est facultatif : cela n'aide qu'après que le profilage a montré que la latence du parcours de livraison ou la disponibilité des artefacts est significative. Cela ne remplace ni la conception des tâches, ni le cache sécurisé, ni le parallélisme des tests, ni des exécuteurs fiables.
Faites évoluer les preuves avant l'autonomie
Ajoutez des agents uniquement lorsque chaque exécution supplémentaire dispose d'un espace de travail isolé, d'une revendication de tâche claire, d'un validateur déterministe et de capacité en CI comme en examen humain. Sinon, vous faites évoluer la contention.
Mesurer le débit utile
Suivez les changements acceptés, sans régression, par unité de capacité contrainte, et non les pull requests générées. Les métriques utiles comprennent le temps entre file et premier retour, le délai jusqu'au correctif validé, l'utilisation de CI par catégorie de tâche, le taux de conflits de fusion, les raisons des échecs de validation, les reprises des examinateurs, les défauts échappés, le taux de restauration et le coût par changement accepté.
Segmentez les résultats par dépôt, type de tâche, version de l'environnement, modèle, permissions des outils et version de l'évaluateur. Une politique qui fonctionne pour les mises à jour de documentation peut être dangereuse pour les changements d'infrastructure. Utilisez ces preuves pour élargir ou restreindre délibérément l'autonomie.
Liste de contrôle de mise à l'échelle
- Classez les types de tâches et définissez leurs limites de validation, d'autonomie et de restauration.
- Divisez le travail selon des frontières testables indépendamment et coordonnez explicitement les interfaces partagées.
- Isolez branches et espaces de travail ; utilisez des revendications de tâches pour éviter les efforts en double.
- Instrumentez les temps de file CI, provisionnement, test et réexécution avant d'ajouter de la concurrence d'agents.
- Gardez les pré-vérifications ciblées rapides et préservez une barrière de fusion propre et reproductible.
- Bornez la capacité de modèle, d'exécuteur, de contexte, de tentative et d'examen pour chaque catégorie de tâche.
- N'utilisez l'optimisation du parcours de livraison que lorsque les mesures montrent qu'elle est un goulot d'étranglement CI significatif.
Références faisant autorité
- OpenAI: Harness engineering: leveraging Codex in an agent-first world, February 11, 2026
- Anthropic: Effective harnesses for long-running agents
- Anthropic: Building a C compiler with a team of parallel Claudes
- OWASP Top 10 for LLM and GenAI
Réduisez la latence du parcours de livraison pour une CI distribuée
Lorsque le profilage identifie la livraison des artefacts ou la latence du réseau mondial comme goulot d'étranglement CI, échangez avec Optimi sur l'architecture de performance pour des parcours de livraison logicielle fiables.
Discuter de l'architecture de performance de livraison