O estudo com as percepções das pessoas usuárias sobre a StackSpot AI é uma iniciativa para avaliar a compreensão de devs sobre a ferramenta, além de identificar tendências, comportamentos, desafios e pontos de melhoria.
Atualmente, pessoas desenvolvedoras estão equipadas com um conjunto de ferramentas de geração de código e agentes de IA projetados para navegar e simplificar as complexidades da engenharia de software.
No entanto, à medida que os projetos de software se tornam mais complexos, a demanda por assistência de código precisa e eficiente se torna crítica. Por isso, realizamos um estudo com pessoas usuárias sobre a StackSpot AI para conhecer o ponto de vista de devs sobre a nossa solução.
Quer saber o que pessoas desenvolvedoras têm a dizer sobre a StackSpot AI? Sendo assim, boa leitura!
Limitações dos assistentes de código existentes
Apesar de sua natureza inovadora e treinamento com grandes quantidades de dados disponíveis publicamente, os assistentes de IA de uso geral sabem pouco ou nada sobre sua empresa ou sua rotina diária de trabalho.
Geralmente, esses assistentes fornecem respostas genéricas ou imprecisas, principalmente quando confrontados com consultas contextualizadas e específicas de um domínio.
Essa lacuna é sentida por devs que buscam orientação, por exemplo, em tarefas relacionadas à otimização de uma consulta de banco de dados ou para entender melhor as complexidades de uma base de código proprietária.
Embora avançadas em muitos aspectos, as ferramentas de IA convencionais, como o ChatGPT e o Google Bard, muitas vezes não conseguem oferecer a profundidade e a especificidade necessárias nesses cenários.
Essas limitações prejudicam a produtividade e representam uma barreira para o aproveitamento de todo o potencial da IA no desenvolvimento de software.
A solução
O setor está respondendo a essas limitações com o desenvolvimento de assistentes de IA de código contextualizado. Essas ferramentas, sustentadas por modelos linguísticos avançados, são projetadas especificamente para acessar e utilizar o conhecimento proprietário e específico do domínio, que os assistentes de uso geral normalmente não têm.
Essa abordagem especializada permite que eles ofereçam assistência direcionada, o que é especialmente útil em cenários complexos e específicos do domínio.
Quer mergulhar no tema? Temos um vídeo que vai te mostrar o impacto da IA generativa na engenharia de software. Assista (vídeo em inglês):
Além da IA generalista
Para ilustrar, imagine um cenário em que devs estejam trabalhando em uma intrincada plataforma de comércio eletrônico. Posteriormente, se deparam com um desafio relacionado à otimização de um algoritmo de recomendação de produtos de várias camadas.
Enquanto uma IA de uso geral pode oferecer orientação de base ampla ou soluções algorítmicas, um assistente de código contextualizado, familiarizado com as nuances proprietárias dessa plataforma de comércio eletrônico específica, pode identificar problemas exatos com base em dados históricos ou até mesmo fornecer soluções que levem em conta restrições específicas da plataforma ou estruturas baseadas na empresa.
É por isso que toda pessoa desenvolvedora deve considerar o uso de um assistente de código contextualizado.
Em essência, enquanto uma ferramenta de IA de uso geral pode sugerir práticas genéricas, um assistente contextualizado pode fazer referência a documentos de requisitos específicos da empresa e a projetos relacionados, oferecendo respostas que não são apenas eficazes, mas também adaptadas às necessidades exclusivas da organização.
É aqui que a StackSpot AI se destaca!
Consuma inovação, comece a transformação
Assine nosso boletim informativo para se manter atualizado sobre as práticas recomendadas mais recentes para aproveitar a tecnologia para gerar impacto nos negócios
Qual a ideia da StackSpot AI?
A StackSpot AI é um assistente de código de inteligência artificial altamente contextualizado que leva em consideração os requisitos de cada dev e as complexidades de bases de código específicas.
A principal ideia por trás da StackSpot AI é que poderíamos gerar respostas melhores se pudéssemos enriquecer o prompt com informações contextualizadas, ou seja, nossas fontes de conhecimento ou Knowledge Sources.
Em resumo, o RAG (Retrieval Augmentation Generation) aprimora o conteúdo gerado pelo LLM ancorando-o em fontes de conhecimento desconhecidas do modelo. Nos sistemas de resposta a perguntas, o RAG acessa informações atualizadas e confiáveis e oferece transparência em relação às fontes de informação do LLM, promovendo a confiança e a verificabilidade.
Em outra publicação do blog, detalhamos a arquitetura da StackSpot AI, descrevendo como usamos a abordagem RAG do Facebook para dar suporte a esse processo de enriquecimento.
Percepções das pessoas usuárias sobre a StackSpot AI
Realizamos um estudo para mapear as percepções das pessoas usuárias sobre a StackSpot AI, para entender melhor como elas aproveitam a ferramenta.
O objetivo geral era familiarizar as pessoas participantes com a ferramenta, orientando-as sobre seus recursos e funcionalidades por meio de uma reunião on-line.
A abordagem envolveu a progressão de conceitos introdutórios e demonstrações de produtos para a exploração interativa e prática, seguida de discussões. O objetivo era garantir que as pessoas entendessem a ferramenta de StackSpot AI, seus recursos e aplicações.
Aquecimento
A sessão começou com as boas-vindas para apresentar as pessoas facilitadoras e incentivar o preenchimento de um questionário pré-estudo.
Em seguida, foi feita uma demonstração da ferramenta. Nela, foram destacados os principais recursos e métodos de interação, equipando as pessoas participantes com o conhecimento necessário para realizar operações básicas.
Contato com a plataforma
Após a demonstração, uma parte da reunião foi dedicada à exploração independente.
Essa fase incluiu a replicação da demonstração, a aplicação da ferramenta para simular operações, como transações bancárias, e a experimentação de diferentes fontes de conhecimento para aprimorar o uso da ferramenta de acordo com o campo da pessoa participante.
Conclusão do estudo
O estudo foi concluído com uma discussão em grupo, na qual participantes refletiram sobre sua experiência com a ferramenta da StackSpot AI e forneceram feedback para seu desenvolvimento.
Essas discussões foram fundamentais para criar relacionamento e garantir o envolvimento durante todo o estudo.
Quais são as percepções das pessoas usuárias da StackSpot AI?
Geração de códigos precisos para integração rápida com APIs internas
Inicialmente, as pessoas participantes expressaram ceticismo em relação à precisão e à integridade do código gerado pela ferramenta, especialmente para a integração de APIs complexas – durante o estudo, elas receberam alguns arquivos de API, que usaram para gerar a integração usando a ferramenta.
A experiência revelou a capacidade da ferramenta de gerar trechos de código funcionais, reconhecendo isso como um recurso essencial para acelerar os ciclos de desenvolvimento e reduzir os erros. Isso foi destacado por uma das pessoas participantes, que mencionou o seguinte:
“Assim, a ferramenta captou com precisão o contexto, gerando um código com o Spring Framework – foi impressionante. Eu não esperava que funcionasse tão bem. A ferramenta criou a classe como eu solicitei. De fato, estou bastante surpreso com isso.”
Agregação de fontes de conhecimento no IDE
Conforme mencionado entre os benefícios, participantes disseram especificamente que a ferramenta economizou tempo ao eliminar a necessidade de pesquisar fontes de conhecimento porque agora elas estão “disponíveis” no IDE.
Esse recurso foi destacado como uma economia de tempo significativa, influenciando a percepção de produtividade das pessoas participantes do estudo.
Por exemplo, uma pessoa que participou mencionou:
“Economiza tempo, pois é um atalho para acessar informações. Se fosse feito por meios convencionais, você teria que pesquisar em um mecanismo de busca, consultar livros ou encontrar pessoas com essas informações para ajudá-lo, o que levaria mais tempo.”
Outra pessoa mencionou que a ferramenta poderia reduzir as interrupções ao fornecer fontes de conhecimento dentro do IDE:
“Acredito que ela pode economizar nosso tempo, pois nos permite reduzir as interrupções ao buscar informações específicas.”
Em resumo, o fornecimento de acesso instantâneo a fontes de conhecimento relevantes diretamente na ferramenta permitiu que as pessoas usuárias acessassem as informações necessárias ou amostras de código sem interromper o fluxo de trabalho.
Refinamento iterativo dos códigos gerados por meio da interação por chat
Como a ferramenta da StackSpot opera como um agente de conversação equipado com memória interna para registrar interações anteriores, pessoas usuárias podem interagir com ela pelo chatbot.
A manutenção de um histórico de conversas anteriores foi inicialmente considerada interessante. Isso facilita o refinamento interativo do código e ajuda a aprimorar os resultados do código para alinhar-se precisamente com os requisitos específicos do projeto, permitindo que pessoas usuárias obtenham soluções de codificação mais otimizadas.
Os ganhos de produtividade só são desbloqueados se as pessoas usuárias souberem como usar a StackSpot AI
Uma pessoa participante comentou que, como qualquer ferramenta de IA, ela só traz benefícios de economia de tempo se for usada corretamente, com avisos refinados e configurações adequadas. Se for mal utilizada, pode até levar à perda de tempo.
Uma pessoa participante exemplificou:
“No entanto, se for usado de forma descuidada ou por pessoas menos experientes, pode resultar em mais trabalho para os desenvolvedores mais experientes.”
Esse insight ressalta a importância de entender como interagir com as ferramentas de IA de forma eficaz. Consultas formuladas adequadamente e uma compreensão clara dos recursos da StackSpot AI são essenciais para aproveitar todo o seu potencial e evitar resultados contraproducentes.
Descoberta do que é uma boa fonte de conhecimento
As fontes de conhecimento são documentos representativos que enriquecem os prompts do componente de geração do RAG, fornecendo contexto para o desenvolvimento de tarefas. Sem essas fontes, as respostas da StackSpot AI seriam menos contextualizadas, assemelhando-se às respostas dos assistentes de IA de codificação de uso geral.
Portanto, identificar fontes de conhecimento eficazes é vital para o desempenho da StackSpot AI.
Nosso estudo revelou que nem todas as pessoas participantes conseguiam entender o que constitui uma (boa) fonte de conhecimento. Isso foi observado durante as discussões em grupo sobre outros tipos de fontes de conhecimento que eles usariam com base no contexto da equipe.
Embora algumas pessoas pudessem dar exemplos interessantes (por exemplo, usar um esquema de banco de dados como fonte de conhecimento e pedir que a ferramenta criasse consultas SQL com base nele), outras não conseguiram dar um único exemplo.
Além disso, algumas deram exemplos que não se baseavam em tarefas de codificação. Por outro lado, outras até mencionaram que “precisam entender mais sobre o assunto, mas conseguiram usá-lo de uma forma muito básica”.
Para obter mais detalhes sobre a arquitetura ou as percepções das pessoas usuárias sobre a StackSpot, leia nosso relatório de pesquisa detalhado.
Quer conhecer mais pesquisas acadêmicas produzidas internamente na Zup? Reunimos nossos destaques no nosso site, confira!
Conclusão
Por fim, a StackSpot AI surge como um avanço significativo na codificação de assistentes de AI adaptados às necessidades exclusivas de devs e bases de código específicas.
As percepções das pessoas usuárias da StackSpot destacam a eficácia da ferramenta na geração de códigos precisos. Além disso, ela agrega fontes de conhecimento dentro do IDE e refina códigos por meio do chat interativo. Isso demonstra seu potencial para aumentar a produtividade e simplificar os processos de desenvolvimento.
No entanto, o estudo também ressalta a importância de entender como usar essas ferramentas de IA de forma eficaz. Isso inclui a seleção de fontes de conhecimento apropriadas e a formulação de consultas precisas.
À medida que a IA continua a evoluir, ferramentas como a StackSpot AI são, portanto, fundamentais para preencher a lacuna entre os assistentes de IA de uso geral e as demandas especializadas do desenvolvimento de software. Além disso, elas impulsionam a inovação e a eficiência no setor.
Tem alguma dúvida? Ou quer saber mais sobre a StackSpot AI? Então, conheça a nossa assistente de código clicando no botão abaixo.