oh-my-agent — un harnais multi-agents IA pour IDE en conditions réelles
(github.com/first-fluke)Quand on demande à un agent « crée-moi une app TODO », il finit bien par fabriquer quelque chose. Le problème, c’est qu’il construit souvent quelque chose d’à côté, sort du périmètre et répète les mêmes erreurs.
Pour résoudre ce type de problèmes, on a d’abord vu apparaître des approches structurées comme AGENTS.md, puis plus récemment des formats comme Skills. Mais quand on regarde les skills réellement partagés, on retrouve souvent quelques problèmes communs.
- il manque l’information la plus importante : la version des bibliothèques
- la description du rôle se termine par une simple déclaration comme
"You are a Senior engineer" - des contenus qui tiendraient avec quelques mots-clés sont rédigés de façon verbeuse, ce qui gaspille des tokens
Au final, ces skills sont difficiles à suivre correctement pour le modèle, gaspillent du contexte et finissent souvent, sur le long terme, en code mort que plus personne n’a envie d’ouvrir.
[Approche]
Avec oh-my-agent, je voulais traiter ce problème non pas par le prompt, mais par le processus. Quand l’agent se trompe, au lieu de simplement lui dire « recommence », on enregistre pourquoi il s’est trompé et on répercute cela sur l’exécution suivante.
Le mécanisme le plus représentatif est le scoring Clarification Debt (CD). Quand l’agent comprend mal une exigence ou sort du périmètre, il accumule des points.
- clarify: +10 — simple question de confirmation
- correct: +25 — correction de trajectoire due à une mauvaise compréhension de l’intention
- redo: +40 — rollback puis redémarrage après sortie du périmètre
- démarrage du travail sans vérifier la Charter : +15
- modification de fichiers hors du périmètre autorisé : +20
- répétition de la même erreur : multiplicateur x1.5
Au-delà de 50 points, la rédaction d’une analyse des causes racines (Root Cause Analysis, RCA) devient obligatoire, et au-delà de 80 points, la session est interrompue. Les enseignements qui en ressortent sont accumulés dans lessons-learned.md et appliqués dès la session suivante. L’idée est d’avoir des prompts simples, compensés par le processus.
En plus de cela, plusieurs protocoles communs empêchent l’agent d’agir à sa guise.
- Clarification Protocol
L’ambiguïté des exigences est classée en LOW / MEDIUM / HIGH. Si c’est LOW, on avance ; si c’est MEDIUM, on propose des options ; si c’est HIGH, on s’arrête pour clarifier. - Difficulty Guide
Les tâches sont réparties en Simple / Medium / Complex afin d’ajuster la profondeur des protocoles nécessaires. - Context Budget
Un budget de tokens est défini selon le modèle afin de réduire le gaspillage de contexte inutile.
Cette approche rejoint aussi ce qu’OpenAI appelle le Harness Engineering. Bien utiliser un agent n’est pas une question d’une ligne de prompt, mais de la structure avec laquelle on le contrôle.
[Structure du projet]
oh-my-agent gère cela directement dans la structure du projet.
.agents/= SSOT
Les skills, workflows et configurations sont regroupés sous.agents/et servent de source unique de vérité. Le système n’est dépendant d’aucun IDE en particulier.- équipe d’agents basée sur les rôles
En plus des rôles de base comme PM, QA, Frontend, Backend, Mobile et Debug, un DB Agent et un TF Infra Agent ont été ajoutés cette fois-ci.- DB Agent : modélisation SQL / NoSQL / Vector DB, avec recommandations de sécurité ISO 27001
- TF Infra Agent : Terraform multi-cloud, politiques OPA / Sentinel, avec guide de contrôle de la série ISO 42000
- orchestration centrée sur les workflows
Planification, review, debug et exécution parallèle constituent le flux de base. Le workflow/brainstorm, ajouté récemment, explore d’abord la conception sans écrire de code.
L’enchaînement est le suivant : analyse de la codebase → questions de clarification → proposition d’approche → validation utilisateur → sauvegarde du document de conception, puis transition vers/plan → implémentation.
[Deux modes d’orchestration]
/coordinate fonctionne sur un mode rapide : on exécute, puis on corrige si un problème apparaît. Le PM décompose la tâche, lance les agents, puis QA effectue une review. Si des problèmes CRITICAL/HIGH sont détectés, le travail correspondant est relancé. L’ensemble forme une boucle légère et rapide en 7 étapes.
À l’inverse, /ultrawork met l’accent sur une validation qualité beaucoup plus forte. Il est divisé en cinq phases — PLAN → IMPL → VERIFY → REFINE → SHIP — avec des gates à chaque étape ; si une phase n’est pas validée, il est impossible de passer à la suivante. Sur 17 étapes, 11 sont des reviews, et la phase REFINE inclut aussi le découpage de fichiers, la suppression des duplications, l’analyse des effets de bord et le nettoyage du dead code.
Cela peut sembler un peu excessif, mais à mesure que le niveau d’abstraction de la programmation monte — du langage machine aux langages de programmation, puis au langage naturel — on se rend bien compte que la validation devient, au final, l’élément le plus important.
[Contexte de l’extension du projet]
Il y a un mois, le projet avait été présenté sous le nom de oh-my-ag, comme orchestrateur dédié à Antigravity. Mais entre-temps, plusieurs AI IDE ont commencé à utiliser .agents/skills/ comme chemin de skills de projet, et il n’y avait plus de raison de le limiter à un IDE particulier. Il a donc été élargi sous la forme d’un harnais générique pour devenir oh-my-agent.
[Premiers pas]
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/… | bash
Les principaux AI IDE sont tous pris en charge, notamment Antigravity, Claude Code, Codex CLI et Cursor.
Si vous utilisez déjà un AI IDE, cela vaut peut-être le coup d’essayer. Au final, l’objectif d’un développeur est de tenir simultanément les QCD (Quality, Cost, Delivery). Le projet a été conçu avec l’idée que le développement avec agents ne fait pas exception.
🔗 GitHub: first-fluke/oh-my-agent
4 commentaires
Je l’utilise déjà depuis un moment, donc c’est une nouvelle qui fait plaisir. J’ai utilisé coordinate avec satisfaction.
Je me disais justement que ce serait bien de pouvoir pousser davantage les vérifications, et si le mode Ultra est encore plus méticuleux, je vais l’essayer dès demain.
Merci ! Si jamais il n'obéit pas très bien, n'hésitez pas à me le signaler.
En ajoutant un script dans
package.json, il a supprimé tous les fichiers en ne laissant que le dossier du workspace. Je suis en train de récupérer les données, mais c’est assez sidérant.L’avez-vous exécuté dans Claude ou à l’intérieur de l’agent ? Il n’y a pas de code qui supprime
package.jsonou tous les fichiers. Je vous serais reconnaissant de bien vouloir partager l’ensemble du flux !/tmp/oh-my-agent-*oma cleanup.cursor/skills.cursor/skills