Olá, leitores!
Vamos falar um pouco mais sobre o uso de IA diretamente no IDE do Delphi. Desta vez, abordaremos o recurso nativo chamado Smart CodeInsight, introduzido no Delphi 12 Atenas.
O Smart CodeInsight é uma arquitetura aberta que permite o uso dos seus mecanismos de IA favoritos. Além disso, o RAD Studio oferece uma interface do usuário personalizável para essa integração.
Ele oferece suporte aos seguintes LLMs:
Online: ChatGPT (OpenAI), Gemini (Google) e Claude (Anthropic)
Offline: Ollama
Configurações
Para utilizá-lo, é necessário habilitá-lo. Para isso, basta acessar o menu: Tools > Options > IDE > Smart CodeInsight. E habilitar a opção “Enable AI Engine”, como visto na imagem abaixo.

Nesta janela, você pode configurar a integração de IA nos seguintes campos:
- Checkbox Enable AI Engine ativa todo o recurso.
- Combobox Default AI for Editor (IA padrão para editor)
- Combobox Default AI for Chat Window (IA padrão para janela de bate-papo)
Além disso, na seção Plugins, é possível configurar cada mecanismo de IA em sua guia correspondente, com um conjunto específico de parâmetros. Abaixo estão as opções iniciais sugeridas para cada IA:
- ChatGPT
- BaseURL: https://api.openai.com/v1
- APIKey: API Key from OpenAI
- Model: gpt-4
- Max Token: 2048
- Temperature: 0.1
- Gemini
- BaseURL: https://generativelanguage.googleapis.com/v1beta
- APIKey: API Key from Google AI Studio
- Model: gemini-1.5-pro
- Max Token: 2048
- Temperature: 0.9
- TopK: 1
- TopP: 1
- Claude
- BaseURL: https://api.anthropic.com/v1
- APIKey: API Key from Anthropic
- Model: claude-3-5-sonnet-20240620
- Max Token: 1024
- Anthropic Version: 2023-06-01
- Olhama
- Você pode usar uma imagem do Docker para instalá-lo. Para obter mais informações, consulte a página Configuração do Ollama para Smart CodeInsight na docwiki da Embarcadero
Chat para interação com IA
O chat para interação com a IA é um formulário encaixável da IDE, que funciona como qualquer janela de bate-papo de um LLM. Você pode digitar uma solicitação, escolher um mecanismo (a menos que queira usar o padrão) e aguardar a resposta. Aqui está um exemplo rápido:

Comandos do menu do editor
O menu do editor (botão direito no editor de código) oferece algumas operações predefinidas para o código selecionado no próprio editor. O objetivo é analisar e otimizar uma parte do código-fonte do seu aplicativo.
Como resultado, o mecanismo LLM retorna o resultado na janela do editor, inserindo-o como um comentário após o código analisado.
Comandos disponíveis
Confira os comandos disponíveis para o Smart CodeInsight (no Delphi 12 Atenas):

AI Chat: Abrir a visualização do chat.
Find Bugs: Tente encontrar possíveis bugs no código selecionado.
Explain Code: Explique o código selecionado.
Add Comment: Adicione comentários ao código selecionado.
Complete the code: Complete o código selecionado.
Optimize code: Otimize o código selecionado.
Add unit test: Adicione um teste unitário para o código selecionado.
Convert to Assembly: Converta o código selecionado para Assembly.
Convert to Delphi: Converta o código selecionado para Delphi (de C++ ou Assembly).
Convert to C++ Builder: Converta o código selecionado para C++ Builder.
Fico por aqui, leitores. Espero que testem e gostem de utilizar o Smart CodeInsight. Ele oferece vários recursos para nos auxiliar no desenvolvimento. Até mais!


Na versão Delphi 12 Community Edition não está disponível…
Olá Henrique! Estranho meu amigo, se você esta usando o Delphi 12 deveria esta disponível sim. Acessando o menu: Tools > Options > IDE não aparece a opção Smart CodeInsight?
Fico a disposição para lhe ajudar.
Olá Henrique! Realmente, este recurso não está disponível na versão Community Edition. Uma alternativa é instalar o plugin Delphi AI Developer. Ele funciona no Delphi CE e, na verdade, tem muito mais recursos do que o Smart CodeInsight. Aqui no blog tem uma postagem falando sobre ele, e no nosso canal do YouTube tem vídeos demonstrando como usar. Vou deixar o link do plugin para instalação:
https://github.com/Code4Delphi/Delphi-AI-Developer
Fico a disposição caso fique com alguma dúvida.
Esses recursos estão com o mesmo problema crônico do code insigth tradicional , não funciona com projetos grandes.
Olá, Junior. Qual a versão do Delphi que você está utilizando atualmente? Eu trabalho com um sistema bem grande e notei uma melhora muito significativa no Delphi 12. No Delphi Rio, o Delphi ficava lento com projetos grandes, mas agora, com o Delphi 12, está rodando sem nenhuma lentidão. Agradeço o comentário.
Sobre o code insight tradicional, nos projetos maiores por ex. eu deixo o mouse em cima de uma função para visualizar os parâmetros, e fica no “calculating…” e não mostra nada ou mostra algo fora de contexto, como o valor da função anterior em que fiz isso. O Ctrl + barra também não me mostra nada. Mas em projetos menores, funciona.
Utilizo o delphi 12.3
Pois é, Junior, infelizmente, em projetos grandes, às vezes o Code Insight ou Error Insight não respondem como deveriam. Uma forma de contornar isso é reiniciar o Delphi LSP. Há um post no blog que mostra como fazer isso, segue o link: https://code4delphi.com.br/blog/reiniciando-o-delphi-lsp
O meu Delphi 12 também não aparece essa opção do Smart CodeInsight… Baixei agora, instalei e não aparece.
Olá Alfredo! Você também está utilizando o Delphi Community Edition? Se sim, é por este motivo. Este recurso não está disponível na versão CE. Uma alternativa é instalar o plugin Delphi AI Developer. Ele funciona no Delphi CE e, na verdade, tem muito mais recursos do que o Smart CodeInsight. Aqui no blog tem uma postagem falando sobre ele, e no nosso canal do YouTube tem vídeos demonstrando como usar. Vou deixar o link do plugin para instalação:
https://github.com/Code4Delphi/Delphi-AI-Developer
Fico a disposição caso fique com alguma dúvida.