Cbo Agent

CBO Agent - Documentação Completa

📋 Visão Geral

O CBO Agent (Chief Brand Officer) é um agente executivo do CSuite que protege e fortalece a imagem, experiência e promessa da marca. Ele monitora percepção da marca, consistência, posicionamento competitivo, feedback de clientes e experiência da marca.

Status:Implementado (v1.0.0) - Pronto para uso


🎯 Propósito

O CBO Agent existe para:

  1. Proteger Imagem da Marca: Monitorar e proteger a percepção e reputação da marca
  2. Fortalecer Experiência: Otimizar a experiência da marca em todos os pontos de contato
  3. Garantir Consistência: Assegurar consistência de marca em todos os canais
  4. Monitorar Posicionamento: Analisar posicionamento competitivo da marca
  5. Detectar Riscos: Identificar riscos à reputação e oportunidades de fortalecimento

🏗️ Arquitetura

Fluxo de Execução

1. Recebe Payload
   
2. Build Context
   ├─ Brand Perception (awareness, sentiment, NPS)
   ├─ Brand Consistency (score, touchpoints, inconsistências)
   ├─ Brand Positioning (market position, competitive rank, market share)
   ├─ Customer Feedback (total, positivo, negativo, temas)
   └─ Brand Experience (score, touchpoint satisfaction, gaps)
   
3. Determine Decision Type
   ├─ CBO.STRENGTHEN_BRAND (oportunidade de fortalecimento)
   ├─ CBO.PROTECT_REPUTATION (risco à reputação)
   ├─ CBO.IMPROVE_CONSISTENCY (inconsistências detectadas)
   ├─ CBO.OPTIMIZE_EXPERIENCE (gaps de experiência)
   └─ CBO.ADJUST_POSITIONING (posicionamento inadequado)
   
4. Calculate Confidence
   
5. Propose Actions
   ├─ STRENGTHEN_BRAND_IMAGE
   ├─ PROTECT_BRAND_REPUTATION
   ├─ IMPROVE_BRAND_CONSISTENCY
   ├─ OPTIMIZE_BRAND_EXPERIENCE
   └─ ADJUST_BRAND_POSITIONING
   
6. Policy Validation
   
7. Policy Engine Integration
   
8. Execute Actions
   
9. Record Outcome

Componentes


🔌 Integrações

1. Policy Engine

Base URL: https://csuite.internut.com.br/executive

Endpoint Descrição Uso
POST /v1/policy/evaluate Avaliar decisão Validação de políticas de marca
POST /v1/policy/decisions Histórico de decisões Auditoria

2. Customer Decisions API

Base URL: https://csuite.internut.com.br/customer-decisions

Endpoint Descrição Uso
GET /api/customer/feedback Feedback de clientes Análise de sentiment sobre marca

3. Context API

Base URL: https://csuite.internut.com.br

Endpoint Descrição Uso
GET /api/csuite/overview Visão geral Percepção da marca
GET /api/csuite/trends Tendências Posicionamento competitivo
GET /api/csuite/opportunities Oportunidades Experiência da marca

4. Executive API

Base URL: https://csuite.internut.com.br/executive

Endpoint Descrição Uso
POST /v1/memory/query Consultar memória Precedentes e casos similares
GET /api/cases Casos abertos Riscos e oportunidades

5. CMO API

Base URL: https://csuite.internut.com.br/cmo

Endpoint Descrição Uso
GET /api/brand/metrics Métricas de marca Consistência de marca

⚙️ Configuração

Variáveis de Ambiente

# URLs dos Serviços CSuite
CSUITE_POLICY_ENGINE_URL=https://csuite.internut.com.br/executive
CSUITE_EXECUTIVE_URL=https://csuite.internut.com.br/executive
CSUITE_CONTEXT_URL=https://csuite.internut.com.br
CSUITE_CUSTOMER_DECISIONS_URL=https://csuite.internut.com.br/customer-decisions
CSUITE_CMO_URL=https://csuite.internut.com.br/cmo

# LLM
OPENAI_API_KEY=sk-...
LLM_MODEL=gpt-4o-mini

# Slack
CBO_BRIEF_WEBHOOK_URL=https://hooks.slack.com/services/...

# Configurações
ORG_ID=1
TIME_WINDOW_DAYS=30

YAML Configuration

O arquivo agents/cbo/cbo_agent.yaml contém a configuração canônica do agente:

agent:
  agent_code: CBO_AGENT
  name: "CSuite CBO Agent"
  version: "1.0.0"
  status: "active"

  purpose:
    - "Proteger e fortalecer a imagem, experiência e promessa da marca"
    - "Monitorar percepção da marca (brand awareness, sentiment, NPS)"
    - "Analisar consistência de marca em todos os pontos de contato"
    # ...

📊 Tipos de Decisão

CBO.STRENGTHEN_BRAND

Quando: Oportunidade identificada para fortalecer a imagem da marca

Ações:
- STRENGTHEN_BRAND_IMAGE: Fortalecer imagem da marca
- Campanhas de brand awareness
- Melhorias de posicionamento

Autonomia: L1-L3 (dependendo da confiança)

CBO.PROTECT_REPUTATION

Quando: Risco identificado à reputação da marca

Ações:
- PROTECT_BRAND_REPUTATION: Proteger reputação
- Resposta a crises
- Mitigação de riscos

Autonomia: L3 (alto threshold, confiança ≥ 0.9)

CBO.IMPROVE_CONSISTENCY

Quando: Inconsistências detectadas na marca

Ações:
- IMPROVE_BRAND_CONSISTENCY: Melhorar consistência
- Padronização de mensagens
- Alinhamento de touchpoints

Autonomia: L1 (confiança ≥ 0.8)

CBO.OPTIMIZE_EXPERIENCE

Quando: Gaps identificados na experiência da marca

Ações:
- OPTIMIZE_BRAND_EXPERIENCE: Otimizar experiência
- Melhorias em pontos de contato
- Personalização de experiência

Autonomia: L2 (confiança ≥ 0.7)

CBO.ADJUST_POSITIONING

Quando: Posicionamento inadequado identificado

Ações:
- ADJUST_BRAND_POSITIONING: Ajustar posicionamento
- Reposicionamento estratégico
- Ajustes de mensagem

Autonomia: L0 (sempre recomendação)


🎚️ Níveis de Autonomia

Nível Descrição Condição
L0 Sempre recomendação - requer aprovação decision_type == ADJUST_POSITIONING OR confidence < 0.7
L1 Melhorias automáticas de consistência decision_type == IMPROVE_CONSISTENCY AND confidence >= 0.8
L2 Otimização automática de experiência decision_type == OPTIMIZE_EXPERIENCE AND confidence >= 0.7
L3 Proteção automática de reputação decision_type == PROTECT_REPUTATION AND confidence >= 0.9

📝 Schema de Payload

Input

{
  "org_id": 1,
  "as_of_date": "2025-01-05",
  "time_window_days": 30,
  "focus": {
    "themes": ["brand_image", "brand_experience", "consistency"],
    "constraints": []
  },
  "attention": {
    "max_recommendations": 3,
    "max_output_tokens": 1200
  }
}

Output

{
  "context": "Contexto atual da marca e reputação",
  "brand_perception": {
    "awareness_score": 75.5,
    "sentiment_score": 0.65,
    "nps_score": 45,
    "brand_mentions": 1250,
    "sentiment_trend": "melhorando"
  },
  "brand_consistency": {
    "consistency_score": 82.0,
    "touchpoints_analyzed": 15,
    "inconsistencies": [],
    "consistency_trend": "estável"
  },
  "brand_positioning": {
    "market_position": "líder",
    "competitive_rank": 1,
    "market_share": 35.2,
    "differentiation_score": 0.78
  },
  "risks": [
    {
      "type": "REPUTATION",
      "description": "Aumento de menções negativas em redes sociais",
      "severity": "médio",
      "impact": "Pode afetar percepção da marca"
    }
  ],
  "opportunities": [
    {
      "type": "STRENGTHEN_BRAND",
      "description": "Oportunidade de fortalecer presença em novo segmento",
      "impact": "alto",
      "confidence": 0.85
    }
  ],
  "recommendations": [
    {
      "action": "Lançar campanha de fortalecimento de marca",
      "reason": "Awareness está abaixo do ideal para o segmento",
      "priority": "alta",
      "expected_impact": "Aumento de 10% em brand awareness"
    }
  ],
  "next_steps": [
    "Monitorar sentiment diariamente",
    "Revisar consistência em novos touchpoints"
  ]
}

🚀 Uso

Daily Brief (Cron)

O CBO Agent executa um brief diário via cron às 09:10:

# Configurar cron
cd workflows/scripts
chmod +x setup_cron_cbo.sh
./setup_cron_cbo.sh

# Executar manualmente
python3 workflows/scripts/cbo_agent_daily_brief.py

Verificar Cron Jobs

# Listar cron jobs
crontab -l

# Editar cron jobs
crontab -e

Logs

Os logs são salvos em:
- Console: Saída padrão
- Arquivo: workflows/scripts/cbo_agent.log
- Cron: workflows/scripts/cbo_agent_cron.log


📈 Métricas Monitoradas

Percepção da Marca

Consistência de Marca

Posicionamento Competitivo

Experiência da Marca

Feedback de Clientes


🔍 Troubleshooting

Erro: "OPENAI_API_KEY não configurada"

Solução: Configure a variável de ambiente:

export OPENAI_API_KEY=sk-...
# ou adicione ao .env
echo "OPENAI_API_KEY=sk-..." >> workflows/scripts/.env

Erro: "Policy Engine retornou 404"

Solução: Verifique se o Policy Engine está rodando e a URL está correta:

curl https://csuite.internut.com.br/executive/v1/policy/evaluate

Erro: "Slack retornou 400 Bad Request"

Solução: Verifique se o webhook URL está correto e ativo:

echo $CBO_BRIEF_WEBHOOK_URL

Brief não está sendo gerado

Solução: Verifique os logs:

tail -f workflows/scripts/cbo_agent.log

Cron não está executando

Solução: Verifique se o cron está configurado:

crontab -l | grep cbo_agent

📚 Referências


✅ Checklist de Implementação


Última atualização: 2025-01-05

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir