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 falsa | Prioridade ú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:
- Ler — código, documentação e dados anonimizados entram na Knowledge base antes de qualquer linha nova.
- Caracterizar — a fatia escolhida ganha testes (ou oráculos) que fixam respostas, efeitos colaterais e invariantes observados em produção.
- Construir ao lado — agentes de código escrevem o substituto; o sistema antigo continua atendendo.
- Conferir — a fatia nova é comparada ao comportamento do antigo (e aos testes de caracterização), não ao que a documentação envelhecida pede.
- 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ão | Publicado | Nota |
|---|---|---|
| Custo de infraestrutura | −75% | Número público do case |
| Uma feature | de ~duas semanas para até três dias | Exemplo representativo — não medição do backlog inteiro |
| Manutenção | de trabalho à mão para supervisionar a operação dos agentes | Time 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.
Leia também
- Modernização de sistemas legados sem parar a operação
- Case Dr. Consulta: modernização de legado com agentes de código
- Observabilidade de agentes de código
- Plataforma de desenvolvimento agentic: o que é (e o que não é)
- Desenvolvimento de software com IA e supervisão humana
- Governança de IA no desenvolvimento de software
- O que é uma dark factory, e por que a plataforma não é uma delas
- Insights

