Agentes de IA agora desenham na tela (visual feedback)
Agentes IA podem desenhar arrows, boxes, text na tela. Seu agente WhatsApp mostra visualmente o que tá fazendo. UX de agentes evolui.
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…
Agentes de IA agora desenham na tela (visual feedback)
Notícia: Desenvolvedor lançou tool que permite agentes de IA desenhar elementos visuais diretamente na tela do user: arrows (setas), boxes (caixas), text (texto). Projeto open-source, simples integração.
Implicação: Seu agente de IA deixa de ser "black box" (só texto) e vira "transparent agent" (mostra o que tá fazendo visualmente).
**"Você é manager de atendimento em fintech com agente WhatsApp.
Cenário antigo (agente texto-only):
Cliente: "Quero ver meu extrato"
Agente (resposta):
Seu extrato de outubro:
Saldo anterior: R$ 5.000 Transações:
- PIX enviado: -R$ 500 (02/10)
- Depósito: +R$ 1.000 (05/10)
- Pagamento cartão: -R$ 200 (10/10)
Saldo atual: R$ 5.300
Problema: ├─ Cliente lê tudo, mas não entende visualmente ├─ Texto puro = difícil de processar ├─ Cliente: "Espera, onde foi o PIX de R$ 500?" ├─ Agente: Repete (customer frustrado) └─ CX ruim (texto não é intuitivo)
Cenário novo (agente com visual feedback):
Cliente: "Quero ver meu extrato"
Agente (resposta + DESENHO na tela):
┌─────────────────────────────────────┐ │ Seu Extrato - Outubro │ ├─────────────────────────────────────┤ │ │ │ Saldo anterior: R$ 5.000 │ │ ▼ │ │ [02/10] ──► PIX -R$ 500 ─┐ │ │ [05/10] ──► Depósito +R$ 1.000 │ │ [10/10] ──► Cartão -R$ 200 ─┐ │ │ ▼ ▼ │ │ Saldo atual: R$ 5.300 │ │ │ └─────────────────────────────────────┘
Benefit: ├─ Cliente entende visualmente (arrows mostram fluxo) ├─ Caixa ao redor = contexto claro ├─ Sem confusão (visual é intuitivo) ├─ Cliente: "Ah, tá claro agora" └─ CX ótima (visual + texto = perfeito) "**
O problema: Agentes de IA comunicam mal
Por que agentes texto-only falham
Realidade psicológica:
Cérebro humano processa: ├─ Texto: ~200 palavras/minuto (lento) ├─ Visual: 10M bits/segundo (rápido) └─ Combined: Texto + visual = 3x mais rápido
Exemplo: Explicar processo ├─ Só texto: "Primeiro faça A, depois B, depois C" │ └─ User lê, mas não visualiza │ └─ 30% esquecem ordem │ ├─ Só visual (diagram): [A] → [B] → [C] │ └─ User entende instantly │ └─ 90% lembram ordem │ ├─ Texto + visual (best): "Primeiro A ► depois B ► depois C" │ └─ User lê E visualiza │ └─ 98% entendem └─ Melhor: Combine ambos
Agentes de IA (2024-2025): ├─ Usam só texto ├─ Resultado: User confuso ├─ Conversão: Baixa └─ CSAT: Ruim
Exemplos reais onde texto-only falha:
❌ Agente de suporte (form preenchimento) Agente: "Preencha: Nome, Email, Telefone, Assunto, Descrição" User: "Qual é a ordem? Qual é obrigatório?" Melhor: Agente desenha form na tela (boxes, labels, ✓ required)
❌ Agente de vendas (comparação de planos) Agente: "Plano A: R$ 99/mês, 10 users, suporte basic Plano B: R$ 299/mês, 100 users, suporte premium" User: "Qual é melhor pra mim?" Melhor: Agente desenha table (lado a lado), highlight diferenças
❌ Agente de RPA (workflow automation) Agente: "Primeiro, conecte suas contas. Depois, mapeie dados. Depois, teste." User: "Tô nesse passo de qual?" Melhor: Agente desenha progress bar (Step 1 ► Step 2 ► Step 3)
❌ Agente de atendimento (ticket status) Agente: "Seu ticket está em análise. Posição na fila: 5." User: "Quanto tempo?" Melhor: Agente desenha queue (█ █ ► Você ► █ █)
Por que visual feedback muda tudo
Cognitive load reduz drasticamente:
Tarefa: User entender status de delivery
Texto-only: "Seu pedido foi processado e saiu do centro de distribuição. Está em trânsito pra sua região. Entrega prevista: 02/11."
Cognitive load: ALTO ├─ User lê tudo ├─ User tenta visualizar na cabeça ├─ User fica confuso ("Saiu de onde? Pra onde vai?") └─ User frustrado
Visual + texto: "Seu pedido está em trânsito!
[Centro de Dist.] ────► [Sua Região] ──► [Sua Casa] ✓ Saiu 🚚 Aqui! ⏳ 02/11
Entrega prevista: 02/11"
Cognitive load: BAIXO ├─ User vê diagram instant ├─ User entende visualmente ├─ User sabe exatamente onde está └─ User satisfeito
Diferença: └─ Mesmo conteúdo, mas visual deixa 5x mais claro
Solução: Visual feedback em agentes
Como implementar (tecnicamente)
Framework em 3 camadas:
python
agent_visual_feedback.py
class VisualAgent: """ Agent que desenha na tela enquanto fala """
def __init__(self):
self.renderer = ScreenRenderer() # Desenha elementos
self.llm = LLMModel() # Pensa + fala
def process_request(self, user_input: str):
"""
Processa request com feedback visual
"""
# Layer 1: Identifica que tipo de visualização é needed
request_type = self.classify_request(user_input)
# Examples: "status", "comparison", "process", "form", "data"
# Layer 2: Gera resposta textual + visual elements
response_text = self.llm.generate(user_input)
visual_elements = self.generate_visuals(request_type, response_text)
# Layer 3: Renderiza na tela (texto + desenho simultâneo)
self.renderer.draw_text(response_text)
self.renderer.draw_elements(visual_elements) # Arrows, boxes, etc
return {"text": response_text, "visuals": visual_elements}
def classify_request(self, user_input: str) -> str:
"""
Classifica tipo de request (pra saber qual visual usar)
"""
keywords = {
"status": ["onde", "qual é", "status", "como vai"],
"comparison": ["qual é melhor", "diferença", "vs", "comparar"],
"process": ["como faço", "passo a passo", "processo"],
"form": ["preencher", "dados", "informações"],
"data": ["números", "gráfico", "estatística", "analytics"]
}
input_lower = user_input.lower()
for request_type, keywords_list in keywords.items():
for keyword in keywords_list:
if keyword in input_lower:
return request_type
return "generic"
def generate_visuals(self, request_type: str, response_text: str) -> list:
"""
Gera elementos visuais baseado no tipo de request
"""
if request_type == "status":
# Desenha progress/status
return [
{"type": "arrow", "from": (10, 50), "to": (50, 50), "label": "Processado"},
{"type": "box", "pos": (50, 40), "size": (20, 20), "label": "Aqui", "highlight": True},
{"type": "arrow", "from": (70, 50), "to": (100, 50), "label": "Entregando"},
]
elif request_type == "comparison":
# Desenha table de comparação
return [
{"type": "table", "rows": [
{"feature": "Preço", "option_a": "R$ 99", "option_b": "R$ 299"},
{"feature": "Users", "option_a": "10", "option_b": "100"},
{"feature": "Suporte", "option_a": "Basic", "option_b": "Premium", "highlight_b": True}
]}
]
elif request_type == "process":
# Desenha step-by-step
return [
{"type": "step", "number": 1, "label": "Conectar contas", "status": "done"},
{"type": "step", "number": 2, "label": "Mapear dados", "status": "in_progress"},
{"type": "step", "number": 3, "label": "Testar", "status": "pending"},
{"type": "arrow", "from_step": 1, "to_step": 2},
{"type": "arrow", "from_step": 2, "to_step": 3},
]
elif request_type == "form":
# Desenha form
return [
{"type": "form_field", "label": "Nome", "required": True},
{"type": "form_field", "label": "Email", "required": True},
{"type": "form_field", "label": "Telefone", "required": False},
{"type": "button", "label": "Enviar", "style": "primary"},
]
elif request_type == "data":
# Desenha chart/table
return [
{"type": "bar_chart", "data": {"Jan": 100, "Feb": 150, "Mar": 120}},
{"type": "text", "content": "Crescimento médio: +10%"}
]
return []
Usage
agent = VisualAgent()
Request 1: Status
result = agent.process_request("Onde está meu pedido?")
Output:
Text: "Seu pedido está em São Paulo, sendo preparado pra entrega."
Visual: [Arrow] [Current location box] [Arrow] [Destination]
Request 2: Comparison
result = agent.process_request("Qual plano é melhor?")
Output:
Text: "Depende do seu caso. Plano A é pra pequenas equipes..."
Visual: [Table comparing Plano A vs Plano B]
Request 3: Process
result = agent.process_request("Como configuro automação?"
Output:
Text: "São 3 passos simples: conectar, mapear, testar."
Visual: [Step 1] ► [Step 2] ► [Step 3]
Exemplos de visual elements
1. Status/Progress (setas + boxes):
[Recebido] ──► [Processando] ──► [Enviado] ──► [Entregue] ✓ ⏳ Você ⏳ ⏳
2. Comparison (table/lado a lado):
┌─────────────┬────────────┬────────────┐ │ Feature │ Plano A │ Plano B │ ├─────────────┼────────────┼────────────┤ │ Preço │ R$ 99 │ R$ 299 │ │ Users │ 10 │ 100 │ ✓ Melhor │ Suporte │ Basic │ Premium │ ✓ Melhor │ Integrações │ 5 │ Unlimited │ ✓ Melhor └─────────────┴────────────┴────────────┘
3. Process (step-by-step):
Step 1: Conectar ✓ Done ↓ Step 2: Mapear ⏳ In Progress (Você está aqui) ↓ Step 3: Testar ⏳ Pending ↓ Step 4: Deploy ⏳ Pending
4. Form (highlighted fields):
┌─────────────────────────────┐ │ Preencha seus dados: │ ├─────────────────────────────┤ │ Nome: _____________ ✓ obrig│ │ Email: ____________ ✓ obrig│ │ Telefone: _________ ○ opt │ │ [Enviar] │ └─────────────────────────────┘
5. Queue (visual position):
Sua posição na fila:
█ █ █ ► [Você] ► █ █ (3 antes) (2 depois)
Tempo estimado: ~15 minutos
Implementação prática
Onde usar visual feedback
✅ USE visual feedback em:
✅ Agente de atendimento (WhatsApp, Chat) └─ User vê status do ticket visualmente
✅ Agente de vendas (form preenchimento) └─ Prospect entende form visualmente (não se perde)
✅ Agente de suporte (FAQ, troubleshooting) └─ User vê passo a passo visualmente
✅ Agente de RPA (automação) └─ Admin vê progresso do workflow visualmente
✅ Agente de dados (reporting, analytics) └─ User vê números em chart (não só texto)
✅ Agente de onboarding (setup wizard) └─ User vê onde está no fluxo
❌ NÃO USE visual feedback em:
❌ Agente de content generation (blog post) └─ User quer texto, não desenhos
❌ Agente de code (dev assistance) └─ User quer código, não boxes (já tem IDE)
❌ Agente conversacional (chitchat) └─ User quer conversa natural (visual atrapalha)
❌ Agente de voice (audio only) └─ Não dá pra desenhar (user não vê)
ROI: Por que investir em visual feedback
Métricas que melhoram:
Métrica Antes (Texto-only) Depois (Visual) Melhoria ──────────────────────────────────────────────────────────────────── Task completion 65% 92% +40% Time to understand 45s 12s -73% Customer satisfaction 3.2/5 4.7/5 +47% Support tickets -10/100 conv -3/100 conv -70% User frustration "Confuso!" "Claro!" Óbvio Agent NPS +25 +52 +108%
Exemplo financeiro (SaaS típica):
Situação atual (sem visual feedback): ├─ 1000 users/mês ├─ 35% completam tarefa (350 users) ├─ 100 abrem ticket de suporte ├─ Custo suporte: R$ 5K/mês (100 * R$ 50) └─ Revenue loss: R$ 10K/mês (users desistem, não convertem)
Com visual feedback: ├─ 1000 users/mês ├─ 92% completam tarefa (920 users) ├─ 30 abrem ticket de suporte (-70%) ├─ Custo suporte: R$ 1.5K/mês (30 * R$ 50) ├─ Revenue gain: R$ 30K/mês (+92% completion = +conversion) └─ Net benefit: R$ 50K+/mês
ROI: └─ Investimento: R$ 20K (dev para implementar) └─ Break-even: <1 semana └─ Depois: +R$ 50K/mês pure profit
Conclusão: Visual feedback é o próximo passo pra UX de agentes
Realidade em 2026:
Agentes texto-only: Passado └─ Funcionam, mas UX é ruim └─ Users confusos └─ Conversão baixa └─ CSAT baixo
Agentes com visual feedback: Presente/Futuro └─ Mesma funcionalidade └─ UX melhor (+40% clarity) └─ Users satisfeitos └─ Conversão alta └─ CSAT alto
Checklist pra implementar:
☐ Audit seus agentes (qual tipo de requests recebem?) ☐ Priorize (form > status > process > data > comparison) ☐ Escolha tool pra desenhar (open-source acima) ☐ Integrate com seu agente (1-2 semanas dev) ☐ Test com 10% users (A/B test) ☐ Measure: Task completion, time to understand, CSAT ☐ Scale: Se metrics melhoraram, rollout pra 100%
Next step:
→ OpenClaw: Visual Agent Builder (teste agora)
Seu agente ainda tá comunicando em texto puro? Hora de evoluir pra visual feedback. 🎨✨
Publicado em 9 de outubro de 2026