DEV Community

Cover image for Qu'est-ce qu'une Agence d'Agents ?
Antoine Laurent
Antoine Laurent

Posted on • Originally published at apidog.com

Qu'est-ce qu'une Agence d'Agents ?

L'Agence est une collection open-source de 147 agents IA spécialisés pour Claude Code, Cursor, Aider, Windsurf, GitHub Copilot, et bien d'autres outils. Chaque agent possède une personnalité technique, des livrables concrets et des métriques de succès mesurables. Cet article détaille l’architecture, l’intégration multi-outils, la mémoire persistante MCP et les scripts bash qui automatisent le déploiement.

Essayez Apidog dès aujourd'hui

💡 Si vous souhaitez intégrer ces agents à des flux de travail API réels, vous maximiserez leur efficacité avec une plateforme API robuste. C’est là qu’Apidog intervient : concevez, simulez, testez et documentez vos API, puis exécutez-les pour voir vos agents et endpoints évoluer ensemble. Profitez d’Apidog gratuitement pour créer un espace de travail sandbox pour votre backend "powered by L'Agence".

Fini les invites vagues, place à la spécialisation

Contrairement à l’approche "Agis comme un développeur senior" suivie de conseils génériques, L’Agence propose 147 agents spécialisés répartis en 12 divisions. Imaginez une agence à services complets, mais entièrement automatisée et toujours disponible.


Qu'est-ce que l'Agence ?

Caractéristique Détails
Total d'agents 147 agents spécialisés en 12 divisions
Format Fichiers Markdown avec YAML frontmatter (nom, description, couleur, emoji)
Intégration Compatible avec Claude Code, Cursor, Aider, Windsurf, GitHub Copilot, Gemini CLI, et autres
Licence MIT — utilisation personnelle et commerciale libre
Origine Né d'un fil Reddit, désormais maintenu par la communauté
Innovation clé Agents à personnalité, livrables techniques, métriques de succès, pas d’invites génériques

Structure des agents

Résumé rapide : L’Agence remplace "Agir en tant que développeur" par "Activer le mode Développeur Frontend" — avec de vrais experts React, Vue, Angular, Core Web Vitals, accessibilité, etc.


Structure du dépôt : 12 divisions, 147 agents

Le dépôt se trouve sur github.com/msitarzewski/agency-agents. Les agents sont organisés comme suit :

agency-agents/
├── engineering/          # 20+ agents : Frontend, Backend, DevOps, IA, Mobile, Sécurité
├── design/               # 8 agents : Concepteur UI, Chercheur UX, Gardien de Marque, Injecteur de Fantaisie
├── marketing/            # 20+ agents : Growth Hacker, SEO, TikTok, Reddit, LinkedIn
├── sales/                # 8 agents : Coach Découverte, Stratège Commercial, Ingénieur Commercial
├── product/              # 5 agents : Chef de Produit, Chercheur de Tendances, Synthétiseur de Feedback
├── project-management/   # 6 agents : Producteur de Studio, Berger de Projet, Suiveur d'Expériences
├── testing/              # 8 agents : Vérificateur de Réalité, Collecteur de Preuves, Testeur API
├── support/              # 6 agents : Répondant Support, Rapporteur d'Analytiques, Conformité Légale
├── spatial-computing/    # 6 agents : Architecte XR, Ingénieur visionOS, Développeur Metal
├── specialized/          # 30+ agents : Constructeur MCP, Auditeur Blockchain, Auditeur de Conformité
├── game-development/     # 20+ agents : Architecte Unity, Systèmes Unreal, Scripteur Godot, Roblox
└── academic/             # 5 agents : Anthropologue, Historien, Psychologue, Narratologue
Enter fullscreen mode Exit fullscreen mode

Chaque division regroupe des experts techniques pointus (ex: en ingénierie, frontend/backend, DevOps, sécurité, firmware…).


Anatomie d’un agent : structure standard et livrables exploitables

Exemple : Agent Architecte Backend

1. Frontmatter YAML

---
name: Architecte Backend
description: Architecte backend senior spécialisé dans la conception de systèmes évolutifs, l'architecture de bases de données, le développement d'API et l'infrastructure cloud
color: blue
emoji: 🏗️
vibe: Conçoit les systèmes qui soutiennent tout — bases de données, API, cloud, échelle.
---
Enter fullscreen mode Exit fullscreen mode
  • Les champs name et description sont indexés pour la découverte dans les outils compatibles.
  • L’emoji sert d’identifiant visuel dans les interfaces.

2. Identité et mémoire

## 🧠 Votre identité et votre mémoire
- **Rôle**: Spécialiste de l'architecture système et du développement côté serveur
- **Personnalité**: Stratégique, axée sur la sécurité, soucieuse de l'évolutivité, obsédée par la fiabilité
- **Mémoire**: Vous vous souvenez des modèles d'architecture réussis, des optimisations de performances et des cadres de sécurité
- **Expérience**: Vous avez vu des systèmes réussir grâce à une architecture appropriée et échouer en raison de raccourcis techniques
Enter fullscreen mode Exit fullscreen mode

3. Mission principale (objectifs mesurables)

## 🎯 Votre mission principale

### Excellence en ingénierie des données/schémas
- Définir et maintenir les schémas de données et les spécifications d'index
- Concevoir des structures de données efficaces pour des ensembles de données à grande échelle (plus de 100 000 entités)
- Implémenter des pipelines ETL pour la transformation et l'unification des données
- Créer des couches de persistance haute performance avec des temps de requête inférieurs à 20 ms
Enter fullscreen mode Exit fullscreen mode

4. Règles critiques (contraintes)

## 🚨 Règles critiques que vous devez suivre

### Architecture axée sur la sécurité
- Mettre en œuvre des stratégies de défense en profondeur à travers toutes les couches du système
- Utiliser le principe du moindre privilège pour tous les services et l'accès aux bases de données
- Chiffrer les données au repos et en transit en utilisant les normes de sécurité actuelles
Enter fullscreen mode Exit fullscreen mode

5. Livrables techniques (code prêt à l’emploi)

-- Conception de schéma de base de données e-commerce
CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    deleted_at TIMESTAMP WITH TIME ZONE NULL
);

CREATE INDEX idx_users_email ON users(email) WHERE deleted_at IS NULL;
CREATE INDEX idx_users_created_at ON users(created_at);
Enter fullscreen mode Exit fullscreen mode
// API Express.js avec middleware de sécurité
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');

const limiter = rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100,
  message: 'Trop de requêtes depuis cette IP, veuillez réessayer plus tard.',
});
Enter fullscreen mode Exit fullscreen mode

6. Métriques de succès

## 🎯 Vos métriques de succès

Vous réussissez lorsque :
- Les temps de réponse de l'API restent inférieurs à 200 ms pour le 95e percentile
- La disponibilité du système dépasse 99,9 %
- Les requêtes de base de données s'exécutent en moins de 100 ms en moyenne
- Les audits de sécurité ne trouvent aucune vulnérabilité critique
Enter fullscreen mode Exit fullscreen mode

Intégration multi-outils : exploitez les agents dans 10+ environnements

Outils supportés

Outil Format Dossier d'installation
Claude Code .md ~/.claude/agents/
GitHub Copilot .md ~/.github/agents/
Cursor .mdc .cursor/rules/
Aider CONVENTIONS.md Racine du projet
Windsurf .windsurfrules Racine du projet
Antigravity SKILL.md ~/.gemini/antigravity/skills/
Gemini CLI Extension ~/.gemini/extensions/
OpenCode .md .opencode/agents/
OpenClaw SOUL.md + AGENTS.md ~/.openclaw/
Qwen Code .md ~/.qwen/agents/

Conversion automatisée : convert.sh

Le script scripts/convert.sh convertit les fichiers Markdown en formats compatibles avec chaque outil.

Exemple pour Cursor :

convert_cursor() {
  local agent_file="$1"
  local slug=$(to_kebab "$(get_field 'name' "$agent_file")")
  local output_file="$OUT_DIR/cursor/.cursor/rules/agency-${slug}.mdc"

  cat > "$output_file" << EOF
---
description: Agent d'agence : $(get_field 'description' "$agent_file")
---
$(get_body "$agent_file")
EOF
}
Enter fullscreen mode Exit fullscreen mode

Pour Aider et Windsurf (compilation de tous les agents) :

convert_aider() {
  local output="$OUT_DIR/aider/CONVENTIONS.md"
  echo "# Agents d'agence pour Aider" > "$output"
  echo "" >> "$output"

  for dir in "${AGENT_DIRS[@]}"; do
    for file in "$REPO_ROOT/$dir"/*.md; do
      echo "---" >> "$output"
      cat "$file" >> "$output"
    done
  done
}
Enter fullscreen mode Exit fullscreen mode

Installation : install.sh

Après conversion, copiez les fichiers dans les répertoires adéquats :

install_claude_code() {
  local src="$REPO_ROOT"
  local dest="$HOME/.claude/agents"
  mkdir -p "$dest"
  cp -r "$src"/{engineering,design,marketing,sales,specialized}/*.md "$dest/"
  ok "Claude Code : $(find "$dest" -name '*.md' | wc -l) agents installés"
}

install_cursor() {
  local src="$OUT_DIR/cursor/.cursor/rules"
  local dest="./.cursor/rules"
  mkdir -p "$dest"
  cp "$src"/*.mdc "$dest/"
  ok "Cursor : $(find "$dest" -name '*.mdc' | wc -l) règles installées"
}
Enter fullscreen mode Exit fullscreen mode

Interface interactive :

  +------------------------------------------------+
  |   L'Agence — Installateur d'outils             |
  +------------------------------------------------+

  Analyse du système : [*] = détecté sur cette machine

  [x]  1)  [*]  Claude Code     (claude.ai/code)
  [x]  2)  [*]  Copilot         (~/.github + ~/.copilot)
  [x]  3)  [*]  Antigravity     (~/.gemini/antigravity)
  [ ]  4)  [ ]  Gemini CLI      (extension gemini)
  [x]  7)  [*]  Curseur         (.cursor/rules)

  [1-10] basculer   [a] tout   [n] aucun   [d] détecté
  [Entrée] installer   [q] quitter
Enter fullscreen mode Exit fullscreen mode

Installation rapide en parallèle :

./scripts/install.sh --parallel --jobs 8
Enter fullscreen mode Exit fullscreen mode

Mémoire MCP : contexte persistant pour agents IA

Par défaut, les agents IA oublient tout entre les sessions. La mémoire MCP résout ce problème.

Activer la mémoire MCP sur un agent

Ajoutez la section suivante dans l’agent :

## Intégration de la mémoire

Lorsque vous démarrez une session :
- Rappelez le contexte pertinent des sessions précédentes en utilisant votre rôle et le projet comme termes de recherche
- Passez en revue toutes les mémoires étiquetées avec le nom de votre agent

Lorsque vous prenez des décisions clés ou achevez des livrables :
- Mémorisez la décision avec des étiquettes descriptives (nom de l'agent, projet, sujet)
- Incluez suffisamment de contexte pour qu'une future session puisse comprendre ce qui a été fait et pourquoi

Lorsque vous transférez à un autre agent :
- Mémorisez vos livrables étiquetés pour l'agent destinataire
- Incluez : ce que vous avez accompli, ce qui est en attente, ce que le prochain agent doit savoir
Enter fullscreen mode Exit fullscreen mode

Outils MCP à disposition

Outil But
remember Stocker décisions/livrables/contexte avec balises
recall Recherche par mot-clé, balise ou similarité sémantique
rollback Restaurer un état précédent en cas d’échec
search Trouver des souvenirs sur plusieurs sessions/agents

Exemple workflow

Sans mémoire MCP :

Utilisateur : "Construis l'API"
Agent : [Construit l'API, la session se termine]

[Session suivante]
Utilisateur : "Continuer à partir d'hier"
Agent : "Je n'ai pas de contexte des sessions précédentes. Pouvez-vous copier ce que nous avons fait ?"
Enter fullscreen mode Exit fullscreen mode

Avec mémoire MCP :

Utilisateur : "Construis l'API"
Agent : [Construit l'API, mémorise : "Architecte Backend - API E-commerce - Table utilisateurs, authentification JWT, limitation de débit"]

[Session suivante]
Utilisateur : "Continuer à partir d'hier"
Agent : [Rappelle : "Hier, j'ai conçu la table des utilisateurs avec des clés primaires UUID, implémenté l'authentification JWT avec hachage bcrypt, et ajouté une limitation de débit à 100 requêtes par 15 minutes. Prochaine étape : schéma du Service de Commande."]
Enter fullscreen mode Exit fullscreen mode

Voir integrations/mcp-memory/backend-architect-with-memory.md pour un exemple complet.


Exemples d’agents remarquables

1. Vérificateur de Réalité (Division Test)

Met fin aux validations subjectives, exige des preuves visuelles.

## 🚨 Votre processus obligatoire

### ÉTAPE 1 : Commandes de vérification de la réalité (À NE JAMAIS SAUTER)
Enter fullscreen mode Exit fullscreen mode


bash

Vérifier ce qui a réellement été construit

ls -la resources/views/ || ls -la *.html

Vérifier les fonctionnalités revendiquées

grep -r "luxury|premium|glass|morphism" . --include=".html" --include=".css" || echo "AUCUNE FONCTIONNALITÉ PREMIUM TROUVÉE"

Exécuter la capture d'écran professionnelle Playwright

./qa-playwright-capture.sh http://localhost:8000 public/qa-screenshots

Enter fullscreen mode Exit fullscreen mode


plaintext

Étape 2 : Validation croisée QA

  • Examiner les conclusions de l’agent QA (tests headless Chrome)
  • Comparer les captures d’écran automatisées
  • Confirmer ou contester l’évaluation QA

Étape 3 : Validation de bout en bout

  • Analyser responsive-desktop.png, responsive-tablet.png, responsive-mobile.png
  • Vérifier les flux d’interaction (nav--click.png, form-.png)
  • Examiner les métriques de performance (temps de chargement, erreurs…)

2. Injecteur de Fantaisie (Division Design)

Ajoute de la personnalité sans nuire à l’utilisabilité.

/* Interactions de bouton délicieuses */
.btn-whimsy {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
  }

  &:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  }
}
Enter fullscreen mode Exit fullscreen mode
// Système de succès avec fantaisie
class WhimsyAchievements {
  unlock(achievementId) {
    const achievement = this.achievements[achievementId];
    this.showCelebration(achievement);
    this.saveProgress(achievementId);
  }

  showCelebration(achievement) {
    const celebration = document.createElement('div');
    celebration.className = `achievement-celebration ${achievement.celebration}`;
    celebration.innerHTML = `
      <div class="achievement-card">
        <div class="achievement-icon">${achievement.icon}</div>
        <h3>${achievement.title}</h3>
        <p>${achievement.description}</p>
      </div>
    `;
    document.body.appendChild(celebration);
    setTimeout(() => celebration.remove(), 3000);
  }
}
Enter fullscreen mode Exit fullscreen mode

Microcopy personnalisée :

## Messages d'erreur
**Page 404** : "Oups ! Cette page est partie en vacances sans nous le dire."
**Validation de formulaire** : "Votre e-mail semble un peu timide – ça vous dérange d'ajouter le symbole @ ?"
**Erreur réseau** : "Il semble qu'internet ait eu un hoquet. Essayez à nouveau ?"
Enter fullscreen mode Exit fullscreen mode

3. Constructeur MCP (Division Spécialisée)

Développe des outils personnalisés pour agents IA.

// Squelette de serveur MCP TypeScript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "my-server", version: "1.0.0" });

server.tool("search_items", { query: z.string(), limit: z.number().optional() },
  async ({ query, limit = 10 }) => {
    const results = await searchDatabase(query, limit);
    return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);
Enter fullscreen mode Exit fullscreen mode

Règles :

  • Noms d’outils explicites (search_users, pas query1)
  • Paramètres typés avec Zod, valeurs par défaut pour les optionnels
  • Sortie structurée (JSON pour la donnée, Markdown pour le lisible)
  • Gestion élégante des erreurs, pas de crash serveur

Communauté et traductions

  • 147 agents en 12 divisions
  • 10 000+ lignes de processus, code, personnalité
  • Traductions communautaires : chinois simplifié, d’autres en cours
  • 10+ intégrations via scripts de conversion

Forks notables :

  • agency-agents-zh (@jnMetaCode) : 100 agents traduits + 9 originaux pour la Chine
  • agent-teams (@dsclca12) : Traduction indépendante localisée pour Bilibili, WeChat, Xiaohongshu

Installation : mode d’emploi rapide

Option 1 : Claude Code (recommandé)

# Copier les agents dans Claude Code
cp -r agency-agents/* ~/.claude/agents/

# Activer dans une session :
"Hé Claude, active le mode Développeur Frontend et aide-moi à construire un composant React"
Enter fullscreen mode Exit fullscreen mode

Option 2 : Multi-outils

# Générer les fichiers d’intégration
./scripts/convert.sh

# Installer interactivement (détection automatique des outils)
./scripts/install.sh

# Ou installation ciblée
./scripts/install.sh --tool cursor
./scripts/install.sh --tool aider
Enter fullscreen mode Exit fullscreen mode

Option 3 : Utilisation en référence

Naviguez sur github.com/msitarzewski/agency-agents et adaptez les agents selon vos besoins. Chaque fichier inclut : identité, workflow, livrables, exemples de code.


Comparaison structurée

Invitations IA génériques vs L’Agence

Invites génériques L’Agence
"Agir comme un développeur" "Activer le mode Développeur Frontend"
Vague, taille unique Spécialisation profonde par domaine
Pas de structure de livrables Exemples de code, workflows concrets
Pas de métriques de succès Résultats mesurables

Bibliothèques d'invites vs L’Agence

Bibliothèques d'invites L’Agence
Collection d’invites ponctuelles Systèmes d’agents complets
Texte statique Personnalité + workflow + mémoire
Pas d’intégration 10+ intégrations out-of-the-box

Outils IA propriétaires vs L’Agence

Outils IA propriétaires L’Agence
Boîte noire, non personnalisable Transparent, forkable, adaptable
Dépendance au fournisseur Licence MIT, communauté active
Modèle unique Interopérable (MCP)

Points techniques à retenir

  1. La spécialisation l'emporte sur la généralisation : 147 spécialistes > 1 invite universelle
  2. La structure génère la valeur : Frontmatter + Identité + Mission + Règles + Livrables + Métriques
  3. Automatisation de l’intégration : Scripts Bash pour +10 formats d’outils
  4. La mémoire assure la continuité : MCP résout l’oubli entre sessions
  5. La communauté fait évoluer le projet : Reddit → 147 agents → traductions → multi-outils

Prochaines étapes

Tester L’Agence pas à pas :

  1. Parcourez la liste complète des agents
  2. Installez pour votre outil préféré (Claude Code, Cursor, Aider, etc.)
  3. Activez les spécialistes par nom : "Utilisez le Vérificateur de Réalité pour vérifier que ceci est prêt pour la production"
  4. Contribuez : nouveaux agents, améliorations, retours d’expérience

Vous développez vos propres agents IA ?
Étudiez l’anatomie : frontmatter pour la découverte, identité pour la personnalité, mission pour la portée, règles pour les contraintes, livrables pour la production, métriques pour la responsabilité.

L’Agence prouve que la spécialisation n’est pas réservée aux humains : la meilleure équipe IA, c’est 147 spécialistes qui savent exactement quoi livrer.

Top comments (0)