Cco Agent

CCO Agent - Documentação Completa

📋 Visão Geral

O CCO Agent (Chief Content Officer) é um agente executivo do CSuite que otimiza criação e distribuição de conteúdo digital multi-canal. Ele monitora performance de conteúdo, estratégia por canal, calendário editorial, tendências de conteúdo e ROI de conteúdo.

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


🎯 Propósito

O CCO Agent existe para:

  1. Otimizar Criação de Conteúdo: Estratégia e produção de conteúdo digital
  2. Distribuição Multi-Canal: Publicação e distribuição em múltiplos canais
  3. Monitorar Performance: Engajamento, alcance e conversão de conteúdo
  4. Gerenciar Calendário Editorial: Planejamento e publicação de conteúdo
  5. Identificar Tendências: Formatos e temas de conteúdo em alta
  6. Maximizar ROI: Retorno sobre investimento em conteúdo

🏗️ Arquitetura

Fluxo de Execução

1. Recebe Payload
   
2. Build Context
   ├─ Content Performance (engajamento, alcance, conversão)
   ├─ Channel Performance (performance por canal)
   ├─ Editorial Calendar (agendado, publicado, pendente)
   ├─ Content Trends (tendências, formatos)
   └─ Customer Feedback (feedback sobre conteúdo)
   
3. Determine Decision Type
   ├─ CCO.CREATE_CONTENT (oportunidade de criação)
   ├─ CCO.OPTIMIZE_DISTRIBUTION (otimizar distribuição)
   ├─ CCO.ADJUST_CALENDAR (ajustar calendário)
   ├─ CCO.SCALE_CHANNEL (escalar canal)
   └─ CCO.IMPROVE_FORMAT (melhorar formato)
   
4. Calculate Confidence
   
5. Propose Actions
   ├─ CREATE_CONTENT_PIECE
   ├─ OPTIMIZE_CONTENT_DISTRIBUTION
   ├─ ADJUST_EDITORIAL_CALENDAR
   ├─ SCALE_CONTENT_CHANNEL
   └─ IMPROVE_CONTENT_FORMAT
   
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 conteúdo
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 feedback sobre conteúdo

3. Context API

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

Endpoint Descrição Uso
GET /api/csuite/overview Visão geral Performance de canais
GET /api/csuite/trends Tendências Tendências de conteúdo

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 Oportunidades e riscos

5. CMO API

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

Endpoint Descrição Uso
GET /api/content/metrics Métricas de conteúdo Performance de conteúdo
GET /api/content/calendar Calendário editorial Calendário e publicação

⚙️ 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
CCO_BRIEF_WEBHOOK_URL=https://hooks.slack.com/services/...

# Configurações
ORG_ID=1
TIME_WINDOW_DAYS=30

YAML Configuration

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

agent:
  agent_code: CCO_AGENT
  name: "CSuite CCO Agent"
  version: "1.0.0"
  status: "active"

  purpose:
    - "Otimizar criação e distribuição de conteúdo digital multi-canal"
    - "Monitorar performance de conteúdo (engajamento, alcance, conversão)"
    # ...

📊 Tipos de Decisão

CCO.CREATE_CONTENT

Quando: Oportunidade identificada para criar novo conteúdo

Ações:
- CREATE_CONTENT_PIECE: Criar novo conteúdo
- Planejamento de conteúdo
- Criação baseada em tendências

Autonomia: L0 (sempre recomendação)

CCO.OPTIMIZE_DISTRIBUTION

Quando: Distribuição de conteúdo pode ser otimizada

Ações:
- OPTIMIZE_CONTENT_DISTRIBUTION: Otimizar distribuição
- Ajuste de canais
- Otimização de timing

Autonomia: L2 (confiança ≥ 0.7)

CCO.ADJUST_CALENDAR

Quando: Calendário editorial precisa de ajustes

Ações:
- ADJUST_EDITORIAL_CALENDAR: Ajustar calendário
- Reagendamento de conteúdo
- Preenchimento de gaps

Autonomia: L1 (confiança ≥ 0.8)

CCO.SCALE_CHANNEL

Quando: Canal de alto desempenho identificado

Ações:
- SCALE_CONTENT_CHANNEL: Escalar canal
- Aumento de frequência
- Expansão de formato

Autonomia: L3 (confiança ≥ 0.9)

CCO.IMPROVE_FORMAT

Quando: Formato de conteúdo pode ser melhorado

Ações:
- IMPROVE_CONTENT_FORMAT: Melhorar formato
- Teste de novos formatos
- Otimização de formatos existentes

Autonomia: L0 (sempre recomendação)


🎚️ Níveis de Autonomia

Nível Descrição Condição
L0 Sempre recomendação - requer aprovação decision_type == CREATE_CONTENT OR confidence < 0.7
L1 Ajustes automáticos de calendário decision_type == ADJUST_CALENDAR AND confidence >= 0.8
L2 Otimização automática de distribuição decision_type == OPTIMIZE_DISTRIBUTION AND confidence >= 0.7
L3 Escalação automática de canais decision_type == SCALE_CHANNEL AND confidence >= 0.9

📝 Schema de Payload

Input

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

Output

{
  "context": "Contexto atual de conteúdo e distribuição",
  "content_performance": {
    "total_content": 45,
    "total_engagement": 12500,
    "total_reach": 85000,
    "total_conversions": 320,
    "avg_engagement_rate": 14.7,
    "avg_reach": 1888,
    "conversion_rate": 2.5,
    "performance_trend": "melhorando"
  },
  "channel_performance": {
    "channels": ["social", "email", "blog"],
    "best_channel": "social",
    "channel_engagement": {
      "social": 8500,
      "email": 3000,
      "blog": 1000
    },
    "channel_reach": {
      "social": 60000,
      "email": 20000,
      "blog": 5000
    }
  },
  "editorial_calendar": {
    "scheduled_content": 12,
    "published_content": 45,
    "pending_content": 3,
    "calendar_gaps": [],
    "calendar_health": "bom"
  },
  "content_trends": {
    "trending_topics": ["IA", "Sustentabilidade", "Produtividade"],
    "trending_formats": ["vídeo", "infográfico", "artigo"],
    "content_trends": [],
    "format_performance": {
      "vídeo": 0.18,
      "infográfico": 0.15,
      "artigo": 0.12
    }
  },
  "opportunities": [
    {
      "type": "CREATE_CONTENT",
      "description": "Oportunidade de criar conteúdo sobre IA",
      "impact": "alto",
      "confidence": 0.85
    }
  ],
  "recommendations": [
    {
      "action": "Aumentar frequência de publicação em redes sociais",
      "reason": "Canal com melhor performance",
      "priority": "alta",
      "expected_impact": "Aumento de 20% em engajamento"
    }
  ],
  "next_steps": [
    "Criar conteúdo sobre IA",
    "Otimizar distribuição em email"
  ]
}

🚀 Uso

Daily Brief (Cron)

O CCO Agent executa um brief diário via cron às 09:15:

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

# Executar manualmente
python3 workflows/scripts/cco_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/cco_agent.log
- Cron: workflows/scripts/cco_agent_cron.log


📈 Métricas Monitoradas

Performance de Conteúdo

Performance por Canal

Calendário Editorial

Tendências de Conteúdo

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 $CCO_BRIEF_WEBHOOK_URL

Brief não está sendo gerado

Solução: Verifique os logs:

tail -f workflows/scripts/cco_agent.log

Cron não está executando

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

crontab -l | grep cco_agent

📚 Referências


✅ Checklist de Implementação


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

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir