Accéder à la documentation

Choisir ses CodingAgents et définir leurs rôles dans Kavor

Le choix d’un CodingAgent ne commence pas par le provider. Il commence par la responsabilité que l’agent doit assumer.

Une seule session peut analyser le problème, rédiger la Specification, implémenter, réviser et préparer la livraison. Cela paraît plus simple parce qu’il y a moins de participants, mais des objectifs différents se retrouvent concentrés dans la même fenêtre de contexte. L’implémentation transporte toute l’exploration antérieure, la revue hérite des hypothèses de l’auteur et la préparation de la livraison rivalise avec des décisions qui devraient déjà être conservées hors de la session.

Kavor permet de répartir ces responsabilités entre plusieurs CodingAgents sans transformer le travail en chats isolés. Les participants forment un graphe autour de ressources durables, telles que Specifications, Files et Sticky Notes. Les Connections rendent le contexte et les capacités visibles, les messages permettent les handoffs et les discussions, et la décision finale reste entre vos mains.

Spec Writer, Builder, Reviewer et Shipper connectés sur un Canvas Kavor

Voir quatre rôles former un graphe de travail →

Commencez par le travail, pas par l’agent

Avant d’ajouter un CodingAgent au Canvas, écrivez en une phrase pourquoi il existe. Une bonne définition contient :

  • une responsabilité principale ;
  • le contexte nécessaire pour l’assumer ;
  • le résultat qu’il doit produire ;
  • la condition à laquelle il doit s’arrêter.

« Réviser le code » reste trop large. « Comparer l’implémentation aux critères de la Specification, consigner les findings et s’arrêter avant de modifier le code » définit un rôle vérifiable.

Le même provider peut occuper des rôles différents dans des sessions distinctes. Des providers différents peuvent également remplir le même rôle. Le rôle appartient au travail ; provider, modèle et effort sont des réglages choisis pour l’exécuter.

Quatre rôles utiles

Toutes les tâches n’ont pas besoin des quatre rôles ci-dessous. Ce sont des frontières pour raisonner sur le travail, pas un quota d’agents.

RôleQuestion principaleContexte essentielRésultat attendu
Analyste ou Spec WriterQue faut-il changer et quelles limites doivent rester en place ?Problème, contraintes, décisions et comportement existantUne Specification claire, avec un périmètre et des critères vérifiables
ImplementerComment produire la modification dans le cadre du contrat ?Specification, Files pertinents, Terminal et conventions du WorkspaceUne implémentation accompagnée de vérifications et de preuves
ReviewerQu’est-ce qui est incorrect, incomplet ou risqué ?Specification, modifications et résultats des vérificationsDes findings concrets ou une revue sans blocage identifié
ShipperLe travail peut-il être livré en toute sécurité ?Specification, revue, état Git et exigences de releasePréparation de la livraison, risques restants et preuves pour la décision humaine

Pour une petite correction, un Implementer et une revue humaine peuvent suffire. Pour une modification plus risquée, séparer Specification, implémentation, revue et livraison réduit le risque qu’une seule ligne de raisonnement contrôle tout le cycle.

Séparer les rôles n’impose pas des providers différents. Deux sessions du même provider isolent déjà leurs objectifs et leurs contextes. Combiner des providers peut apporter une autre perspective et réduire des angles morts corrélés, mais ne remplace pas les critères d’acceptation et ne garantit pas une meilleure revue.

Le graphe est la mémoire partagée

Répartir le travail ne devrait pas obliger à copier le même prompt dans plusieurs sessions. Dans Kavor, le contexte commun réside dans des Nodes durables :

  • la Specification conserve l’intention, le périmètre et les critères ;
  • les Files gardent les sources utiles dans le flux ;
  • la Sticky Note consigne observations et décisions de travail ;
  • le Terminal fournit l’environnement d’exécution des commandes et vérifications ;
  • les CodingAgents assument des responsabilités distinctes autour de ces ressources.

Cette mémoire partagée n’est pas un historique de conversation unique qui grandit indéfiniment. C’est un ensemble explicite de ressources que les participants peuvent consulter et mettre à jour selon les autorisations des Connections et Guardrails. Lorsqu’une session se termine, la Specification, les Files, les notes et les preuves restent dans le Workspace.

Un graphe d’implémentation, de revue et de livraison peut être représenté ainsi :

Specification
    ├── Spec Writer
    ├── Implementer ↔ Reviewer
    └── Shipper

Contexte durable : Files · Sticky Note · Terminal · outputs de la Specification

Cette représentation montre la répartition des responsabilités, pas la direction des Connections. Les Connections n’exécutent pas automatiquement une séquence ; elles rendent les relations, le contexte et les capacités inspectables sur le Canvas.

Répartissez aussi la fenêtre de contexte

Chaque rôle a besoin d’une partie différente du problème. Le Spec Writer peut devoir explorer des options et des contraintes. L’Implementer a besoin du contrat accepté, des fichiers pertinents et des conventions du code. Le Reviewer a besoin des critères, du diff et des preuves, pas de toute la conversation qui a conduit l’Implementer à la solution.

Cette séparation améliore le rapport entre contexte utile et contexte total :

  • chaque CodingAgent reçoit un objectif plus étroit ;
  • les ressources communes restent dans le Workspace au lieu d’être répétées dans les prompts ;
  • les détails sont consultés lorsqu’ils sont nécessaires ;
  • la revue part du contrat et du résultat, pas de la justification accumulée par l’auteur ;
  • une longue session cesse de transporter les étapes déjà terminées.

Une baisse de l’usage des tokens peut être un bénéfice, pas une promesse. Un graphe bien réparti évite le contexte répété ou inutile ; un graphe avec trop d’agents, des messages redondants et des rôles vagues peut consommer davantage. L’objectif n’est pas de maximiser le nombre de CodingAgents, mais de donner à chaque token une responsabilité plus claire.

Choisissez provider, modèle et effort après le rôle

Une fois la responsabilité définie, configurez la session selon la tâche. Utilisez les contrôles natifs du provider pour choisir le modèle et l’effort lorsqu’ils sont disponibles.

Évaluez quatre facteurs :

  1. Ambiguïté : la tâche doit-elle découvrir le problème ou exécuter un contrat clair ?
  2. Risque : une erreur serait-elle locale et réversible, ou affecterait-elle sécurité, données, architecture ou release ?
  3. Usage des outils : le rôle doit-il explorer le code et exécuter des commandes, ou surtout analyser des preuves ?
  4. Coût de coordination : une session plus puissante peut-elle remplir le rôle avec moins de handoffs, ou une seconde perspective est-elle nécessaire ?

Un effort plus élevé est souvent pertinent pour les Specifications ambiguës, les décisions d’architecture et les revues à haut risque. Les tâches mécaniques et bien délimitées peuvent utiliser des modèles plus rapides ou un effort moindre. L’implémentation dépend de la taille du changement et du besoin de parcourir et tester le code.

Ne transformez pas ces indications en affectations permanentes. « Le provider A implémente toujours » et « le provider B révise toujours » remplacent une décision d’ingénierie par une habitude. Réévaluez les réglages pour chaque rôle et tirez des enseignements de la qualité des preuves produites.

Utilisez les conversations pour les handoffs et le travail parallèle

Les CodingAgents d’un même flux n’ont pas à travailler en silence. Utilisez les messages Kavor lorsqu’un agent doit :

  • transmettre une implémentation pour revue ;
  • demander une précision à l’auteur de la Specification ;
  • discuter d’un finding avant de le consigner comme blocage ;
  • renvoyer une correction pour une nouvelle vérification ;
  • coordonner des investigations indépendantes qui peuvent avancer en parallèle.

Un bon message indique :

  • l’objectif du handoff ;
  • les ressources du graphe qui contiennent le contexte ;
  • ce qui a déjà été réalisé et vérifié ;
  • l’action attendue du destinataire ;
  • l’endroit où le résultat doit être conservé.

Les conversations sont asynchrones et inspectables. Elles ne remplacent pas la mémoire durable. Une décision qui doit survivre au handoff doit retourner dans la Specification, une Sticky Note ou un autre output approprié ; elle ne doit pas rester cachée uniquement dans les messages.

Ne parallélisez que les travaux qui peuvent avancer sans se disputer la même décision ni modifier la même surface. Deux agents peuvent explorer des hypothèses différentes ou revoir des aspects indépendants. Deux Implementers qui modifient les mêmes fichiers sans répartition explicite créent généralement plus de réconciliation que de vitesse.

Ce qu’il faut éviter

Concentrer tout le cycle dans une session

Analyse, Specification, implémentation, revue et release posent des questions différentes et utilisent des critères différents. Réutiliser une session pour tout préserve aussi ses hypothèses, ses distractions et ses angles morts.

Créer un agent pour chaque sous-tâche

Une séparation sans responsabilité indépendante ajoute des messages, du contexte dupliqué et un coût de coordination. Si vous ne pouvez pas décrire un résultat et une condition d’arrêt distincts, vous n’avez probablement pas besoin d’un autre CodingAgent.

Réutiliser les mêmes réglages par commodité

Un modèle ou un effort insuffisants dégradent les tâches ambiguës ou critiques. Des réglages excessifs gaspillent du temps et des tokens sur du travail mécanique. Choisissez la configuration selon le risque et la nature du rôle.

Demander à l’Implementer de réviser son propre raisonnement

L’auto-revue peut détecter des erreurs simples, mais elle ne crée pas d’indépendance. Lorsqu’une seconde perspective compte, utilisez une autre session avec des critères explicites et un accès aux résultats vérifiables.

Garder les agents isolés

Copier manuellement des messages entre les sessions fragmente la provenance et masque le handoff. Utilisez les conversations Kavor pour les revues, les précisions et la coordination du travail parallèle.

Laisser les décisions uniquement dans les messages

Les messages coordonnent les participants. Specifications, Sticky Notes et outputs conservent ce que le Workspace doit retenir.

Trois configurations pour commencer

Petite modification

Utilisez une Specification, un Implementer et un Reviewer. Connectez les deux agents au contexte nécessaire et conservez l’implémentation et la revue dans une Sticky Note ou dans les outputs de la Specification. C’est la plus petite configuration utile ; la vidéo de cette page montre comment la même logique s’étend jusqu’au Shipper sans perdre le contexte.

Modification à haut risque

Séparez Spec Writer, Implementer, Reviewer et Shipper. Donnez au Reviewer des critères explicites et l’indépendance nécessaire pour contester l’implémentation. Le Shipper prépare les preuves de livraison, mais ne remplace pas votre décision de publier.

Investigation parallèle

Utilisez deux CodingAgents pour explorer des hypothèses ou des zones différentes, avec un troisième rôle chargé de réconcilier les résultats. Définissez à l’avance où chaque découverte sera consignée et utilisez les messages pour les questions et handoffs.

Checklist avant de commencer

Pour chaque CodingAgent, vérifiez :

  • puis-je décrire son rôle en une phrase ?
  • a-t-il un résultat observable et une condition d’arrêt ?
  • le graphe ne fournit-il que le contexte et les capacités nécessaires ?
  • provider, modèle et effort correspondent-ils à l’ambiguïté et au risque ?
  • sait-on clairement avec qui il doit parler et pourquoi ?
  • les décisions et preuves seront-elles conservées hors de la conversation ?
  • l’ajout de ce CodingAgent améliore-t-il suffisamment indépendance, parallélisme ou qualité pour justifier la coordination ?

Un bon Canvas n’est pas celui qui contient le plus d’agents. C’est celui qui rend responsabilités, contexte, handoffs, preuves et décisions clairs pour tous les participants, vous compris.

Construisez cette structure dans Boucler votre premier cycle avec Kavor ou révisez les concepts dans Qu’est-ce que Kavor ?.

Dernière révision 6 août 2026Vérifié avec Kavor 1.2.0Partager un avis sur la documentation