Blog

Plusieurs agents IA sur un même tableau : le guide de terrain

Comment faire travailler Claude Code, Codex et ChatGPT sur un seul tableau sans doublons : contrats de tâche, réservations atomiques, baux et une seule file de relecture.

Weft est le gestionnaire de tâches IA des fondateurs solos et des petites équipes.

Tous les articles

Par Andrei Finogeev ·

Oui, deux ou trois clients IA peuvent partager un même tableau, à condition que ce soit le tableau qui décide à qui appartient chaque tâche. Dans Weft, Claude Code, Codex et ChatGPT se connectent tous au même point de terminaison MCP. Chacun réserve une tâche avec start_task, la garde en vie avec des signaux réguliers et rend un reçu. Si deux clients visent la même carte, on répond already_claimed au second, et personne ne fait le travail deux fois.

C’est nous qui faisons Weft. Les informations sur les autres produits viennent de leurs pages officielles, vérifiées le 27 octobre 2026.

Ce guide s’adresse au fondateur solo ou à la petite équipe qui fait tourner deux ou trois clients IA qui n’arrêtent pas de se marcher sur les pieds.

Quand un deuxième agent aide-t-il vraiment ?

Plus d’agents ne rendent pas le travail plus rapide par défaut. Ils aident quand le travail se découpe en morceaux qui ne se touchent pas, et ils nuisent quand ils partagent des fichiers, une base de test ou une décision que personne n’a encore prise.

SituationUn agent ou plusieurs ?Pourquoi
Une fonctionnalité dans un dépôt, terminée d’une traiteUn agent (avec ses propres sous-agents s’il en a)Un seul contexte contient tout ; un tableau ajoute de la charge
Deux corrections indépendantes dans des zones séparées du codeDeux agents, branches ou worktrees séparésAucun fichier partagé : le seul risque est de prendre la même carte
Planification et tri dans ChatGPT, code dans un agent en terminalDeux clients, deux rôlesChatGPT rédige et trie les tâches ; l’agent de code les réserve
Plusieurs agents qui attendent la même décision produitUn agent, après votre décisionDes agents en parallèle devineront chacun différemment

Si vous ne confieriez pas deux morceaux de travail à deux personnes sans en parler d’abord, ne les confiez pas à deux agents.

Que doit dire une tâche avant qu’un agent puisse la prendre ?

Les agents prennent une tâche au pied de la lettre et posent rarement des questions. Avant qu’une carte quitte le Backlog, donnez-lui :

  • Un résultat vérifiable. Pas « améliorer l’onboarding », mais « ajouter un état vide à la page des projets avec un bouton de création ».
  • Un périmètre. Quels fichiers, pages ou systèmes elle peut toucher, et ce qui est hors limites.
  • Un critère de fin. Le test, le build ou l’URL qui montre que ça a marché.
  • Les preuves attendues en retour. Un lien de pull request, un hachage de commit, une URL déployée.
  • Le point d’arrêt. Tout ce qui est irréversible (publication, production, argent) doit se terminer par une question pour vous, pas par une action.

Les colonnes par défaut de Weft sont Backlog, Todo, Doing et Done. Une convention simple fonctionne bien : seules les cartes dans Todo sont prêtes à être réservées. Les projets séparent un dépôt ou un client du reste.

Que se passe-t-il quand deux agents appellent start_task sur la même carte ?

Déplacer une carte dans Doing n’est pas un verrou : deux agents peuvent lire la même carte Todo et commencer tous les deux. Dans Weft, c’est donc la réservation elle-même qui sert de verrou.

Un appel start_task est une seule insertion en base de données protégée par un index unique : c’est la base qui décide qui gagne. Le gagnant reçoit un runId et un leaseToken, et la carte passe dans Doing. Le perdant reçoit already_claimed avec l’id de la tâche, son titre et une consigne de ne pas faire le travail en double. Peu importe que l’un des clients soit un agent en terminal et l’autre une appli de conversation.

Pour un agent, already_claimed est une réponse normale, pas une erreur. La bonne réaction est de rappeler get_my_work et de prendre la carte suivante. Nous décrivons la boucle complète dans la boucle réservation, signal de vie et reçu.

Comment fonctionnent les signaux de vie et le bail de 20 minutes ?

Une réservation est un bail, pas une attribution permanente. start_task donne un bail de 20 minutes et demande à l’agent de le renouveler toutes les 300 secondes. L’agent le renouvelle en appelant report_progress avec son runId et son leaseToken. Si l’agent a perdu le bail entre-temps, l’appel renvoie lease_lost, et il doit s’arrêter plutôt que continuer à modifier.

Quand une session meurt, il ne reste personne pour le dire. Le silence est le seul signal que reçoit le tableau : Weft traite donc le silence comme le signal.

  • Après 20 minutes sans signal de vie, l’exécution est marquée comme périmée, le jeton est effacé et la tâche redevient non assignée.
  • Un balayage passe toutes les 10 minutes, et une tâche périmée est aussi libérée immédiatement quand un autre client essaie de la réserver.
  • Tant qu’un agent attend la réponse à une question qu’il vous a posée, il garde la tâche 60 minutes. Ensuite le bail tombe, mais la question reste ouverte.

Les signaux de vie sont des appels d’outils. Une tâche de 40 minutes avec un signal toutes les 5 minutes en consomme environ 8, et le gratuit offre 200 appels par mois : trois agents quotidiens le dépasseront. Pro n’a pas de plafond d’appels.

Comment le tableau sait-il quel agent a fait quoi ?

Chaque client OAuth qui se connecte à Weft est un acteur distinct. Claude Code, Codex et ChatGPT s’enregistrent chacun séparément, et le tableau affiche le nom sous lequel chaque client s’est enregistré. Chaque événement de l’historique indique quel client l’a produit.

Les clients sans OAuth peuvent utiliser un jeton d’accès personnel ; chaque jeton est aussi un acteur distinct, mais les jetons n’ont pas de portée (jetons d’accès). Les droits se règlent par connexion OAuth :

  • full (par défaut) : les 32 outils.
  • write : tout sauf les trois outils destructifs (corbeille, archivage, clôture de sprint).
  • read : seulement les 11 outils en lecture seule.

Une répartition raisonnable : les agents de code en write, tout ce qui est expérimental en read. Déconnecter un client révoque ses jetons sans toucher aux autres. Weft émet des jetons de rafraîchissement : un client connecté renouvelle sa connexion tout seul.

L’identité sur le tableau n’est pas une isolation sur le disque. Deux agents aux noms différents peuvent quand même s’écraser mutuellement dans un même checkout. Donnez à chaque agent de code sa propre branche ou son propre worktree.

Où atterrit le travail terminé, et combien de choses peuvent vous attendre ?

Par défaut, une tâche terminée va directement dans Done. Elle s’arrête plutôt dans votre boîte de réception quand elle demande une relecture ou qu’une vérification échoue. Là, vous choisissez Accepter, À revoir, Plus tard ou Abandonner. À revoir demande une note. Les questions de request_input arrivent dans la même boîte de réception et sur votre téléphone en notification push : vous n’avez qu’un seul endroit à surveiller, quel que soit l’agent qui demande.

Le reçu de complete_task contient un résultat, des artefacts vérifiables, ce qui n’a pas été fait, les inconnues et un nextStep. Le nextStep s’affiche au-dessus du bouton Accepter : accepter approuve donc exactement cette étape. Plus de détails dans qu’a fait mon agent IA.

La boîte de réception a une limite, et avec plusieurs agents vous l’atteindrez. Elle contient 5 éléments dans un espace d’une personne et 10 en équipe, ou 45 minutes de relecture estimée, selon ce qui arrive en premier. Les questions comptent dedans. Quand elle est pleine, start_task refuse avec attention_queue_full et indique à l’agent ce qu’il peut encore faire, comme signaler son avancement ou lire le tableau. Trois agents peuvent produire du travail plus vite qu’une personne ne peut le relire ; la limite les empêche d’empiler des résultats que vous ne lirez jamais.

Ce qui casse, et comment s’en remettre

IncidentCe que vous voyezCe que fait WeftCe que vous faites
Deux clients démarrent la même tâcheUne carte dans Doing, un client qui reçoit already_claimedLa base laisse gagner une seule réservation ; l’autre est refuséeRien, si l’agent perdant passe à autre chose. S’il a continué malgré tout, resserrez ses instructions
Une session plante ou l’ordinateur se met en veilleUne carte dans Doing sans avancementAprès 20 minutes sans signal de vie, l’exécution est périmée et la tâche redevient non assignéeVérifiez la branche pour du travail partiel avant qu’un autre agent ne la reprenne
Un agent termine mais n’appelle jamais complete_taskTravail fusionné, carte toujours dans DoingLe bail expire ; la tâche est libérée, pas closeFermez-la vous-même ou demandez à un agent de la terminer avec les preuves
Un agent a besoin d’une décision que vous seul pouvez prendreUne question dans votre boîte de réception, peut-être une notification pushLa réservation est gardée 60 minutes ; la réponse parvient à l’agent à son prochain start_task ou get_my_workRépondez avec l’une des options proposées
Trop de choses vous attendentUne boîte de réception pleinestart_task refuse avec attention_queue_fullRelisez ou abandonnez des éléments ; les agents peuvent redémarrer à mesure que la file se vide
Deux agents modifient le même checkoutDes changements sans rapport mélangés dans un même diffRien ; Weft ne voit pas vos fichiersSéparez worktrees ou branches avant de lancer des agents en parallèle

Comment configurer deux ou trois clients ?

Les trois se connectent au même point de terminaison et s’identifient dans le navigateur, sans clé à copier.

# Claude Code
claude mcp add --transport http weft https://letsweft.com/api/mcp

# Codex: add to ~/.codex/config.toml, then sign in
[mcp_servers.weft]
url = "https://letsweft.com/api/mcp"

codex mcp login weft

ChatGPT se connecte par l’appli Weft de son annuaire, sur tous les forfaits, y compris le gratuit. Pages pas à pas : Claude Code, Codex, ChatGPT, Cursor (installation en un clic). La connexion suit la spécification d’autorisation MCP.

ChatGPT fonctionne par tours : il agit pendant que vous êtes dans la conversation. Il convient à la planification, à la rédaction de tâches et aux réponses aux questions. Les longues sessions de code conviennent mieux à un agent en terminal, car un signal de vie toutes les quelques minutes demande une session qui continue de tourner.

À quoi ressemble un essai d’une semaine ?

  1. Jour 1 : connectez deux clients. Claude Code et Codex, ou un agent de code plus ChatGPT. Mettez les agents de code en droits write.
  2. Jours 1–2 : rédigez cinq à dix tâches selon le contrat ci-dessus. Un résultat, un périmètre, un critère de fin, des preuves. Laissez-les dans Todo. Si vous avez déjà des tâches dans Linear, Jira, Notion ou Trello, importez-les d’abord ; l’import est gratuit sur tous les forfaits.
  3. Jours 2–5 : faites tourner les deux agents sur la même file Todo, chacun dans son worktree, chacun avec la consigne de réserver avec start_task et de finir avec complete_task et des artefacts.
  4. Jour 5 : provoquez une panne exprès. Envoyez les deux agents sur la même carte et regardez l’un d’eux recevoir already_claimed. Tuez une session en pleine tâche et vérifiez que la carte est de nouveau libre au bout de 20 minutes.
  5. Jour 7 : faites l’audit à partir du seul tableau. Une tâche a-t-elle tourné deux fois ou est-elle restée dans Doing une fois finie ? Pouviez-vous vérifier chaque résultat grâce à ses artefacts ? Corrigez le modèle de tâche avant d’ajouter un troisième agent.

Comment cela se compare-t-il à l’approche d’Hypertask ?

Le modèle de bail d’Hypertask est solide : réserver, signaler, libérer, avec une expiration. La différence, c’est l’endroit où vit ce modèle. La documentation d’Hypertask présente les baux de tâche, les preuves et l’escalade comme des points de terminaison REST uniquement, par conception, et sa référence des outils compte 21 outils MCP sans outil de bail (présentation MCP). Dans Weft, la réservation, le signal de vie, la question et le reçu sont des outils MCP : n’importe quel client MCP les utilise sans code supplémentaire.

WeftHypertask
Réservation et bailDans MCP : start_task, report_progress (bail de 20 minutes)Points de terminaison REST uniquement, par conception (documentation)
Outils MCP3221 (documentation)
ConnexionOAuth dans le navigateur, avec jetons de rafraîchissement ; jetons d’accès personnels facultatifsLa configuration documentée repose sur une clé d’API copiée qui expire au bout de 30 jours ; une connexion approuvée dans le navigateur dure 90 jours sans rafraîchissement (documentation)
Identité des agentsChaque client OAuth ou jeton est un acteur distinctAgents comme comptes de service avec leur propre identité
Accès depuis ChatGPTAppli publiée dans l’annuaire de ChatGPT, tous les forfaits, y compris le gratuitGPT personnalisé avec des Actions OpenAPI, ou connecteur personnalisé en mode développeur, d’après Hypertask (documentation)
CLI et API RESTAucuneCLI sur npm et une API REST (documentation)
Applis mobilesiOS et AndroidPas d’appli iOS native (appli web sur l’écran d’accueil) ; pas de fiche Google Play (documentation)
Langues27Anglais uniquement
Prix par placeGratuit : 50 tâches, 200 appels IA par mois. Pro : 7,80 € par mois ou 66 € par anGratuit : 3 tableaux par personne. BYOK 8 $ à l’année / 10 $ au mois. Pro 16 $ à l’année / 20 $ au mois (tarifs)
Crédits d’IAAucun : la réflexion se fait dans votre propre client IAIA intégrée ; le forfait BYOK utilise vos propres clés de modèle

Hypertask est le meilleur choix si vos agents tournent depuis des scripts ou la CI et que vous voulez une CLI et une API REST, si vous voulez des agents comme comptes de service gérés comme des utilisateurs, ou si vous voulez de l’IA intégrée (rédaction de tâches, étiquettes intelligentes, tri), la vitesse au clavier et le suivi du temps. Weft n’a ni CLI, ni API REST, ni webhooks, ni intégration GitHub ou Slack. Weft convient quand vos agents sont des clients MCP que vous utilisez déjà, ChatGPT compris, et que vous voulez leur répondre depuis votre téléphone.

Pour une comparaison plus large, voir les gestionnaires de tâches MCP comparés et une alternative à Hypertask.

Mes agents doivent-ils se parler entre eux ?
Non. Ils se coordonnent par le tableau : réservations, reçus et questions. Weft n’appelle jamais un agent ; chacun va chercher sa tâche suivante avec get_my_work.
Un agent planté laissera-t-il une tâche coincée dans Doing pour toujours ?
Non. Après 20 minutes sans signal de vie, l’exécution est marquée comme périmée et la tâche redevient non assignée : un autre client peut la réserver. Vérifiez d’abord la branche pour du travail partiel.
Trois agents ne vont-ils pas m’ensevelir sous les relectures ?
La boîte de réception est plafonnée à 5 éléments pour une personne (10 pour une équipe) ou 45 minutes de relecture ; quand elle est pleine, les agents ne peuvent pas démarrer de nouvelles tâches. La plupart des tâches terminées vont directement dans Done.
Faire tourner plusieurs agents coûte-t-il plus cher ?
Weft facture par place, pas par agent : Pro coûte 7,80 € par mois ou 66 € par an et par personne. Le forfait gratuit plafonne les appels IA à 200 par mois, que les signaux de vie de plusieurs agents épuisent vite. Voir les tarifs.