0

[NÃO É PITCH] Coloquei IA no meu jogo favorito (a.k.a Path of AI Building)

Não vou vender nada aqui. Esse projeto foi criado pra comunidade Path of Exile, a única coisa que não consigo liberar é uma chave de API pra usar IA nesse PoB (por motivos óbvios).

Eu jogo PoE a uns 9~10 anos, desde a primeira versão da Breach pelo menos (que eu lembro). Eu me apaixonei pela complexidade, dificuldade e possibilidades que esse jogo entrega. Não é um jogo para qualquer um de fato, mas não é como dizem por ai, não precisa de um doutorado pra jogar. Ele pega justamente no ponto que dói pra quase todo mundo, vc precisa ter paciencia e ler o conteúdo que o jogo te entrega.

Apesar disso tudo, eu nunca tive coragem de criar uma build! Eu sigo esses 10 anos copiando builds da comunidade e aplicando no meu jogo, pra aproveitar a liga da vez, fazer o máximo de conteúdo possível e esperar a próxima liga.

Minha maior dificuldade na criação de builds é justamente ler cada ponto, testar, validar o arquetipo... copiar builds da comunidade também fica inviável em um certo ponto da build, vc acaba travando na evolução se não souber pra onde ir, quais items são melhores upgrades, etc.

Por isso, criei o PathOfAIBuilding. Ele é um fork do Path of Building Community com um copiloto de IA integrado ao aplicativo desktop.

Projeto: github.com/kaiqueramos/PathOfAIBuilding

Path of Exile tem um sistema de builds complexo o suficiente para tornar respostas genéricas pouco confiáveis. Uma sugestão pode parecer boa em texto e, quando aplicada ao personagem real, pode reduzir DPS, destruir a defesa ou simplesmente não funcionar por causa de uma interação entre skill, item, passive tree e configuração.

O Path of Building Original já resolve a parte mais difícil: ele calcula o estado real do personagem. Ele sabe o DPS calculado, EHP, max hits, resistências, itens, skills, árvore passiva e configurações.

Então a decisão arquitetural foi simples:

A IA interpreta a intenção e propõe mudanças. O PoB continua calculando e validando o resultado.

Como funciona

O fluxo da V1 é deliberadamente conservador:

  1. Abro um build existente no PoB.
  2. Faço uma pergunta na aba AI.
  3. O bridge Lua serializa somente o contexto relevante do build — por exemplo, DPS, EHP, skills, itens, árvore ou configuração.
  4. A pergunta é enviada para um endpoint OpenAI-compatible configurado pelo próprio usuário.
  5. A resposta pode conter uma explicação e ações estruturadas.
  6. O PoB valida as ações, executa um preflight em um clone isolado do build e recalcula os números.
  7. A interface mostra o antes/depois.
  8. Só depois de uma confirmação explícita as mudanças são aplicadas ao build real.

A integração principal está separada em módulos pequenos dentro do fork:

  • Classes/AIChatTab.lua: interface de conversa dentro da aba do build;
  • Modules/AIBridge.lua: serialização, request HTTP, contexto, ações, preflight e métricas;
  • Modules/AIConfig.lua: configuração local do endpoint, modelo, timeout e chave;
  • Classes/AIConfigPanel.lua: painel de configuração integrado à UI do PoB.

É como um harness pro PoB, quase um claude code embutido

A IA não recebe permissão para executar Lua arbitrário. A saída é tratada como input não confiável.

A V1 aceita 18 tipos de ação validados por schema e por regras de domínio. Eles cobrem, entre outros:

  • nível, classe, ascendência, bandido e panteão;
  • skills e grupos de sockets;
  • itens e jewels;
  • alocação e remoção de passives;
  • masteries e tattoos;
  • configurações do build.

Uma ação desconhecida, um lote malformado ou um valor fora do domínio é rejeitado antes de tocar no build.

Depois disso, o lote inteiro é executado contra um CompareEntry, que é um clone isolado. O PoB recalcula esse clone e a UI mostra métricas reais de antes e depois, como DPS, EHP, max hit e pontos da árvore.

Também existe uma verificação por fingerprint do build. Se o build mudar enquanto a resposta está sendo processada, o preview fica obsoleto e não pode ser aplicado silenciosamente a outro estado.

Segurança: a chave é do usuário

O projeto não inclui API key, não hospeda um serviço de IA e não possui proxy ou telemetria próprios.

No primeiro uso, o usuário informa:

  • endpoint HTTPS compatível com a API da OpenAI;
  • sua própria API key;
  • identificador do modelo.

A chave fica em configuração local, mascarada na UI e enviada somente no header Authorization: Bearer para o endpoint escolhido. O repositório ignora configurações locais, logs e saves.

Há uma limitação importante documentada: na V1 a configuração local é um JSON em texto puro, protegido por permissões quando possível. Ainda não há integração com Windows Credential Manager ou outro keychain. Por isso, a recomendação é não compartilhar o arquivo de configuração e usar somente um provedor em que você confie com os dados da build.

A IA também não recebe contexto ilimitado automaticamente. O histórico é limitado, o contexto é selecionado pela intenção da pergunta e uma expansão adicional de contexto pode ser solicitada no máximo uma vez por pergunta.

O que a V1 não tenta fazer

A primeira versão é focada em melhorar um personagem que já existe. Ela não pretende:

  • gerar uma build completa do zero;
  • otimizar globalmente a árvore passiva;
  • consultar poe.ninja ou planejar orçamento;
  • pesquisar preços ou executar trade;
  • comprar itens automaticamente;
  • aplicar mudanças sem revisão do usuário.

Essas limitações são intencionais. Antes de adicionar mais automação, eu queria que o fluxo básico — pergunta, proposta, cálculo, comparação e confirmação — fosse verificável.

Também não estou chamando o Apply de transação perfeita: o preflight é isolado e há guards contra preview obsoleto, mas a V1 não oferece rollback automático caso o Apply real encontre uma falha no meio de um lote. Prefiro deixar esse limite explícito do que esconder o risco atrás de uma palavra como “seguro”.

Estado atual

A release pública atual é baseada no PoB Community 2.65.0 e na árvore 3.28. Ela roda nativamente no Windows e pode ser executada via Wine/Proton no Linux.

Para testar:

  1. Baixe o arquivo portable na release v1.0.0.
  2. Extraia e execute Path of Building.exe.
  3. Abra AI Setup na barra inferior.
  4. Informe endpoint, chave e modelo.
  5. Use Test Connection, salve, abra uma build e selecione a aba AI.

O código e o modelo de segurança estão no GitHub:

Algumas considerações

Antes de tudo, eu amo trabalhar com automações, e integrar IA nas coisas do meu dia a dia. Esse projeto é, antes de tudo, uso pessoal. Estou compartilhando pois sei que pode ter jogadores com as mesmas dores que eu. Também sei que cedo ou tarde alguém vai tentar vender esse tipo de solução, o que eu não concordo. Gosto da ideia de que esse tipo de solução possa chegar a todos os interessados.

Esse projeto começou como uma tentativa de colocar uma camada de IA ao lado de um planejador de builds. A parte mais interessante acabou sendo perceber que o LLM não deveria ser a autoridade sobre os números.

O papel mais útil para a IA é ajudar a navegar a complexidade: entender a pergunta, selecionar o contexto, sugerir uma mudança e explicar o trade-off. O papel do PoB é dizer o que realmente aconteceu quando a mudança foi simulada.

Ainda há bastante espaço para melhorar, principalmente em cobertura de testes de ações, usabilidade do preflight, suporte a novas versões da árvore e qualidade das sugestões. Mas a base está funcionando como eu queria: a IA sugere, o PoB confere e o usuário decide.

O que vem a seguir

Como todo projeto que faço, sempre desenho um roadmap. Aqui não foi diferente:

  • A 3.29 ta na porta, sai amanhã (24/07). Assim que liberarem o PoB atualizado, atualizo o meu também. Proximas ligas devem ser integradas
  • Quero integrar com o market do jogo, pra em tempo real a IA analisar os itens e melhores ofertas.
  • Logo devo trabalhar em features de criação de builds do zero
  • Não testei quais os melhores modelos de IA servem aqui, não fiz benchmark também. Isso deve sair em algum momento
  • No momento só funciona para PoE 1. Para o 2 talvez faça algo quando for sair a 1.0.0
  • Não testei na totalidade, então podem ter pequenos gaps não cobertos. Adicionar o fator IA também é complicado, os modelos alucinam, e um modelo ruim pode performar de forma indesejada.

Aahh mas pq vc não vende isso? Eu não quero vender por dois motivos, primeiro já disse acima, acredito que é algo que a comunidade precisa ter acesso sem restrições. Segundo, sendo bem sincero, eu não tenho muito paciente pra lidar com suporte. Se algo der errado pra alguém, abra uma issue no repositório, quando der eu leio. Eu apesar de amar o jogo, tenho outras responsabilidades na minha vida. E o código é aberto! Fiquem a vontade pra fuçar.

Meu linkedin: https://www.linkedin.com/in/kaiqueramos/

Carregando publicação patrocinada...