Blog

Uma fábrica pensante ganha vida: agentes de LLM no mundo de Factorio

Publicado
September 8, 2025
Tempo de leitura
2
min
Uma fábrica pensante ganha vida: agentes de LLM no mundo de Factorio

Parte 2 da Série Factory Agent: Um Passo a Passo Visual do Controle Inteligente

Antes de mergulhar na estrutura de dados e nos princípios arquitetônicos que impulsionam os Factory Agents, queríamos mostrar algo real — e divertido.

O que acontece quando você traz grandes modelos de linguagem para um mundo industrial (virtual) vivo e pulsante?

Apresentamos:

Factorio + Agentes de LLM

Uma simulação aberta de sistemas de controle inteligente, onde agentes de LLM percebem, raciocinam e agem dentro de uma fábrica virtual.

1. Bem-vindo ao Mundo de Factorio

Antes de mergulharmos na arquitetura e nos agentes, vamos apresentar brevemente o mundo onde nossos experimentos se desenrolam — o adorado jogo de simulação: Factorio.

  • "Factorio é um jogo no qual você constrói e mantém fábricas."

Você minerará recursos, pesquisará tecnologias, construirá infraestrutura e automatizará a produção. Use sua imaginação para projetar sua fábrica, combinar elementos simples em estruturas engenhosas e aplicar habilidades de gestão para mantê-la funcionando.

O jogo é muito estável e otimizado para a construção de fábricas massivas. Você pode criar seus próprios mapas, escrever mods em Lua ou jogar com amigos via Multiplayer.

Por que o Factorio é o Ambiente de Teste Perfeito para Agentes de LLM Industriais

O que torna o Factorio particularmente valioso para a pesquisa em IA é que ele fornece um ambiente de simulação industrial pronto e fisicamente coerente. Em vez de construir motores de física e regras de mundo complexos do zero, pesquisadores e desenvolvedores podem aproveitar esta plataforma existente para:

  1. Testar sistemas de LLM industriais em um ambiente controlado, porém complexo
  2. Visualizar as decisões dos agentes e suas consequências em tempo real
  3. Experimentar várias estratégias de automação sem as limitações de hardware físico
  4. Validar as capacidades de planejamento e otimização de IA em relação a mecanismos estabelecidos

Essa abordagem de "laboratório natural" nos permite focar na inteligência do agente em vez do desenvolvimento de simulação, acelerando significativamente o ciclo de pesquisa para aplicações de IA industrial.

Nossa Configuração: Um Mundo Controlado para Agentes Inteligentes

Em nosso experimento, criamos um cenário de sandbox personalizado:

  • Recursos infinitos: Sem esgotamento de mineração ou escassez econômica
  • Sem inimigos: Todos os mecanismos de combate desativados
  • Design de sistema puro: Focado inteiramente em layout, produtividade, coordenação e controle

Este ambiente nos permite isolar o comportamento inteligente dos agentes de LLM sem a interferência de aleatoriedade ou elementos de sobrevivência.

Nosso objetivo: observar como os agentes de LLM se comportam em um ambiente determinístico, onde cada decisão que tomam — sobre posicionamento, produção ou otimização — tem um impacto mensurável e repetível.

Este é o mundo onde nossos Agentes de Fábrica vivem, pensam, agem e aprendem.

Vamos ver o que eles farão a seguir.

2. Arquitetura de Agente LLM e Fluxo de Dados

O Factorio fornece uma interface de API que nos permite ler o status da fábrica e executar comandos, permitindo-nos construir um ciclo de controle de agente LLM completo: observar–planejar–agir–observar.

Usamos MQTT com um Namespace Unificado (UNS) para troca de dados em tempo real entre os agentes e o ambiente do Factorio.

O Ciclo do Agente de Fábrica: Da Percepção à Ação

1. Camada de Percepção

  • Conecta-se aos dados de estado expostos do Factorio: status da máquina, níveis de recursos, informações de layout
  • Recebe observações estruturadas de tópicos MQTT (por exemplo, Factorio/Sandbox/Power/Line4487/generator4209/electricity)
  • Cada agente de LLM subscreve apenas os tópicos relevantes para sua função e escopo de decisão

2. Camada de Raciocínio e Tomada de Decisão (Camada de Agente)

  • Os agentes podem ser alimentados por instâncias de LLM únicas ou múltiplas trabalhando em conjunto
  • Processam dados de estado em formato JSON e geram decisões por meio de chamadas de LLM
  • Atualmente utiliza raciocínio simples baseado em prompts para a tomada de decisão
  • O desenvolvimento futuro poderá incluir rastreamento de metas, módulos de memória e capacidades de aprendizado

3. Camada de Disparo de Ações

  • As saídas do LLM são comandos JSON estruturados

por exemplo,

"command": "place_entity",

"params": {

"name": "steam-engine",

"x": 12,

"y": 20,

"direction": "4"

}
  • Estes são publicados em tópicos de controle MQTT, roteados por função e destino
  • Esta camada atua como a ponte entre a intenção cognitiva e a ação física

4. Camada de Execução (Ambiente)

  • A simulação do Factorio recebe e executa comandos por meio de um mod de jogo personalizado / ponte de API
  • O maquinário é construído, destruído, configurado ou redirecionado conforme necessário
  • O jogo publica o novo estado de volta nos tópicos MQTT em tempo real

5. Camada de Feedback e Aprendizado

  • Os agentes percebem o mundo novamente por meio de tópicos de estado atualizados
  • Isso possibilita a próxima rodada de planejamento
  • Com o tempo, esta camada oferecerá suporte a memória de trabalho, avaliação de planos e estratégias de várias etapas

Resumo

Esta arquitetura cria um ciclo de controle contínuo onde agentes de LLM recebem dados da fábrica, tomam decisões e executam ações que melhoram o desempenho da fábrica.

Esta arquitetura alinha-se perfeitamente ao sistema de controle de cinco camadas apresentado na Parte 1 da nossa série, mas agora implementado em um ambiente visual concreto, onde os resultados das decisões dos agentes tornam-se imediatamente aparentes.

|
 Layout        
|
 Power per Area 
|
 Solar:Accumulator Ratio 
|
 Description                                      
|
|
---------------
|
----------------
|
--------------------------
|
--------------------------------------------------
|
|
 Initial Setup 
|
 85 W/m²        
|
 1:1                      
|
 Haphazard placement with equal panels and accumulators 
|
|
 Optimized Grid
|
 132 W/m²       
|
 1:18:1                   
|
 Strategic layout with optimal spacing and ratio  
|

Do layout atual à otimização projetada — uma jornada de design em evolução

🧠 Processo de Raciocínio do Agente

### Initial Analysis
- Space available: 120x80 tiles
- Panel placement inefficient (large gaps)
- Nighttime power dips to 82% of required level

### Hypotheses
- Accumulator shortage causes night outage
- Poor layout reduces panel density and connection efficiency

### Strategy
- Reorganize layout into compact grid for maximum density
- Incrementally test solar:accumulator ratios (starting from 1:1 to 1.3:1)
- Monitor stability across multiple day-night cycles

### Outcome
- 1.18:1 ratio found optimal for 24/7 operation
- Improved power density by 55% without expanding area

Insight Principal

Sem receber regras de jogo ou fórmulas explícitas, o Agente de Fábrica liderado por LLM descobriu a proporção teórica ideal de 1,18:1 entre painéis solares e acumuladores por meio de raciocínio espacial iterativo e análise de feedback. Este resultado reflete de perto projetos humanos especializados — mas foi alcançado de forma autônoma, demonstrando que LLMs podem emular a otimização de layout de nível industrial por meio de inteligência baseada em linguagem.

3.2 🪓 Cenário 2: Cobre Eficiente Operações de Mineração

Objetivo: Maximizar a coleta de minério de cobre por minuto dentro de uma área e orçamento de energia fixos.

Neste cenário, o Agente de Fábrica foi designado para otimizar a produção de mineração de cobre dentro de uma região restrita de 120×80 blocos. O desafio não era apenas espacial — posicionar as perfuratrizes de mineração de forma eficiente — mas também logístico: garantir vazão suficiente nas esteiras, evitar congestionamentos e manter a disponibilidade de energia para a mineração contínua.

A configuração inicial apresentava um layout ineficiente de perfuratrizes elétricas com zonas sobrepostas, esteiras desalinhadas e posicionamento subótimo de subestações. Esses problemas levavam a interrupções frequentes na mineração, perfuratrizes subutilizadas e gargalos na esteira de saída.

|
 Layout        
|
 Ore per Minute 
|
 Drill Density   
|
 Description                                          
|
|
---------------
|
----------------
|
-----------------
|
------------------------------------------------------
|
|
 Initial Setup 
|
 310/min        
|
 0.42 drills/tile
|
 Overlapping coverage with bottlenecked belts         
|
|
 Optimized Grid
|
 470/min        
|
 0.55 drills/tile
|
 Aligned drills, clean belt routing, consistent power coverage 
|
Nota: Densidade de Perfuratrizes = Número total de perfuratrizes ativas / área total de blocos utilizada

Do layout atual à otimização projetada — uma jornada de design em evolução

🧠 Processo de Raciocínio do Agente

### Initial Observations
- Drill layout disorganized, several mining areas overlap
- Output belt frequently jammed, causing drill idling
- Substation coverage inconsistent, causing power drops

### Hypotheses
- Better drill spacing can reduce interference and improve ore yield
- Simplifying belt routing will improve material flow and prevent backup
- Strategic substation placement can ensure consistent uptime

### Strategy
- Apply uniform grid layout to maximize drill coverage per tile
- Align all output belts toward central collection spine
- Place substations in a staggered pattern to fully cover all drills

### Result
- Ore output improved from 310/min to 470/min (+52%)
- Belt saturation avoided, drill uptime reached 98%+
- Improved maintainability and layout scalability

Insight Principal

O Agente de Fábrica não apenas posicionou mais perfuratrizes — ele reorganizou todo o layout de mineração aplicando raciocínio espacial, gestão de energia e otimização de vazão. Essa reestruturação multidimensional reflete o que um jogador humano habilidoso faria após horas de tentativa e erro — mas aqui, foi alcançada em poucos ciclos iterativos pelo agente LLM.

3.3 🌱 Cenário 3: Equilibrando Eficiência com Sustentabilidade

Objetivo: Manter uma alta produção enquanto mantém os níveis de poluição abaixo de 500 ppm para evitar penalidades ecológicas.

Neste cenário, o Agente de Fábrica enfrentou um dilema industrial clássico: aumentar a produção para atingir as metas de saída enquanto gerencia o custo ambiental. Diferente da simples maximização de vazão, esta tarefa exigiu otimização multiobjetivo entre os eixos de desempenho e sustentabilidade.

|
 Layout      
|
 Production (units/min) 
|
 Pollution (ppm) 
|
 Modules Used                  
|
 Energy Source          
|
 Description                                      
|
|
-------------
|
-------------------------
|
-----------------
|
-------------------------------
|
------------------------
|
--------------------------------------------------
|
|
 High Output 
|
 580                     
|
 850             
|
 Productivity modules only     
|
 Coal power             
|
 Maximum output, no pollution mitigation          
|
|
 Balanced    
|
 520                     
|
 450             
|
 Mix of Efficiency + Productivity 
|
 Solar + Backup Coal 
|
 Controlled output with pollution under threshold 
|
Nota: Limite de poluição = 500 ppm (limiar de conformidade ambiental)

[Do layout atual à otimização idealizada — uma jornada de design em evolução]

🧠 Processo de Decisão do Agente

### Initial Observations
- Drill layout disorganized, several mining areas overlap
- Output belt frequently jammed, causing drill idling
- Substation coverage inconsistent, causing power drops

### Hypotheses
- Better drill spacing can reduce interference and improve ore yield
- Simplifying belt routing will improve material flow and prevent backup
- Strategic substation placement can ensure consistent uptime

### Strategy
- Apply uniform grid layout to maximize drill coverage per tile
- Align all output belts toward central collection spine
- Place substations in a staggered pattern to fully cover all drills

### Result
- Ore output improved from 310/min to 470/min (+52%)
- Belt saturation avoided, drill uptime reached 98%+
- Improved maintainability and layout scalability

Insight Principal

O Agente de Fábrica demonstrou raciocínio adaptativo de compensação—não apenas otimizando uma métrica, mas negociando entre objetivos conflitantes para entregar uma solução viável e explicável.

5. O que vem a seguir

No que estamos trabalhando

Áreas de foco do desenvolvimento atual:

  • Coordenação Multiagente: Fazer com que agentes especializados trabalhem juntos em problemas complexos de otimização
  • Memória e Aprendizado: Agentes que memorizam estratégias bem-sucedidas e se adaptam ao longo do tempo
  • Lidando com Restrições Complexas: Ensinar agentes a equilibrar múltiplos objetivos conflitantes
  • Escalando o Desempenho: Gerenciando tempos de resposta à medida que a complexidade da fábrica aumenta

A seguirNa Parte 3, vamos nos aprofundar na base técnica que torna essa inteligência possível: "Por que tópicos MQTT + JSON são ideais para agentes de LLM industriais" - explorando a infraestrutura de dados que possibilita esses resultados visuais.

🔗 Leia a Parte 1: Construindo um agente de LLM para tomada de decisão em uma fábrica simulada

📁 Explore o código: https://github.com/supcon-international/Factorio-MQTT-mod

Dê início à sua jornada de digitalização aproveitando o poder da IA para otimizar operações

fale conosco