1

Os primeiros emitters do AI Parlance

Depois de definir a arquitetura do projeto, comecei a desenvolver os primeiros emitters do AI Parlance.

Para quem ainda não conhece a proposta, o AI Parlance é um projeto open source que busca criar uma linguagem intermediária padronizada para IA. A ideia é simples: o modelo gera apenas uma representação universal da lógica da aplicação, enquanto emitters especializados convertem essa representação para qualquer linguagem de programação.

Hoje, a lógica da aplicação e a sintaxe da linguagem de programação são geradas juntas. Como a mesma lógica precisa ser expressa de formas diferentes para cada linguagem, os LLMs acabam gastando muitos tokens produzindo sintaxe específica de cada linguagem, em vez de gerar uma representação compacta e independente de linguagem.

No AI Parlance, a responsabilidade é dividida:

  • A IA pensa utilizando uma linguagem única.
  • Os emitters ficam responsáveis por traduzir essa representação para JavaScript, TypeScript, Python, Go, PHP, Java, C#, Rust ou qualquer outra linguagem.

Os primeiros emitters já conseguem gerar código básico a partir da representação intermediária. Ainda há muito trabalho pela frente, principalmente em recursos mais avançados, mas a arquitetura já demonstra que a separação entre lógica e sintaxe é viável.

Essa abordagem traz algumas vantagens interessantes:

  • redução do consumo de tokens;
  • maior consistência entre diferentes linguagens;
  • facilidade para adicionar suporte a novas linguagens;
  • emitters independentes que podem evoluir separadamente;
  • possibilidade de otimizações específicas para cada linguagem sem alterar a forma como a IA "pensa".

Um dos objetivos futuros é permitir que a comunidade desenvolva seus próprios emitters, tornando o ecossistema extensível e desacoplado. Se surgir uma nova linguagem, basta implementar um novo emitter — não é necessário ensinar essa linguagem novamente ao modelo.

Ainda é um projeto em evolução, mas acredito que esse tipo de arquitetura pode ajudar a tornar a geração de código por IA mais eficiente, previsível e independente de linguagem.

Criei um Playground onde dá pra fazer uns testes legais de exemplo:

https://aiparlance.org/pt/#playground

Gostaria de ouvir a opinião da comunidade.

Faz sentido tratar linguagens de programação apenas como destinos de compilação, deixando que a IA trabalhe sempre sobre uma representação intermediária única?

Carregando publicação patrocinada...
1

Eu não acessei o playground ainda, mas existe algo importante a falar:

As diferenças entre linguagens não são apenas questão de sintaxe.
Chegam a ser estruturais.

Algumas vazes simplesmente 'traduzir a sintaxe' resulta em perda de performance.
Um exemplo seria a i.a. traduzir a sintaxe usando um iterator errado (inapropriado no caso)

0