Simple Science

Ciência de ponta explicada de forma simples

# Informática# Interação Homem-Computador# Linguagens de programação

Melhorando ferramentas de programação em IA com programação ao vivo

Este artigo fala sobre como usar Programação Ao Vivo pra melhorar as sugestões de código geradas por IA.

― 8 min ler


Ferramentas de IA emFerramentas de IA emProgramação Ao Vivocom feedback em tempo real.Explorando sugestões de código de IA
Índice

Ferramentas de programação com IA, tipo o GitHub Copilot, tão virando moda entre os desenvolvedores. Mais de um milhão de devs tão usando essas ferramentas. Mas, não são perfeitas e podem sugerir códigos que tão errados ou incompletos. Ao usar essas ferramentas, os desenvolvedores enfrentam novos desafios, como descobrir quais sugestões de código usar.

Esse artigo explora um novo método chamado Exploração ao Vivo de Programas Gerados por IA. Esse método mostra como a Programação ao Vivo, que exibe continuamente os valores em tempo de execução de um programa, pode ajudar os desenvolvedores a lidar com esses desafios. Criamos um protótipo usando Python pra testar esse método e avaliamos isso com um estudo com participantes. Os resultados dão uma luz sobre como melhorar as ferramentas de programação com IA no futuro.

A Necessidade de Melhores Ferramentas de Programação

À medida que os assistentes de programação com IA avançaram, mudaram a forma como o software é desenvolvido. Ferramentas como GitHub Copilot e Amazon CodeWhisperer automatizam várias tarefas rotineiras de programação. Mas, essas ferramentas também trazem novas tarefas pros desenvolvedores. Agora, os devs precisam pedir ajuda pros assistentes e checar as sugestões.

Esse artigo foca em uma tarefa específica: explorar o código gerado pela IA. Isso significa descobrir como usar as sugestões da IA dentro do trabalho do programador. Essa exploração pode envolver várias atividades, incluindo checar se uma sugestão combina com a intenção do desenvolvedor, escolher entre sugestões diferentes e editar uma sugestão pra fazê-la funcionar corretamente.

Estudos mostram que validar essas sugestões de código leva muito tempo. Muitos desenvolvedores costumam lutar pra saber se o código gerado por IA tá certo. Além disso, os devs querem ver várias sugestões ao mesmo tempo, o que dificulta a comparação e a escolha da melhor.

Apresentando a Programação Ao Vivo

A Programação Ao Vivo dá um retorno imediato sobre o código, mostrando os resultados enquanto o programador faz alterações. Esse método tem dois principais benefícios pra exploração.

Primeiro, os programadores conseguem ver a saída de uma sugestão sem precisar rodar o programa inteiro. Isso facilita conferir se a sugestão funciona como esperado. Além disso, ferramentas como Projection Boxes não só mostram o resultado final, mas também exibem valores intermediários, ajudando os desenvolvedores a entenderem melhor como o código funciona.

Segundo, quando os programadores editam uma sugestão, eles podem ver os resultados das mudanças na hora. Esse feedback imediato ajuda a refinar o código rapidamente.

Nesse artigo, falamos sobre a implementação da Exploração Ao Vivo de Programas Gerados por IA dentro de ambientes de Programação Ao Vivo. Nosso objetivo foi apoiar os desenvolvedores na exploração de várias sugestões de código geradas pela IA.

Construindo e Testando a Ferramenta

Pra implementar isso, criamos uma ferramenta que combina sugestões geradas por IA com um ambiente de Programação Ao Vivo. Usando essa ferramenta, montamos um experimento pra estudar como a Programação Ao Vivo impacta a forma como os desenvolvedores exploram o código gerado por IA.

Resumindo, oferecemos:

  1. Um novo modelo de interação que une assistentes de programação com IA e Programação Ao Vivo.
  2. Uma ferramenta protótipo que apoia a exploração de programas gerados pela IA.
  3. Uma avaliação mostrando que usar a Programação Ao Vivo resulta em códigos mais corretos, reduz a dependência da IA e facilita a Validação e seleção das sugestões pelos desenvolvedores.

Entendendo o Estudo de Usuário

Pra testar nossa ferramenta, fizemos um estudo com 17 participantes que tinham diferentes formações e experiências com Python. Cada participante trabalhou em tarefas de programação usando ou a nova ferramenta com Programação Ao Vivo ou um método padrão sem ela.

Os participantes completaram dois tipos de tarefas: uma focada em problemas algorítmicos e outra em uso de API. Projetamos as tarefas pra ver como as ferramentas afetavam a correção do código produzido e quanto tempo eles gastavam em cada tarefa.

Medimos o desempenho dos participantes, como eles se sentiram com suas soluções e o quão difícil acharam a tarefa. Também pedimos feedback sobre a usabilidade da ferramenta depois que terminaram as tarefas.

Analisando Desempenho e Duração da Tarefa

Para as tarefas, comparamos o desempenho dos participantes usando a nova ferramenta com aqueles que usaram o método padrão. Descobrimos que quem usou a ferramenta com Programação Ao Vivo tende a produzir soluções mais corretas no geral.

Os participantes no ambiente de Programação Ao Vivo conseguiram completar algumas tarefas mais rápido. Mas, a diferença no tempo gasto variou entre as tarefas. Nos casos onde as sugestões estavam erradas, os participantes no ambiente de Programação Ao Vivo demoraram mais pra chegar a uma solução, já que gastaram mais tempo tentando corrigir o código sugerido.

Ganhando Confiança no Código

Também olhamos como os participantes se sentiram em relação à confiança nas soluções deles. Depois de cada tarefa, eles avaliaram a confiança na correção do código. Isso ajudou a ver se a nova ferramenta afetou a confiança deles nas sugestões geradas pela IA ou se ainda estavam inseguros em usar as recomendações.

Curiosamente, os participantes que usaram o ambiente de Programação Ao Vivo relataram níveis de confiança mais altos no trabalho deles. Eles estavam mais propensos a aceitar as sugestões geradas pela IA porque conseguiam validá-las imediatamente.

Reduzindo a Carga Cognitiva

O estudo também buscou avaliar como a nova ferramenta afetava a carga cognitiva, ou o quão mentalmente exigente uma tarefa era pros participantes. Descobrimos que aqueles que usaram o ambiente de Programação Ao Vivo experimentaram uma carga cognitiva menor. Eles acharam mais fácil avaliar as sugestões da IA graças ao feedback imediato fornecido pela ferramenta.

Enquanto os participantes do grupo padrão lutavam pra entender o código sugerido pela IA, aqueles no ambiente de Programação Ao Vivo acharam menos desgastante. Eles notaram que ver os resultados das mudanças no código na hora deixava o processo mais suave e menos estressante.

Impressões Positivas da Ferramenta

Os participantes disseram que estavam geralmente satisfeitos com o sistema de Programação Ao Vivo. Eles acharam mais fácil pedir sugestões e visualizá-las. Muitos apreciaram a capacidade de inspecionar várias sugestões de uma vez, o que os deixou escolher baseado em diferentes abordagens e ideias.

O feedback destacou que os participantes curtiram o retorno imediato da ferramenta. Eles sentiram que isso ajudou a entender melhor o que o código tava fazendo e os ajudou a fazer escolhas melhores.

Oportunidades de Design para Ferramentas Futuras

Com base nos achados do nosso estudo, identificamos várias áreas pra melhorar os assistentes de programação com IA:

  1. Explicações para Sugestões: Muitos participantes expressaram interesse em ter explicações mais claras do que o código gerado pela IA tava fazendo. Descrições simples ou respostas mais conversacionais poderiam melhorar a compreensão deles.

  2. Geração Automática de Testes: Os participantes viram valor em ter a ferramenta gerando testes automaticamente pro código, permitindo validar as sugestões de forma eficaz.

  3. Refinamento de Sugestões: Os usuários queriam a capacidade de refinar sugestões de código diretamente na ferramenta, melhorando a experiência deles.

  4. Organização de Múltiplas Sugestões: Surgiram sugestões pra organizar as sugestões de código de forma mais eficaz. Os participantes queriam um jeito de gerenciar e revisar facilmente sugestões já vistas.

  5. Combinação de Segmentos de Código: Alguns usuários expressaram o desejo de ter ajuda pra combinar diferentes segmentos de várias sugestões pra formar uma solução completa.

Conclusão

Esse artigo apresenta o uso da Programação Ao Vivo pra apoiar a exploração de sugestões de código geradas por IA. Através do nosso estudo de usuário, observamos que o ambiente de Programação Ao Vivo leva a uma melhor qualidade de código, aumenta a confiança no uso de sugestões de IA e reduz a carga cognitiva durante as tarefas de programação.

As descobertas apontam pra várias oportunidades de design pra melhorar os assistentes de programação com IA. Atender às necessidades dos usuários por explicações mais claras, geração automática de testes e melhor organização das sugestões de código pode ajudar a criar ferramentas de programação mais eficazes no futuro.

Conforme o desenvolvimento de software continua a evoluir, a integração de ferramentas de IA como a Programação Ao Vivo pode melhorar muito a experiência de programação pros desenvolvedores, tornando mais fácil criar e validar código de forma eficaz.

Mais de autores

Artigos semelhantes