← Últimos artigos
💻 computer science

LegacyTranslate: LLM-based Multi-Agent Method for Legacy Code Translation

O artigo apresenta o LegacyTranslate, um framework multiagente baseado em LLMs que utiliza agentes especializados para tradução inicial, alinhamento com APIs existentes e refinamento iterativo, demonstrando melhorias significativas na compilação e sucesso de testes ao migrar 2,5 milhões de linhas de código PL/SQL para Java em uma instituição financeira.

Autores originais: Zahra Moti, Heydar Soudani, Jonck van der Kogel

Publicado 2026-03-17
📖 4 min de leitura☕ Leitura rápida

Autores originais: Zahra Moti, Heydar Soudani, Jonck van der Kogel

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem uma biblioteca antiga e valiosa, cheia de livros escritos em uma língua que quase ninguém mais fala (como o PL/SQL, usado em bancos de dados antigos). O problema é que a cidade inteira agora só lê e escreve em uma língua moderna (como o Java), e as regras da cidade mudaram: agora, todos os livros precisam seguir um formato específico e usar ferramentas padronizadas que a prefeitura (a empresa) forneceu.

Se você pegar um tradutor de IA comum e pedir para traduzir esses livros, ele vai fazer um ótimo trabalho na gramática, mas o resultado final será inútil. Por quê? Porque o tradutor não sabe que, na nova cidade, você não pode usar "canetas" genéricas; você é obrigado a usar "canetas da prefeitura" (as APIs internas da empresa). O resultado? O livro é traduzido, mas ninguém consegue lê-lo ou usá-lo na prática.

É aqui que entra o LegacyTranslate, o "herói" deste artigo. Em vez de confiar em um único tradutor, os autores criaram uma equipe de três especialistas (agentes) que trabalham juntos para fazer essa migração de 2,5 milhões de linhas de código.

Vamos conhecer essa equipe:

1. O Tradutor Inicial (O "Rascunhador")

Imagine um tradutor talentoso que tem uma pilha de livros antigos e suas versões modernas ao lado dele.

  • O que ele faz: Ele olha para o texto antigo, procura exemplos parecidos na pilha de referências e faz a primeira tradução para o novo idioma.
  • O problema: Ele sabe a língua, mas não conhece as regras específicas da "prefeitura". O texto sai com boa gramática, mas pode estar usando ferramentas proibidas ou esquecendo de usar as ferramentas obrigatórias.

2. O Especialista em Ferramentas (O "Guia de Normas")

Este é o agente mais importante para o sucesso do projeto. Imagine um funcionário experiente que tem o catálogo oficial de todas as ferramentas da prefeitura.

  • O que ele faz: Ele pega o rascunho do tradutor, olha onde o texto está "travando" (erros de compilação) e diz: "Ei, você tentou usar uma ferramenta genérica aqui, mas a regra diz que você tem que usar a 'Caneta Modelo X' da nossa lista."
  • A mágica: Ele busca no catálogo as ferramentas corretas e entrega uma lista para o próximo agente. Sem ele, o código traduzido nunca funcionaria no sistema real da empresa.

3. O Polidor (O "Revisor de Erros")

Este é o agente que não desiste até que tudo esteja perfeito.

  • O que ele faz: Ele pega o rascunho, a lista de ferramentas corretas e os relatórios de erro (dizendo onde o código falhou). Ele manda tudo de volta para o tradutor e diz: "Corrija isso usando a ferramenta Y que o especialista indicou."
  • O ciclo: Esse processo se repete. O código é testado, se falhar, o Polidor analisa o erro, pede ajuda ao Especialista e manda corrigir de novo. É como um ciclo de "tentativa, erro e ajuste" até que o livro esteja pronto para ser publicado.

O Resultado da Equipe

Os autores testaram essa equipe em um banco de dados real. Os resultados foram impressionantes:

  • Se você usasse apenas o Tradutor Inicial (sem a equipe), cerca de 45% dos códigos funcionariam.
  • Mas, com a ajuda do Especialista em Ferramentas e do Polidor, o número de códigos que funcionam salta para 53%, e os que passam nos testes funcionais sobe para 34%.

A lição principal:
Traduzir código antigo para novo não é apenas sobre trocar palavras de uma língua para outra. É como traduzir um manual de instruções de uma máquina antiga para uma nova: você precisa saber exatamente quais peças (APIs) a nova máquina aceita. Sem esse "guia de normas" (o agente de API Grounding), a IA gera textos bonitos, mas que não funcionam na vida real.

Em resumo, o LegacyTranslate mostra que, para modernizar sistemas gigantes, não basta ter um "super tradutor"; você precisa de uma orquestra onde cada músico sabe exatamente qual nota tocar para que a música (o código) funcione na nova orquestra da empresa.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →