Neste tutorial, construímos um sistema de agente avançado que vai além da simples geração de respostas, integrando um crítico interno e uma estrutura de estimação de incerteza. Simulamos inferência multi-amostra, avaliamos respostas candidatas em dimensões de precisão, coerência e segurança, e quantificamos a incerteza preditiva usando medidas de entropia, variância e consistência. Implementamos estratégias de seleção sensíveis ao risco para equilibrar confiança e incerteza na tomada de decisões. Através de experimentos estruturados e visualizações, exploramos como o raciocínio auto-consistente e a seleção com consciência de incerteza melhoram a confiabilidade e a robustez no comportamento do agente. Copiar Código Copiado Usar um navegador diferente import numpy as np import matplotlib.pyplot as plt import seaborn as sns from typing: List, Dict, Tuple, Optional from dataclasses: dataclass from collections: Counter import warnings warnings.filterwarnings('ignore') np.random.seed(42) print("=" * 80) print(" AGENTE COM CRÍTICO INTERNO + ESTIMAÇÃO DE INCERTEZA") print("=" * 80) print() @dataclass class Response: content: str confidence: float reasoning: str token_logprobs: List[float] def __repr__(self): return f"Response(content='{{self.content[:50]}}...', confidence={self.confidence:.3f})" @dataclass class CriticScore: accuracy_score: float coherence_score: float safety_score: float overall_score: float feedback: str def __repr__(self): return f"CriticScore(overall={self.overall_score:.3f})" @dataclass class UncertaintyEstimate: entropy: float variance: float consistency_score: float epistemic_uncertainty: float aleatoric_uncertainty: float def risk_level(self) -> str: if self.entropy < 0.5 and self.consistency_score > 0.8: return "BAIXO" elif self.entropy < 1.0 and self.consistency_score > 0.5: return "MÉDIO" else: return "ALTO" Definimos as estruturas de dados fundamentais que impulsionam nosso sistema de agente. Criamos contêineres estruturados para respostas, pontuações do crítico e estimativas de incerteza usando dataclasses. Estabelecemos reprodutibilidade e inicializamos os componentes centrais que nos permitem quantificar o risco e modelar a confiança. Copiar Código Copiado Usar um navegador diferente class SimulatedLLM: def __init__(self, model_quality: float = 0.8): self.model_quality = model_quality self.response_templates = { "math": [ "A resposta é {answer}. Isso é calculado por {reasoning}.", "{answer} é o resultado quando você {reasoning}.", "Por {reasoning}, obtemos {answer}.", "A solução é {answer} porque
Fonte: MarkTechPost
Publicado em 2026-03-10