16 de junho de 20269 min de leitura

Como a Siemens 'fatiou o elefante' com workflows agentic para modernizar código industrial legado

Tomasz Świtoń, Staff Software Engineer, Google

Google Cloud

Banner - Como a Siemens 'fatiou o elefante' com workflows agentic para modernizar código industrial legado

TL;DR

A Siemens criou o Knowledge Fabric, sistema baseado em Spanner Graph, Google Agent Development Kit e Gemini, para modernizar codebases industriais massivos. Em vez de usar RAG tradicional, modela as relações estruturais do código com grafos e embeddings, permitindo que agentes especializados fatorem tarefas complexas em etapas gerenciáveis. O piloto reduziu significativamente o esforço de codificação. Para empresas brasileiras com legados extensos, a lição é clara: IA sem contexto profundo não resolve; é preciso entender a arquitetura e domain knowledge.

Para empresas de tecnologia como a Siemens, software é o sistema nervoso de fábricas, redes elétricas e redes de transporte no mundo todo.

Como líder global em IA industrial, software industrial e automação industrial, a Siemens possui décadas de expertise em automação de fábricas e processos, infraestrutura de energia e transporte inteligente — conhecimento que nenhuma solução de IA de prateleira consegue replicar. Mas a inovação carrega uma âncora pesada: código legado.

Com bases de código que somam centenas de milhões de linhas desenvolvidas ao longo de mais de uma década, a Siemens enfrentou um desafio que ferramentas de IA padrão não resolvem: entender e modernizar esse código e os aplicativos que rodam sobre ele. A escala e a profundidade do software industrial exigem uma abordagem fundamentalmente diferente. Assistentes de codificação existentes careciam da profundidade contextual necessária para navegar em codebases industriais complexas e multicamadas — uma lacuna que a Siemens decidiu fechar.

Para resolver isso, Siemens e Google Cloud criaram o Knowledge Fabric, um sistema de IA para automatizar o ciclo de vida do desenvolvimento de software. Ele foi construído usando knowledge graphs no Spanner Graph, o Google Agent Development Kit (ADK), a API Gemini, o Agent Platform, o Gemini CLI e o Anthropic Claude Code. Em um piloto de migração de antigas interfaces para interfaces web, o Knowledge Fabric reduziu o esforço de implementação, liberando engenheiros para focar em inovações para o cliente, mantendo total compatibilidade do sistema.

“Ao ingerir todo o ecossistema de software em um sistema agentic inteligente equipado com knowledge graphs customizados, não estamos apenas ajudando desenvolvedores a otimizar seu tempo de desenvolvimento; estamos permitindo que agentes autônomos raciocinem sobre o passado para construir o futuro”, disse Franz Menzl, vice-presidente sênior de excelência em criação de produtos da Siemens. “Isso é sobre libertar engenheiros de trabalho repetitivo para que possam se concentrar na resolução de problemas de maior valor.”

Qual o desafio da modernização de software industrial?

Modernizar sistemas de software industrial de grande escala é frequentemente comparado a reconstruir um jato enquanto ele está voando. Para a Siemens, o desafio tinha quatro dimensões:

  1. Escala: Os repositórios são massivos — excedendo em muito as janelas de contexto de modelos de linguagem padrão.
  2. Fragmentação: O conhecimento crítico estava espalhado entre código, tickets Jira, páginas Confluence e manuais escaneados em PDF do início dos anos 2000.
  3. Complexidade: Rastrear o link entre uma linha de código específica e um documento de requisitos funcional de 10 anos atrás era um desafio que nenhuma abordagem manual ou ferramenta convencional conseguia resolver de forma eficiente. É uma realidade compartilhada em toda a indústria.
  4. Responsabilidade: Os sistemas devem aderir a requisitos rigorosos de qualidade, conformidade e ciclo de vida, muitas vezes por 15 a 20 anos de operação. Saídas geradas por IA precisam ser explicáveis, rastreáveis e verificáveis. Alterações alucinadas ou não validadas não são apenas ineficientes — são operacionalmente inaceitáveis.

“Percebemos que RAG (retrieval-augmented generation) padrão não era suficiente”, disse Agata Gołębiowska, líder técnica do Google Cloud. “Código não é apenas texto; ele tem estrutura inerente. Uma classe pertence a um arquivo, que pertence a um módulo. Achatar isso em um banco de dados vetorial significava perder a representação das relações entre os elementos do codebase.”

Como funciona o Knowledge Fabric orientado a domínio?

Para tornar esse ambiente de software vasto navegável para fluxos de trabalho orientados por IA, as equipes construíram o agente Knowledge Fabric. Esse agente vai além da correspondência de palavras-chave para “entender” as relações entre os ativos.

Nós usamos o Spanner Graph para modelar a estrutura inerente do codebase, aplicando o mesmo rigor à documentação em vários formatos. Ao mapear conexões entre esses domínios, podemos ligar snippets de código específicos diretamente a requisitos em um documento de design. Agentes então percorrem esse grafo, usando ferramentas para consultar a estrutura via Graph Query Language (GQL).

Mas GQL é apenas uma peça. Para habilitar o entendimento semântico, geramos embeddings para cada nó, usando o algoritmo Approximate Nearest Neighbors (ANN) do Spanner para realizar busca vetorial eficiente em todo o codebase. Finalmente, damos aos agentes capacidades de busca em texto completo, que podem ser combinadas com GQL para localizar nós e arestas com precisão.

2-diagram

A combinação desses três métodos permite que um agente LLM responda a consultas complexas, como: “Quais funções precisam ser atualizadas se eu alterar a lógica no Painel de Controle de Eixo?” O sistema percorre o grafo — ponderando similaridade de palavras-chave e semântica — para identificar dependências, recuperar documentação relevante e apresentar uma análise de impacto precisa.

Esse contexto preciso é o que permite que um agente de codificação produza uma implementação válida, utilizável e sustentável.

O que significa “fatiar o elefante”?

Uma percepção chave do projeto foi que agentes de IA têm dificuldade com tarefas massivas e ambíguas. Para ter sucesso, a equipe adotou um padrão de design chamado “slicing the elephant” (fatiar o elefante).

O sistema quebra uma solicitação ampla como “refatore este módulo” em tarefas menores e mais gerenciáveis, cada uma tratada por um agente especializado construído com o Google Agent Development Kit (ADK):

  • Search agent: Atua como especialista em pesquisa profunda. Usa ferramentas para explorar o grafo de código e cruzar descobertas com documentação no Agent Search.
  • User story agent: Entrevista o product owner para coletar requisitos e então redige histórias de usuário detalhadas com critérios de aceitação vinculados ao contexto existente do sistema.
  • Architecture impact agent: Analisa as mudanças propostas contra o grafo para prever efeitos colaterais antes que uma única linha de código seja escrita.
  • Task breakdown agent: Consome a análise do agente de impacto arquitetural e divide o trabalho em tarefas pequenas e gerenciáveis, cada uma carregando todo o contexto relevante para uma mudança específica.
  • Coding agent: Implementa a mudança descrita em uma tarefa específica. Chegar a esse passo sem contexto e análise prévia produziria código inutilizável.

O sistema mantém um humano no loop em cada etapa, o que garante resultados confiáveis e de nível de produção e mantém os engenheiros focados em trabalho significativo, em vez de implementação rotineira.

“Ao fatiar o elefante — dividir trabalhos complexos de refatoração em tarefas menores lideradas por agentes — observamos um aumento significativo de produtividade”, disse Alexander Lomakin, líder de projeto na Siemens. “Nós essencialmente demos à IA o roadmap que ela precisava para navegar pela complexidade.”

Quais foram os resultados do piloto?

Os desenvolvedores viram resultados quase imediatamente.

Analisar dependências para uma nova funcionalidade costumava exigir que engenheiros seniores passassem vários dias navegando por codebases e documentação legada. Com o Knowledge Fabric, o mesmo trabalho agora leva muito menos tempo.

Em um piloto recente de produção, migrando painéis de controle legados para interfaces web modernas, o Knowledge Fabric reduziu o esforço geral de codificação, preservando a integridade do sistema e os padrões de qualidade industrial.

Os engenheiros agora passam mais tempo criando valor para o cliente e menos em trabalho repetitivo.

Como começar?

O Knowledge Fabric mostra que a IA generativa pode fazer mais do que escrever código boilerplate — ela pode ajudar equipes a modernizar os sistemas legados dos quais seus negócios mais dependem.

Para saber mais sobre como construir agentes baseados em grafos para sua própria modernização de legados:

Perguntas Frequentes

O Knowledge Fabric funciona com bases de código escritas em qualquer linguagem?
Sim, a abordagem é agnóstica de linguagem. A estrutura do código (classes, módulos, dependências) é modelada no grafo independentemente da linguagem de programação. O sistema usa GQL e embeddings semânticos, o que permite trabalhar com múltiplas linguagens, desde que o ecossistema de documentação e código seja ingerido no grafo.

Como garantir que as alterações geradas pelos agentes sejam seguras e auditáveis?
O sistema mantém um humano no loop em cada etapa — desde a análise de impacto até a implementação. Além disso, todo o raciocínio dos agentes é rastreável via grafos de conhecimento, o que permite verificar a proveniência de cada decisão. A Siemens destaca que outputs alucinados ou não validados são inaceitáveis para sistemas industriais com 15-20 anos de vida útil.

A Siemens planeja disponibilizar o Knowledge Fabric como produto ou é apenas um projeto interno?
O artigo não menciona planos de comercialização. O Knowledge Fabric foi desenvolvido como solução interna em parceria com Google Cloud. No entanto, os componentes usados (Spanner Graph, ADK, Agent Platform, Gemini) estão disponíveis publicamente, permitindo que outras empresas construam sistemas similares.

Qual a principal diferença entre o Knowledge Fabric e um assistente de código tradicional (como Copilot)?
Assistentes tradicionais focam em completar trechos de código com base em contexto limitado. O Knowledge Fabric vai além: entende toda a estrutura do repositório, relaciona código a documentação histórica e tickets, e orquestra múltiplos agentes para planejar e executar refatorações complexas. É uma abordagem de sistema, não de autocompletar.


Artigo originalmente publicado por Tomasz Świtoń, Staff Software Engineer, Google em Cloud Blog.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset