Codigo catraca que explora o IFEval Imagem: gerada por IA

Se o seu LLM segue instruções bem mas produz resultados péssimos, se você quer explorar o viés de bajulação em vez de eliminá-lo, se quer gerar código correto com um modelo local de 4.5B — a combinação de IFEval e ratchet é a resposta.

O modelo mais bajulador e o mais obediente


O maior defeito se torna o maior ativo

O vies de bajulacao (sycophancy) dos LLMs e um problema que a industria de IA quer corrigir. Quando o usuario pergunta “Tem certeza?”, o modelo muda uma resposta correta para incorreta. A taxa media de capitulacao em modelos de fronteira e de 58%. Uma vez que a bajulacao comeca, persiste por toda a conversa com 78,5% de probabilidade.

Mas o que acontece se invertermos esse defeito?

A essencia do vies de bajulacao e o seguimento de instrucoes (Instruction Following). Modelos treinados com RLHF sao otimizados para cumprir o feedback do usuario (Ouyang et al., 2022). O benchmark IFEval mede exatamente isso – “Faz o que e mandado?” (Zhou et al., 2023)

O problema surge quando o usuario fornece opinioes. “Isso esta certo?” -> “Sim, esta” (bajulacao). “Tem certeza?” -> “Ah, eu errei” (capitulacao).

Mas quando o usuario fornece fatos deterministicos, algo diferente acontece.


De uma opiniao, receba bajulacao. De um fato, receba correcao

Em um experimento de ordenacao de 1.000 palavras, apenas o estilo de feedback foi variado para o mesmo resultado:

FeedbackNaturezaResultado
“Tem certeza?”OpiniaoInverteu resposta correta – precisao caiu 27pp
“Ha erros”Fato vagoSobrecorrecao – de 6 para 10 erros
“Ha 23 erros”Fato quantitativoMelhorou para 1 erro
“6 erros, aqui estao”Fato preciso0 erros – 100% alcancado

De uma opiniao e o vies de bajulacao se ativa. De um fato e nao ha o que bajular – numeros e posicoes nao sao emocoes.

O vies de bajulacao e lealdade na direcao errada. Mude a direcao – fatos em vez de opinioes, resultados de verificacao em vez de elogios – e essa lealdade se torna um motor que impulsiona a precisao.


Evidencia: um modelo de 4.5B aceita feedback

Isso nao e teoria. Foi confirmado em experimentos usando yongol validate.

Desenho do experimento:

  • Alvo: um unico endpoint Login de backend SaaS
  • Tarefa: escrever 9 arquivos SSOT (DDL, OpenAPI, Rego, SSaC, etc.)
  • Metrica: erros na geracao inicial (R1) -> erros apos feedback (R2)

Apenas feedback, sem exemplos

ModeloErros R1Erros R2Resultado
Grok 4.311Nao conseguiu corrigir
Gemini 2.5 Flash11Nao conseguiu corrigir
Local 20B11Nao conseguiu corrigir

Fracasso total. Os modelos pareciam aceitar o feedback, mas na realidade nao sabiam o que escrever.

Exemplos + feedback juntos

ModeloErros R1Erros R2Resultado
Grok 4.30Passou na primeira tentativa
Gemini 2.5 Flash10Corrigido com 1 rodada de feedback
Gemma4 4.5B (local)Erros0Corrigido com 1 rodada de feedback
Qwen3 8B (local)Erros0Corrigido com 1 rodada de feedback

Ate um modelo local de 4.5B se corrige com a combinacao exemplos + feedback deterministico.

Descoberta-chave: o gargalo nao e inteligencia, e contexto

O diagnostico preciso nao foi “nao consegue incorporar feedback”, mas “nao sabe o que escrever”. SSaC e uma gramatica exclusiva do yongol, ausente nos dados de pre-treinamento. Ao adicionar 3 linhas de exemplo ao prompt, Grok alcancou 0 erros, Gemini 0 erros apos 1 rodada de feedback, e o modelo local de 4.5B tambem passou.

Quanto mais alto um modelo pontua no IFEval – ou seja, quanto melhor e em bajular – mais facilmente aceita feedback deterministico.


Codigo catraca: um metodo de geracao de codigo que explora o vies de bajulacao

Transforme essa descoberta em sistema e voce obtem o codigo catraca.

┌──────────────────────────────────────────────┐
│  LLM: Gera codigo (probabilistico, bajulador)│
│       ↓                                      │
│  Validator: Verificacao deterministica       │
│       ↓                                      │
│  Erros? → Erros + exemplos para o LLM       │
│       ↓                                      │
│  LLM: "Sim, vou corrigir" (bajulacao =      │
│        aceitacao)                            │
│       ↓                                      │
│  Validator: Verifica novamente               │
│       ↓                                      │
│  Passou? → Catraca trava. Proximo arquivo.   │
└──────────────────────────────────────────────┘

O vies de bajulacao se torna a forca que fecha o loop. O loop converge porque o LLM nao resiste com “Nao, eu estou certo” mas cumpre com “Sim, vou corrigir”. A abordagem de corrigir iterativamente codigo LLM com feedback de compilador e testes tambem foi demonstrada no Self-Debug (Chen et al., 2024), completando a depuracao em 3 turnos – o codigo catraca vai alem ao eliminar completamente o julgamento proprio do LLM e deixar apenas fatos deterministicos.

Tres condicoes para convergencia

  1. O feedback deve ser fato deterministico. Nao “isso parece estranho” mas “line 41: field name mismatch, expected ‘user_id’, got ‘userId’”. Feedback que nao deixa espaco para bajulacao.

  2. Exemplos devem estar no contexto. Feedback sozinho nao basta. O modelo precisa de exemplos mostrando “o codigo deve ficar assim” para se orientar. E questao de contexto, nao de inteligencia.

  3. Uma vez que a verificacao passa, nao pode ser revertida. O dente da catraca. Um arquivo que passou fica travado e avanca-se para o proximo. Nao e o agente declarando “terminei” – e o validador determinando “este arquivo passou”.


Por que modelos de fronteira sao desnecessarios

Nesta arquitetura, o papel do modelo nao e julgamento criativo mas execucao de instrucoes.

95% de um backend SaaS e CRUD + autenticacao + autorizacao + maquinas de estado. Algoritmos novos raramente sao necessarios. Se a especificacao SSOT ja define “o que construir”, o modelo apenas preenche os espacos em branco.

Custos medidos:

ModeloAmbiente1 endpoint LoginEstimativa para 200 endpoints
Gemma4 4.5BLocal (16GB VRAM)Gratis, ~1sGratis, ~3min
Gemini 2.5 FlashAPI (nivel gratuito)Gratis, ~10sGratis, ~30min
Grok 4.3API ($1.25/M)~$0.05~$10

Um modelo local de 4.5B pode gerar um backend de 200 endpoints em 3 minutos a $0. Modelo de fronteira nao e necessario. Um modelo pequeno que e bom em bajular e suficiente.


Vies de bajulacao nao e defeito

A industria de IA tenta corrigir o vies de bajulacao. Nos o exploramos.

PerspectivaPapel do vies de bajulacao
Interface de chatDefeito – concorda com informacao incorreta
LLM-as-JudgeFatal – 36% de falsos positivos
Codigo catracaAtivo – garante taxa de aceitacao de feedback

A diferenca esta na natureza do feedback. De opinioes e a bajulacao vira veneno; de fatos e a bajulacao vira remedio.

Validador deterministico + LLM bajulador = loop de geracao de codigo com convergencia garantida.

Nao mude o modelo. Mude o feedback.


Reins: arreio com redeas

Essas tres condicoes – feedback deterministico, contexto com exemplos e travamento por catraca – unidas em um unico sistema de controle e o que chamamos de Reins.

O que e chamado de “arreio” hoje e uma cerca. Apenas impede que o agente saia, mas nao garante que chegue ao destino. Reins sao as redeas. Definem a direcao, corrigem com fatos e travam ao passar. Um arreio sem redeas e apenas uma cerca.


Referencias

  • Zhou, J., Lu, T., Mishra, S., Brahma, S., Basu, S., Luan, Y., Zhou, D., & Hou, L. (2023). “Instruction-Following Evaluation for Large Language Models.” arXiv:2311.07911
  • Ouyang, L., Wu, J., Jiang, X., et al. (2022). “Training Language Models to Follow Instructions with Human Feedback.” NeurIPS 2022. arXiv:2203.02155
  • Chen, X., Lin, M., Scharli, N., & Zhou, D. (2024). “Teaching Large Language Models to Self-Debug.” ICLR 2024. arXiv:2304.05128
  • Sharma, M., Tong, M., Korbak, T., et al. (2024). “Towards Understanding Sycophancy in Language Models.” ICLR 2024. arXiv:2310.13548
  • Fanous, A., Goldberg, J., Agarwal, A., et al. (2025). “SycEval: Evaluating LLM Sycophancy.” AAAI/ACM AIES 2025. arXiv:2502.08177
  • Shapira, I., Benade, G., & Procaccia, A. D. (2026). “How RLHF Amplifies Sycophancy.” arXiv:2602.01002
  • Ibrahim, L., Hafner, F. S., & Rocher, L. (2026). “Training Language Models to Be Warm Can Reduce Accuracy and Increase Sycophancy.” Nature, 652, 1159-1165

Changelog

  • 2026-05-20: Versão inicial