Clo Agent

CLO Agent - Documentação Completa

📋 Visão Geral

O CLO Agent (Chief Legal Officer / Diretor Jurídico) é um agente executivo do CSuite que protege compliance e questões jurídicas. Ele monitora status de compliance, identifica riscos legais, monitora mudanças regulatórias e analisa contratos.

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


🎯 Propósito

O CLO Agent existe para:

  1. Monitorar Compliance: Acompanhar status de compliance e conformidade legal
  2. Identificar Riscos: Detectar riscos legais e casos pendentes
  3. Monitorar Regulamentações: Acompanhar mudanças regulatórias relevantes
  4. Analisar Contratos: Avaliar contratos e termos

🏗️ Arquitetura

Fluxo de Execução

1. Recebe Payload
   
2. Build Context
   ├─ Compliance Status (status de compliance)
   ├─ Legal Risks (riscos legais)
   ├─ Regulatory Changes (mudanças regulatórias)
   ├─ Contract Analysis (análise de contratos)
   └─ Memory Query (precedentes jurídicos)
   
3. Determine Decision Type
   ├─ CLO.ENSURE_COMPLIANCE (garantir compliance)
   ├─ CLO.MITIGATE_RISK (mitigar risco)
   ├─ CLO.REVIEW_CONTRACT (revisar contrato)
   └─ CLO.UPDATE_POLICY (atualizar política)
   
4. Calculate Confidence
   
5. Propose Actions
   ├─ ENSURE_COMPLIANCE
   ├─ MITIGATE_RISK
   ├─ REVIEW_CONTRACT
   └─ UPDATE_POLICY
   
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 jurídicas
GET /v1/governance/policies/radar Policy Radar Políticas jurídicas e de compliance

2. Executive API

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

Endpoint Descrição Uso
GET /v1/cases Casos pendentes Casos jurídicos e de compliance
POST /v1/memory/query Consultar memória Precedentes jurídicos

Base URL: Configurável via CSUITE_LEGAL_URL

Endpoint Descrição Uso
GET /api/contracts Contratos Análise de contratos
GET /api/regulatory Regulamentações Mudanças regulatórias

📥 Payload de Entrada

Formato Padrão

{
  "org_id": 0,
  "as_of_date": "2025-01-04",
  "time_window_days": 30,
  "focus": {
    "themes": ["compliance_status", "legal_risks", "regulatory_changes", "contract_analysis"],
    "constraints": []
  },
  "attention": {
    "max_recommendations": 3,
    "max_output_tokens": 1200
  }
}

Campos

Campo Tipo Obrigatório Descrição
org_id integer ID da organização
as_of_date string Data de referência (YYYY-MM-DD)
time_window_days integer Janela de análise (padrão: 30)
focus.themes array Temas de foco
attention.max_recommendations integer Máximo de recomendações (padrão: 3)

📤 Payload de Saída

Formato Padrão

{
  "decision": {
    "decision_type": "CLO.ENSURE_COMPLIANCE | CLO.MITIGATE_RISK | CLO.REVIEW_CONTRACT | CLO.UPDATE_POLICY",
    "confidence": 0.85,
    "proposed_actions": [
      {
        "action": "ENSURE_COMPLIANCE",
        "reason": "Compliance abaixo do ideal",
        "priority": "alta"
      }
    ]
  },
  "context": {
    "compliance_status": {
      "summary": "Resumo de compliance",
      "compliance_score": 0.90,
      "active_policies": 10,
      "pending_reviews": 2,
      "compliance_indicators": []
    },
    "legal_risks": {
      "summary": "Resumo de riscos legais",
      "risk_level": "baixo | médio | alto",
      "high_priority_cases": [],
      "risk_indicators": []
    },
    "regulatory_changes": {
      "summary": "Resumo de mudanças regulatórias",
      "changes_identified": [],
      "impact_assessment": []
    },
    "contract_analysis": {
      "summary": "Resumo de análise de contratos",
      "pending_reviews": 0,
      "expiring_soon": [],
      "contract_concerns": []
    }
  },
  "execution": {
    "status": "completed",
    "actions": []
  },
  "opportunities": [
    {
      "type": "ENSURE_COMPLIANCE",
      "description": "Garantir compliance identificado",
      "impact": "alto | médio | baixo",
      "confidence": 0.85,
      "priority": "alta"
    }
  ],
  "recommendations": [
    {
      "action": "Revisar políticas de compliance",
      "reason": "Compliance abaixo do ideal",
      "priority": "alta",
      "legal_impact": "alto"
    }
  ],
  "next_steps": [
    "Revisar políticas",
    "Mitigar riscos",
    "Atualizar compliance"
  ],
  "generated_at": "2025-01-04T09:10:00",
  "org_id": 0,
  "as_of_date": "2025-01-04"
}

🔄 Decision Types

CLO.ENSURE_COMPLIANCE

Descrição: Garantir compliance e conformidade legal

Condições:
- Compliance abaixo do ideal
- Políticas pendentes de revisão
- Oportunidade de melhoria
- Confidence >= 0.7

Ações:
- ENSURE_COMPLIANCE: Garantir compliance
- UPDATE_POLICY: Atualizar política (se necessário)

CLO.MITIGATE_RISK

Descrição: Mitigar risco legal identificado

Condições:
- Risco legal identificado
- Casos de alta prioridade
- Oportunidade de mitigação
- Confidence >= 0.8

Ações:
- MITIGATE_RISK: Mitigar risco
- REVIEW_CONTRACT: Revisar contrato (se necessário)

CLO.REVIEW_CONTRACT

Descrição: Revisar contrato ou termo

Condições:
- Contrato pendente de revisão
- Contrato expirando em breve
- Preocupações identificadas
- Confidence >= 0.7

Ações:
- REVIEW_CONTRACT: Revisar contrato
- ENSURE_COMPLIANCE: Garantir compliance (se necessário)

CLO.UPDATE_POLICY

Descrição: Atualizar política jurídica

Condições:
- Política desatualizada
- Mudança regulatória identificada
- Alinhamento necessário
- Confidence >= 0.9

Ações:
- UPDATE_POLICY: Atualizar política
- ENSURE_COMPLIANCE: Garantir compliance (se necessário)


🎛️ Autonomia

Níveis de Autonomia

Nível Descrição Condição
L0 Sempre recomendação ENSURE_COMPLIANCE, REVIEW_CONTRACT, ou confidence < 0.7
L1 Mitigar risco automaticamente MITIGATE_RISK e confidence >= 0.8
L2 Atualizar política automaticamente UPDATE_POLICY e confidence >= 0.9

⚙️ Configuração

Variáveis de Ambiente

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

# CSuite Services
CSUITE_POLICY_ENGINE_URL=https://csuite.internut.com.br/executive
CSUITE_EXECUTIVE_URL=https://csuite.internut.com.br/executive
CSUITE_MEMORY_URL=https://csuite.internut.com.br/executive
CSUITE_LEGAL_URL=https://csuite.internut.com.br/legal  # Opcional

# Webhook
CLO_BRIEF_WEBHOOK_URL=https://hooks.slack.com/services/...

# Configuração
ORG_ID=0
TIME_WINDOW_DAYS=30

Cron Job

O CLO Agent executa diariamente às 09:10:

cd workflows/scripts
./setup_cron_clo.sh

Cron Entry:

10 9 * * * cd /path/to/workflows/scripts && /usr/bin/python3 clo_agent_daily_brief.py >> logs/clo_agent_cron.log 2>&1

🚀 Uso

Execução Manual

cd workflows/scripts
python3 clo_agent_daily_brief.py

Output

O brief é publicado no Slack e salvo em arquivo JSON:

clo_brief_YYYYMMDD_HHMMSS.json

Formato do Brief no Slack

O brief é formatado com:
- Header com status de compliance (🟢/🟡/🔴 baseado em compliance_score)
- Contexto jurídico
- Compliance (score)
- Riscos legais (nível)
- Oportunidades identificadas
- Recomendações prioritárias
- Próximos passos


🔍 Métricas Monitoradas

Compliance Status

Regulatory Changes

Contract Analysis


🛠️ Troubleshooting

Erro: "OPENAI_API_KEY não configurada"

Solução: Configure a variável de ambiente OPENAI_API_KEY ou LLM_API_KEY.

Erro: "Executive API retornou 404"

Solução: Verifique se o csuite-executive está rodando e acessível.

Erro: "Dados limitados de compliance"

Solução: Integre com sistemas jurídicos externos via CSUITE_LEGAL_URL para dados completos.

Brief não publicado no Slack

Solução:
1. Verifique se CLO_BRIEF_WEBHOOK_URL está configurada
2. Verifique se o webhook do Slack está válido
3. Verifique logs em clo_agent.log


📚 Referências


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

🔊 Text-to-Speech

1.0x
1.0
Pronto para reproduzir