Tratar os Subagentes do OpenClaw como Funções Sem Estado em vez de Membros Persistentes da Equipe

✍️ OpenClawRadar📅 Publicado: April 1, 2026🔗 Source
Tratar os Subagentes do OpenClaw como Funções Sem Estado em vez de Membros Persistentes da Equipe
Ad

Um desenvolvedor no r/openclaw descreve sua mudança de modelo mental ao trabalhar com equipes multiagente no OpenClaw. Inicialmente, tratar subagentes como funcionários juniores com nomes, históricos e expectativas de memória levou a semanas de confusão e fluxos de trabalho quebrados.

A Analogia da Função

A descoberta veio ao reconhecer que subagentes não são mini-eus ou membros persistentes da equipe—eles são funções. Especificamente:

  • Subagentes são chamadas de função stateless, não membros persistentes da equipe
  • Eles são ferramentas especializadas, não versões juniores do desenvolvedor
  • Eles operam com entrada pura → saída, sem lembrar do contexto
  • Eles retornam valores para o chamador em vez de conversarem entre si

A fonte fornece exemplos de código contrastando abordagens erradas e corretas:

# ERRADO: Tratando subagente como objeto persistente
frank = Agent("Frank")
frank.build_feature()
frank.fix_it() # Assume que Frank se lembra

CERTO: Tratando subagente como chamada de função

result = frank_task( instructions="Build login page", context={"requirements": reqs, "design": mockup} )

frank_task executa, retorna saída, termina

Ad

Implicações Práticas

Essa mudança de modelo mental tem várias implicações concretas:

1. SOUL.md como Docstring de Função: Em vez de perfis de personalidade, SOUL.md se torna um documento de especificação:

# frank_task()

Propósito: Construir recursos Next.js Entradas: requisitos (dict), design (opcional) Saídas: {código, testes, notas} Restrições: Sem chamadas de API externas sem aprovação

2. Passagem de Estado Explícita para Iteração: Como subagentes não lembram do contexto, você deve passar todas as informações necessárias nos parâmetros:

# ERRADO
frank_fix("fix the bug") # spawn, tenta, morre
frank_fix("still broken") # novo spawn, sem contexto

CERTO

result = frank_fix({ "code": previous_output, "issues": ["login validation fails", "mobile CSS broken"], "test_cases": failing_tests }) # Contexto completo nos parâmetros

3. O Coordenador como Programa Principal: O desenvolvedor se torna uma função orquestradora em vez de um gerente de equipe:

def build_feature(spec):

Chama funções em sequência

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

if tests["passed"]: return deploy(code) else: # Itera com contexto explícito fixed = frank_fix({ "code": code, "failures": tests["failures"] }) return deploy(fixed)

Paralelos com Design de Software

Essa abordagem se alinha com princípios estabelecidos de design de software:

  • Responsabilidade Única: Cada subagente faz uma coisa
  • Funções Puras: Mesma entrada → mesma saída
  • Testável Unitariamente: Testa a saída de cada subagente independentemente
  • Componível: Encadeia subagentes como quinn_test(frank_code(spec))
  • Stateless: Sem dependências ocultas

O desenvolvedor observa que o valor não é "mais agentes = mais inteligência" mas "funções especializadas = arquitetura mais limpa".

Resultados Após a Mudança

Após adotar esse modelo, o desenvolvedor construiu:

  • Um banco de dados de 11.249 academias em 2 semanas
  • 5 agentes especializados (não 5 generalistas)
  • Um CRM com fluxos de trabalho de subscrição
  • Engajamento diário no Moltbook

Tudo usando subagentes stateless e um coordenador que mantém o contexto.

📖 Read the full source: r/openclaw

Ad

👀 See Also

7 Maneiras para Novos Engenheiros Prosperarem com IA: Domine Fundamentos, Colabore com IA, Construa Projetos de Ponta a Ponta
Guides

7 Maneiras para Novos Engenheiros Prosperarem com IA: Domine Fundamentos, Colabore com IA, Construa Projetos de Ponta a Ponta

Artigo do IEEE Spectrum por Lokesh Lagudu oferece 7 dicas práticas para novos engenheiros prosperarem em um mundo impulsionado por IA, enfatizando fundamentos, colaboração com IA e aprendizado baseado em projetos.

OpenClawRadar
Estrutura Prática para Escolher entre os Modelos Haiku, Sonnet e Opus da Claude
Guides

Estrutura Prática para Escolher entre os Modelos Haiku, Sonnet e Opus da Claude

Um desenvolvedor testou os três modelos do Claude em uma tarefa de refatoração de 400 linhas em Express.js e descobriu que a diferença principal está na profundidade do raciocínio, não na inteligência. O Haiku 4.5 lidou com partes diretas, mas perdeu a ordenação do middleware, o Sonnet 4.6 capturou o problema de ordenação e adicionou tipos TypeScript, enquanto o Opus 4.6 identificou uma falha de segurança no middleware de autenticação.

OpenClawRadar
Execute o OpenClaw com um LLM Local no macOS – Guia para 16–24GB de RAM
Guides

Execute o OpenClaw com um LLM Local no macOS – Guia para 16–24GB de RAM

Um guia prático para configurar um modelo Qwen 3.5 quantizado com OpenClaw no macOS (16–24 GB de RAM), incluindo uma habilidade de teste para verificação.

OpenClawRadar
Visual do Fluxo de Trabalho do Claude Code: Hierarquia de Memória, Habilidades, Ganchos e Loop
Guides

Visual do Fluxo de Trabalho do Claude Code: Hierarquia de Memória, Habilidades, Ganchos e Loop

Um post no Reddit compartilha um fluxo de trabalho visual para o Claude Code, cobrindo camadas de memória (global → repositório → escopo), habilidades como padrões reutilizáveis em .claude/skills/ e um ciclo de trabalho sugerido (planejar → descrever → aceitar → commitar).

OpenClawRadar