Tecnologia além do código.
Régys Borges da Silveira

RadIA 2.2.2: jornadas DEXT conversacionais, ajuda integrada e uma experiência de IA mais previsível no Delphi

Neste artigo 19 tópicos

O RadIA 2.2.2 transforma comandos de automação em jornadas guiadas que preservam o contexto, adiciona geração de servidores DEXT minimalistas ou com controllers e deixa a configuração de modelos, CLI e MCP muito mais clara.

O RadIA é open source. Código-fonte, documentação, histórico e instruções de compilação estão no repositório oficial no GitHub.

Se você acompanha o desenvolvimento do RadIA, sabe que o nosso objetivo nunca foi criar apenas mais uma janela de chat dentro do Delphi. A proposta é usar inteligência artificial para executar fluxos reais de desenvolvimento: entender o projeto aberto, propor um plano, criar ou alterar arquivos, compilar, executar testes e apresentar evidências do resultado.

A versão 2.2.2 avança justamente nessa direção. Ela introduz jornadas conversacionais para criação de APIs DEXT, melhora a descoberta dos recursos do próprio plugin e resolve pontos importantes de previsibilidade na seleção de modelos, no limite de tokens e na configuração de CLI e MCP.

Em outras palavras: o RadIA ficou mais fácil de descobrir, mais claro de configurar e mais seguro de usar em tarefas longas.

O problema dos comandos completos demais

Automatizar a criação de um projeto exige informações concretas: nome, diretório, plataforma, porta, endpoints e critérios de resposta. Poderíamos obrigar o usuário a decorar uma sintaxe extensa e informar tudo em uma única mensagem, mas isso seria pouco natural.

Também não seria correto iniciar o Agent Runtime sem esses dados, encerrar a execução por falta de informação e esperar que o usuário começasse tudo novamente. Nesse cenário, a intenção original e as respostas seguintes deixariam de fazer parte da mesma operação.

No RadIA 2.2.2, uma jornada incompleta entra em uma fase de coleta conversacional. O plugin pergunta somente o próximo dado ausente, mantém cada resposta vinculada à jornada e inicia o agente apenas quando existe contexto suficiente.

O contexto permanece ativo até uma destas situações:

  • todos os dados obrigatórios foram coletados e a execução começou;
  • o usuário digitou /journey cancel para abandonar a jornada;
  • o usuário iniciou explicitamente outra jornada.

Enquanto a coleta está ativa, a troca de chat é bloqueada para impedir que uma resposta seja anexada à conversa errada.

Criando um servidor DEXT minimalista

A jornada dext-minimal cria uma base compilável com rotas diretas. Ela é adequada para serviços menores, microsserviços e APIs em que uma estrutura de controllers seria desnecessária.

Você pode começar apenas com:

/journey dext-minimal

O RadIA perguntará, nesta ordem:

  1. nome do projeto;
  2. diretório de destino;
  3. plataforma, Win32 ou Win64;
  4. porta HTTP;
  5. caminho do endpoint de saúde;
  6. lista de endpoints, com método, caminho, grupo, status esperado e finalidade.

Um diálogo completo pode ficar assim:

Usuário: /journey dext-minimal

RadIA: What should the project be called?
Usuário: CatalogApi

RadIA: Which destination folder should receive the project?
Usuário: D:\Projects

RadIA: Which target platform should be used: Win32 or Win64?
Usuário: Win32

RadIA: Which HTTP port should the server use?
Usuário: 8080

RadIA: What should the health endpoint path be? Example: /health
Usuário: /health

RadIA: List the endpoints. For each one, provide method, path, group,
expected status, and purpose.
Usuário: GET /products group=Products status=200 purpose=ListProducts;
POST /products group=Products status=201 purpose=CreateProduct;
GET /clients/{id} group=Clients status=200 purpose=GetClient

Se preferir, todos os dados podem ser enviados de uma vez:

/journey dext-minimal project=CatalogApi destination=D:\Projects platform=Win32 port=8080 health=/health endpoints="GET /products group=Products status=200 purpose=ListProducts; POST /products group=Products status=201 purpose=CreateProduct; GET /clients/{id} group=Clients status=200 purpose=GetClient"

Ao final da coleta, o RadIA não grava arquivos imediatamente. Primeiro ele transforma as informações em uma especificação versionada, inspeciona o ambiente, apresenta um plano revisável e mantém os gates de consentimento do Agent Runtime.

A jornada gera a estrutura base do projeto, Startup, contratos, mapeamentos em Endpoints, appsettings.json, arquivo .http e README. Depois, abre o projeto, executa o build, inicia o servidor e verifica o endpoint de saúde antes de declarar sucesso.

Criando uma API DEXT com controllers

Para APIs maiores ou organizadas por domínio, use dext-controllers:

/journey dext-controllers

A coleta é a mesma, mas o projeto gerado agrupa as actions em controllers e habilita uma estrutura mais adequada para crescimento e documentação com Swagger.

Exemplo completo em uma única mensagem:

/journey dext-controllers project=BookingApi destination=D:\Projects platform=Win64 port=8080 health=/health endpoints="GET /bookings/{id} group=Bookings status=200 purpose=GetBooking; POST /bookings group=Bookings status=201 purpose=CreateBooking; PUT /bookings/{id} group=Bookings status=200 purpose=UpdateBooking; DELETE /bookings/{id} group=Bookings status=204 purpose=DeleteBooking"

Os contratos não pressupõem CRUD nem um domínio chamado Produto. Cada rota é definida pelo usuário,
e os campos group, status e purpose tornam explícita a intenção de cada endpoint.

Como abandonar uma jornada

Se você perceber que iniciou a jornada errada ou quiser reformular os requisitos, use:

/journey cancel

O RadIA descarta somente a coleta pendente e confirma o abandono. Nenhum projeto é criado e nenhuma
mutação é executada.

O novo comando /help

À medida que o RadIA cresceu, descobrir tudo que ele pode fazer passou a ser um desafio. A versão
2.2.2 adiciona um ponto de entrada simples:

/help

O comando é local, imediato e não consome tokens de IA. Ele apresenta um resumo das principais áreas:

  • chat e operações sobre código;
  • jornadas ponta a ponta;
  • Agent Runtime;
  • diagnóstico de projeto e instalação;
  • providers, CLI e MCP;
  • ferramentas e extensões.

O resultado também contém links para os guias de instalação, comandos, jornadas, DEXT e configurações. Esses links agora são abertos no navegador padrão do Windows, e não dentro da janela local do WebView2 do RadIA.

Exemplos dos demais comandos de jornada

O menu / agora exibe a sintaxe e um exemplo preenchível. Além das novas jornadas DEXT, estes são exemplos completos das jornadas nativas:

Criar um projeto Delphi

/journey create project=Inventory type=VCL destination=D:\Projects platform=Win32 requirements="FireDAC with SQLite"

Corrigir um build

/journey fix-build scope=ActiveProject preserve="public APIs and local changes"

Criar e executar testes

/journey tests focus="CustomerService validation" constraints="DUnitX, no network"

Diagnosticar uma falha

/journey debug symptom="Access violation on close" reproduce="Open Orders and close the form" expected="Clean shutdown"

Modernizar uma parte do projeto

/journey modernize scope="Orders units" preserve="public interfaces and behavior"

Migrar uma tecnologia

/journey migrate from=ADO to=FireDAC scope="Orders data layer"

Preparar uma entrega

/journey release scope="current tracked changes" targets="Win32;Win64" publish=no

Se uma jornada for iniciada sem contexto, o RadIA solicita objetivo, escopo, restrições e resultado
esperado antes de começar.

Modelos compatíveis com o transporte ativo

Outra evolução importante da versão 2.2.2 está na seleção de modelos. Um nome de modelo válido para a API da OpenAI não é necessariamente válido para uma sessão ChatGPT OAuth executada pelo Codex CLI. Da mesma forma, cada provider, conta, região e endpoint pode expor catálogos diferentes.

Agora o RadIA prioriza a descoberta de modelos oferecida pelo provider ou transporte configurado. No caso do ChatGPT OAuth, a lista é consultada pelo Codex App Server. Somente quando a descoberta falha o plugin apresenta um catálogo mínimo de fallback.

Isso evita oferecer ao usuário uma opção visual que o executor selecionado não consegue utilizar.

CLI, MCP e execução nativa ficaram mais claros

As configurações foram reorganizadas para deixar explícita a responsabilidade de cada integração:

  • provider conecta o chat ao modelo;
  • orquestração nativa mantém o loop de ferramentas dentro do RadIA;
  • CLI externo entrega o objetivo a Codex, Claude Code, Gemini CLI ou GitHub Copilot CLI;
  • MCP permite que outro cliente autorizado utilize as ferramentas publicadas pela IDE.

As páginas-pai agora apresentam apenas uma descrição. A configuração real fica em páginas filhas específicas, evitando seletores repetidos e telas sobrecarregadas.

O diagnóstico do Codex CLI também foi aprimorado. Quando o executável não é encontrado, o RadIA mostra o caminho esperado, permite selecionar manualmente o arquivo e oferece ações de diagnóstico, login e atualização.

Limite de tokens realmente opcional

O Agent Runtime possui um limite local de tokens para controlar execuções. Havia uma situação em que o valor configurado ainda podia interromper a execução mesmo quando o limite estava desativado.

Na versão 2.2.2, desligar o limite significa exatamente isso: a interface mostra tokens (unlimited) e o runtime não encerra a jornada por orçamento local. Limites da conta ou do provider continuam independentes e ainda podem ser aplicados pelo serviço externo.

Qualidade e compatibilidade

O RadIA 2.2.2 foi validado para:

  • Delphi 12 Athens Win32;
  • Delphi 13 Win32;
  • Delphi 13 IDE64.

A entrega passou por 869 testes Delphi sem vazamentos, 38 testes Web e Quality Gate do SonarQube com zero violações novas e métricas globais nota A. Os três pacotes internos foram gerados a partir do mesmo commit, e o instalador visual teve tamanho, versão e SHA-256 verificados.

Como instalar

Feche todas as instâncias do Delphi e baixe o instalador único na página oficial da release:

Baixar o RadIA 2.2.2

Execute RadIA-v2.2.2-Setup.exe e selecione Delphi 12 Win32, Delphi 13 Win32 e/ou Delphi 13 IDE64.

O RadIA é open source. Código-fonte, documentação, histórico e instruções de compilação estão no repositório oficial no GitHub.

Conclusão

O principal avanço do RadIA 2.2.2 não é apenas gerar mais um tipo de projeto. É transformar uma intenção incompleta em um diálogo estruturado, preservando contexto, segurança e evidências até a entrega de um resultado compilável.

Com jornadas DEXT, ajuda integrada, modelos descobertos pelo transporte correto e configurações mais claras, o RadIA fica mais próximo da experiência que buscamos desde o início: uma inteligência artificial que entende o fluxo de desenvolvimento Delphi e participa dele de maneira previsível, revisável e útil.

Compartilhar por e-mail

0 comentário(s)

Participe da conversa

Seu e-mail não será publicado.

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Um próximo passo para cada interesse.

Continue estudando com os livros, acompanhe as videoaulas ou consulte as soluções para o seu projeto.

Descubra mais sobre Régys Borges da Silveira

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continuar lendo