Construindo um aplicativo usando GitHub Spark com uma única frase como prompt de IA

DrPixel/Getty Images

Você já sonhou em criar sua própria aplicação personalizada, mas não queria gastar tempo aprendendo tudo sobre desenvolvimento de software? Se a resposta for sim, um novo projeto experimental do GitHub pode ser a solução que você procurava.

O GitHub Spark permite que você desenvolva o que a empresa denomina de “micro apps” ou “faíscas”. Essas são aplicações personalizadas extremamente simples que realizam uma ou duas tarefas básicas. Você as cria através de uma interface de chatbot, e, ao concluir, obtém uma faísca que poderá (um dia) compartilhar com seus amigos.

Recentemente, tive a oportunidade de acessar a prévia e pude realizar alguns testes. Em essência, a ferramenta é bastante limitada. Contudo, devido à inteligência artificial que opera por trás dela, é possível que essa AI execute algumas tarefas sofisticadas dentro da interface restrita do Spark.

A primeira etapa é conectar sua conta do GitHub ao Spark. Acesse https://spark.githubnext.com/ e faça login com sua conta do GitHub. Caso não tenha uma conta, será necessário criar uma.

Após efetuar o login, você precisará conceder permissões, algo semelhante ao que ocorre em outros aplicativos que exigem autorização antes do uso inicial.

Ao entrar no ambiente do Spark, você se depara com uma interface padrão de chatbot. Ao clicar no pequeno ícone do painel de controle, é possível escolher o modelo de AI que deseja utilizar. Eu obtive bons resultados com o GPT-4o para programação, então foi essa a minha escolha.

Pensei bastante sobre qual tipo de aplicativo eu gostaria de desenvolver. Exemplos incluem aplicativos para rastreamento de hábitos, controle de mesada, um aplicativo de mapas e um planejador de noites de karaokê. Essencialmente, todos eram aplicativos que apresentavam um formulário com campos e botões que realizavam alguma lógica comercial com base nos dados inseridos.

No entanto, a entidade responsável pela execução da lógica não era um gerenciador de formulários típico, e sim o GPT-4o. Imagine, então, se minha lógica comercial fosse algo extremamente complexo e difícil para um algoritmo convencional, mas fácil para uma IA — tudo dentro de uma interface muito simples. Então, decidi criar uma ferramenta que permitisse colar um bloco de código. O aplicativo deveria me informar o que o código fazia, qual era a linguagem utilizada, observações sobre áreas que poderiam apresentar problemas e, talvez, uma análise detalhada das linhas de código.

Pense sobre isso. No passado, um projeto dessa magnitude costumaria custar milhões, se é que poderia ser realizado. Mas eu apenas forneci ao Spark uma linha: “Uma ferramenta que examina e explica código fonte.”

Em seguida, cliquei em “Ir”. O resultado foi a interface apresentada abaixo. À esquerda, existe um painel que teoricamente permite iterar sobre o que o aplicativo realizará. O painel do meio contém o código gerado a partir do prompt, enquanto o painel da direita é a interface do usuário criada pelo Spark para o aplicativo.

Por curiosidade, alimentei-o com um código de expressão regular com erros dos meus testes de programação, apenas para ver como ele reagiria. Como eu suspeitava, o GPT-4o demonstrou habilidade para analisar um trecho de código. No entanto, não achei o resultado tão útil quanto esperava, então decidi refinar o que o aplicativo poderia me oferecer.

As alterações são feitas através do campo Iterar no painel mais à esquerda. Pedi ao GPT-4o que: exibisse a linguagem do código fonte, fornecesse uma descrição curta, de uma a duas frases, sobre o que o código faz e adicionasse uma ou duas frases descrevendo possíveis falhas no código. Apresentei isso ao Spark nesse campo e esperei o melhor.

Os resultados foram impressionantes. O aplicativo realmente me forneceu as informações que eu desejava, visíveis no painel à direita da interface. Identificou a linguagem, forneceu uma breve descrição do código e destacou uma série de problemas presentes nele.

Em seguida, apresentou a explicação detalhada do código, que fazia parte do meu pedido original, onde solicitei que ele explicasse o código fonte.

Os resultados foram notáveis, mas não gostei da formatação.

Foi nesse ponto que o Spark começou a mostrar suas limitações. Como pode ser visto no painel mais à esquerda da imagem acima, tentei fazer com que o Spark removesse os três asteriscos do início de cada resposta. Também pedi para que a seção de críticas fosse transformada em uma lista com marcadores. Por fim, queria eliminar o segundo conjunto de números de índice sob os títulos.

Consegui os marcadores, mas o Spark ou o GPT-4o ignoraram meus outros pedidos. Minha suposição é de que o GPT-4o estava escrevendo em Markdown, mas a interface do Spark não interpretava o Markdown corretamente.

Para ser honesto, tenho cerca de 20 capturas de tela de minhas várias tentativas de fazer com que o GPT-4o e o Spark ajustassem essa apresentação. Fiquei muito impressionado ao conseguir criar rapidamente um aplicativo que explicasse o código, mas ao mesmo tempo incômodado pelo fato de não conseguir realizar algumas pequenas correções de apresentação que levariam cinco minutos se eu estivesse codificando diretamente.

Uma linha de código — um comando de substituição de string trocando três asteriscos por uma string vazia, e outro substituindo dois asteriscos por uma string vazia — teria resolvido um dos problemas de apresentação. Outro comando de substituição de string, com uma expressão regular simples que buscava um dígito seguido de um ponto decimal no início de uma linha e o substituía por uma string vazia, teria solucionado todos os problemas de formatação. Eu tentei isso, e é possível modificar o código gerado pelo Spark. Mas se você fizer novas iterações usando a IA, qualquer código que você modificar é sobrescrito, mesmo que as modificações solicitadas pela IA não estejam nem perto do que você alterou.

Eventualmente, desisti de tentar ajustar a formatação da saída. Mesmo com uma apresentação um pouco feia, a ferramenta em si era útil. Então decidi que queria compartilhá-la com todos.

Você pode fazer isso clicando no ícone de compartilhamento ao lado do nome do Spark e escolhendo a opção de compartilhamento.

Aqui está um link para a minha faísca (mas não crie muitas expectativas sobre poder usá-la). Você não pode acessá-la a menos que tenha uma conta do GitHub. E mesmo que tenha, não conseguirá usá-la, a menos que tenha sido aceito no programa de prévia do Spark. Eu tentei com outra conta do GitHub e recebi essa mensagem.

Qual a relevância disso? Geradores de formulários sem código estão disponíveis há anos. Eu criei um desde os anos 2000. Como a interface para tal ferramenta é principalmente uma questão de escolher os controles (botões, menus suspensos, campos etc.), além de posicionamento e algumas pinturas, não é algo muito difícil. Embora as aplicações baseadas em formulários tenham suas limitações, é possível construir uma boa variedade de aplicativos. Esses aplicativos costumam ser voltados para gerenciamento de informações, e não para produtividade ou ferramentas altamente interativas. No entanto, as empresas podem realizar muitas atividades dentro das limitações de um gerador de formulários.

A adição da IA para gerenciar a lógica comercial expande radicalmente a capacidade de tais geradores de formulários, como demonstrou meu analisador de código. Contudo, as IAs são também incrivelmente instáveis, tornando incerto o desejo de executar lógicas comerciais críticas através de um algoritmo gestionado por uma IA. Mas, novamente, para um subconjunto moderadamente grande de aplicações, essa abordagem pode ser adequada. Aqui, entra em cena o processo iterativo que o Spark oferece. Como o código escrito por humanos é completamente eliminado a cada atualização da IA, a modificação e a personalização da maneira convencional tornam-se impraticáveis. Infelizmente, a IA possui uma mentalidade de “até aqui e não mais,” e, uma vez que constrói alguma lógica comercial básica, relucta em implementar ajustes e modificações adicionais. Isso, lamentavelmente, transforma essa ferramenta em uma mera curiosidade, não um recurso útil para a área de negócios. Por outro lado, não é um problema difícil de resolver. Portanto, considerando a tarefa de expandir a capacidade do gerador de formulários e a igualmente alcançável de tornar a iteração e as mudanças mais efetivas, acredito que o GitHub Spark tem potencial para ser útil.

Gostaria de ver uma forma de coexistência entre o código escrito por humanos e o código gerado pela IA. E também gostaria de ver uma forma de faíscas rodarem como aplicações web autônomas, sem que os usuários precisem estar integrados ao framework do GitHub. Porém, essas são expectativas razoáveis. Em suma, isso possui potencial para se tornar uma ferramenta utilizável, embora limitada. Acredito que, com um ano ou mais de iterações, ela possivelmente será capaz de realizar tarefas interessantes. Fique atento, pois certamente novidades estão a caminho.

Você já experimentou o GitHub Spark ou ainda está esperando ser aceito na versão de prévia? Se já teve acesso, que tipo de aplicativo tentou construir e como foi a experiência? Você ficou impressionado com a capacidade da IA de gerar lógica ou frustrado com as limitações ao tentar fazer ajustes? E se ainda não utilizou o Spark, acredita que ferramentas como essa poderiam mudar a maneira como pessoas sem conhecimentos técnicos abordam a construção de aplicativos? Compartilhe suas opiniões nos comentários abaixo.

Referência: https://spark.githubnext.com/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima