11

Mecanismo rigoroso de aceitação e herança histórica

AI999第6课:系统级持续演化:Genesis 与软件世界的沉淀
00:00

Quando o poder computacional abre a porta para a geração de candidatos, surge um novo desafio:Com que direito as alterações geradas automaticamente por um Agent podem ser gravadas no tronco principal do projeto?O mecanismo rigoroso de aceitação e herança histórica desacopla completamente ageraçãodaadoção— qualquer código submetido por um Agent é apenas umcandidato a alteração (candidate patch)e só poderá ser reconhecido como parte da história do projeto depois de passar por um conjunto de portões de validação.

Alteração candidata → quatro portões de aceitação → bifurcação: tronco principal / rejeiçãoGeração dissociada da adoção: alterações não validadas não podem ser gravadas no tronco principalFila de alterações candidatasEnviado pelo Agent · não confiável por padrãoCandidato AA validarCandidato BA validarCandidato CA validarCandidato DA validarPrincípio do status de candidato por padrãoIsolamento estrito em relação ao tronco principalEliminar o «gerar e já armazenar»Quatro portões de aceitação · custo crescente · falhar o quanto antes1Portão de compilaçãoSintaxe e interfaces compiláveis · custo mais baixo, eliminação mais rápidaCusto2Portão de testesTestes unitários / de integração aprovados · cobertura dos contratos existentesCusto3Portão de verificação de comportamentoConsistência semântica · tolerância, equivalência e comparação de regressãoCusto4Aceitação de alto nívelDesempenho · speedup · manutenibilidadeCustoAprovado em todos os quatro portões → gravar no tronco principal✕Rejeição · área de arquivo de falhasQualquer portão reprovado transfere o candidato para esta área· Retido como exemplo negativo e material de diagnóstico· Armazenado em isolamento, sem contaminar o tronco principal· A rejeição em si é uma filtragem de ruído· Evita repetir a exploração do mesmo beco sem saída✓Histórico de versões do tronco principalCadeia de evolução de acumulação monotônicaLinha de base v3 · ponto de partida de execução para os próximos AgentsLinha de base v2 · já sedimentadaLinha de base v1 · já sedimentadaHerança histórica: a linha de base já aceita torna-se o ponto de partida de execução para os próximos Agents

Princípio do status de candidato por padrão

A saída do Agent é considerada por padrão comoentrada não confiável: ela é estritamente isolada das versões já aceitas em termos de permissões, armazenamento e referências, não podendo ler nem escrever diretamente no tronco principal, tampouco ser tratada por outros módulos como dependência estável. O único objetivo desse princípio é eliminar o “gerar e já armazenar”. Somente após passar por todos os portões é que a alteração candidata adquire o mesmo status do tronco principal.

Quatro camadas de filtragem progressiva: custo crescente, falhar o quanto antes

  • Compilação: construção viável nos níveis de sintaxe e interface. Custo mais baixo e eliminação mais rápida, bloqueando de imediato as alterações claramente inviáveis.
  • Testes: testes unitários e de integração aprovados, cobrindo os contratos existentes.
  • Verificação de comportamento: consistência semântica e comportamental, incluindo tolerância numérica, equivalência e comparação de regressão, com foco em evitar a “deriva de comportamento com testes aprovados”.
  • Aceitação de alto nível: veredicto final orientado aos objetivos da tarefa e às restrições de engenharia, abrangendo avaliações de desempenho, speedup, manutenibilidade, entre outras.

Os portões são ordenados do menor para o maior custo, de modo que a grande maioria das alterações inválidas seja cortada nas etapas baratas, reservando a cara revisão de alto nível para um pequeno número de candidatos de alta qualidade — esta é a economia do “falhar o quanto antes”.

O valor da rejeição e a herança histórica

As tentativas reprovadas não entram no tronco principal, mas podem ser retidas comoarquivo de falhas / exemplos negativos, usadas para diagnóstico, deduplicação e prevenção de explorações repetidas — a rejeição em si é uma filtragem de ruído. Já as alterações aprovadas tornam-se a novaversão de linha de base, e os executores seguintes continuam a evoluir a partir dela, formando uma cadeia de evolução de acumulação monotônica, em vez de recomeçarem do zero a cada rodada. Como regra de fusão e contrato de qualidade para a colaboração multi-Agent e a decomposição recursiva de tarefas, o gateway de aceitação define “quem pode escrever na história”, determinando assim se o resultado da colaboração converge ou gera entropia. Em cenários com fortes restrições de correção, como a refatoração de compiladores e a atualização de software científico, este mecanismo demonstra altíssima confiabilidade e proporciona um speedup de execução considerável.

Limites de falha
A própria completude dos critérios de aceitação torna-se o novo gargalo: quando a cobertura de testes é insuficiente ou falta a verificação de comportamento, os portões liberam alterações “aprovadas na aceitação mas efetivamente nocivas”. Por isso, é preciso contar com métricas observáveis e amostragem manual como rede de segurança, além de reforçar continuamente os casos de regressão e a definição de tolerâncias.