Traiter les Sous-agents OpenClaw comme des Fonctions sans État plutôt que comme des Membres d'Équipe Persistants

✍️ OpenClawRadar📅 Publié: April 1, 2026🔗 Source
Traiter les Sous-agents OpenClaw comme des Fonctions sans État plutôt que comme des Membres d'Équipe Persistants
Ad

Un développeur sur r/openclaw décrit le changement de son modèle mental lorsqu'il travaille avec des équipes multi-agents dans OpenClaw. Traiter initialement les sous-agents comme des employés juniors avec des noms, des histoires personnelles et des attentes de mémoire a conduit à des semaines de confusion et de flux de travail rompus.

L'analogie de la fonction

La percée est venue de la reconnaissance que les sous-agents ne sont pas des mini-moi ou des membres d'équipe persistants—ce sont des fonctions. Plus précisément :

  • Les sous-agents sont des appels de fonction sans état, pas des membres d'équipe persistants
  • Ce sont des outils spécialisés, pas des versions juniors du développeur
  • Ils fonctionnent sur le principe entrée → sortie pure, sans mémoriser le contexte
  • Ils renvoient des valeurs à l'appelant plutôt que de communiquer entre eux

La source fournit des exemples de code contrastant les mauvaises et bonnes approches :

# MAUVAIS : Traiter le sous-agent comme un objet persistant
frank = Agent("Frank")
frank.build_feature()
frank.fix_it() # Suppose que Frank se souvient

BON : Traiter le sous-agent comme un appel de fonction

result = frank_task( instructions="Construire la page de connexion", context={"requirements": reqs, "design": mockup} )

frank_task s'exécute, renvoie une sortie, se termine

Ad

Implications pratiques

Ce changement de modèle mental a plusieurs implications concrètes :

1. SOUL.md comme docstring de fonction : Au lieu de profils de personnalité, SOUL.md devient un document de spécification :

# frank_task()

Objectif : Construire des fonctionnalités Next.js Entrées : exigences (dict), design (optionnel) Sorties : {code, tests, notes} Contraintes : Pas d'appels API externes sans approbation

2. Passage d'état explicite pour l'itération : Puisque les sous-agents ne mémorisent pas le contexte, vous devez transmettre toutes les informations nécessaires dans les paramètres :

# MAUVAIS
frank_fix("corriger le bug") # naît, essaie, meurt
frank_fix("toujours cassé") # nouvelle naissance, pas de contexte

BON

result = frank_fix({ "code": previous_output, "issues": ["la validation de connexion échoue", "CSS mobile cassé"], "test_cases": failing_tests }) # Contexte complet dans les paramètres

3. Le coordinateur comme programme principal : Le développeur devient une fonction d'orchestration plutôt qu'un manager d'équipe :

def build_feature(spec):

Appeler les fonctions en séquence

code = frank_build(spec) tests = quinn_audit(code)

if tests["passed"]: return deploy(code) else: # Itérer avec un contexte explicite fixed = frank_fix({ "code": code, "failures": tests["failures"] }) return deploy(fixed)

Parallèles avec la conception logicielle

Cette approche s'aligne avec les principes établis de conception logicielle :

  • Responsabilité unique : Chaque sous-agent fait une seule chose
  • Fonctions pures : Même entrée → même sortie
  • Testabilité unitaire : Tester la sortie de chaque sous-agent indépendamment
  • Composabilité : Enchaîner les sous-agents comme quinn_test(frank_code(spec))
  • Sans état : Pas de dépendances cachées

Le développeur note que la valeur n'est pas "plus d'agents = plus d'intelligence" mais "fonctions spécialisées = architecture plus propre".

Résultats après le changement

Après avoir adopté ce modèle, le développeur a construit :

  • Une base de données de 11 249 salles de sport en 2 semaines
  • 5 agents spécialisés (pas 5 généralistes)
  • Un CRM avec des flux de travail de souscription
  • Un engagement quotidien sur Moltbook

Tout cela en utilisant des sous-agents sans état et un coordinateur qui maintient le contexte.

📖 Read the full source: r/openclaw

Ad

👀 See Also

Traduire en français : Aide-mémoire sur la structure des dossiers de Claude Code par un utilisateur de Reddit
Guides

Traduire en français : Aide-mémoire sur la structure des dossiers de Claude Code par un utilisateur de Reddit

Un utilisateur de Reddit a créé un aide-mémoire pour la structure des dossiers de Claude Code après avoir rencontré des écueils courants, couvrant la disposition du répertoire .claude/, les événements de hook, settings.json, la configuration MCP, la structure des compétences et les seuils de gestion du contexte.

OpenClawRadar
Exécuter OpenClaw avec un LLM local sur macOS – Guide pour 16 à 24 Go de RAM
Guides

Exécuter OpenClaw avec un LLM local sur macOS – Guide pour 16 à 24 Go de RAM

Guide pratique pour configurer un modèle Qwen 3.5 quantifié avec OpenClaw sur macOS (16–24 Go de RAM), incluant une compétence de test pour la vérification.

OpenClawRadar
Claude Code v2.1.36 : Mode Rapide désormais disponible pour Opus 4.6
Guides

Claude Code v2.1.36 : Mode Rapide désormais disponible pour Opus 4.6

Anthropic publie Claude Code v2.1.36 avec prise en charge du Mode Rapide pour le dernier modèle Opus 4.6, permettant une génération et une analyse de code significativement plus rapides.

OpenClaw Radar
Claude Code Skills vs. Custom Agents : Un modèle mental basé sur la cohérence des tâches
Guides

Claude Code Skills vs. Custom Agents : Un modèle mental basé sur la cohérence des tâches

Un utilisateur de Reddit clarifie la distinction entre les compétences de Claude Code et les agents personnalisés : les compétences exécutent les mêmes étapes à chaque fois, tandis que les agents personnalisés nécessitent un raisonnement et une adaptation. Le post couvre également les sous-agents parallèles, la délégation, les crochets et les blocs de construction.

OpenClawRadar