Kotlin / Jetpack

KotlinLLM está se tornando Open Source

O JetBrains Blog anunciou que o KotlinLLM será disponibilizado como código aberto sob a licença Apache 2.0. O KotlinLLM é um plugin IntelliJ IDEA para projetos Kotlin/JVM que adiciona macros inteligentes, permitindo a geração de código Kotlin em tempo de execução baseado na interação com LLMs, tornando o desenvolvimento mais eficiente e flexível.

Compartilhar
kotlinllm
Kotlin Pesquisa

KotlinLLM está se tornando Open Source 

TL;DR

KotlinLLM agora é público. É um protótipo de pesquisa para delegar lógica em tempo de execução a um LLM do código Kotlin. Em vez de chamar um LLM em cada solicitação ou executar um agente separado, você pode escrever uma chamada explícita no Kotlin. Seu corpo é código fonte Kotlin gerado, e esse código é atualizado conforme seu aplicativo atinge novos cenários de tempo de execução.

👉 Saiba mais 

O que é KotlinLLM?

KotlinLLM é um plugin do IntelliJ IDEA para projetos Kotlin/JVM. Ele adiciona uma característica de linguagem chamada Macros Inteligentes. Uma Macro Inteligente é uma chamada regular de função Kotlin cujo corpo é código fonte Kotlin gerado. A API pública tem os seguintes dois Macros Inteligentes:

  • asLlm<F, T>(from, hint) converte uma entrada do tipo F em um valor tipado T (classe de dados, enum, lista ou primitivo). Use-o para analisar dados não estruturados ou semi-estruturados em valores Kotlin tipados em tempo de execução.
  • mockLlm<T>() gera uma implementação estatal de uma interface T. Seu comportamento depende dos métodos chamados nele, então funciona como um substituto de teste que você não precisa escrever à mão.
// Um nível mais alto de abstração: descreva a intenção, deixe o KotlinLLM preencher a lógica.
val issuesApiUrl: String = asLlm(repoInput, hint = "GitHub API URL: get all issues, including closed")
val issues: List<Issue> = asLlm(response, hint = "Return all beginner-friendly issues for this repository")

O comportamento vem do uso real em tempo de execução, não é totalmente especificado antes que o programa seja executado. O local da chamada permanece compacto e explícito: uma API clara e semelhante a palavras-chave sobre código gerado.

O problema que ele resolve

Na engenharia de software, os LLMs são usados durante a fase de desenvolvimento, ou seja, conclusão de código, geração de código e compreensão do programa. Usar um LLM no tempo de execução de uma aplicação compilada é menos comum, e as opções existentes têm claramente vantagens e desvantagens:

  • Delegação direta em tempo de execução (chamando o modelo em cada invocação) é lenta, não determinística e cara. Também faz com que a aplicação dependa de um serviço LLM em tempo de execução.
  • Ciclos de trabalho de agente externo mantêm a lógica gerada fora do repositório de código, onde é mais difícil revisar, testar e enviar.
  • A maioria dos trabalhos anteriores (por exemplo, byLLM, nightjar, Healer) visa linguagens interpretadas como Python, não uma linguagem compilada e estática como Kotlin.

O KotlinLLM é construído em torno de três propriedades:

  • Espúrio – o local da chamada mostra que uma funcionalidade é baseada em LLM, então é visível na revisão do código.
  • Persistente – o comportamento gerado é salvo como um Kotlin fonte ordinário, não mantido apenas na sessão de tempo de execução. Pode ser comprometido, revisado, testado e distribuído como qualquer outro código.
  • Portátil – uma vez gerada, o código roda como Kotlin simples sem o plugin. Para cenários que já estão cobertos, não há chamadas adicionais de LLM, então não há latência ou custo adicional e o resultado é reproduzível.

Funciona realmente?

Testamos a abordagem em dois projetos Kotlin/JVM:

  • Um Spring Petclinic adaptado em Kotlin – 18 chamadas de asLlm, 24/24 cenários de aplicação concluídos após evolução inteligente, com uma taxa de sucesso de recarga quente de 100% e adição de compilação/redefinição adicionando ~1% do tempo total de execução.
  • Um radar sintético “GitHub Beginner Issue” – análise de dados reais de problemas no GitHub em 20 repositórios (mais de 30k problemas), alcançando ~0,89 recall nos rótulos iniciantes.

Esses resultados mostram que a evolução persistente do tempo de execução para Kotlin compilado é viável. A avaliação também documenta os limites atuais.

Estamos tornando isso público 

O KotlinLLM está disponível em código aberto sob a Licença Apache 2.0. O repositório contém:

  • A versão protótipo do plugin IntelliJ e a API Smart macro estabilizada.
  • Projetos executáveis (GitHub Issue Radar, Petclinic adaptada), incluindo códigos gerados comprometidos, para que você possa inspecionar o que foi produzido pelo LLM e executá-lo como Kotlin ordinário.
  • A palestra da KotlinConf2026 com a gravação e o relatório teórico com a razão de design completa e avaliação.

Experimente e nos diga o que você pensa 

O KotlinLLM é um protótipo de pesquisa, então feedback nessa etapa é útil. Algumas maneiras de ajudar:

  • Inicie e explore o repositório
  • Tente em seu próprio projeto Kotlin/JVM. Adicione o arquivo KotlinLLM.kt, execute com o executor Run with KotlinLLM, e deixe as macros inteligentes evoluir. Os passos de configuração estão no README.
  • Crie problemas para tudo que você encontrar: bordas ásperas, comportamento inesperado do LLM, casos ausentes ou comportamentos que você espera serem diferentes.
  • Envie PRs com casos de uso. Cenários reais onde asLlm/mockLlm funcionam bem – ou falham – são os mais úteis. Novos exemplos, tipos alvo e ferramentas de agente são todos bem-vindos.

Caso encontre um lugar onde a delegação lógica do tempo de execução se encaixa no seu código, crie um problema. Se você construir algo com isso, envie uma PR.

Fonte original

Conteúdo traduzido e adaptado pela redação do Notícias Mobile. Confira também a matéria na fonte original.

Leia a matéria completa