ADR-0003: Inferência LLM determinística e paridade de prompts¶
- Status: Aceito
- Data: 2026-06-14
Contexto¶
A Seção de Registro Experimental do Cap. 4 exige especificação de hiperparâmetros de inferência e montagem
de prompts para os modos mcp e baseline-static. A revisão metodológica (revision-control.md §4.1–4.2)
identifica ausência de system prompt versionado e de temperature fixada como principal confound operacional
na comparação MCP vs baseline.
Decisão¶
- Fixar
temperature = 0na campanha v1 comgemini-3.5-flash(baseline e MCP quando aplicável). - Não definir
topPquandotemperatureestiver fixada (política Spring AI). - Fixar
maxOutputTokens = 4096por request na v1. - Publicar templates versionados em Manifesto de prompts v1 com bloco
system-shared-v1.mdidêntico entre modos (regra de paridade anti-alucinação). - Estender
context.jsoncompromptVersion,inferenceConfig,promptArtifactsepromptArtifactsHash(schema Schema context.json v1). - Para
gpt-5.4-nano(MCP): registrartemperatureSupported: falsee omitirtemperatureno request, conforme limitação dos modelos GPT-5 de raciocínio. - Documentação canônica: Inferência e prompts.
Consequências¶
Positivas¶
- Reduz variância estocástica não controlada entre corridas e entre modos.
- Isola a variável experimental «MCP vs DDL estático» das diferenças de prompt instrucional.
- Permite auditoria via hash dos templates e registro em
context.json.
Negativas¶
- APIs comerciais não garantem determinismo total mesmo com
temperature=0eseed— variância residual deve ser declarada na metodologia. - Templates v1 exigem revisão humana antes do congelamento da campanha.
- GPT-5 nano impõe assimetria documentada na configuração de inferência.
Alternativas avaliadas¶
temperaturedefault do provedor (0,7 no Gemini via Spring AI): rejeitada — introduz aleatoriedade desnecessária em geração de SQL.- Prompts distintos sem bloco compartilhado: rejeitada — confound de engenharia de prompt.
- Omitir registro em
context.json: rejeitada — impede reprodutibilidade exigida pelo protocolo.