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.
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.
| Situation | Un agent ou plusieurs ? | Pourquoi |
|---|---|---|
| Une fonctionnalité dans un dépôt, terminée d’une traite | Un 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 code | Deux agents, branches ou worktrees séparés | Aucun fichier partagé : le seul risque est de prendre la même carte |
| Planification et tri dans ChatGPT, code dans un agent en terminal | Deux clients, deux rôles | ChatGPT rédige et trie les tâches ; l’agent de code les réserve |
| Plusieurs agents qui attendent la même décision produit | Un agent, après votre décision | Des 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
| Incident | Ce que vous voyez | Ce que fait Weft | Ce que vous faites |
|---|---|---|---|
| Deux clients démarrent la même tâche | Une carte dans Doing, un client qui reçoit already_claimed | La base laisse gagner une seule réservation ; l’autre est refusée | Rien, 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 veille | Une carte dans Doing sans avancement | Après 20 minutes sans signal de vie, l’exécution est périmée et la tâche redevient non assignée | Vérifiez la branche pour du travail partiel avant qu’un autre agent ne la reprenne |
| Un agent termine mais n’appelle jamais complete_task | Travail fusionné, carte toujours dans Doing | Le bail expire ; la tâche est libérée, pas close | Fermez-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 prendre | Une question dans votre boîte de réception, peut-être une notification push | La réservation est gardée 60 minutes ; la réponse parvient à l’agent à son prochain start_task ou get_my_work | Répondez avec l’une des options proposées |
| Trop de choses vous attendent | Une boîte de réception pleine | start_task refuse avec attention_queue_full | Relisez ou abandonnez des éléments ; les agents peuvent redémarrer à mesure que la file se vide |
| Deux agents modifient le même checkout | Des changements sans rapport mélangés dans un même diff | Rien ; Weft ne voit pas vos fichiers | Sé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 weftChatGPT 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 ?
- Jour 1 : connectez deux clients. Claude Code et Codex, ou un agent de code plus ChatGPT. Mettez les agents de code en droits write.
- 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.
- 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.
- 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.
- 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.
| Weft | Hypertask | |
|---|---|---|
| Réservation et bail | Dans MCP : start_task, report_progress (bail de 20 minutes) | Points de terminaison REST uniquement, par conception (documentation) |
| Outils MCP | 32 | 21 (documentation) |
| Connexion | OAuth dans le navigateur, avec jetons de rafraîchissement ; jetons d’accès personnels facultatifs | La 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 agents | Chaque client OAuth ou jeton est un acteur distinct | Agents comme comptes de service avec leur propre identité |
| Accès depuis ChatGPT | Appli publiée dans l’annuaire de ChatGPT, tous les forfaits, y compris le gratuit | GPT personnalisé avec des Actions OpenAPI, ou connecteur personnalisé en mode développeur, d’après Hypertask (documentation) |
| CLI et API REST | Aucune | CLI sur npm et une API REST (documentation) |
| Applis mobiles | iOS et Android | Pas d’appli iOS native (appli web sur l’écran d’accueil) ; pas de fiche Google Play (documentation) |
| Langues | 27 | Anglais uniquement |
| Prix par place | Gratuit : 50 tâches, 200 appels IA par mois. Pro : 7,80 € par mois ou 66 € par an | Gratuit : 3 tableaux par personne. BYOK 8 $ à l’année / 10 $ au mois. Pro 16 $ à l’année / 20 $ au mois (tarifs) |
| Crédits d’IA | Aucun : la réflexion se fait dans votre propre client IA | IA 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.