Notícias
Seu agente síncrono é lento (async agents é novo padrão)
Notícias
5 min de leitura
29 de maio de 2026

Seu agente síncrono é lento (async agents é novo padrão)

Agente síncrono bloqueia conversa (espera resposta). Async agents roda em background (responde rápido). Quando async é padrão.

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…


Seu agente síncrono é lento (async agents é novo padrão)

Você tem SaaS.

Seu SaaS: agente IA no WhatsApp (atendimento).

Seu agente é SÍNCRONO (request-response, bloqueante).

Como funciona agora:

Customer envia mensagem no WhatsApp: "Quero processar reembolso do pedido #12345"

Seu AGENTE SÍNCRONO (bloqueante):

  1. Recebe request (customer esperando resposta)
  2. Processa request (customer ESPERANDO...)
    • Busca dados do pedido (database call: 2 seg)
    • Verifica elegibilidade reembolso (API call: 3 seg)
    • Processa reembolso (payment API: 5 seg)
    • Gera confirmação (email service: 1 seg)
  3. Retorna resposta (total: 11 segundos)

Customer experience:

  • Customer envia mensagem
  • Customer ESPERA 11 segundos (vendo "typing...")
  • Finalmente recebe resposta
  • Customer pissed: "Por que demoraaaaa?"

PROBLEM:

Customer esperando (bloqueia UX). Conversa bloqueada (não consegue enviar outras mensagens). Experiência ruim (pareça que agente está lento ou quebrado).

MAS:

2026 (AGORA):

Notícia:

"The Age of Async Agents chega.

Agentes assíncronos rodando em BACKGROUND.

Não mais bloqueante (request-response).

Agora não-bloqueante (async, background processing).

Você vê notícia.

Você pensa:

"WTF? Async agents?

Meu agente é síncrono (request-response, bloqueante).

Como isso muda meu negócio?"

Resposta:

TUDO muda.

Seu agente SÍNCRONO fica LENTO.

Quando agente ASYNC (background) é standard:

  • Seu agente SÍNCRONO (bloqueia UX) é RUIM UX
  • Seu agente SÍNCRONO (customer espera) é FRUSTRANTE
  • Seu agente SÍNCRONO (11 segundos) PERDE pra async (resposta IMEDIATA)
  • Customer vai pra COMPETITOR (que usa async agents, não-bloqueante)

O problema (agente síncrono = bloqueante = lento)

Agente síncrono é bloqueante (request-response, customer espera)

ARQUITETURA:

Agente Síncrono (bloqueante):

  1. Customer envia request
  2. Agente recebe (customer ESPERANDO RESPOSTA)
  3. Agente processa (customer AINDA ESPERANDO...)
    • Step 1: Database query (2 seg)
    • Step 2: API call (3 seg)
    • Step 3: Payment process (5 seg)
    • Step 4: Email notification (1 seg)
  4. Agente retorna resposta (customer finalmente recebe)
  5. Customer ESPEROU 11 SEGUNDOS (bloqueante)

PROBLEM:

Customer esperando (bloqueia conversa). Conversa bloqueada (não consegue enviar outras mensagens). Customer vê "typing..." (pareça que agente está processando) Customer impacienta ("por que tá demorando?") Experiência ruim (agente parece lento/quebrado).

EXAMPLE (real world impact):

Customer envia: "Quero reembolso" Agente recebe (customer esperando...) Agente processando: database query, API calls, payment Customer vê: "typing..." (11 segundos) Customer BORED: "Agente é lento?" Customer IMPACIENTA: "Por que tá demorando tanto?" Customer FRUSTRATED: "Seu agente é ruim" Customer PISSED: "Vou usar competitor"


Competitor com ASYNC AGENTS:

Customer envia: "Quero reembolso" Agente recebe (resposta IMEDIATA) Agente responde: "Vou processar seu reembolso. Você recebe confirmação em 30 segundos." Customer recebe resposta (IMEDIATO, não bloqueante) Customer happy (resposta rápida) Agente processa em BACKGROUND (async, não bloqueia conversa) 30 segundos depois: Customer recebe confirmação Customer HAPPY: "Rápido!" Customer SATISFIED: "Agente é bom" Customer STAYS: "Vou usar vocês"

RESULT:

Your agente (síncrono): Customer esperando 11 segundos (bloqueante, ruim UX) Competitor agente (async): Customer recebe resposta IMEDIATA (não-bloqueante, bom UX)

Competitor com async agents (não-bloqueante, background)

ARQUITETURA:

Agente Async (não-bloqueante):

  1. Customer envia request
  2. Agente recebe (IMEDIATO)
  3. Agente responde IMEDIATAMENTE: "Processando seu pedido..."
  4. Agente ENFILEIRA task pra background
  5. Background worker processa:
    • Step 1: Database query (2 seg, background)
    • Step 2: API call (3 seg, background)
    • Step 3: Payment process (5 seg, background)
    • Step 4: Email notification (1 seg, background)
  6. Agente notifica customer (após background processing): "Reembolso processado!"
  7. Customer RECEBEU RESPOSTA IMEDIATA (não esperou 11 segundos)

BENEFIT:

Customer recebe resposta imediata (não bloqueante). Conversa não bloqueada (customer pode enviar outras mensagens). Customer não vê "typing..." por 11 segundos (experiência melhor). Processamento acontece em background (sem bloquear UX). Customer recebe notificação quando background process termina.

RESULT:

Better UX (customer não espera). Faster perceived latency (resposta imediata). Higher customer satisfaction (agente é rápido).

Solução (async agents = roda em background, responde rápido)

O que é async agents (agentes assíncronos)

IDEIA:

Ao invés de agente BLOQUEAR CONVERSA enquanto processa (síncrono). Agente RESPONDE IMEDIATAMENTE e PROCESSA EM BACKGROUND (async).

Arquitetura:

  1. SYNCHRONOUS LAYER (immediate response)

    • Customer envia request
    • Agente recebe request (IMEDIATO)
    • Agente valida request (rápido, <100ms)
    • Agente responde customer (IMEDIATO): "Entendi, processando..."
    • Customer recebe resposta (SEM ESPERAR)
    • Conversa não bloqueada (customer pode enviar outro mensagem)
  2. ASYNCHRONOUS LAYER (background processing)

    • Request enfileirado em background queue
    • Background worker pega request da queue
    • Background worker processa (database, API, payment, etc)
    • Pode demorar (2-30 segundos, não importa)
    • Não bloqueia conversa (customer não espera)
  3. NOTIFICATION LAYER (update customer)

    • Background worker termina processing
    • Agente notifica customer: "Reembolso processado!"
    • Customer recebe notificação (quando pronto)
    • Não é "response" bloqueante (agente não está esperando)

BENEFIT:

Customer recebe resposta IMEDIATA (sync layer). Processamento acontece em BACKGROUND (async layer). Customer notificado quando pronto (notification layer). UX é FAST (customer nunca espera 11 segundos). Conversas não bloqueadas (customer pode enviar outras mensagens).

EXAMPLE (async flow):

Time 0ms: Customer envia "Quero reembolso" Time 50ms: Agente valida request (sync, rápido) Time 100ms: Agente responde: "Processando..." (sync, imediato) Time 150ms: Request enfileirado em background queue (async starts) Time 200ms: Customer recebe resposta (DONE, não bloqueante) Time 200-5000ms: Background worker processa (customer não esperando) Time 5000ms: Background worker termina Time 5050ms: Agente notifica: "Reembolso pronto!" (customer é notificado)

Customer experience:

  • Sent message
  • Received response IMEDIATO (50-100ms)
  • Did NOT wait 11 segundos
  • HAPPY (agente é rápido)

Arquitetura async agents (tech details)

COMPONENTS:

  1. REQUEST HANDLER (synchronous, fast)

    • Receives customer request
    • Validates request (business logic)
    • Checks auth/permissions
    • Enqueues to background queue
    • Returns response IMEDIATO ("Processing...")
    • Code: <100ms execution time
  2. MESSAGE QUEUE (e.g., Redis, RabbitMQ, AWS SQS)

    • Stores background jobs
    • Decouples request handler from background worker
    • Allows scaling (multiple workers)
  3. BACKGROUND WORKER (asynchronous, can be slow)

    • Polls message queue
    • Picks up jobs from queue
    • Processes job (slow, heavy operations)
      • Database queries
      • API calls
      • Payment processing
      • Email sending
    • Can take 2-30 segundos (não importa, não bloqueia UX)
    • Updates job status (completed/failed)
  4. NOTIFICATION SERVICE

    • Listens for completed jobs
    • Sends notification to customer
    • Updates customer conversation
    • Customer recebe update (when job is done)

FLOW:

[Customer] → (msg) → [Request Handler (sync, <100ms)] → (enqueue) → [Message Queue] → (job) → [Background Worker (async, slow)] → (complete) → [Notification Service] → (notify) → [Customer]

KEY:

Customer only waits for [Request Handler] (~100ms) Does NOT wait for [Background Worker] (2-30 seg) Customer gets notified when [Background Worker] is done

RESULT:

Perceived latency: 100ms (FAST) Actual processing: 2-30 seg (slow, but in background) Customer experience: EXCELLENT (responds fast)

Exemplos práticos (async agents pra B2B SaaS)

EXEMPLO 1: WhatsApp atendimento (reembolso)

SÍNCRONO (bloqueante): Customer: "Reembolso pedido #12345" Agente: (processando 11 seg...) Customer: ESPERA (bloqueia, ruim UX) Agente responde: "Reembolso processado" Total latency: 11 segundos (ruim)

ASÍNCRO (não-bloqueante): Customer: "Reembolso pedido #12345" Agente: "Processando..." (100ms, imediato) Customer: (recebe resposta IMEDIATO) Background: (processa 11 seg em background) Agente: "Reembolso pronto!" (notifica quando done) Total latency (perceived): 100ms (excelente)


EXEMPLO 2: Email marketing automation (send 10k emails)

SÍNCRONO (bloqueante): Marketer: "Send emails to 10k customers" Agente: (processando 30 min...) Marketer: ESPERA (bloqueia, ruim UX) Agente: "Emails sent" Total latency: 30 minutos (muito ruim)

ASÍNCRO (não-bloqueante): Marketer: "Send emails to 10k customers" Agente: "Enqueuing emails..." (100ms, imediato) Marketer: (recebe resposta IMEDIATO, pode fazer outro trabalho) Background: (envia 10k emails em 30 min em background) Agente: "Emails sent!" (notifica quando done) Total latency (perceived): 100ms (excelente)


EXEMPLO 3: Data processing (analyze 1GB dataset)

SÍNCRONO (bloqueante): Analyst: "Analyze dataset" Agente: (processando 5 min...) Analyst: ESPERA (bloqueia, ruim UX) Agente: "Analysis complete" Total latency: 5 minutos (ruim)

ASÍNCRO (não-bloqueante): Analyst: "Analyze dataset" Agente: "Processing..." (100ms, imediato) Analyst: (recebe resposta IMEDIATO, pode fazer outro trabalho) Background: (analisa 1GB em 5 min em background) Agente: "Analysis ready!" (notifica quando done) Total latency (perceived): 100ms (excelente)

3 sinais que seu agente SÍNCRONO (sem async) é obsoleto

Sinal 1: Customers esperam MUITO (agente parece lento)

SYMPTOM:

Customer envia: "Quero reembolso" Customer vê: "typing..." (5-11 segundos) Customer pensa: "Agente é lento?" Customer impacienta: "Tá processando?" Customer frustrado: "Vou usar competitor"

PROBLEM:

Agente síncrono (bloqueia UX). Customer espera (ruim experiência). Customer percepcão: agente é lento (mesmo que backend é rápido).

RESULT:

Customers abandon conversa (porque agente parece lento). Customers use competitor (que tem async agents, responde rápido).

SOLUTION:

Implementar async agents. Responder imediato (100ms). Processar em background (não bloqueia UX). Customer never waits (percepcão: agente é rápido).

Sinal 2: Agente não consegue escalar (many requests = bottleneck)

SYMPTOM:

Normal load: 10 customers/min

  • Your agente: consegue processar (OK)

Peak load: 100 customers/min

  • Your agente: overloaded, timeouts, quebra
  • Competitor (async): spawna workers, handles 100 customers/min (OK)

PROBLEM:

Agente síncrono (1 request per agente instance). If request takes 5 seg: agente consegue 1/5 = 0.2 requests/seg = 12 requests/min If 100 requests/min chega: agente fica overwhelmed (backlog, timeouts)

Async agente (request handler returns imediato 100ms): Request handler consegue ~10 requests/seg = 600 requests/min Background workers processam em paralelo (scaling) Can handle 100 customers/min (fácil)

RESULT:

Na peak load, seu agente quebra (bottleneck). Competitor agente é robust (async, escalável). Customers go to competitor (na peak hours).

SOLUTION:

Implementar async agents. Request handler rápido (100ms, escalável). Background workers em paralelo (escalável, não bloqueante).

Sinal 3: Agente bloqueia conversa (customer não consegue enviar outra mensagem)

SYMPTOM:

Customer: "Quero reembolso" Agente: (processando 11 seg...) Customer quer enviar: "Por favor, rápido" MAS: Customer não consegue enviar (conversa bloqueada, agente ainda processando) Customer FRUSTRATED: "Agente está lento, não consegue processar minha msg"

PROBLEM:

Agente síncrono bloqueia conversa inteira. Customer não consegue enviar outro mensagem (enquanto agente processa). UX é frustrante (pareça que agente quebrou ou tá muito lento).

RESULT:

Customers abandona conversa (porque parece travado). Customers think agente é broken (não consegue processar).

SOLUTION:

Implementar async agents. Agente responde imediato (conversa não bloqueada). Customer pode enviar outra mensagem (não precisa esperar). UX é smooth (agente nunca bloqueia conversa).

Como implementar async agents (step-by-step)

Passo 1: Architecura: Sync response layer + Async processing layer

ACÇÃO:

  1. Setup request handler (synchronous, fast)

    • Receives request
    • Validates (quick checks)
    • Enqueues to background queue
    • Responds IMEDIATO: "Processing..."
    • Code: <100ms
  2. Setup message queue (e.g., Redis, RabbitMQ, AWS SQS)

    • Stores background jobs
    • Decouples sync from async
    • Allows scaling (multiple workers)
  3. Setup background workers (asynchronous, can be slow)

    • Polls message queue
    • Picks up jobs
    • Processes (database, API, payment, etc)
    • Can take 2-30 seg (não importa)
    • Updates status
  4. Setup notification service

    • Listens for completed jobs
    • Notifies customer (when done)

RESULT: Architecture supports async flow

Passo 2: Implementar async agents (código)

EXAMPLE (usando Python + Flask + Celery + Redis):

SYNC LAYER (request handler, <100ms)

@app.route('/process_refund', methods=['POST']) def process_refund(): request_data = request.json

# Validate (quick)
if not validate_request(request_data):
    return {"error": "Invalid request"}, 400

# Enqueue to background queue (async)
task = process_refund_task.delay(request_data)

# Respond IMEDIATO (não bloqueante)
return {
    "status": "Processing",
    "task_id": task.id,
    "message": "Your refund is being processed. You'll receive confirmation soon."
}, 202  # 202 = Accepted (async)

ASYNC LAYER (background worker, can be slow)

@celery_app.task def process_refund_task(request_data): # Can take 2-30 segundos (não bloqueia UX) order_id = request_data['order_id']

# Step 1: Database query
order = get_order(order_id)

# Step 2: Check eligibility
if not check_refund_eligibility(order):
    notify_customer(order_id, "Not eligible for refund")
    return

# Step 3: Process payment
refund_response = process_payment_refund(order)

# Step 4: Send email
send_email(order['customer_email'], f"Refund processed: {refund_response['amount']}")

# Step 5: Notify customer
notify_customer(order_id, "Refund completed!")

NOTIFICATION LAYER (update customer)

def notify_customer(order_id, message): # Send message to customer (via WhatsApp, email, etc) send_whatsapp_message(customer_id, message)

FLOW:

  1. Customer POST /process_refund (request)
  2. Sync handler validates + enqueues (100ms)
  3. Responds imediato: "Processing..." (customer receives, no wait)
  4. Background worker picks up job (when available)
  5. Background worker processes (2-30 seg, no block)
  6. Background worker notifies customer (when done)
  7. Customer receives notification (when ready)

RESULT: Async flow implemented!

Passo 3: Deploy + monitor async agents

ACÇÃO:

  1. Test async flow

    • Send request
    • Verify: response is immediate (100ms)
    • Verify: background processing happens (5-30 seg)
    • Verify: customer notified when done
  2. Monitor async metrics

    • Sync response latency (should be <100ms)
    • Background processing latency (no SLA, can be slow)
    • Queue depth (jobs waiting to be processed)
    • Worker saturation (workers busy processing)
    • Customer notification latency (when they get update)
  3. Optimize async flow

    • Adjust: number of workers (too few = backlog, too many = overhead)
    • Adjust: queue priorities (some jobs faster than others)
    • Adjust: timeout (too short = premature failure, too long = slow retry)
    • Adjust: retry logic (if job fails, retry? how many times?)

RESULT: Async agents deployed and optimized

Conclusão: Agente síncrono é obsoleto (async agents = padrão novo)

**O que você precisa saber:

  1. Agente síncrono é BLOQUEANTE (request-response, customer espera)

    • Processa request, customer esperando
    • Total time = processing time (pode ser 5-30 seg)
    • Customer vê "typing..." (ruim UX)
    • Conversa bloqueada (customer não consegue enviar outra msg)
  2. Async agents é NÃO-BLOQUEANTE (responde imediato, processa em background)

    • Responde imediato (100ms, "Processing...")
    • Customer não espera (recebe resposta rápido)
    • Processa em background (2-30 seg, não importa)
    • Conversa não bloqueada (customer pode enviar outra msg)
  3. 3 sinais que agente síncrono é obsoleto

    • Customers esperam MUITO (agente parece lento, bloqueante)
    • Agente não escala (peak load = bottleneck, quebra)
    • Agente bloqueia conversa (customer não consegue enviar outra msg)
  4. Como implementar async agents (3 passos)

    • Passo 1: Setup sync response layer + async processing layer
    • Passo 2: Implement async flow (código)
    • Passo 3: Deploy + monitor (metrics, optimization)
  5. Resultado: Agente async é RÁPIDO (perceived), ESCALÁVEL, BOM UX

    • Perceived latency: 100ms (RÁPIDO)
    • Actual processing: 2-30 seg (background, não importa)
    • Customer experience: EXCELENTE (responde rápido)
    • Scaling: fácil (mais workers = mais throughput)

Na OpenClaw, ajudamos startup de agente IA a:

  • REDESIGN agente pra async (sync + async layers)
  • IMPLEMENT message queue (Redis, RabbitMQ, SQS)
  • DEPLOY background workers (scalável)
  • MONITOR async metrics (latency, throughput, queue depth)
  • OPTIMIZE async flow (workers, priorities, retry logic)

Resultado: Seu agente é ASYNC (rápido) + ESCALÁVEL (handles peak load) + BOM UX (customer never waits).

Seu agente é síncrono (obsoleto)?

Ou seu agente é async (novo padrão)?

Implement async agents agora →


Publicado em 29 de maio de 2026

Leia também