← Últimos artigos
💻 computer science

Code2UML: Agentic LLMs with context engineering for scalable software visualization

Este artigo apresenta o Code2UML, um sistema de LLM agêntico que incorpora uma camada de engenharia de contexto determinística, permitindo a geração automatizada escalável e de alta qualidade de diagramas UML a partir de repositórios de código-fonte em larga escala, ao mesmo tempo em que mantém desempenho estável em diferentes tamanhos de projeto e linguagens de programação.

Autores originais: Alin-Gabriel Văduva, Anca-Ioana Andreescu, Simona-Vasilica Oprea, Adela Bâra

Publicado 2026-05-26
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Alin-Gabriel Văduva, Anca-Ioana Andreescu, Simona-Vasilica Oprea, Adela Bâra

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 massiva de livros (uma base de código de software) e deseja criar um mapa simples (um diagrama UML) mostrando como os cômodos se conectam, onde estão as saídas e como as pessoas se movem entre eles.

O problema é que a biblioteca é tão enorme que, se você tentar descrever tudo de uma só vez para um único especialista (uma IA), ele fica sobrecarregado, começa a inventar coisas ou simplesmente para no meio do caminho. Este é o problema do "limite de contexto" que o artigo aborda.

Os autores, Code2U, construíram uma equipe inteligente de assistentes de IA para resolver isso. Em vez de pedir a uma única IA gigante que faça tudo, eles criaram uma hierarquia de cinco agentes especializados (pense neles como uma equipe de construção com funções específicas) e um sistema inteligente de compressão de dados.

Veja como o sistema deles funciona, dividido em conceitos simples:

1. O Filtro de "Engenharia de Contexto" (O Bibliotecário)

Antes mesmo da equipe de IA olhar para o código, uma ferramenta especial atua como um bibliotecário super-rápido.

  • O Problema: A biblioteca completa de código é grande demais para caber na "memória de trabalho" da IA (sua janela de contexto).
  • A Solução: Esta ferramenta não usa IA para decidir o que manter. Em vez disso, usa regras estritas e pré-escritas (lógica determinística) para escanear rapidamente o código e criar um "instantâneo" personalizado para o mapa específico que você deseja desenhar.
  • A Analogia: Imagine que você precisa de um mapa do sistema de metrô de uma cidade. O bibliotecário não pergunta à IA: "O que é importante?". Em vez disso, o bibliotecário descarta instantaneamente todos os nomes de ruas, endereços de prédios e detalhes de parques, mantendo apenas as estações e trilhos do metrô. Este instantâneo é minúsculo, cabe perfeitamente na memória da IA e é gerado em milissegundos, sem precisar de nenhum poder de processamento de IA.

2. A Equipe de Cinco Agentes

Uma vez que o bibliotecário cria o instantâneo correto, uma equipe de cinco agentes especializados de IA assume. Eles trabalham juntos como uma máquina bem oleada:

  • O Planejador (O Arquiteto): Olha para o instantâneo e decide: "Ok, precisamos dividir este grande projeto em pedaços menores. Vamos fazer três mapas separados para os diferentes departamentos."
  • O Analista (O Detetive): Para cada pedaço, este agente lê os arquivos específicos e resume as interações principais (quem fala com quem). Ele ignora o ruído e foca no sinal.
  • O Agente de Diagramas (O Artista): Este agente pega o resumo e realmente desenha o mapa (escrevendo o código para o diagrama).
  • O Corretor (O Editor): O artista pode cometer pequenos erros (como um erro de digitação na legenda do mapa). Este agente lê o mapa final, verifica-o contra as regras e corrige qualquer erro instantaneamente.
  • O Analista de Dependências (O Gerente da Cadeia de Suprimentos): Este agente olha para fora do código principal para ver quais ferramentas ou bibliotecas externas o projeto utiliza, garantindo que o mapa inclua essas conexões também.

3. Os Resultados: O Que Eles Encontraram?

A equipe testou este sistema em 12 projetos de software de código aberto diferentes (variando de aplicativos pequenos a sistemas massivos) escritos em quatro linguagens diferentes (Java, Python, JavaScript, PHP). Eles tentaram gerar 7 tipos diferentes de mapas (como diagramas de classes, fluxogramas e mapas de implantação).

Veja o que aconteceu:

  • Alta Precisão: Os mapas foram quase sempre sintaticamente corretos (cerca de 91,5% estavam perfeitos imediatamente; para alguns tipos, como mapas de "Componente" e "Implantação", foi 100%).
  • Resumos Inteligentes: O sistema não tentou listar cada peça individual de código (o que tornaria o mapa ilegível). Em vez disso, focou nas partes mais importantes. Ele capturou cerca de 31% das entidades de código, mas eram as certas.
  • Consistência: Funcionou tão bem em um projeto pequeno com 30 linhas de código quanto em um projeto gigante com mais de 4.500 linhas. A qualidade não diminuiu conforme o projeto crescia.
  • Sem Alucinações: Os mapas raramente inventaram conexões falsas entre partes do código. Se o mapa dizia que duas coisas estavam conectadas, elas realmente estavam.

4. Por Que Isso Importa

O artigo argumenta que tentativas anteriores de usar IA para isso falharam porque tentaram alimentar a IA com a base de código inteira de uma só vez.

  • Jeito Antigo: "Aqui está a biblioteca inteira, por favor, desenhe um mapa." (Resultado: A IA fica confusa e comete erros).
  • Jeito Code2U: "Aqui está um instantâneo minúsculo e perfeitamente filtrado apenas do que você precisa para este mapa específico. Agora, por favor, desenhe-o." (Resultado: Um mapa limpo, preciso e válido).

Resumo

O artigo apresenta um sistema que automatiza a criação de projetos de software. Ele tem sucesso por não tentar ser um gênio "tamanho único", mas por atuar como uma equipe especializada que primeiro comprime os dados de forma inteligente e depois colabora para desenhar diagramas precisos e válidos. Ele prova que é possível gerar mapas de software de alta qualidade para bases de código massivas sem que a IA fique sobrecarregada.

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 →