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:
```python
# 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":
```python
# 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:
```python
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:
```python
# Conversational memory for dialogue
self.conversational_memory = ConversationalMemory()
```
#### Suporte a Chat no process_message():
```python
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`
```python
from .drummond import CommunicationAgent
__all__ = [
# ...
"CommunicationAgent",
# ...
]
```
## 5. Exemplos de Uso
### Conversação Básica:
```python
# 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:
```python
# 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!