swarm

Par langchain-ai · langchain-skills

Skill swarm pour langchain-ai/langchain-skills : dispatch parallèle de nombreux items indépendants via un système de table, fan-out vers des subagents et agrégation des résultats.

npx skills add https://github.com/langchain-ai/langchain-skills --skill swarm

Skill swarm — traitement parallèle par table de tâches

Ce skill fait partie du repository langchain-ai/langchain-skills, une collection de skills pour agents de code (Claude Code, Cursor, Windsurf, etc.) supportant la spécification Agent Skills. Le skill swarm est pleinement documenté et opérationnel : il expose une API JavaScript permettant de traiter un grand nombre d'items indépendants en parallèle, en s'appuyant sur le concept de table de travail.

Fonctionnement général

Le workflow repose sur trois fonctions principales importées depuis @/skills/swarm :

  • create(source) — construit une table à partir de fichiers (glob, liste explicite) ou de records préparés (tasks). Chaque ligne représente une unité de travail indépendante. Retourne un handle { id, count, columns }.
  • run(tableId, options) — dispatche un template d'instruction sur chaque ligne de la table, soit via un appel direct au modèle (classification, extraction), soit via un subagent nommé (subagentType) pour les tâches nécessitant des outils ou plusieurs étapes. Retourne un rapport { completed, failed, skipped, failures }.
  • rows(tableId, options?) — récupère les lignes pour inspection ou agrégation en JavaScript pur, sans lancer de subagents supplémentaires.

Sources, batching et filtrage

Le skill accepte trois types de sources : un pattern glob (un fichier = une ligne), une liste de chemins explicites, ou des records JavaScript passés directement. Le batching est automatique par défaut (max 10 dispatches), mais configurable via batchSize (nombre fixe ou fonction (row, rowCount) => number). Le filtrage permet de cibler des sous-ensembles de lignes, notamment pour rejouer uniquement les lignes en échec ({ column: "result", exists: false }).

Cas d'usage typiques

Ce skill est conçu pour des scénarios tels que la classification ou l'extraction en masse, la revue de sécurité de fichiers source, l'annotation de datasets JSONL/CSV, ou l'application de corrections automatisées sur un ensemble de fichiers. Les passes peuvent être chaînées : chaque appel à run() ajoute des colonnes à la table existante, permettant des workflows multi-étapes sans recharger les données.

Utilisation dans le repo

Après installation via npx skills add langchain-ai/langchain-skills, le skill est disponible dans le contexte de l'agent. Il suffit d'importer uniquement les fonctions nécessaires ({ create }, { run }, { create, run }) dans les blocs eval où elles sont appelées. La préparation des données (lecture de fichiers, parsing) peut être faite dans des blocs séparés sans import du skill.

Skills similaires