Notas do Ciclo de Release — Parte III
Há um ano, antes de começarmos a construir nosso próprio pipeline de release, sentamos e listamos toda capacidade séria de QA e gestão de releases que achávamos que uma plataforma de LLM deveria entregar. Em seguida avaliamos doze outras plataformas contra essa lista — LangSmith, MLflow, Weights & Biases, Braintrust, Humanloop, Patronus, Arize, Phoenix, Confident, Deepchecks, SageMaker Deployment Guardrails, KServe, BentoCloud, Vertex AI Endpoints, Seldon Core. Ninguém tinha as doze. As combinações que eram entregues se agrupavam em três campos que não se encostavam.
Este post é a lista de capacidades resultante, em formato portátil. Está organizada por qual dos nossos quatro estágios de pipeline cada capacidade habita — Registrar → Gatear → Liberar → Observar — para compor de forma limpa com a arquitetura do pipeline e os modos de falha sobre os quais escrevemos. Se você está avaliando ferramentas, percorra a lista de cima para baixo contra cada candidato; aquelas com as lacunas mais profundas vão te dizer a que campo pertencem.
Os três campos (para você saber o que está olhando)
Antes do checklist em si, o formato do mercado em 2026:
- Campo de Eval-CI — Braintrust, Humanloop, Patronus. Rodam avaliadores automatizados no merge do PR. Bloqueiam merges ruins. Nunca tocam tráfego ao vivo. Fortes nas capacidades 4–6; ausentes nas 7–12.
- Campo de canário de serving — SageMaker Deployment Guardrails, KServe, Vertex AI Endpoints, BentoCloud, Seldon Core. Dividem tráfego, monitoram métricas de infraestrutura, fazem auto-rollback em alarmes estilo CloudWatch. Fortes em 1, 7, 9; ausentes no lado de qualidade de 8 e 10–12.
- Campo de observabilidade — Arize Phoenix, Confident AI, Deepchecks. Observam produção, alertam humanos, escalam. Fortes em 10 (monitoramento), mas não impõem nada — alertar não é auto-rollback.
A lacuna entre esses campos — entre “passou no CI” e “canário ao vivo pontuado por qualidade, não só por latência” — é a parte que todo mundo tem que costurar à mão. Fechar essa lacuna é a afirmação central deste post.
A costura faltante: gate de qualidade por fatia → rollback atômico dirigido pela qualidade da saída, não por métricas de infra.
Estágio ① — Registrar
Capacidade 1. Manifesto de release imutável com SHA endereçável por conteúdo
O que é: um release não é um arquivo de pesos do modelo. Um release é um pacote imutável de tudo — artefato do modelo, template de prompt, regras de roteamento, versão do dataset, versão de pré-processamento — endereçado por um único SHA-256. Duas pessoas implantando “o mesmo release” precisam produzir o mesmo SHA, ou o pipeline recusa.
Por que importa: sem isso, “qual mudança quebrou a produção?” é inrespondível quando o estado está espalhado em três sistemas. A queda da Atlassian em abril de 2022[1] levou doze horas por site para recuperar especificamente porque o estado vivia em sistemas versionados de forma independente que precisavam ser coordenados de volta a um acordo.
Quem entrega: campo de canário de serving parcialmente (modelo + roteamento); registries de modelo (MLflow, W&B Models[2]) parcialmente (apenas artefato do modelo). Quase ninguém empacota o template do prompt no SHA, que é exatamente o campo que mais muda.
Capacidade 2. Controle de versão atômico em todos os componentes do release
O que é: a troca do release A para o release B muda tudo em uma única instrução — pesos e prompt e roteamento e dataset e pré-processamento — não como cinco edições separadas num dashboard.
Por que importa: trocas parciais criam janelas de comportamento indefinido. Se o prompt atualiza mas a regra de roteamento ainda não, toda requisição que bate no novo prompt com a classe de roteamento antiga está num estado que ninguém planejou.
Quem entrega: ninguém integralmente. O campo de canário de serving troca a imagem do modelo atomicamente; o prompt e o roteamento normalmente vivem em outro lugar. A troca dirigida por manifesto é de onde vem a afirmação de rollback atômico do Divinci[5].
Capacidade 3. Paridade de ambiente entre treino e serving
O que é: o pipeline de pré-processamento usado na avaliação do gate é o mesmo pré-processamento que o servidor de produção usa. Se divergirem, todo número offline é mentira.
Por que importa: o skew entre treino e serving é uma das dez falhas de release sobre as quais escrevemos. O sintoma é “tem desempenho ótimo no eval, comporta-se como outro modelo em produção.” A cura é registrar o pré-processamento no manifesto e gatear contra a versão de pré-processamento de produção.
Quem entrega: frameworks de containerização (BentoML, KServe) ganham crédito parcial por colocar o pré-processamento junto do serving. Nenhum deles amarra o pré-processamento à entrada do gate de eval.
Estágio ② — Gatear
Capacidade 4. Gate de qualidade por fatia / por domínio
O que é: a decisão do gate consome scores por fatia — redação de contratos, interpretação estatutária, licenciamento de PI — não um único agregado. Qualquer fatia que caia abaixo do seu limiar marca o release como gate_fail, independentemente de como a média parece.
Por que importa: scores agregados lavam regressões localizadas. O texto de Tianpan sobre a Mentira do Semver[3] nomeia isso como o modo de falha dominante de release de LLM em 2026: um modelo que melhora na média enquanto colapsa silenciosamente numa classe de jornada do usuário.
Quem entrega: mais ninguém em 2026. Ferramentas de eval-CI — Braintrust, Humanloop, Patronus — pontuam contra uma rubrica global única ou uma lista plana de tarefas. Elas não expõem um limiar por fatia nem um override consciente de fatia. Esse é o primeiro lugar onde os campos deixam de se encontrar.
Capacidade 5. Juiz calibrado ancorado em humanos (ρ de Spearman vs. notas humanas)
O que é: o juiz não é um LLM-como-juiz genérico. É um juiz LLM cujo ρ de Spearman contra um painel de especialistas do domínio é medido e configurado por fatia. O juiz é escolhido porque os ranks dele batem com os ranks dos humanos, não porque tem boa reputação.
Por que importa: o MT-Bench[6] mostra que o GPT-4-como-juiz concorda com humanos em >80% no geral, com variância por categoria indo de código (86%) até escrita (36–44%). “Concordância geral” esconde as fatias onde o juiz não é confiável. Calibrar o juiz por fatia é a única forma honesta de tornar o scoring automatizado confiável.
Quem entrega: Braintrust, Humanloop, Patronus rodam avaliadores como juiz. Nenhum deles exige, expõe ou persiste uma calibração de Spearman ancorada em humanos por fatia. O pipeline de calibração do Divinci está documentado em Calibrando o Juiz de IA.
Capacidade 6. Caminho de override com justificativa escrita obrigatória
O que é: forçar override de uma falha de gate é permitido (cold starts, regressões aceitas etc.) mas exige dois campos — forceGateOverride: true E overrideReason: "...". A justificativa entra na trilha de auditoria junto com o ID do usuário. Sem overrides anônimos.
Por que importa: gates de governança não são uma feature de compliance separada; são uma propriedade do próprio estágio de gate. A trilha de auditoria tem que responder não só “esse override foi usado?” mas “qual era a justificativa naquele momento?” — porque o seu eu futuro precisa lê-la.
Quem entrega: ferramentas de eval-CI têm flags; nenhuma delas exige a justificativa como parte estrutural do override.
Estágio ③ — Liberar
Capacidade 7. Canário multi-checkpoint com dwell
O que é: o tráfego vai de 0% à produção via pelo menos três checkpoints — tipicamente 5% → 25% → 100% — e segura em cada um por um tempo de dwell configurado ou um número de requisições configurado, o que for mais tarde. Sem salto instantâneo de 0%→100%.
Por que importa: bugs de cauda longa aparecem em escala. Um bug que afeta 0,3% das conversas é invisível num eval de 100 prompts e óbvio em 5% do tráfego de produção. O dwell é o que dá ao canário tempo para enxergar a cauda longa.
Quem entrega: campo de canário de serving entrega isso. O AWS SageMaker Deployment Guardrails[4] documenta um TerminationWaitInSeconds padrão de 600 (dez minutos). KServe, BentoCloud, Seldon e Vertex expõem configurações de canário multi-passo similares. Essa é a capacidade saturada.
Capacidade 8. Monitor de qualidade de saída em cada checkpoint do canário
O que é: em cada checkpoint, o pipeline checa três monitores antes de avançar — latência p95, taxa de 5xx e um score de qualidade de saída computado pelo mesmo juiz calibrado da capacidade 5. Latência e 5xx sozinhos não bastam.
Por que importa: aqui os campos deixam de se encontrar de novo. SageMaker, KServe, Vertex, BentoCloud, Seldon, todos observam latência e taxa de erro. Nenhum deles entrega um monitor de qualidade de saída por checkpoint — porque não têm um juiz calibrado contra o qual pontuar. As ferramentas de eval-CI têm o juiz mas não sentam sobre o tráfego.
Quem entrega: ninguém completa a ponte. A infraestrutura do canário com dwell existe no campo de serving; o juiz calibrado existe no campo de eval-CI; não vimos ninguém conectar os dois.
Capacidade 9. Parada automática em violação de qualidade
O que é: um checkpoint de canário que falha em qualidade de saída para automaticamente. A promoção não avança. Nenhum acionamento humano é necessário para abortar o rollout.
Por que importa: humanos não estão no loop no prazo em que rollouts se movem. Quando o ticket do cliente chega, o checkpoint dos 25% já passou e a promoção para 100% já aconteceu.
Quem entrega: campo de canário de serving para por métricas de infraestrutura. A parada por métrica de qualidade é a parte que exige que a capacidade 8 exista.
Estágio ④ — Observar
Capacidade 10. Replay contínuo de traces de produção através do candidato
O que é: depois que o canário promove para 100%, o observador continua rodando. Ele amostra traces recentes de produção, replica-os pelo release candidato (agora ativo), pontua com o juiz calibrado e emite um score de qualidade por minuto. Contínuo, não periódico.
Por que importa: quedas silenciosas de qualidade — modelo titubeia, alucina uma data com confiança, recusa onde não deveria — nunca movem latência ou 5xx. O único sinal que você recebe pra esses casos é o ticket do cliente, que é o pior sinal possível. Um monitor contínuo de qualidade pega isso em minutos de um dígito.
Quem entrega: ninguém. O campo de observabilidade (Arize, Phoenix, Confident, Deepchecks[7]) monitora a saída de produção mas não impõe nada. O campo de canário de serving observa infra. O campo de eval-CI não senta sobre o tráfego. O loop fechado — traces de produção → juiz calibrado → imposição — é a costura faltante.
Capacidade 11. Rollback atômico em segundos, não em minutos
O que é: quando o observador dispara (três minutos consecutivos abaixo do limiar, digamos), o rollback executa automaticamente. O rollback re-aponta o roteamento para previous_release no manifesto. Como o release anterior era um manifesto totalmente empacotado, todo componente é trocado atomicamente. Ponta a ponta incluindo drain de requisições em voo num serviço de ~100 réplicas: cerca de 12 segundos[5].
Por que importa: a queda da Cloudflare em junho de 2022[8] levou 44 minutos para reverter. A causa não foi o revert em si — foi que os engenheiros passaram por cima dos reverts uns dos outros porque o estado estava espalhado. Rollback dirigido por manifesto é instrução única; não pode ter esse modo de falha.
Quem entrega: campo de canário de serving entrega rollback rápido de infraestrutura (disparado por alarme, blue-green flip). A diferença arquitetural é se o gatilho é apenas de infra ou consciente de qualidade (capacidade 10).
Capacidade 12. Recibo de compliance encadeado por hash e ancorável externamente
O que é: toda decisão de release — register, gate-pass, gate-fail, gate-override, checkpoint-promote, auto-rollback — emite um recibo JSON-com-SHA-256, encadeado por hash ao recibo anterior daquele cliente e ao recibo anterior daquele release. A cadeia é ancorada externamente num cronograma que o cliente configura.
Ressalva de pesos abertos. Quando o release é respaldado por um modelo de pesos abertos (Gemma, Qwen, Llama, Mistral, GPT-OSS), o recibo embute uma vIndex weight-attestation — uma prova de que os pesos ativos no momento da decisão são os pesos que o manifesto registrou. Quando o release é respaldado por um modelo de API fechada (OpenAI, Anthropic, Google via APIs opacas), o recibo cobre a cadeia de decisão mas não pode reivindicar proveniência dos pesos, porque o provedor não expõe pesos. O recibo diz isso explicitamente. Esse é o limite do que é verificável.
Por que importa: indústrias reguladas recebem logs hoje. O EU AI Act e o NIST AI RMF[9] pedem cada vez mais provas. Um recibo encadeado por hash é a diferença entre “temos um log” e “um auditor pode verificar a cadeia sem confiar no nosso log.”
Quem entrega: mais ninguém. Essa é a parte da diferenciação que mapeia diretamente à página de compliance existente do Divinci — mesmo formato de recibo, estendido a decisões de release.
As 12 capacidades, por campo de plataforma
O padrão é a questão. Cinco capacidades — gate por fatia, juiz calibrado, monitor de qualidade do canário, replay em loop fechado, recibo encadeado por hash — aparecem como ✗ em todos os outros campos. Essa é a costura. As outras sete se distribuem pelos campos de formas que fazem cada campo internamente coerente, mas mutuamente incompletos.
O que torna o QA de modelos de linguagem customizados diferente do QA de software?
LLMs não são determinísticos, nem em temperatura zero — batching e diferenças de hardware causam variação na saída. Essa única propriedade quebra a maioria das hipóteses sobre as quais o QA tradicional foi construído:
- Você não consegue escrever asserções
expect(output).toEqual(X). Você precisa de uma avaliação consciente de distribuição que consuma correlação de rank contra um avaliador ancorado em humanos, não igualdade contra um fixture. É isso que é a capacidade 5. - Um modelo pode passar numa checagem agregada de qualidade e falhar numa fatia. É por isso que a capacidade 4 existe separadamente. Se seu eval não fatia, ele não pega regressões conscientes de fatia.
- Falhas de qualidade são silenciosas na camada de infraestrutura. Latência e 5xx ficam limpos enquanto o modelo titubeia ou alucina. As capacidades 8 e 10 existem porque nenhum monitor do lado da infraestrutura consegue enxergar isso.
- Rollback não é opcional. Como os modos de falha são probabilísticos e alguns são silenciosos, o caminho de rollback tem que ser infraestrutura primária, não plano B. A capacidade 11 é o que torna “12 segundos” factível; a capacidade 2 é o que o torna correto.
Uma plataforma de QA e release que não considera esses quatro fatos está entregando CI/CD de software determinístico com um logo de LLM colado em cima. O mercado faz muito isso.
Como trilhas de auditoria sustentam compliance de IA, na prática?
A lacuna de compliance mais comum que vemos — quando um auditor chega seis meses depois do deploy e pergunta “qual versão do modelo estava rodando em 15 de março, e quem aprovou esse release?” — não é “não temos logs.” É “temos logs espalhados por cinco sistemas e as linhas do tempo não batem.”
Um recibo de compliance (capacidade 12) resolve isso transformando o próprio log num artefato portátil: encadeado por hash, fonte única, ancorável externamente. Um auditor pode verificar a cadeia sem confiar na nossa infraestrutura. Essa é a diferença entre “temos registros” e “os registros são prováveis.”
Para releases respaldados por modelos de pesos abertos, o recibo também inclui uma weight-attestation — uma prova criptográfica de que os pesos ativos são os pesos que o manifesto registrou. Isso satisfaz pedidos mais difíceis (direito ao apagamento do Artigo 17 do GDPR, proveniência do EU AI Act) porque você consegue provar não só o que foi implantado mas que os pesos subjacentes são o que afirmam ser.
Para releases respaldados por API fechada — quando o modelo é servido atrás de uma API opaca e os pesos não são expostos — o recibo cobre a cadeia de decisão mas não pode reivindicar proveniência de pesos. Dizemos isso no recibo explicitamente em vez de implicar uma prova que não podemos entregar. É o limite do que é verificável quando o provedor mantém os pesos internos.
O que este checklist não resolve
Três limitações honestas:
Capacidades não são checkboxes por si só. Uma plataforma que entrega as doze de forma ruim é pior do que uma que entrega oito bem. O checklist é um ponto de partida para avaliação, não um scorecard para RFPs de fornecedor.
O recorte competitivo é 2026 e vai mudar. Daqui a seis meses alguns dos ✗ acima vão virar — concorrentes vão ler postmortems e fechar lacunas. Se você lê este post em 2027, audite as marcas você mesmo antes de acreditar nelas.
Algumas capacidades dependem de outras. A capacidade 8 (monitor de qualidade do canário) exige a capacidade 5 (juiz calibrado). A capacidade 10 (replay de traces em loop fechado) exige as duas. Uma plataforma que entrega 8 sem 5 está entregando um placebo — o monitor do canário existe mas não está ancorado em nada confiável.
FAQ
Qual é a capacidade de QA mais importante para releases de LLM customizado?
Um gate de qualidade por fatia (capacidade 4) — ou seja, a decisão de release consome scores de Spearman por domínio contra um avaliador ancorado em humanos, não um único agregado global. Scores agregados lavam regressões localizadas, e regressões localizadas são o modo de falha dominante em releases de LLM em 2026[3]. Se você só pode entregar uma capacidade desta lista, entregue a 4. Depois entregue a 5, que é o que faz a 4 ser confiável.
Como avaliar uma plataforma de QA de LLM sem rodá-la por seis meses?
Aplique o checklist de 12 capacidades acima à documentação do fornecedor, com dois testes específicos. Primeiro, peça que o fornecedor mostre o output do gate por fatia para um dos seus clientes de referência — se eles só tiverem scores agregados, não têm a capacidade 4. Segundo, pergunte o que dispara o auto-rollback deles — se a resposta for “latência, taxa de erro e nossos alarmes,” eles estão no campo de canário de serving e a capacidade 10 está faltando.
Qual é a diferença entre ferramentas de eval-CI e ferramentas de gestão de releases?
Ferramentas de eval-CI (Braintrust, Humanloop, Patronus) rodam avaliadores automatizados no merge do PR e bloqueiam merges ruins. Elas nunca tocam tráfego ao vivo. Ferramentas de gestão de releases (esta categoria) são donas do manifesto de release, do canário, do observador e do caminho de rollback. Eval-CI é parte de um fluxo de gestão de releases mas não é substituto para ele. Muitos times entregam uma das duas e descobrem a lacuna quando uma regressão que passou no CI bate em produção silenciosamente.
Quão rápido o rollback deveria ser?
Ordem de grandeza de segundos, não de minutos. O tempo médio de rollback no pipeline do Divinci é cerca de 12 segundos — isso é o drain de requisições em voo num serviço de ~100 réplicas, não a troca do manifesto em si, que é sub-segundo. Compare com o incidente da Cloudflare em junho de 2022[8], que levou 44 minutos para reverter porque o estado estava espalhado por vários sistemas. A decisão arquitetural que torna segundos-não-minutos possível é o manifesto de release empacotado (capacidades 1 e 2).
Por que recibos de compliance importam mais do que logs de compliance?
Um log é algo que você escreveu. Um recibo é algo que um auditor pode verificar sem confiar em você. O EU AI Act e o NIST AI RMF[9] distinguem cada vez mais entre os dois — “documentado” não é o mesmo que “provável,” e a direção regulatória aponta para o segundo. Um recibo encadeado por hash e ancorado externamente é a tecnologia mais simples disponível para cruzar essa linha.
References
- Atlassian PIR April 2022. Post-Incident Review: April 2022 Outage. "The accelerated Restoration 2 approach took approximately 12 hours to restore a site." Citado pela capacidade 1 — o que é estado espalhado em vários sistemas em escala.
- W&B Models / MLflow registry. Weights & Biases Registry e MLflow Model Registry. O lado da capacidade 1 que só cobre o artefato do modelo. Nenhum dos dois entrega registro de template de prompt.
- The Semver Lie. Tianpan — The Semver Lie: how an LLM minor update breaks production (abril de 2026). Nomeia o modo de falha de regressão por fatia como o padrão dominante de 2026. Companheiro: LLM postmortem template — fields SRE missed. Âncora da capacidade 4.
- SageMaker Deployment Guardrails. Use canary traffic shifting e Auto-Rollback Configuration.
TerminationWaitInSecondspadrão de 600 (dez minutos), máximo 1800 (trinta minutos). O canário com métrica de infraestrutura padrão contra o qual o post contrasta nas capacidades 8 e 10. - Interno — flip atômico de roteamento via manifesto de release. O tempo de rollback de ~12 segundos é o drain de requisições em voo num serviço de ~100 réplicas; a troca do manifesto em si é sub-segundo. O número é do nosso próprio serviço, não um benchmark. A arquitetura que torna isso possível é o manifesto empacotado da capacidade 1.
- Variância por categoria do LLM-como-juiz. Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (NeurIPS 2023). >80% de concordância geral GPT-4 vs. humanos, com variância por categoria de código (86%) a escrita (36–44%). Âncora da capacidade 5 — por que um juiz calibrado precisa ser por fatia.
- Comparação do campo de observabilidade. Arize Phoenix, comparação de 2026 da Confident AI sobre ferramentas de observabilidade. Todas entregam monitoramento e alerta; nenhuma impõe rollback. Âncora do enquadramento "monitora sem impor" da capacidade 10.
- Cloudflare June 2022 outage. Cloudflare outage on June 21, 2022. "06:58: Root cause found and understood. Work begins to revert the problematic change… 07:42: The last of the reverts has been completed." 44 minutos de "sabemos o que reverter" até revert completo, em parte porque engenheiros passaram por cima dos reverts uns dos outros. Âncora da capacidade 11.
- NIST AI Risk Management Framework. NIST AI RMF. Governance, mapping, measurement, management — as quatro funções centrais às quais a capacidade 12 mapeia. Mais os requisitos de proveniência do EU AI Act em artificialintelligenceact.eu. Âncora da capacidade 12.
Próximo na série: Validando e Liberando LMs Customizados em Áreas Reguladas. O checklist de capacidades acima é genérico. O próximo post é específico: o EU AI Act, o Artigo 17 do GDPR, HIPAA e o NIST AI RMF — o que cada um pede de um processo de release, quais capacidades acima cobrem qual requisito e onde a divisão entre pesos abertos / pesos fechados de fato muda a história de compliance.
Pronto para Construir a sua Solução de IA Personalizada?
Descubra como a Divinci AI pode ajudar a implementar sistemas RAG, automatizar a garantia de qualidade e simplificar o seu processo de desenvolvimento de IA.
Comece Hoje
