❌ Simulacao = Falha do sistema
Se a IA simula fazer algo ao inves de realmente fazer, o sistema falhou.
Exemplos de simulacao
❌ Falha: "Aqui esta o codigo que faria a consulta ao banco..."
IA descreve o que faria ao inves de executar
❌ Falha: "Vou criar um arquivo chamado relatorio.pdf..."
IA anuncia acao sem produzir artefato real
✓ Sucesso: Sistema executa query e retorna dados reais
Acao concreta com resultado verificavel
❌ Placeholders = Falha do sistema
Qualquer output com placeholders ou conteudo incompleto e uma falha.
Detectando placeholders
# Padroes que indicam placeholder
placeholder_patterns = [
"[INSERIR_AQUI]",
"{{NOME_DO_USUARIO}}",
"...",
"[TODO]",
"Lorem ipsum",
"[exemplo]",
"XXX",
"[preencher]"
]
def validate_output(content: str) -> bool:
for pattern in placeholder_patterns:
if pattern.lower() in content.lower():
raise ValidationError(f"Placeholder detectado: {pattern}")
return True
💡 Regra de Ouro
Se o output precisa de edicao humana para ser utilizavel, o sistema nao cumpriu sua funcao.
❌ Dados ficticios = Falha do sistema
IA que inventa dados em vez de usar dados reais e uma falha critica.
Dados ficticios
- ✗Estatisticas inventadas
- ✗Citacoes falsas
- ✗Nomes de pessoas/empresas inventados
- ✗Datas aproximadas
- ✗Valores "tipicos" em vez de reais
Dados validos
- ✓Dados do banco de dados
- ✓Informacoes do contexto injetado
- ✓Dados de APIs externas
- ✓Informacoes do request
- ✓"Nao sei" quando nao sabe
✅ Criterios de sucesso
Um output e bem-sucedido quando:
- ✓Completo: Nao requer edicao humana para uso
- ✓Real: Todos os dados sao verificaveis
- ✓Executado: Acoes foram realmente realizadas
- ✓Rastreavel: Origem de cada dado e clara
- ✓Conforme: Segue as restricoes da persona
🔍 Validacao de outputs
class OutputValidator:
def validate(self, output: dict) -> ValidationResult:
errors = []
# 1. Verificar completude
if self.has_placeholders(output):
errors.append("Output contem placeholders")
# 2. Verificar dados reais
if self.has_fictional_data(output):
errors.append("Output contem dados ficticios")
# 3. Verificar schema
if not self.matches_schema(output):
errors.append("Output nao segue schema esperado")
# 4. Verificar restricoes da persona
if not self.respects_constraints(output):
errors.append("Output viola restricoes da persona")
return ValidationResult(
success=len(errors) == 0,
errors=errors
)
🛠️ Tratamento de erros
Quando uma falha e detectada, o sistema deve tratar adequadamente.
Estrategias de tratamento
1. Retry com contexto adicional
Fornecer mais informacoes e tentar novamente
2. Fallback para modelo diferente
Usar modelo mais capaz se o atual falhar
3. Falhar explicito
Retornar erro claro ao usuario se nao for possivel completar
⚠️ Nunca faca isso
Nunca retorne um output parcial ou com problemas fingindo que esta correto. E melhor falhar explicitamente do que entregar lixo silenciosamente.