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

Optimisation de Qwen3.5-9B sur RTX 3070 Mobile avec ik_llama.cpp : Réglages de configuration et Benchmarks
Guides

Optimisation de Qwen3.5-9B sur RTX 3070 Mobile avec ik_llama.cpp : Réglages de configuration et Benchmarks

Un développeur partage ses découvertes d'optimisation pour exécuter Qwen3.5-9B Q4_K_M sur un GPU RTX 3070 Mobile 8GB avec ik_llama.cpp, atteignant une vitesse de génération d'environ 50 tokens/seconde et des améliorations significatives de l'évaluation des prompts grâce à des ajustements de configuration.

OpenClawRadar
Mise à l'échelle du codage agentique à plus de 150 PR/semaine : leçons tirées de 85 000 $ de jetons chez Lovable
Guides

Mise à l'échelle du codage agentique à plus de 150 PR/semaine : leçons tirées de 85 000 $ de jetons chez Lovable

Alexander Lebedev raconte comment il est passé de 20 à 30 PR/semaine avec un humain à plus de 150 PR/semaine avec une nuée d'agents IA, dépensant 85 000 $ en tokens depuis janvier. Principaux enseignements : classification des risques, revue IA remplaçant la revue humaine, et le défi de préserver la diffusion des connaissances.

OpenClawRadar
Analyse des Coûts de l'Agent OpenClaw : De 340 $ à 112 $ Mensuels Grâce à Cinq Optimisations
Guides

Analyse des Coûts de l'Agent OpenClaw : De 340 $ à 112 $ Mensuels Grâce à Cinq Optimisations

Un développeur a suivi 18 000 appels API sur quatre agents OpenClaw pendant 30 jours, constatant que 70 % des tâches n'avaient pas besoin de GPT-4.1. En mettant en œuvre la mise en cache des prompts, en raccourcissant les prompts système, en regroupant les analyses, en passant à des modèles moins chers et en ajoutant des limites de tokens maximum, les coûts sont passés de 340 $ à 112 $ par mois.

OpenClawRadar
Conseils de configuration d'OpenClaw tirés de l'expérience d'un utilisateur : MCP Gmail, drapeaux de profil et problèmes de réseau
Guides

Conseils de configuration d'OpenClaw tirés de l'expérience d'un utilisateur : MCP Gmail, drapeaux de profil et problèmes de réseau

Un utilisateur exécutant OpenClaw sur un Mac via UTM avec une machine virtuelle Ubuntu partage des problèmes de configuration spécifiques rencontrés : le serveur MCP Gmail nécessite le paramètre html_body au lieu de body, le drapeau --profile prod est nécessaire pour éviter une identité dev codée en dur, et les clés API doivent être placées dans auth-profiles.json via la commande paste-token.

OpenClawRadar