MODULO 2.9

❌ Filosofia de Falha

Definindo o que constitui falha do sistema e como garantir outputs reais e validados.

6
Topicos
~25
Minutos
Interm.
Nivel
Principio
Tipo
1

❌ 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

2

❌ 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.

3

❌ 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
4

✅ 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
5

🔍 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
        )
6

🛠️ 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.

📝 Resumo do Modulo

Simulacao - IA descrevendo ao inves de fazer
Placeholders - Conteudo incompleto
Dados ficticios - Informacoes inventadas
Sucesso - Output completo, real, executado