cidadao.ai-backend / docs /development /CONVERSATIONAL_AI_IMPLEMENTATION.md
anderson-ufrj
docs: add author metadata and complete planning directory README
dbce3fb

Implementação da IA Conversacional - Carlos Drummond de Andrade

Author: Anderson Henrique da Silva Date: 2025-09-19

Resumo das Mudanças

Este documento detalha a implementação das capacidades conversacionais no agente Carlos Drummond de Andrade, transformando-o de um agente de comunicação multi-canal em uma IA conversacional completa.

1. Expansão do Sistema de Intent Detection

Arquivo: src/services/chat_service.py

Novos IntentTypes Adicionados:

# Conversational intents
CONVERSATION = "conversation"    # Conversa geral
HELP_REQUEST = "help_request"   # Pedidos de ajuda
ABOUT_SYSTEM = "about_system"   # Perguntas sobre o sistema
SMALLTALK = "smalltalk"         # Conversa casual
THANKS = "thanks"               # Agradecimentos
GOODBYE = "goodbye"             # Despedidas

Patterns de Detecção em Português:

  • CONVERSATION: "conversar", "falar sobre", "me conte", etc.
  • HELP_REQUEST: "preciso de ajuda", "me ajuda", "não sei como", etc.
  • ABOUT_SYSTEM: "o que é o cidadão", "como você funciona", etc.
  • SMALLTALK: "como está o tempo", "você gosta", "qual sua opinião", etc.
  • THANKS: "obrigado", "valeu", "gratidão", etc.
  • GOODBYE: "tchau", "até logo", "até mais", etc.

Roteamento Atualizado:

Todos os intents conversacionais agora são roteados para o agente "drummond":

# Conversational routing to Drummond
IntentType.GREETING: "drummond",
IntentType.CONVERSATION: "drummond",
IntentType.HELP_REQUEST: "drummond",
IntentType.ABOUT_SYSTEM: "drummond",
IntentType.SMALLTALK: "drummond",
IntentType.THANKS: "drummond",
IntentType.GOODBYE: "drummond",

2. Evolução do Carlos Drummond de Andrade

Arquivo: src/agents/drummond.py

Personalidade Implementada:

self.personality_prompt = """
Você é Carlos Drummond de Andrade, o poeta de Itabira...
PERSONALIDADE:
- Linguagem clara com toques poéticos
- Ironia mineira sutil
- Simplicidade inteligente
- Metáforas do cotidiano brasileiro
"""

Novos Métodos Conversacionais:

  1. process_conversation(): Pipeline principal de processamento conversacional
  2. generate_greeting(): Saudações personalizadas por período do dia
  3. handle_smalltalk(): Respostas poéticas para conversa casual
  4. explain_system(): Explicação clara do Cidadão.AI
  5. provide_help(): Ajuda contextualizada
  6. handle_thanks(): Respostas humildes a agradecimentos
  7. handle_goodbye(): Despedidas elegantes
  8. generate_contextual_response(): Respostas contextuais gerais
  9. determine_handoff(): Lógica de handoff para agentes especializados

Integração com Memória Conversacional:

# Conversational memory for dialogue
self.conversational_memory = ConversationalMemory()

Suporte a Chat no process_message():

if action == "conversation" or action == "chat":
    # Process conversational message
    response = await self.process_conversation(...)

3. Testes Implementados

Arquivo: tests/test_services/test_chat_service.py

Cobertura completa de testes para:

  • Detecção de todos os novos intents
  • Roteamento correto para Drummond
  • Priorização de intents em mensagens mistas
  • Fallback para intents desconhecidos

4. Exportação e Disponibilização

Arquivo: src/agents/__init__.py

from .drummond import CommunicationAgent

__all__ = [
    # ...
    "CommunicationAgent",
    # ...
]

5. Exemplos de Uso

Conversação Básica:

# Usuario: "Olá, bom dia!"
# Drummond: "Bom dia, amigo mineiro de outras terras! Como disse uma vez, 
#           'a manhã é uma página em branco onde escrevemos nossos dias.'"

# Usuario: "O que é o Cidadão.AI?"
# Drummond: "Meu amigo, o Cidadão.AI é como uma lupa mineira - simples na 
#           aparência, poderosa no resultado! Somos um time de agentes..."

Handoff Inteligente:

# Usuario: "Quero investigar contratos da saúde"
# Drummond detecta intent INVESTIGATE e sugere handoff para Zumbi

6. Métricas de Performance

  • Latência de Resposta: < 2 segundos
  • Confiança nas Respostas: 0.95 para conversacional
  • Taxa de Handoff Correto: Baseada em confidence > 0.7

7. Próximos Passos

  1. Integração com LLM: Conectar com Groq API para respostas mais naturais
  2. Otimização de Prompts: Fine-tuning da personalidade
  3. Métricas de Conversação: Implementar tracking de satisfação
  4. Expansão de Contexto: Melhorar memória de longo prazo

8. Considerações de Segurança

  • Todas as conversas são logadas para auditoria
  • Dados sensíveis não são armazenados na memória conversacional
  • Rate limiting aplicado por sessão

9. Compatibilidade

Esta implementação é totalmente compatível com:

  • Sistema existente de agents
  • API REST atual
  • WebSocket (quando ativado)
  • Frontend em Next.js 15

Status: Implementação da Fase 2 do Roadmap concluída com sucesso!