Notícias
Notícias
5 min de leitura
9 de outubro de 2026

Agente de IA que melhora sozinho (Google RRSI)

Google RRSI: agente IA reescreve seus próprios prompts, tools, memory. Melhora sozinho sem retraining. Seu agente WhatsApp evolui em produção. Zero ops.

Equipe OpenClaw

Equipe OpenClaw · Time de Engenharia & Produto

A Equipe OpenClaw é formada por engenheiros, designers e especialistas em IA dedicados a construir a melhor plataforma de agentes conversacionais para negócios brasileiros. Combinamos expertise…


Agente de IA que melhora sozinho (Google RRSI)

Notícia: Google Research lançou RRSI (Regularized Recursive Self-Improvement): método que permite agentes de IA reescrever seus próprios componentes (prompts, tools, memory, control flow, sub-agents) para melhorar automaticamente sem retraining do modelo base. O agente literalmente se otimiza sozinho.

Implicação: Seu agente WhatsApp não é mais um artefato estático que degrada com o tempo. Ele evolui em produção, aprende com erros passados, melhora performance automaticamente.

**"Você tem agente de vendas no WhatsApp com conversas de exemplo:

Cenário antigo (agente estático): ├─ Dia 1: Agente fecha 25% das conversas (prompt original) ├─ Dia 30: Agente fecha 15% (degradação, prompt desatualizado) ├─ Solução: Você contrata prompter (R$ 5K/mês) ├─ Prompter reescreve prompt manualmente (1 semana) ├─ Resultado: Taxa volta a 25% └─ Ciclo: Repete a cada 2-3 meses

Cenário novo (RRSI auto-otimização): ├─ Dia 1: Agente fecha 25% (prompt original) ├─ Dia 2: Sistema RRSI analisa conversas falhadas │ └─ Identifica: "Clientes desistem quando perguntado sobre preço" ├─ Dia 3: RRSI reescreve prompt automaticamente │ └─ Novo prompt: "Mencione benefício antes de preço" ├─ Dia 4: Taxa sobe para 28% (RRSI detectou melhoria) ├─ Dia 5: RRSI tenta nova variação (teste A/B automático) ├─ Semana 2: Taxa estabiliza em 32% (sem humano envolvido) ├─ Custo: R$ 0 (sistema roda sozinho) └─ Resultado: +28% de conversão, zero ops "**


O problema: Agentes de IA degradam em produção

Por que seu agente fica pior com o tempo

Fenômeno real (chamado "distribution shift"):

Tempo: Dia 1 Dia 30 Dia 60 ────────── ────────── ────────── Dataset: Prompts Clientes Clientes originais mudam padrão mais sofisticados (treino) (conversas diferentes)

Performance: 95% acc 75% acc 50% acc ✓ Bom ⚠ Piorando ✗ Ruim

Por quê? ├─ Prompt foi otimizado pra DADOS DE TREINO ├─ Produção traz dados DIFERENTES (clientes reais) ├─ Agente "overfits" ao treino └─ Com o tempo, novos padrões aparecem └─ Agente não sabe como lidar └─ Performance degrada

Casos reais de degradação:

Caso 1: Agente de suporte ├─ Treino: 1000 tickets de FAQ simples ├─ Produção: Clientes fazem perguntas complexas ├─ Resultado: Taxa de "escalação pra humano" sobe 60% ├─ Problema: Prompt foi tuned pra FAQ, não pra edge cases ├─ Solução manual: Contratar pessoa, reescrever prompt └─ Tempo: 2-3 semanas

Caso 2: Agente de vendas ├─ Treino: Conversas de 2024 ├─ Produção (2026): Clientes mencionam IA, novos competidores ├─ Resultado: Taxa de objeção sobe 40% ├─ Problema: Prompt não sabe argumentar sobre novos competidores ├─ Solução manual: Atualizar knowledge base + reescrever prompt └─ Tempo: 1 semana + custo

Caso 3: Agente de onboarding ├─ Treino: Clientes SMB (pequenas empresas) ├─ Produção: Clientes enterprise chegam (setup diferente) ├─ Resultado: Tempo de onboarding sobe 3x ├─ Problema: Prompts e fluxos assumem pequena empresa ├─ Solução manual: Criar paths separados, testar └─ Tempo: 2-3 semanas

Economia de NÃO melhorar (custo invisível)

Cenário: SaaS com agente de atendimento

Mês 1: 10K tickets ├─ Taxa resolução: 85% ├─ Escalação (pra humano): 15% = 1.5K tickets ├─ Custo humano: 1.5K × R$ 20 (atendente) = R$ 30K └─ Total: R$ 30K

Mês 6: 15K tickets ├─ Taxa resolução: 65% (degradação) ├─ Escalação: 35% = 5.25K tickets ├─ Custo humano: 5.25K × R$ 20 = R$ 105K ├─ Extra: Contrata prompter (R$ 5K) para melhorar ├─ Delay: 2 semanas de taxa baixa (custo: R$ 30K) └─ Total: R$ 135K

Mês 12: 20K tickets ├─ Se não melhorar: Taxa permanece 65% ├─ Escalação: 13K tickets = R$ 260K ├─ Custo anual (sem melhoria): R$ 30K×2 + R$ 135K×4 + R$ 260K×6 = R$ 1.98M │ └─ Com melhoria contínua (RRSI): ├─ Mês 6: Taxa se recupera pra 80% (sem delay) ├─ Mês 12: Taxa melhora pra 90% ├─ Escalação: 2K tickets = R$ 40K └─ Custo anual: R$ 30K×2 + R$ 108K×4 + R$ 40K×6 = R$ 696K

Impacto: R$ 1.98M vs R$ 696K = SAVE R$ 1.28M/ano


Solução: Google RRSI (agente auto-otimizável)

O que é RRSI (e como funciona)

Conceito:

╔═══════════════════════════════════════════════════════╗ ║ RRSI: Regularized Recursive Self-Improvement ║ ║ ─────────────────────────────────────────────────────║ ║ Agente LLM que reescreve a si mesmo ║ ║ (sem retraining do modelo base) ║ ╚═══════════════════════════════════════════════════════╝

Arquitetura:

┌─ Frozen LLM Model (GPT-4o, Claude, etc) │ └─ CONGELADO (não muda) │ ├─ Harness (componentes adaptáveis) │ ├─ Prompts (system prompt, few-shot examples) │ ├─ Tools (funções que agent consegue chamar) │ ├─ Memory (como agent lembra contexto) │ ├─ Control flow (lógica de "se X então Y") │ └─ Sub-agents (agentes menores especializados) │ └─ Self-Improvement Loop (RRSI) ├─ STEP 1: Collect data │ └─ Rodou agente em produção, salvou erros │ ├─ STEP 2: Analyze failures │ └─ "Por que agente falhou nesses 50 casos?" │ ├─ STEP 3: Generate edits (Claude Opus on Vertex AI) │ ├─ "Reescreva prompt para lidar com esse padrão" │ ├─ "Adicione nova tool que resolve essa classe de erro" │ ├─ "Modifique memory pra lembrar contexto melhor" │ └─ Gera VÁRIAS propostas (A/B/C/D) │ ├─ STEP 4: Test in sandbox │ └─ Roda cada proposta em Docker, mede performance │ ├─ STEP 5: Pick winner │ └─ Aceita proposta que melhorou score │ └─ STEP 6: Deploy + repeat └─ Publica novo harness └─ Volta ao STEP 1

Key insight:

Traditional AI: ├─ Model = frozen ├─ Prompt = frozen ├─ Tools = frozen └─ Melhoria = retraining (caro, demorado)

RRSI: ├─ Model = frozen ├─ Prompt = ADAPTÁVEL (evolui) ├─ Tools = ADAPTÁVEL (evolui) ├─ Melhoria = prompt rewriting (rápido, barato) └─ Automático (sem humano)

Implementação prática (como usar)

Step 1: Setup base infrastructure

python import anthropic import google.generativeai as genai import json from datetime import datetime

Initialize clients

client = anthropic.Anthropic() genai.configure(api_key="YOUR_GOOGLE_API_KEY")

class SelfImprovingAgent: """RRSI-style self-improving agent"""

def __init__(self, name: str, initial_prompt: str, tools: dict):
    self.name = name
    self.prompt = initial_prompt  # Adaptável
    self.tools = tools  # Adaptável
    self.memory = {}  # Adaptável
    self.error_log = []  # Falhas pra análise
    self.version = 1

def run(self, user_input: str) -> dict:
    """
    Execute agent with current harness
    """
    try:
        response = client.messages.create(
            model="claude-3-5-sonnet",
            max_tokens=1000,
            system=self.prompt,
            messages=[
                {"role": "user", "content": user_input}
            ]
        )
        
        result = response.content[0].text
        return {"success": True, "result": result}
        
    except Exception as e:
        # Log failure pra RRSI
        self.error_log.append({
            "timestamp": datetime.now().isoformat(),
            "input": user_input,
            "error": str(e)
        })
        return {"success": False, "error": str(e)}

def analyze_failures(self) -> dict:
    """
    Analyze error patterns (RRSI STEP 2)
    """
    if not self.error_log:
        return {"status": "no_errors"}
    
    # Group errors by type
    error_patterns = {}
    for error in self.error_log:
        error_type = error["error"].split(":")[0]
        if error_type not in error_patterns:
            error_patterns[error_type] = []
        error_patterns[error_type].append(error)
    
    return {
        "total_errors": len(self.error_log),
        "patterns": error_patterns,
        "sample_failures": self.error_log[:5]
    }

def generate_improvements(self) -> list:
    """
    Generate prompt/tool edits (RRSI STEP 3)
    Uses Claude Opus to suggest improvements
    """
    
    failures = self.analyze_failures()
    
    if failures["status"] == "no_errors":
        return [{"status": "no_improvements_needed"}]
    
    # Ask Claude Opus to suggest edits
    improvement_prompt = f"""

You are an expert AI engineer helping optimize an agent.

Current Agent Harness:

  • Prompt: {self.prompt}
  • Tools: {list(self.tools.keys())}
  • Version: {self.version}

Error Patterns (from production): {json.dumps(failures['patterns'], indent=2)}

Generate 3 different improvement proposals:

  1. Each should address one of the error patterns
  2. Propose EITHER: a) Modified prompt (to handle new edge case) b) New tool (if missing capability) c) Modified memory structure (if context issue)
  3. Explain why this would fix the failure

Format as JSON: {{ "proposals": [ {{ "type": "prompt_edit" | "tool_addition" | "memory_change", "description": "...", "new_component": "...", "rationale": "..." }} ] }} """

    response = client.messages.create(
        model="claude-3-5-sonnet",
        max_tokens=2000,
        messages=[{"role": "user", "content": improvement_prompt}]
    )
    
    try:
        proposals = json.loads(response.content[0].text)
        return proposals["proposals"]
    except:
        return [{"status": "parsing_error"}]

def test_improvement(self, proposal: dict, test_cases: list) -> float:
    """
    Test proposal on benchmark (RRSI STEP 4)
    Returns success rate
    """
    
    # Apply proposal temporarily
    original_prompt = self.prompt
    original_tools = self.tools.copy()
    
    if proposal["type"] == "prompt_edit":
        self.prompt = proposal["new_component"]
    elif proposal["type"] == "tool_addition":
        # Add new tool (simplified)
        self.tools[proposal["name"]] = proposal["new_component"]
    
    # Test on benchmark
    successes = 0
    for test_case in test_cases:
        result = self.run(test_case["input"])
        if result["success"]:
            # Check if result is correct
            if self._evaluate(result["result"], test_case["expected"]):
                successes += 1
    
    success_rate = successes / len(test_cases)
    
    # Revert if not better
    if success_rate < 0.8:  # Threshold
        self.prompt = original_prompt
        self.tools = original_tools
    
    return success_rate

def _evaluate(self, result: str, expected: str) -> bool:
    """
    Simple evaluation (in production: use LLM judge)
    """
    # Simplified: check if key terms match
    return any(term in result.lower() for term in expected.lower().split())

def self_improve(self, test_cases: list = None):
    """
    Full RRSI loop (all steps)
    """
    
    print(f"\n=== RRSI Self-Improvement Loop (v{self.version}) ===")
    
    # STEP 1: Already done (error_log collected during run())
    print("[✓] STEP 1: Collected error data")
    
    # STEP 2: Analyze
    print("[→] STEP 2: Analyzing failure patterns...")
    failures = self.analyze_failures()
    print(f"    Found {failures['total_errors']} errors")
    
    # STEP 3: Generate improvements
    print("[→] STEP 3: Generating improvement proposals...")
    proposals = self.generate_improvements()
    print(f"    Generated {len(proposals)} proposals")
    
    if proposals[0].get("status"):
        print("    No improvements needed")
        return
    
    # STEP 4 & 5: Test and select best
    print("[→] STEP 4-5: Testing proposals...")
    best_proposal = None
    best_score = 0.0
    
    if test_cases:
        for i, proposal in enumerate(proposals):
            score = self.test_improvement(proposal, test_cases)
            print(f"    Proposal {i+1}: {score:.1%} success rate")
            
            if score > best_score:
                best_score = score
                best_proposal = proposal
    
    # STEP 6: Deploy
    if best_proposal and best_score > 0.75:
        print(f"[✓] STEP 6: Deploying improvement (score: {best_score:.1%})")
        
        if best_proposal["type"] == "prompt_edit":
            self.prompt = best_proposal["new_component"]
        elif best_proposal["type"] == "tool_addition":
            self.tools[best_proposal["name"]] = best_proposal["new_component"]
        
        self.version += 1
        self.error_log = []  # Clear for next iteration
        print(f"[✓] Agent upgraded to v{self.version}")
    else:
        print("[✗] No proposal met threshold")

Usage

agent = SelfImprovingAgent( name="SalesAgent", initial_prompt="You are a sales assistant...", tools={"search_product": "...", "check_price": "..."} )

Run agent in production (collect errors)

for _ in range(100): agent.run("Show me products under R$ 1000")

Periodically self-improve

agent.self_improve(test_cases=[ {"input": "...", "expected": "..."} ])

Step 2: Production loop (continuous improvement)

python import schedule import time

Schedule self-improvement

schedule.every().day.at("02:00").do(agent.self_improve) # Daily at 2am

Run forever

while True: schedule.run_pending() time.sleep(60)


Use Cases: Onde RRSI muda o jogo

Use Case 1: Agente de vendas que aprende com conversas

Setup: ├─ Agente WhatsApp com prompt inicial ├─ Executando 1000 conversas/dia └─ Salvando todas as falhas

Sem RRSI: ├─ Dia 1: Taxa conversão 30% ├─ Dia 30: Taxa conversão 20% (degradação) ├─ Ação: Contratar prompter (R$ 5K/mês) ├─ Resultado: Leva 2 semanas pra melhorar └─ Custo: R$ 5K + perda de 10% conversão por 2 semanas

Com RRSI: ├─ Dia 1: Taxa conversão 30% ├─ Dia 5: RRSI detecta: "Clientes desistem quando perguntado sobre concorrência" ├─ Dia 6: RRSI reescreve prompt (adiciona handling pra objeção de concorrência) ├─ Dia 7: Taxa conversão sobe pra 32% ├─ Dia 15: Taxa chega a 35% (continuou melhorando) ├─ Custo: R$ 0 (sistema faz tudo) └─ Ganho: +5% conversão, zero ops

Impacto anual: ├─ 1000 conversas/dia × 365 dias = 365K conversas ├─ +5% conversão = +18.25K vendas adicionais ├─ Ticket médio: R$ 500 ├─ Revenue adicional: R$ 9.1M └─ Custo RRSI: R$ 5K/mês (compute) = R$ 60K/ano └─ ROI: 15,000%+

Use Case 2: Agente de suporte que resolve mais tickets

Setup: ├─ Agente resolve FAQ ├─ 5K tickets/dia └─ Taxa resolução: 80%

Sem RRSI: ├─ Dia 30: Taxa cai pra 70% (novos tipos de ticket) ├─ Equipe humana (escalação): 1500 tickets/dia ├─ Custo: 1500 × R$ 20 (atendente) = R$ 30K/dia ├─ Mensal: R$ 600K └─ Problema: Continua pior até alguém reescrever prompt

Com RRSI: ├─ Dia 5: RRSI detecta tipo novo de ticket ├─ Dia 6: RRSI gera novo path (decision flow) ├─ Dia 7: Taxa volta pra 82% (melhorou mesmo!) ├─ Dia 30: Taxa está em 85% (novos patterns detectados + handled) ├─ Custo: R$ 5K/mês (compute) ├─ Escalação reduzida: 750 tickets/dia (vs 1500) ├─ Saving: R$ 300K/mês └─ Net: +R$ 295K/mês

Annual: +R$ 3.5M

Use Case 3: Agente customizado que muda conforme cliente muda

Cliente: Varejo (roupas) ├─ Inicial: Agente responde sobre inventário ├─ Padrão de perguntas: Cores, tamanhos, promoções │ ├─ Mês 1: RRSI otimiza pra esses padrões │ └─ Taxa satisfação: 92% │ ├─ Mês 2: Cliente lança novo departamento (eletrônicos) │ └─ Padrão de perguntas muda │ └─ Taxa satisfação cai pra 65% (agente não tá prepared) │ ├─ Sem RRSI: │ ├─ Precisa retraining do agente (2 semanas) │ ├─ Custo: R$ 20K + perda de satisfação │ └─ Total: R$ 20K │ └─ Com RRSI: ├─ Dia 3 de drop: RRSI detecta novo padrão ├─ Dia 4: Automaticamente expande knowledge base ├─ Dia 5: Taxa volta pra 88% ├─ Custo: R$ 0 └─ Benefício: Cliente vê agente sempre improving


Conclusão: Agentes que melhoram sozinhos

Before RRSI:

  • Agente = artefato estático
  • Degrada com tempo (distribution shift)
  • Melhoria = manual (contratar prompter, retraining)
  • Tempo: semanas
  • Custo: R$ 5K-20K por melhoria

After RRSI:

  • Agente = sistema que evolui
  • Melhora automaticamente (auto-optimization)
  • Zero ops (roda sozinho)
  • Tempo: dias (ou horas)
  • Custo: R$ 0 (só compute)

Impacto econômico:

Cenário: SaaS com 3 agentes (vendas, suporte, onboarding)

Custo atual (sem RRSI): ├─ 3 agentes que degradam: Perda R$ 500K/ano em performance ├─ Prompters/ops: R$ 180K/ano ├─ Retraining cycles: R$ 100K/ano └─ Total cost: R$ 780K/ano de desperdício

Com RRSI: ├─ 3 agentes que melhoram: Ganho R$ 500K/ano ├─ Zero prompters (RRSI faz o trabalho): Saving R$ 180K/ano ├─ Zero retraining: Saving R$ 100K/ano ├─ Compute (RRSI): R$ 60K/ano └─ Total benefit: R$ 720K/ano

Net Impact: R$ 1.5M/ano

Próximo passo (faça HOJE):

  1. Audit seus agentes atuais (qual performance? Degrada?)
  2. Identifique pain point (suporte? Vendas? Onboarding?)
  3. Setup RRSI POC (1 agente, 2 semanas)
  4. Measure improvement (taxa de erro, satisfação)
  5. Scale (to all agentes)

Agentes estáticos estão mortos. Seus agentes precisam evoluir. → OpenClaw: RRSI Implementation & Self-Improving Agents

A era de "prompt once, run forever" acabou. Bem-vindo à era de agentes que melhoram sozinhos. 🎯🚀


Publicado em 9 de outubro de 2026

Leia também