71 lines
2.3 KiB
Markdown
71 lines
2.3 KiB
Markdown
# ClientFlow v4928.1.5.4 — LLM-first Reply Assistant
|
|
|
|
## Objetivo
|
|
|
|
Corrige a direção da versão anterior para evitar evolução excessivamente rule-based. As regras determinísticas passam a ser guardrails objetivos e o LLM/OpenRouter, quando ativo, passa a interpretar a intenção comercial/técnica e a gerar o rascunho com conhecimento BLIF.
|
|
|
|
## Principais alterações
|
|
|
|
- Adicionado modo `CLIENTFLOW_REPLY_LLM_FIRST_ENABLED=true`.
|
|
- Novo template neutro `LLM_BUSINESS_REPLY` para respostas geradas por LLM.
|
|
- Novo `classify_reply_guardrail()` apenas para guardrails objetivos:
|
|
- bounces/email devolvido;
|
|
- respostas automáticas/out-of-office;
|
|
- pedidos RGPD/unsubscribe;
|
|
- atualização de contacto.
|
|
- O `classify_reply_intent()` antigo continua disponível como fallback determinístico quando LLM está desligado.
|
|
- Novo `MessageCleaner` reforçado para remover:
|
|
- histórico citado;
|
|
- headers de email;
|
|
- assinaturas;
|
|
- disclaimers;
|
|
- rodapés que contaminavam suporte/IVA.
|
|
- Prompt OpenRouter reformulado para interpretar primeiro a necessidade real do cliente.
|
|
- Contexto LLM passa a incluir:
|
|
- mensagem limpa;
|
|
- cliente;
|
|
- oportunidade;
|
|
- documentos selecionados;
|
|
- conhecimento BLIF relevante;
|
|
- catálogo estruturado de produtos/acessórios;
|
|
- tipos de resposta permitidos.
|
|
- Normalização LLM inclui:
|
|
- `intent`;
|
|
- `reply_type`;
|
|
- `requires_attachment`;
|
|
- `confidence`;
|
|
- `customer_need`;
|
|
- `recommended_next_action`;
|
|
- `knowledge_used`;
|
|
- `warnings`.
|
|
- Se o LLM falhar em modo LLM-first, a tarefa fica bloqueada para revisão manual, em vez de sugerir uma resposta genérica.
|
|
- O script de auditoria passa a mostrar intenção/necessidade/confiança do LLM.
|
|
|
|
## Segurança mantida
|
|
|
|
- O LLM não envia mensagens automaticamente.
|
|
- O operador continua a rever/enviar.
|
|
- O validador continua a bloquear promessas proibidas de instalação, anexos/documentos errados e preços suspeitos.
|
|
- Sem OpenRouter ativo, o sistema regressa a fallback seguro/determinístico.
|
|
|
|
## Configuração
|
|
|
|
```env
|
|
CLIENTFLOW_REPLY_LLM_ENABLED=false
|
|
CLIENTFLOW_REPLY_LLM_FIRST_ENABLED=true
|
|
CLIENTFLOW_REPLY_LLM_MODEL=
|
|
OPENROUTER_API_KEY=
|
|
```
|
|
|
|
Para auditar com LLM:
|
|
|
|
```bash
|
|
python scripts/audit_task_reply_suggestions.py --status pending --use-llm --format markdown --out /tmp/task_reply_audit_llm.md
|
|
```
|
|
|
|
## Validação
|
|
|
|
```text
|
|
249 passed
|
|
```
|