Insights

Refatoração com IA sem perder exatidão

Publicado em

Refatorar legado com agentes de código pode acelerar a escrita. O que decide se o ganho vale é outra coisa: exatidão — o sistema novo precisa se comportar como o antigo onde o negócio ainda depende dele. Velocidade sem exatidão só antecipa o incidente.

A tese é direta: em refatoração de legado, exatidão vem antes da velocidade. Três práticas sustentam isso — testes de caracterização contra o comportamento em produção, humanos do time que leem o que entra, e sessão registrada do pedido à promoção. Com supervisão e trilha, a velocidade vira resultado auditável; sem elas, vira dívida opaca.

Para quem é este artigo

Para o CTO e o head de engenharia que já viram assistentes de IA escreverem diffs rápidos — e perguntam como garantir que a fatia refatorada não muda a regra que o negócio ainda usa. Também serve quem chegou por Modernizar o legado sem parar a operação ou por Observabilidade de agentes de código e quer o ângulo da exatidão antes de pedir implantação. Não substitui a oferta comercial nem o case Dr. Consulta.

O risco que a velocidade esconde

Em legado crítico, a documentação envelheceu e quem escreveu saiu. O que ainda vale das regras do negócio está no sistema que roda hoje. Um agente de código que “reescreve melhor” sem âncora nesse comportamento pode mudar regra silenciosa, acelerar o backlog errado ou apagar a história da sessão — sem pedido, passos, modelo, custo, resultado e autoria, o time não reconstitui o que foi aceito nem quem promoveu.

Nenhum desses riscos é argumento contra agentes de código. São argumentos a favor de um desenho em que a plataforma de desenvolvimento agentic obriga conferência, leitura e trilha — o nível 4, não dark factory. O contraste com o nível 5 está em O que é uma dark factory.

Exatidão antes da velocidade

A frase da oferta de legado vale como critério desta peça: velocidade e custo aparecem primeiro; exatidão decide se os dois valem alguma coisa.

Na prática, a ordem do trabalho muda:

Prioridade falsaPrioridade útil
“Quantas linhas o agente escreveu?”“A fatia nova replica o comportamento do antigo nos pontos que o negócio ainda usa?”
“Em quantos dias a feature saiu?”“Antes de entrar, houve conferência contra o sistema em produção?”
“A IA escreveu sozinha?”“O time leu o que vai para produção — e a sessão ficou registrada?”

Exatidão, aqui, não é “código bonito” nem “zero bugs para sempre”. É fidelidade ao comportamento que ainda atende — medida, revisada e atribuível — enquanto o substituto nasce ao lado.

Testes de caracterização: ancorar o que o legado faz

Antes de reescrever, o time precisa de uma âncora do comportamento atual. A prática clássica são os testes de caracterização (characterization tests), descritos por Michael C. Feathers em Working Effectively with Legacy Code: testes que documentam o que o sistema faz hoje, não o que a documentação diz que deveria fazer.

Em refatoração com agentes de código, isso vira rotina:

  1. Ler — código, documentação e dados anonimizados entram na Knowledge base antes de qualquer linha nova.
  2. Caracterizar — a fatia escolhida ganha testes (ou oráculos) que fixam respostas, efeitos colaterais e invariantes observados em produção.
  3. Construir ao lado — agentes de código escrevem o substituto; o sistema antigo continua atendendo.
  4. Conferir — a fatia nova é comparada ao comportamento do antigo (e aos testes de caracterização), não ao que a documentação envelhecida pede.
  5. Trocar por partes — só entra o que foi conferido; a próxima fatia começa depois.

O passo “caracterizar” impede a IA de “melhorar” o sistema mudando a regra. Sem ele, “refatoração com IA” vira reescrita otimista. O método completo (ler → ao lado → conferir → trocar) está em Modernizar o legado sem parar a operação. Aqui o ponto educacional é único: sem caracterização, não há como falar em exatidão.

Humanos leem o que entra

Agentes de código executam a maior parte da escrita. O time define o limite de autonomia, lê o que vai para produção e responde pelo resultado. Isso é o nível 4 na escala que Dan Shapiro descreveu e que a Ithaca adota em dark factory: a IA executa; humanos supervisionam e leem. O nível 5 — especificação que vira software sem leitor humano — fica de fora.

Leitura humana na refatoração não é teatro de compliance. Detecta mudança de regra que o teste de caracterização ainda não cobriu; define o que exige aprovação humana antes de executar e o que os agentes fazem sem aprovação prévia; e sustenta o sistema depois da troca — código que ninguém leu é código que ninguém explica quando quebra.

A evidência controlada de aceleração aponta na mesma direção: em um experimento com o GitHub Copilot (Peng et al., 2023), desenvolvedores concluíram uma tarefa de programação 55,8% mais rápido que o grupo de controle (IC 95% entre 21% e 89%). É um estudo de uma tarefa, com um assistente, e não uma medição da Ithaca. O papel da supervisão e da caracterização é outro: fazer o ganho chegar à produção com comportamento conferido, código lido e cada sessão registrada. Em legado, a leitura fecha o ciclo da exatidão.

Sessão registrada: a trilha que torna a exatidão auditável

Exatidão sem trilha vira opinião no post-mortem. Cada sessão de agente de código precisa registrar, no mínimo: pedido, passos, modelo, custo, resultado (aceito / rejeitado / rollback e evidência de verificação) e autoria (quem pediu, executou, supervisionou e promoveu).

Com essa trilha, o time responde: qual fatia, contra quais testes de caracterização, com qual aprovação, entrou em produção? Sem ela, a velocidade não se audita nem se melhora. Detalhe dos seis campos: Observabilidade de agentes de código. Checklist C-level: Governança de IA no desenvolvimento.

A tese fecha assim: supervisão humana + sessão registrada tornam o uso de agentes de código na refatoração auditável e melhorável. É aí que velocidade e custo viram resultado de negócio, sem abrir mão da exatidão.

Como a plataforma aplica isso no legado

A Ithaca é uma plataforma de desenvolvimento agentic. Em refatoração (Desafio B), agentes de código executam a maior parte da escrita; o time define especificação, limites, leitura e promoção. Knowledge base antes de qualquer linha nova; substituto ao lado; troca só depois de conferida. Quatro etapas (visão curta): Knowledge base → construção/refatoração → observabilidade → sustentação. Categoria: Plataforma de desenvolvimento agentic. Tese: Desenvolvimento de software com IA e supervisão humana.

Prova operacional (Dr. Consulta)

O único case público é a Dr. Consulta: plataforma de assinaturas com anos em produção, Desafio B (refatorar legado). Com a plataforma:

DimensãoPublicadoNota
Custo de infraestrutura−75%Número público do case
Uma featurede ~duas semanas para até três diasExemplo representativo — não medição do backlog inteiro
Manutençãode trabalho à mão para supervisionar a operação dos agentesTime no controle

Esses números não medem “exatidão” em percentual inventado. Ilustram o que vira possível com conferência contra o comportamento antigo, leitura humana e sessão registrada. Não há outro cliente publicado.

O que este artigo não promete

  • Não é risco zero — uma falha continua possível; muda o tamanho do estrago e a facilidade de achar a causa na trilha.
  • Não é medição do backlog inteiro — a feature duas semanas → até três dias é exemplo representativo.
  • Não é dark factory nem métrica inventada de exatidão/cobertura. Método comercial: legado sem parar.

Checklist rápido: refatoração com IA e exatidão

Antes de escalar agentes de código no legado:

  • Fatia conferível de ponta a ponta (não o sistema inteiro de uma vez)
  • Âncora de comportamento (testes de caracterização / oráculos) contra o que roda hoje
  • Substituto nasce ao lado; o antigo continua atendendo até a troca conferida
  • Humanos do time leem o que vai para produção (nível 4, não dark factory)
  • Cada sessão registra pedido, passos, modelo, custo, resultado e autoria
  • Limite de autonomia explícito: o que exige aprovação humana antes de executar
  • Sustentação com o time supervisionando — a plataforma não “entrega e some”

Se algum item falha, há velocidade — ainda falta a exatidão que sustenta a modernização.

Perguntas frequentes

O que significa refatoração com IA sem perder exatidão?

Usar agentes de código para modernizar fatias de legado ancorados no comportamento atual (testes de caracterização), com o time lendo o que entra e cada sessão registrada — velocidade sem substituir a fidelidade ao que o negócio ainda usa.

Testes de caracterização são a mesma coisa que testes unitários “ideais”?

Não. Unitários clássicos expressam a intenção desejada. Caracterização documenta o comportamento observado do legado — inclusive quirks que a documentação não cobre — e ancora a conferência antes da troca.

Supervisão humana não anula o ganho de velocidade?

Não precisa anular. Os agentes assumem a escrita que o time delega; o time concentra o tempo em caracterizar, revisar e decidir. No case Dr. Consulta, uma feature de duas semanas passou a levar até três dias — exemplo representativo — com o time no controle e cada sessão registrada.

Isso é dark factory?

Não. Dark factory é o nível 5: ninguém lê o código antes de produção. A plataforma opera no nível 4. Detalhe em dark factory.

Quais resultados de refatoração com IA a Ithaca publicou?

Um case, a Dr. Consulta: −75% no custo de infraestrutura; uma feature de ~duas semanas para até três dias (exemplo representativo); manutenção passando a supervisionar a operação dos agentes. Não há outro cliente publicado. Ver case e legado.

Onde a plataforma é hospedada? O código vai para a Ithaca?

A plataforma é implantada no ambiente do cliente (nuvem controlada por ele ou data center). O repositório não vai para um SaaS da Ithaca; as chamadas aos modelos seguem a política do cliente (provedor, região e contrato). Hospedagem é detalhe de implantação — não o diferenciador desta peça.

Solicitar implantação

Se a pergunta já é “como refatorar legado com exatidão, leitura humana e sessão registrada”, o próximo passo é escolher a primeira fatia conferível e implantar a plataforma de desenvolvimento agentic lado a lado com o seu time.

Solicitar implantação

Leia também

Solicitar implantação

Traga a plataforma para dentro de casa.

Escolha o que a plataforma assume primeiro: aquele projeto novo que está travado ou o sistema antigo que já virou um fardo. A implantação é feita lado a lado com o seu time.

Veja a plataforma funcionando

Só isso. Sem cadastro, sem newsletter.