Novo episódio do Fronteiras da Engenharia de Software!
Conteúdo
Assistentes Conversacionais em Engenharia de Software, com Mairieli Wessel (Radboud University)
Esta entrevista aborda a evolução e o impacto dos assistentes conversacionais na engenharia de software, explorando tanto os fundamentos conceituais quanto as pesquisas recentes e aplicações práticas no campo.
Spotify: https://open.spotify.com/episode/6Go4dcCorKvZMzGeX2MTYU
YouTube: https://youtu.be/7lbcCWR6vgE
Spotify for Creators: https://creators.spotify.com/pod/profile/fronteirases/episodes/Assistentes-Conversacionais-em-Engenharia-de-Software--com-Mairieli-Wessel-Radboud-University-e37evdt
Transcrição
Feita pelo Spotify.
Esta transcrição foi gerada automaticamente. Por isso, ela pode não estar totalmente precisa.
0:00
Não leva tanto em consideração, mas Eu Acredito que adicionar os desenvolvedores, mesmo as pessoas que sofrem com esses problemas, nos estudos e entenderem não só os problemas que eles sofrem, mas também as formas como eles gostariam que essa, que as soluções fossem aplicadas no contexto deles, no contexto real, é também muito importante.
0:22
Olá pessoal, eu sou Adolfo neto, professor da Universidade Tecnológica Federal do Paraná, o tfpr campus Curitiba.
E este é o episódio do podcast Fronteiras da engenharia de software, um podcast para refletir sobre O Presente e o futuro da engenharia de software.
0:38
É um podcast que faz parte da rede em milhas de podcasts.
Este episódio também será publicado lá no emilhas podcasts mulheres na computação e.
Estou aqui hoje com a co apresentadora do Fronteiras, professora Maria Cláudia emer, que é coordenadora do programa de extensão em milhas, armação e bits.
0:57
Tudo bem, Maria Cláudia, tudo joia.
Então vamos dar as boas vindas a professora Marielle vessel, que é a nossa entrevistada de hoje.
Tudo bem, Marielle?
Obrigado por ter aceito o nosso convite.
1:13
Tudo bem, eu que agradeço o convite.
Já aí, o tema da conversa de hoje será assistentes conversacionais em engenharia de software.
Daqui a pouco vamos falar um pouco mais sobre isso, mas antes vamos fazer uma apresentação sua para que as pessoas saibam com quem estamos falando.
1:31
Mariele é professora da radiobald University, nos Países Baixos, desde 2022.
Terminou o doutorado pela USP.
Como eu, eu, eu sempre.
Acabo, sem querer, chamando muita gente que tem algo em comum comigo lá No No imi USP instituto de matemática e estatística, só que foi orientado pelo professor Marco Aurélio gerosa.
1:54
Não foi contemporâneo dele.
Eu acho que até uma curiosidade que eu fiz concurso junto com ele.
A gente participou do mesmo concurso para professor da unifesp.
Ele passou, eu não passei, mas ele acabou preferindo ir para o para o imi USP.
E depois ele foi para nordan Arizona University, que é onde ele está agora.
2:14
E você foi coorientada pelo Eagle steinmaker, que era professor aqui da UTFPRE, agora está na nordanne University.
Já esteve aqui no podcast.
Você fez graduação em ciência da computação pela UTFPR Campo Mourão.
Foi onde nós nos conhecemos pessoalmente, lá no cbsoft 2017, em Fortaleza, Ceará.
2:34
Você ainda era aluna de graduação?
Já, mas já estava apresentando um trabalho lá No No sbs.
Você teve o seu TCC orientado pelo Igor VIS, estava lá também no cbsoft, também já esteve aqui no podcasts, então várias pessoas aqui relacionadas.
2:50
E você já foi entrevistado por nós no Emílio aos podcasts podcasts quando era ainda doutoranda e de lá para cá ou nesse período aí você publicou em cstw, é?
São ciclos de conferências que o pessoal da área vai em.
Vai saber quais são, se é CWMMSR, ixmi s Bass IX e zen e 3 s software, entre outras conferências e revistas.
3:16
Mariele, você tem algo a complementar nesta sua apresentação?
Muito obrigada pela apresentação, Adolfo.
Não acho que é isso mesmo.
Então hoje vamos falar sobre assistentes conversacionais em engenharia de software e vamos.
3:33
Começar pelo mais básico, o que são esses assistentes conversacionais?
Então essa é 11 ótima pergunta, na verdade, porque acho que teremos diversas respostas pra essa mesma pergunta, dependendo da área que a gente estiver falando, se a gente está na engenharia de software, se a gente está em outra área.
3:53
Mas eu acho que o que o mais importante, OOO, ponto central mesmo dessa dessa resposta.
É no que AAO próprio termo já fala, então assistentes e conversacional.
Então, a primeira parte, que é muito importante, eles são sim a é sistemas de software ou até mesmo ferramentas projetadas para interagir com os humanos por meio de linguagem natural.
4:17
E por serem assistentes, o que eles vão prover é uma automação de alguma forma.
Então, uma tarefa que anteriormente era feita de maneira manual agora.
É feita parcialmente ou completamente por esse assistente.
4:33
Mas não só isso, tem também a parte conversacional, que é muito importante.
Então é não só automatizando uma tarefa, mas também provendo algum algum certo feedback pro pro usuário, até mesmo 11 resposta, um código.
4:54
Algum warning, alguma coisa que que seja textual, que vem acompanhado com explicações, é formas de o que fazer.
É como um próximo passo.
Então esses são os 2 componentes que são bem importantes e aí teremos é agentes conversacionais que são completamente autônomos.
5:19
E não precisam de nenhum tipo de é interação com o humano para começar a agir.
EE, fazer as tarefas que estão é determinadas para ser feitas e agentes também que precisam de algum certo tipo de input humano antes de é de fazer o que eles têm que fazer.
5:38
Então essa, mas essa seria esse seria mais ou menos uma definição simples, mais objetiva do que um agente 11 assistente conversacional seria.
Muito bem, ficou bem claro, né?
EE aí você pode nos dar exemplos práticos de problemas de engenharia de software no mundo real, que podem ser resolvidos através do uso de assistentes conversacionais.
6:06
Claro, deixa eu pensar aqui, porque eu eu tinha alguns exemplos que eu sempre uso e recentemente eu eu eu aprendi que tem outras coisas, coisas é.
Coisas diferentes que podem ser usada.
Então, o primeiro que é eu queria falar é que uma coisa que talvez a gente não pense no nosso dia a dia, porque não é tão, talvez não seja tão comum, é perto de nós, mas que existe bastante.
6:33
São pessoas desenvolvedoras que não podem usar as mãos por algum motivo, seja porque tem alguma, é, é.
Algum problema ou uma dor crônica ou qualquer tipo de situação em que usar as mãos, seja temporariamente ou permanentemente, não é possível.
6:52
Então eles se comunicam majoritariamente por voz.
E aí os os agentes, né?
Os assistentes conversacionais entrariam como uma forma de possibilitar é fazer perguntas rápidas e que essas perguntas sejam respondidas.
7:07
Então, ao invés de a pessoa ir para o Stack Overflow.
Para ter uma resposta sobre 11, erro que está Na Na interface é pode perguntar diretamente para esse assistente e aí de novo para facilitar essa interação.
7:23
Porque uma coisa que também eu não mencionei anteriormente, mas que é importante quando eu falo que a interação, né?
Com esses assistentes é, de forma geral, por texto, ele não necessariamente é por texto digitado.
Pode ser também por texto, mas falado, né?
7:40
Interação?
É linguagem natural mesmo.
Então isso é uma coisa que que possibilita a integração de várias pessoas no desenvolvimento de software, que antes talvez é, não seria possível?
Então isso é é 11 coisa bem importante que eu que eu me dei conta recentemente, mas que eu acho que é importante de falar pra pra comunidade.
8:03
E a segunda, um segundo exemplo, é algo mais.
Simples, que a gente encontra no nosso dia a dia.
É que quando a gente está recebendo, por exemplo, uma pessoa nova no time de desenvolvimento, que não tem muita familiaridade, seja com programação no geral ou até mesmo com aquele projeto específico, e aí geralmente essas pessoas, né, esses novatos precisam ser é guiados um pouco mais.
8:33
OOO código precisa ser explicado como funciona o projeto.
Ao que pode ser feito, o que não pode ser feito.
E essa é uma algo que que pode ser automatizado de de alguma, de uma certa forma, né?
É em que, por exemplo, é 11 agente, 11 assistente, conversacional possa estar ali na interface, na ideia, né?
8:56
Junto com a pessoa.
É a disponível 24 horas para poder.
Sanar as dúvidas de a mostrar outros arquivos que são relevantes é, e aí não necessariamente substitui o humano que estaria ali, que é o humano.
9:14
É é necessário, né, pra pra integrar a pessoa ao projeto, mas em casos mais específicos ou dúvidas mais pontuais que possam ser resolvidas com com o auxílio, né, da automação, é, tá ali.
9:29
Então esses são são 2 pontos, eu acho bem.
Bem importantes que são pontos reais, né?
Que a gente pode ver no é no mundo do desenvolvimento.
Então, pessoas para poder integrar as pessoas e também para poder é prover mais suporte e direcionamento para as pessoas novatas.
9:49
E aí, claro, a gente tem é também é exemplos mais complexos que pode integrar.
É Ah, entender código, é resolver.
Bugs, conflitos de código, então tudo que que que uma explicação bem é elaborada é possa ajudar esses agentes conversacionais estão ali pra pra isso, dado que sejam é desenvolvidos da da maneira certa e pensado No No usuário que vai interagir com eles.
10:22
Acho que seriam esses os os pontos.
Muito bom.
Então eu lembro que você começou a trabalhar com com bots, né?
Com assistentes conversacionais há muito tempo, né?
Relativamente, né, pro pro mundo da computação muito antes do boom das LLMS, né?
10:37
Pra quem por acaso não sabe, eu acho difícil, mas LLMS são grandes modelos de linguagem EE, há há todo 11 hype hoje em dia sobre isso, né?
Está sendo usado muitas pesquisas Na Na engenharia de software, na computação em geral.
Então a minha pergunta para você é muito simples, hoje em dia, todo assistente conversacional é necessariamente baseado em LLMS?
11:02
Uma boa pergunta dado dado o nosso contexto, né?
Nosso contexto geral não, não necessariamente.
A gente ainda tem vários assistentes conversacionais que não necessariamente tem uma.
11:23
LLM integrada, mas porque a gente vem de uma longa data aí de é modelos, mais é baseados em regras, né?
Então, dado que estou dado que eu estou falando oi, tudo bem, é ou oi ou só e aí, tudo bem, dada essas variações da do meu, do meu, oi, do meu, é de tentar, né?
11:48
Entrar, estabelecer uma conexão com a assistente, com a assistente, saberia.
Que isso?
Isso tudo levaria a uma resposta, olá, estou aqui para te ajudar.
O que você precisa?
Então isso é o que a gente tinha, né?
E continua tendo, até certo ponto, é por trás das das tecnologias, mas, né, das tecnologias do do assistente.
12:11
Então uma coisa mais um pouquinho mais é mais fechada ali em que.
Nós, como desenvolvedores do do assistente, deveríamos saber exatamente todos os cenários que aconteceriam.
12:27
É para poder prever as perguntas que as perguntas que a que chegariam até o assistente, para poder também prever a resposta.
Então é uma coisa mais engessada, né?
Então isso é o que a gente tinha.
12:42
EE continua tendo até até até certo ponto.
Mas as LLMS, elas vêm com uma força de de tirar essa sobrecarga, de ter que prever exatamente a forma que o usuário vai falar.
E se a gente não prevesse 11 termo ali que que era muito inconsistente, aí talvez a resposta do do do nosso assistente seria completamente errada.
13:07
Ou cairia naqueles é clichês de não entendi o que você falou, pode repetir?
É e aí a gente fica naquela pra sempre.
Então a gente evoluiu muito e tem muita coisa sendo sendo feita.
13:23
Mas ainda temos sim sistemas que grandes, né?
Que eram projetados ainda nessa nesse modelo.
Mais é de regras que ainda estão é operando atualmente.
Agora nós vamos entrar numa parte que a gente sempre gosta aqui de afinal, esse esse podcast.
13:44
A gente sabe que tem muita gente na academia que escuta, mas a gente sabe também que tem algumas pessoas que que não são da academia, que não são mestrandos, doutorandos, docentes, pesquisadores escutam.
Então a gente faz algumas perguntas sobre artigos específicos, até como uma forma de dizer, olha, pesquisa se faz com artigo.
14:01
Talvez seja seja um lado meio ruim da IA hoje em dia, né?
Todo esse Bum da ZL Lemes, que na verdade a pessoa possa lá No No site da empresa alguma coisa que.
Tem toda a cara e estrutura formal de um artigo, mas não passou por revisão por pares, não foi publicado em nenhum lugar.
14:16
Às vezes nunca vai ser publicado em nenhum lugar.
Enfim, vamos falar sobre artigos seus que foram publicados.
Só a gente vai seguir uma ordem cronológica e vamos começar com um artigo não me perturbe.
Desafios de interagir com bots de software em projetos de software de código aberto.
14:35
A gente sempre diz o título do artigo em português, mas lá na descrição do episódio está em inglês e esse artigo foi publicado no Proceedings of the ACM on hillman computer interaction cscw 2.
14:51
E foi em 2021, com o Igor vice, o Igor saymarker e o Marco Aurélio jerosa, que a gente já comentou aqui é. 11 coisa que eu quero destacar que eu acho bem interessante desse artigo aqui, ou seja, eles são claro, foi um tema vindo da prática, né?
15:07
Não foi uma coisa.
Eu estou aqui pensando num problema, não que não tenha também validade esse tipo de artigo, mas foi algo as os desenvolvedores de software, as pessoas desenvolvedoras de software estão usando bots, vamos estudar bots.
A pergunta de pesquisa deste artigo foi.
15:24
Que desafios de interação os bots introduzem ao dar suporte a po requests?
E vocês entrevistaram 21 profissionais, incluindo mantenedores de projetos contribuidores e desenvolvedores de bots identificaram que o ruído é um problema recorrente central na relação das pessoas desenvolvedoras.
15:45
Além deste problema do ruído, quais foram os principais desafios que vocês encontraram na interação das pessoas desenvolvedoras com bots?
Ok, então uma coisa é que eu queria também destacar, né?
Porque eu, eu eu expliquei o que que são esses assistentes lá no começo é, e esse artigo é de 2021, mas não não necessariamente por conta da época, mas também por conta do do contexto desse artigo.
16:13
Esse artigo é focado em bots, que é que é toon no GitHub.
Então é uma plataforma bem específica e o que esses bots fazem lá também é bem específico.
Eles têm até já, já é falando é esse, dando essa explicação e já entrando em um dos problemas que a gente achou é a forma como eles podem interagir lá no githob é bem limitada, então eles podem fazer.
16:44
O que é um humano pode fazer, né?
O que é uma conta de um humano pode fazer, que é simplesmente postar comentários.
Então ele comenta, lá em nichos em Pure Quest pode fazer comits.
Então tem a mensagem lá do comit.
17:01
Mas não é uma plataforma, apesar de ter lá um local onde discussões sobre o projeto, discussões sobre as modificações que foram feitas num puwer Quest.
Aconteçam não é necessariamente uma plataforma para ficar conversando, é uma plataforma mais para é trocar informações específicas.
17:26
Então os recursos conversacionais que a plataforma fornece são limitados.
Então isso já traz é uma limitação dos próprios bots que existem lá, que não são necessariamente bots que você vai ficar fazendo pergunta e resposta.
Eles vão executar algo, vão automatizar algo e vão trazer a resposta lá pra você de uma forma bem engessada, usando os recursos da plataforma.
17:52
E foi isso.
Um dos é um dos problemas, um dos desafios que a gente encontrou, que a gente viu que os envolvedores estavam.
É sofrendo, né?
Com Na Na plataforma porque.
Pela plataforma já ser um local que não fornece muita estrutura para teus bots, ela, Ela Foi pensada, planejada lá antes.
18:16
E aí esses bots, eles surgiram como uma forma de automatizar de né?
De tentar resolver uma gambiarra, a famosa gambiarra, então de de automatizar problemas.
Mas a plataforma, ela não acompanhou a criação e o desenvolvimento desses bots, então ela ficou lá para trás.
18:36
E as pessoas estão estavam tentando é integrar essas automações.
E o que eles tinham em mãos eram os comentários.
Então tudo que um bote IA fazer, joga num comentário, Ah, eu tenho esse gráfico aqui que o bote vai mostrar, joga num comentário, Ah, o bote precisa saber se a pessoa está gostando, está gostando, faz uma pergunta num comentário.
18:57
Então era bem, tudo muito engessado, então 11 dos primeiros.
Tipos de desafios que eles que na verdade os os desenvolvedores desses bots sofriam é de da alimentação da plataforma mesmo, que faziam com que ideias que eles tinham que eles idealizavam os bots não, não eram possível de de ser concretizadas.
19:22
Então algumas das coisas ou reclamações que eles recebiam como desenvolvedores dos bots simplesmente é uma coisa que não não dava para ser resolvida.
Então esse.
Era uma das primeiras, né?
Então, desafios no desenvolvimento desses bots por conta das limitações da plataforma.
19:41
E aí tínhamos também desafios na adoção desses bots, por exemplo, desafios para configurar o bote então, dado que alguém queria adicionar um novo bote num projeto no GitHub, é diversas vezes a forma de configurar e fazer com aquele bote e agisse.
20:01
Da forma esperada era muito complicada e também engessada por meio de de arquivos de configuração que não eram bem documentados.
Então se qualquer coisinha ali, qualquer erro ou colocar o número errado, alguma configuração é uma coisa bem engraçada.
20:23
E também interessante que os que os desenvolvedores reportavam várias vezes pra mim é que nunca, nunca se sabia o que que IA sair.
Então, Ah, pode ser que eu vou colocar uma configuração aqui que não funciona muito bem e o meu bote não vai funcionar.
Até aí tudo bem, o bote não funcionou, mas pode ser que eu vou colocar uma configuração meio errada aqui e o bote vai agir loucamente, comentando em todos os eixos, em todos os porquists, várias vezes.
20:50
Como que eu paro esse bote, como que eu?
Então assim é, Oo que vai acontecer, é, era sempre é um mistério.
É então, né?
O problema de de adotar, de integrar um bote No No próprio projeto era um desafiador também.
21:08
E o que a gente que que o que eu foquei bastante, né, na minha pesquisa, o que eu foco até hoje na minha pesquisa, que é problemas também de interação com esses bots.
Então, por exemplo, AA comunicação do bote era desafiadora porque é, eles produzem muitas vezes a informação repetida.
21:29
É e também, além de de ser repetida, né?
Eles mantém ali falando, falando, falando a mesma coisa em algumas das vezes.
O que eles produzem é muito superficial que uma pessoa ou muito superficial ou muito profundo é não, né?
21:49
Fica nesses 2 extremos que uma pessoa que não é familiar com o projeto nunca viu.
O projeto tá integrando de novo o caso dos novatos, né?
Que eu falei anteriormente é, eles chegam pra desempenhar as funções que eles têm no projeto e eles se deparam com aquele comentário do bote e eles não sabem o que fazer.
22:09
E de novo documentação não tem.
Ou se tem, é muito, é específica.
Então era bem difícil mesmo de de interagir, de desenvolver, de adotar esses bots pros projetos específicos.
22:27
E dado que foi adotado, de interagir e fazer com que toda a comunidade em volta do projeto, dos projetos e software livre, ou enfim, projetos em que esses bots foram, é integrados, realmente usufruíssem do dos comentários usufruíssem do que o bote estava provendo por ser uma coisa mesmo assim bem limitada, então foram esses é desafios.
22:52
E que de uma forma ou de outra, todos esses 3 tipos, né?
3 grandes tipos de desafio que eu mencionei aqui, eles todos levam pra um, pra um, pra um lugar comum, que é o ruído que é é bom.
23:07
Se eu não estou usando esse bote pra análise, ele não está me servindo, o que ele está me dando é só o ruído que é Oo grande ponto assim desse artigo também.
Muito bem.
E aí, já em 2023 você tem um outro artigo que foi publicado, né?
23:28
Diretrizes para o desenvolvimento de bots para o GitHub.
Ele foi publicado na II 3S software.
Vocês começam o artigo com projetos no GitHub e dependem da automação fornecida por bots de desenvolvimento de software.
23:44
No entanto, a presença desses bots pode ser incômoda e disruptiva para a comunidade.
Com base em diversos estudos com profissionais da área, este artigo fornece diretrizes para o desenvolvimento e a manutenção de bots de software.
E aí vem a pergunta, né?
24:00
Como vocês chegaram as diretrizes para o desenvolvimento e a manutenção de bots?
Legal, então é esse artigo.
Ele foi basicamente 111 coletânea de outros artigos ou resultados que que vieram de diversas Fontes que a que eu que eu fiz durante Oo meu doutorado.
24:27
E é um artigo que eu acho bem legal, porque ele, ele de novo vem de todos esses.
É entendimentos, né?
Então, falando com desenvolvedores, entrevistas, tem também resultados desse artigo, por exemplo, que eu acabei de de mencionar.
24:44
Então é realmente pegar diversos, é evidências de lugares diferentes.
Juntar isso em problemas e tentar também com as evidências.
Coisas que os desenvolvedores falaram que eles já fazem ou que eles ainda querem que seja feito é criar essas diretrizes.
25:06
O que é que pode ainda ser melhorado é então mais específico.
O que a gente fez esse esse artigo.
Ele vem de 3 lugares diferentes, então, então tiveram, é.
Questionários que a gente mandou pra mantenedores de de projetos de software livre e também de contribuidores pra entender quais eram os desafios que eles sofriam com interagindo com os bots ou tendo os bots ali.
25:36
E as entrevistas também é que eu mencionei anteriormente, né?
Esse artigo anterior.
Então tudo isso deu um evidência sobre os problemas que precisavam ser resolvidos.
E aí a gente passa pro pra soluções, pra soluções.
25:55
Foi algo bem, é diferente que a gente fez, é.
E parte desses resultados foram também publicados em em outro artigo pro no na no ixy, na conferência de de engenharia de software, é Internacional.
O que a gente fez lá foi legal, porque a gente levou.
26:14
Foi uma coisa que não, não.
Não.
Na época não era muito feita na engenharia de software.
E a gente levou os desenvolvedores.
A gente tinha sessões com os desenvolvedores e individuais.
E nessas sessões a gente pedia, a gente tinha uma história fictícia sobre 1010 ou 20 anos à frente.
26:33
E nesse período à frente, né?
A gente chamava de é design Fiction esse, esse esse tipo de estudo.
E é nessa história, essas todos, esses problemas com bots, de alguma forma eles foram resolvidos porque a gente, né?
26:50
À frente, a gente pode pensar além das dos problemas que a gente tem hoje.
A plataforma, o GitHub seria diferente, a forma de interagir com esses bots seriam diferentes, então os desenvolvedores podiam mesmo brincar ali com as possibilidades e deixar fluir.
27:07
E o que a gente estava realmente é interessado em entender o que eles queriam.
Se você parar de pensar nas limitações que a gente tem hoje, que são impostas tanto pela plataforma, pelas tecnologias de hoje, não pense nessas limitações.
27:24
O que é que você quer?
Então a gente leva eles a pensarem sobre isso com essa história, né?
Sobre.
É um futuro próximo que eles podem a resolver esses problemas de.
Dos botes serem um pouco é chatos e só gerarem ruídos.
27:41
E aí várias coisas surgiram nesses nesse é nesse estudo e várias coisas que realmente é atacavam os pontos ali que a gente queria é atacar.
27:57
Então, por exemplo, tem 11 dos problemas, né?
Que a gente já viu é na comunicação dos botes, por exemplo.
É que de novo pra pra pessoa que tá interagindo pela primeira vez, ela vê 11 coisa que dá pra entender que foi gerada por uma automação, mas pouco contexto, não sabe o que fazer, não sabe o que tem que fazer.
28:22
Então é pra tirar, né?
Pra ir além desse cenário, pra ir além dessa.
Estou aqui parado com essa resposta desse bot.
Que eu não sei o que fazer porque eu não tenho familiaridade com o projeto.
Eu não é a primeira vez que eu tô vendo isso.
28:38
Ninguém nunca me falou o que fazer, o que a gente, né?
O que os desenvolvedores pensaram nesse futuro, né?
É não tão distante assim.
É que o bote todos eles, com todas as respostas que eles provém, eles tem que também prover o próximo passo.
28:57
Então aqui está.
O meu warning falando que você esqueceu de é adicionar os seus testes.
Os testes é é que acompanham é essa nova, esse novo código que você adicionou do Power Quest.
29:14
Beleza, eu esqueci como desenvolvedora, não tão naturalmente, naturalmente, talvez pra uma pessoa mais experiente.
Ah, então eu tenho que adicionar esses testes, mas será que eu adiciono aqui?
Eu eu crio um novo puy Quest, eu falo com alguém do projeto primeiro, é aí que o bote de novo ele entra, ele não só fala, olha, isso aqui é o que você não fez, o que você fez de errado, o que ele tem que falar é na verdade, olha aqui é o que você fez de errado.
29:46
E como um próximo passo, por favor, crie um novo puy Quest com os seus testes ou como um próximo passo, por favor, crie seu.
É, adicione seus testes e faça tal tal coisa para que eles sejam integrados a este Power Quest.
30:01
Então a pessoa sabe como.
E eu diria, só pra te interromper um pouquinho.
Eu diria também que você podia dizer, né, é de usar os testes que já foram feitos anteriormente, né?
A essa teste de regressão.
Então busque é esse conjunto de testes, acho que também seria interessante.
30:20
Então, quer dizer, você, ele, além de.
EE identificar o problema, ele está te ajudando a solucionar.
Exatamente, exatamente que era algo assim, que que a gente olha, eu olho para trás, eu falo, nossa, mas parece ser tão simples, mas não é.
É uma situação mais quando a gente está querendo resolver problemas específicos, né?
30:40
Por exemplo, a informar o desenvolvedor que esqueceu os testes.
Esse é o problema, a idade que eu fui lá e resolvi isso.
Eu criei um bote para fazer isso.
Às vezes eu me esqueço que.
Só informar que uma coisa não foi feita não é suficiente para todo mundo.
Eu preciso guiar a pessoa para os próximos passos.
30:58
Então foi isso, né?
Coletando tanto os problemas ali, de de que as pessoas sofriam, quanto é formas que elas já pensavam de como solucionar os problemas, a gente criou essas, essas é estratégias de como solucionar.
31:15
Então acho que foi mais ou menos assim que que tudo se tornou, é.
Que né?
Esse artigo foi escrito.
Muito bom, então esse eu vou fazer uma ligação desse artigo com o próximo, né?
31:31
Porque vocês definiram diretrizes e com a chegada dos JPTE de vários outros aí LLMS no fim de 2022, vocês pensaram em atualizar essas diretrizes ou ou não?
Elas continuam valendo igualmente?
31:50
Então essa também é 11.
Ótima pergunta, né?
Porque não tem como é ignorar que sem novas ferramentas ou com novas ferramentas que baseadas em LLM, os envolvedores já estão estão indo abrindo o ChatGPT e conversando e tentando solucionar os problemas diretamente lá com o ChatGPT.
32:14
Então é um novo, é uma nova forma de de de.
De programar e de ter 111 parceiro ali, né?
Pra conversar e pra pra tirar as dúvidas.
E a gente não pode ignorar, é as diretrizes.
32:31
Elas foram de uma forma geral, é de novo, pensadas não só com a com a situação antes dos do das LMS, né, mas também num num contexto bem específico que é de novo o contexto.
32:46
Do GitHub, que é uma plataforma bem específica, que é para um contexto de novo específico.
É, por exemplo, é a maioria das coisas que a gente faz no GitHub.
É depois que que Oo código que a solução já está pronta.
33:02
Então é mais assim entender como integrar uma solução pronta num projeto.
Então é um é 111 contexto bem específico que levou para diretrizes também.
Específicas, eu, eu, é.
Eu tava até revisitando esses tempos, as diretrizes, e Eu Acredito que AA maioria delas são genéricas o suficiente que possam ser aplicadas a contextos de é na agora, né?
33:29
Com LM eu até tenho um eu vi 11 artigo de 2024 ou 2023, eu não, eu não me lembro ao certo.
Que usou essas diretrizes para criar 11 bote de novo.
33:47
Um assistente mais complexo que já tinha é LLM envolvida para ser integrado ao GitHub e ajudar alunos é de graduação e entenderem em qual ponto do projeto deles eles estavam.
34:03
Então, Oo, bote esse assistente, né?
Ele IA realmente seguindo a pessoa ali naquele no, No No projeto fala Ah, então aqui ó, você já.
Desenvolveu o seu a é integração contínua.
Agora o que você tem que fazer é a próxima coisa.
34:18
E IA mesmo guiando os alunos e fazendo ali uma lista, né?
EEE ticando as as os pontos que já foram feitos é e eles usaram várias das das das diretrizes que a gente estabeleceu pra entender mesmo como que essa interação com os alunos deveria ser estabelecida.
34:41
Mas de novo, Oo contexto das LMS é bem peculiar e a gente está ainda tentando entender o que é que acontece, o que é que não acontece, quais são realmente os problemas.
Já tem alguns indicativos de que problemas similares acontecem, então, por exemplo, o ruído, a gente pode que a gente via lá nos nos bots, né?
35:03
Por eles é não necessariamente.
Entregarem 11 resposta que é entendível e utilizável por por pelos desenvolvedores, pelas pessoas que estão interagindo ali.
De uma forma geral, a gente também pode ver que esses é problemas acontecem com com, né?
35:24
Nos as recentes que tem OLLM, mas OOO contexto é muito mais amplo.
É, a gente vê muito agora é na literatura, focando em é agentes, é agentes mesmo, autônomos, que vai entregar de novo problemas e soluções diferentes pra engenharia de software.
35:46
Então é de fato pra essas diretrizes ou enfim, diretrizes serem é aplicadas pra esse novo contexto, a gente precisaria revisitar, ter mais estudos, identificando os problemas.
36:01
Na interação com esses assistentes?
EE também estudos vindos, que eu acho que é uma parte que a gente como pesquisador às vezes é, não leva tanto em consideração, mas Eu Acredito que adicionar os desenvolvedores, mesmo as pessoas que sofrem com esses problemas nos estudos e entenderem não só os problemas que eles sofrem, mas também as formas como eles gostariam que essa.
36:30
Que as soluções fossem aplicadas no contexto deles, num contexto real, é também muito importante.
Então eu acho que refazendo, né?
De de alguma forma, esse estudo no contexto de eremy seria é a única forma de eu falar para você é, essas diretrizes aqui fazem sentido, essas não.
36:48
E aqui estão outras diretrizes que surgirem são específicas para esse contexto.
Então, como eu disse a idera fazer a ligação com o próximo artigo, que é teoria da mente para um assistente de entendimento de código baseado em LLM, publicado no ixme 2024, que é 11 evento de manutenção e evolução de software.
37:11
Vocês e seu coautor, que é o.
Jona Richards talvez o nome seja diferente, porque não sei.
Ele é holandês?
É?
Então deve ser yonam alguma.
Coisa, mas é.
Aluno ser aluno de doutorado, né?
Eu vi lá Na Na sua página, vocês investigaram as Barreiras que as pessoas desenvolvedoras enfrentam a usar estas ferramentas assistentes baseados em LLMS?
37:35
Vocês criaram o Tommy Tommy?
É 2 MSY, né?
Só que o é é minúsculo porque é justamente they of mind, teoria da mente, e esse Tommy significa teoria da mente, tornando a explicação sua é 11 agente conversacional que contém uma série de prompts com objetivo de gerar insights, né?
38:03
Em sites eu eu peguei lá eu acho do do material mesmo, mas dizem que é uma palavra que o Zé lelemes gostam muito, né?
Em sites, então, repetindo o agente conversacional, que contém uma série de prompts com o objetivo de gerar em sites sobre o estado mental da pessoa desenvolvedora.
38:19
Então vocês estão preocupados mais com a pessoa desenvolvedora do que propriamente com o código.
E vocês avaliaram o Tommy, né?
Como o Tommy se compara a um agente mais básico?
E.
A pergunta é, o agente foi útil para ajudar as pessoas desenvolvedoras novatas, que era o foco desse trabalho, a entenderem um código que não é familiar a elas.
38:42
Então, novamente uma ótima pergunta, né?
Eu eu sou é suspeita para falar, mas eu fiquei muito feliz com o resultado do do artigo ou com o artigo no geral, é quando a gente começou, o Ionan era.
39:00
A longe de mestrado e ele tinha 45 meses pra começar entrar no tópico e terminar.
Então assim a gente teve um resultado, né?
Um trabalho bem completo e bem interessante como 11, trabalho preliminar ali que é tá levando ele até pros pro que ele quer e gosta de de é estudar No No doutorado dele.
39:24
Então é, foi bem interessante mesmo, abriu portas pra outras.
É questões de pesquisa, eu diria.
E de novo é.
Adolfo, você mencionou que a gente olha, está focado na pessoa desenvolvedora e de fato, eu mencionei isso nas nas outras respostas, né?
39:42
A gente quer realmente não somente criar novas automações ou coisas que resolvam temporariamente problemas, mas entender quais são as necessidades da pessoa que está interagindo.
Então.
39:58
Esse pra responder a sua pergunta, né?
Se o se o Tommy realmente ajudou ou se enfim a solução ali que a gente testou o Tommy e também 111 agente mais simples, um assistente mais simples, a gente poderia dizer que é simplesmente um ChatGPT, por exemplo.
40:16
É, eSIM, de fato é.
Os 2 na verdade ajudaram sim as pessoas a os novatos ali, né?
A entenderem o código.
Então os novatos, eles na verdade estavam ali de frente a um código que eles nunca tinham visto, e a ideia era que eles navegassem por aquele código para depois responder algumas perguntas que a gente testaria o quanto eles tinham entendido do código e eles podiam fazer perguntas para o agente.
40:47
Então eles fizeram isso em 2 × 1, sem o Tommy.
Né?
Com com outro agente e uma com o Tommy.
E a gente é percebeu que de fato usar o agente até mesmo das do nível de resposta dos dos novatos, mas também do que eles reportaram pra gente foi super.
41:09
É importante.
Eles fizeram várias perguntas pra tentar entender perguntas mais alto nível.
É que a gente que fala, né?
Perguntas mais abertas ao que esse código faz, por exemplo, que é, né?
41:27
Pega o código num geral pra tentar entender ou o que essa linha específica faz ou o que essa variável específica está aguardando está fazendo.
É, mas também a gente viu que tinha um outro grupo que olhava mais pra perguntas.
41:44
Ou é formulava as perguntas de uma forma mais como hipóteses.
Ah, então eu vejo aqui que a linha tal está tentando fazer tal coisa, está correto?
Ou eu vejo aqui o código é pra fazer tal coisa e tal coisa está correto.
42:00
Então tinha também esses 2 grupos e o que a gente notou, né, de de forma mais geral, é que a os os participantes, eles gostaram mais das respostas, por elas serem mais claras do nosso agente, do gente que a gente construiu com.
42:18
Teorianamente é.
E eles também perceberam que o que o agente que a gente desenvolveu é entendia melhor o que eles estavam perguntando, que essa era realmente, né?
O que a gente estava tentando é fazer fazer com que o agente adaptasse e entendesse quais eram os pontos de dificuldade ali.
42:38
Então, por exemplo, se a pessoa perguntasse.
Repetida às vezes, várias vezes, né, sobre um mesmo assunto.
Eu como humana e talvez, né?
Por um viés de professora, também entenderia que alguma coisa não tá tão ok com a minha resposta?
42:55
Talvez porque, né, ainda tenho dúvida no mesmo ponto.
E era isso que a gente tentou transferir pro pro agente, pro agente realmente pensar o que tipo de pergunta tá vindo e quais possivelmente.
Né, são os os, os problemas das pessoas ali é, é, então esses são os, é os insights assim, né?
43:20
Com que colocar a palavra que o que os é LLM gostam que a gente viu, mas de de fato assim é.
Foi 11 estudo preliminar e o que a gente tirou do estudo é que existem, então, pelo menos. 2 grupos mais gerais, a forma como os novatos e a gente pode até estender isso para desenvolvedores, pessoas, desenvolvedores no geral, interagem com esses agentes.
43:49
Com esses assistentes é diferente.
Então a gente tem pessoas que vão ter perguntas específicas, pessoas que vão.
Não tem nenhuma ideia do que está acontecendo.
Tem perguntas mais abertas e sem hipóteses.
E elas esperam coisas diferentes.
44:07
É o nosso, é a nossa solução.
O Tommy foi mais eficaz para as respostas.
É abertas a comparado as as respostas fechadas, as respostas mais é respostas.
44:25
Não desculpa as perguntas mais de hipótese.
Então, se a pessoa perguntasse o que esse código faz?
A resposta é, foi mais bem recebida as respostas, as perguntas.
Por exemplo, esse código está calculando tal e tal coisa, estou correto?
44:43
Então é o essa também foi uma necessidade, um ponto de de pesquisa, né?
Então há sim diferenças em como as pessoas.
Interagem.
Essas diferenças vão levar a diferentes formas de ver a resposta do agente.
44:59
A gente tem que continuar olhando pra isso e focando Na Na interação e como as pessoas interagem.
Muito bem, então agora a gente passa por uma outra parte, né, do do podcast, em que tratamos de outros temas.
45:21
Primeiro falar um pouco a respeito de organização de evento, né?
Você organizou o bote SE International workshop ou bots em software de near em 2022?
Aqui no Brasil nós temos OW bots workshop sobre bots, né?
45:41
Engenharia de software explica pra gente por que eventos como estes são importantes.
Ótimo, então eu estou de de alguma certa forma conectada a esses esses, ao ao evento, né?
45:57
Oo boteci é desde lá do da primeira edição, eu como aluna de doutorado, eu participei, eu, eu apresentei, então fui super importante para mim.
Acho que é um dos primeiros pontos, assim que eu posso ressaltar de da importância desses workshops é porque é uma primeira entrada ali, né?
46:15
Uma porta de entrada.
Pra é pra comunidade em geral mesmo.
Então fui super bem recebida.
Era no é no ixice, né?
Numa numa conferência enorme gigante.
Pra você ter ter contato mesmo com com pesquisadores é super complicado porque tá todo mundo correndo de um lado pro outro, indo pra uma sessão, pra outra sessão, conversando.
46:43
Então é.
Não, não.
De uma forma geral, não tende anão ser um o melhor local para você ter um primeiro contato com alguém que você nunca conversou.
Então esse OOO workshop foi muito bom para mim, porque era um workshop com que que acho que umas 5040 pessoas numa sala e a gente ficou ali o dia todo.
47:05
É interagindo sobre um tópico que era completamente relevante para o que eu tava fazendo.
Então eu me senti é como aluna.
É representada e também podia participar, né?
Das discussões, eu entendia o que que é que estava sendo discutido ali, então foi super importante.
47:24
E aí, por ser 11 grupo menor de pessoas, você pode conversar com todo mundo?
É, as pessoas geralmente vão entender qual é o seu tópico, vão poder dar sugestões que são válidas, que você pode é levar, é.
47:42
Né?
Pro pros seus próximos estudos, a gente teve também momentos ali de confraternização, jantar de novo, conhecendo pessoas ali do mundo todo que fazem coisas semelhantes.
Então isso me levou.
47:57
É como aluna, a ter oportunidades.
É de colaborar com pessoas da área, ter esse primeiro ponto assim, eu acho que que é super.
Importante, então essa é uma das primeiras coisas que eu faria que é importante.
E a segunda coisa é porque quando a gente tem um tópico novo, né?
48:16
Isso foi lá em 2018, é o tópico de bots estava ainda emergindo e ainda isso que era antes da dos LLMS, né?
Mas OOO bots, né?
Engenharia de software era algo novo.
Então pra você ter uma aceitação é desse tópico numa conferência.
48:36
É, né?
Numa numa das trilhas principais de uma conferência, era mais difícil porque as pessoas ainda não estavam entendendo.
Tá, mas o que é isso?
Só falando que esses bots, o que que é um bote?
Não, isso não é relevante.
48:52
Então ele também.
Essas esses eventos são muito importantes também pra estabelecer o tópico, pra ter essas oportunidades de mostrar pra comunidade.
Que é a importância do tópico, fortalecer o tópico no sentido também de é criar mais é né?
49:12
Mais é como que eu falo isso, mais oportunidades e ideias de pesquisa também, porque tem tanta oportunidade pra discussão do tópico.
E acho que é isso que aconteceu mesmo com, por exemplo, Oo workshop de bots.
49:28
A gente esse software, né, esse workshop Internacional, porque a gente via que nos primeiros anos a maioria dos dos artigos relacionados a bote eram publicados no workshop.
E aí o tópico foi se estabelecendo no workshop e os artigos começaram a ser então é aceitos em trilhas principais de conferências.
49:50
Então é isso foi foi bem importante mesmo pra estabelecer essa comunidade.
Acredito que é isso.
E é, eu fiquei muito feliz de também ver que é, né?
Acho que acredito que foi ano passado que o workshop também é veio pro, foi pro Brasil.
50:07
Na verdade é é.
É super importante ter esses momentos de comunidade assim pra discutir um tópico, ainda mais agora que temos os os LMS, então os bots, eles não estão.
Apenas esses bots mais de automação, eles estão ficando mais inteligentes, então é o momento ideal para ter esses essas discussões com a comunidade.
50:32
Muito bom, eu tô vendo aqui.
OW bot é co.
Organizado pelo Pedro Henrique dias vales, lá do imiusp também, né?
Como como nós já fomos um dia de lá e pelo Williamson Alisson Freitas Silva lá da unipamp deixá lo aqui Na Na descrição.
50:50
E aí uma pergunta sobre seu doutorado, né?
A gente tem uns 2 episódios atrás.
A gente até fez uma pergunta que teve alguma coisa parecida, porque, se não me engano, você fez o seu doutorado direto, né?
Sem passar pelo mestrado.
Eu eu lembro, eu acho que lembro.
51:07
É aquilo, a memória vai.
Mas não, sabe, não dá para confiar 100% na memória.
Mas eu acho que eu lembro que a gente conversou com o Igor visz e acho que o Igor me falou, Ah, não, a gente tá pensando em mandar ela pra fazer o doutorado direto, né?
Pra e você?
51:23
Isso foi possível porque o IM e USP ele tem essa possibilidade e parece que hoje em dia todos os programas praticamente tem, mas você passou um período fora, certo?
E.
Como é que surgiu essa oportunidade de passar um período fora?
Não sei se na época o Marco Aurélio jerosa já estava fora.
51:40
E por que que você passou esse período fora?
Então é correto, eu fiz um o doutorado direto.
Então eu passei, né?
Eu graduei Na Na, na, no parcelado em ciência da computação no final de 2017.
51:59
E no começo, né?
Em fevereiro, ali de 2018, eu tava começando o doutorado na mios.
É, é, Na Na época existiam também esses esses casos, é, mas eram mais de pessoas que começaram No No, no mestrado, e aí quando foram defender a qualificação é nossa.
52:21
Você na verdade tem uma tese de doutorado aqui e aí a pessoa mudava, é, eu vejo que agora se tornou mais é.
Comum, né?
Nós temos mais casos, mais pessoas.
É, é entrando no doutorado direto.
52:38
Bom, é, eu passei SIM, 1 um tempo fora.
É como eu tava falando da pergunta, da da pergunta anterior, né?
Essa ligação com uma comunidade que começa a crescer é muito importante.
52:53
Acho que é muito.
Muito edificante pro pro aluno, né?
De doutorado ter esse contato próximo.
E eu acho que a minha oportunidade de ir pra fora, ela também surgiu por esse contato próximo.
É com a comunidade de bots, né?
53:10
Engenharia de software?
Então é.
Eu passei um tempo na Concórdia University, em Montreal, no Canadá, com sob a supervisão do imetchehab.
E ele era um dos é organizadores do primeiro workshop in bots.
53:28
É na engenharia de software.
É então de novo, né?
É essas conexões de de estar nos nos nos eventos, nos nos nos eventos.
É compartilhar o que tá fazendo, né?
Tá numa direção.
53:43
E você começa a estabelecer essa conexão com com as pessoas que.
Às vezes você nem sabe pra onde elas vão e às vezes elas te levam pra uma, pra um, é um outro país pra passar algum tempo.
Então esse doutorado sanduíche, né?
53:59
Que eu fiz é ele.
Eu, eu eu chamaria ele mais de 11 visita é durante o meu doutorado, porque ele não necessariamente é 11, eu não tenho uma.
No meu certificado, não meu diploma, ele não tem 111, não é pela Concórdia, é só pela pela pela USP.
54:22
Mas eu tive é essa oportunidade de ficar lá por 6 meses.
É quando a gente conversou, foi ali no final de 2019, e aí ele me falou que tinha um programa do Canadá que oferecia bolsas pra pra alunos, né?
54:40
De bacharelado, mestrado e doutorado.
Pra ficar um tempo no Canadá o nome até anotei aqui pra pra falar o nome desse programa é elape é margin líder in the americers program.
Então eu eu é submeti minha minha carta carta do do do orientador que eu orientaria Na Na outra instituição fiz toda uma né?
55:06
Toda minha meu material pra submeter.
E eu ganhei a bolsa, mas foi um pouco infeliz OOOO tempo, né?
Porque ali final de 2019, então a gente já sabe o que que aconteceu ali no começo de 2020, que foi a pandemia.
55:23
Então eu tava é preparando pra ir no começo de 2020, mas não foi possível que as Fronteiras todas fechadas, né?
Então eu não podia entrar no Canadá e aí eu, né?
Fui postergando AA ida até 2021.
E aí em 2021 eu fiquei lá por por 6 meses colaborando.
55:43
É No No no grupo de pesquisa é e tive os aqui o artigo dos do design Fiction que eu falei sobre os desenvolvedores pensarem na solução que seria mais adequada para eles.
É feito lá também em colaboração com OA, com o grupo de pesquisa do inmed.
56:03
Então foi um, foi muito, foi 11.
Experiência muito importante para mim.
Tanto, né, que a gente bom sabe que no Brasil, às vezes a gente não tem também tanto oportunidade para treinar o inglês, apresentar inglês.
56:22
Então, até então, até a saída para o Canadá, as únicas oportunidades que eu tinha tido eram em conferências.
Eu acho que também esses 6 meses que eu fiquei lá foram.
Bem importantes em várias dimensões da da vida de um doutorando.
56:41
Muito bom, e antes aí da da pergunta final, né?
Do do podcast, nós deixamos um espaço para que você possa convidar pessoas que queiram fazer mestrado ou doutorado com você e também empresas pesquisadores que queiram colaborar com as suas pesquisas.
57:01
Claro, então, pessoal, como vocês viram aqui, eu estou estudando, né?
E um tópico que é muito importante, que é a inclusão das pessoas envolvedoras no desenvolvimento e na utilização de assistentes conversacionais e na engenharia de software, se você tiver um tópico de interesse.
57:26
Seja você aluno de bacharelado, mestrado ou tentando é bom doutorado também ou tentando ingressar, né?
Nessa carreira acadêmica entre em contato comigo, eu estaria é disposta e a conversar, entender e achar, né?
57:48
111 projeto legal pra pra colaborar.
Muito bom, eu só queria complementar aquela sua sua resposta lá do doutorado, né?
É, é que primeiro lugar eu acho que hoje em dia até saiu.
58:04
Não sei se acompanha mais as notícias aqui da pesquisa no Brasil, mas teve um consórcio aí USP, Unicamp, Unesp, fapesp estimulando, na verdade, o doutorado direto.
Mas aí é estimulando de um jeito diferente, né?
Porque você entrou a.
58:20
O centro já pra fazer o doutorado direto, a ideia vai ser assim, o aluno vai entrar pro pra alguma coisa e aí, sei lá, no final de 1 ano vai fazer justamente essa qualificação e aí vai se decidir, né, né?
Mas vai ser um, há um, há um estímulo pra isso, né?
Outra curiosidade que eu vi é que a sua tese de doutorado foi em inglês, né?
58:40
Você teve algum, você teve algum problema interno de burocracia da instituição pra que a sua tese fosse toda escrita em inglês?
Não, não, eu não me lembro.
Não acredito que não é.
58:56
Eu tenho que pensar, Ah, tá.
Eu.
Lembro que que eu eu precisei ter só uma carta, eu acho, do orientador.
Ou talvez era um só o exame, né?
11.
Comprovação de que eu tinha um nível de inglês é falado e escrito para poder fazer a tese.
59:17
Mas é de qualquer forma o exame, né?
Do do.
Esse exame do inglês é era necessário pra poder finalizar o doutorado.
Então ele meio que serviu para as para as 2 coisas.
Mas acredito também que o que o meu orientador precisou escrever alguma coisa é atestando que eu que eu poderia escrever a tese em inglês eu não lembrava.
59:40
Pra mim era natural que foi em inglês, mas não está certo, teve sim.
Eu eu falo isso porque, como eu defendi lá também foi só 14 anos antes, né?
Tinha uma coisa no regulamento da USP que expressamente proibia, quer dizer, exigia que fosse em português, né?
59:59
Aí a gente fez lá o meu orientador queria que fosse o Marcelo Finger, né?
Hoje grande figura do nome da ya no Brasil, porque tem até um podcast numa rádio, é, ele queria que fosse em inglês, aí a gente fez um.
Como a gente chama?
1:00:14
É uma gambiarra, né?
A gente colocou um capítulo em português e vários é o os capítulos mesmo da tese, eram apêndices em inglês, né?
Então fez uma gambiarra, pensando assim, Ah, se alguém vier reclamar, diz não aqui ó, tá, tá em português, você não pensou isso?
1:00:35
Não, né?
Era possível.
É escrever em inglês, mas precisava de ter um aval do orientador falando que eu poderia escrever em inglês.
EE por último, pra antes de fazer a pergunta final, eu eu pesquisando sobre isso, eu eu fiquei curioso, Ah, o que será que aconteceu Na Na época da da da tese dela?
1:00:56
É, eu vi que você ganhou o prêmio de melhor tese em engenharia de software do Brasil em 2021 lá no CB soft 2022, né?
Eu já devo ter dado parabéns na época, mas parabéns novamente e é é legal, né, que foi uma egressa aqui da da UTFPR, de Campo Mourão, né?
1:01:14
Fez doutorado direto.
Eu até já falei pra é que agora mudou a administração da da UTFRAA administração da UTFR.
Tá cada 4 anos mudando, né?
É a Claudia que tá sempre No No cargo lá, que é o cargo da da das bolsas.
Então Maria Clara, quantas der?
1:01:29
Tem que ter uma coisa assim para dizer, olha, olha os egressos que a gente tem.
Egressos e egressos, né?
De destaque.
A Marielle, com certeza é uma egressa nossa da graduação de destaque, e é.
E então chegamos à pergunta que nós sempre gostamos de lembrar aqui, que pode ser algo que você acha que vai acontecer ou que você gostaria que acontecesse em nossa área.
1:01:54
Para você, Marielle, qual é a próxima Fronteira da engenharia de software?
Pois então, eu é é a minha resposta.
Ela talvez não seja tão disruptiva ou até mesmo o que eu penso não é tão disruptivo, porque eu acho que acredito que é uma Fronteira, porque faz Fronteira com outras áreas.
1:02:20
Mas eu, na verdade, penso que a gente deveria dar alguns passos para trás, em alguns sentidos.
Eu acho que é pra pra finalizar mesmo, o que eu o que eu falei hoje aqui, que é a gente pensa muito pouco sobre quem está usando as soluções que a gente está é criando, né?
1:02:41
E até mesmo uma das das coisas que o Adolfo falou lá no começo.
Ah, esse problema é da prática, mas não tem problema.
Às vezes a gente só cria, né?
11 solução EE é isso, não tem nem problema envolvido se não é problema pra ninguém.
E a gente tá criando solução pro pro problema que a gente inventou e eu vejo que é tá cada vez mais e mais se desconectando da do do real problema que as empresas que os indivíduos é estão sofrendo, então é.
1:03:14
Eu ficaria muito feliz e eu tento fazer isso cada vez mais.
De envolver os desenvolvedores no processo de identificação do problema, pra que eles sejam de fato problemas que aconteçam, problemas que não só aconteçam, mas que sejam relevantes e realmente assim, 11 algo que eles estão sofrendo e que precisa ser é, é solucionado.
1:03:42
Mas também na solução para que não seja algo mirabolante e que não seja aplicado à prática também.
Então eu espero que a gente possa ter mais e mais.
Já tem muito, mas não tanto quanto necessário colaborações com outras áreas, como interação humano, computador, por exemplo.
1:04:05
Pra que a gente possa entender os problemas que a gente né?
Que os as pessoas desenvolvedoras sofrem na prática e como que a gente pode prover soluções que sejam adequadas, mas também inclusivas, que todo mundo possa ser, é colocado e ser visto, ter voz.
1:04:28
Eu acho que por isso que eu falo que não é uma.
Uma Fronteira disruptiva do tipo Ah, essa tecnologia, não é?
Gostaria de dar alguns passos atrás para olhar mesmo e incluir Oo humano OA pessoa desenvolvedora no processo.
1:04:48
Muito bom.
Então estamos chegando ao final de mais um episódio do Fronteiras da engenharia de software, eu?
Fico feliz porque a gente entrevistou você quando você ainda era doutoranda, né?
Terminou o doutorado, foi fazer pós doutorado, virou professora, né?
A gente já já aconteceu isso com outras entrevistadas aqui do do emilias podcast, né?
1:05:08
A professora alane Marie, que hoje é nossa colega aqui Na Na Na UTFR Curitiba, inclusive Ela Foi professora por um tempinho assim de Campo Mourão.
Agora você, você conhece ela?
Não pessoalmente, mas a gente já conversou pelas redes sociais.
1:05:25
Certo.
E lá No No emilias, né?
Lá o aqui que vai ser transmitido lá também, esse vai ser publicado lá também.
Esse episódio.
A gente já entrevistou a Ana Paula chaves, né, que é é esposa lá do professor Igor stei maker, que acho que na época que ela era doutoranda, também trabalha com engenharia de software.
1:05:43
A gente entrevistou uma lenda aqui da da engenharia de software Brasil, professora itana Gimenez, a gente entrevistou.
Teve uma época que a gente fazia nos 2, né?
Professora Ingrid Nunes, a gente entrevistou nos 2.
Professora Taiana conte, a gente entrevistou nos 2, a gente entrevistou a Letícia dos Santos Machado, acho que na época ela estava fazendo pós DOC, hoje ela é professora na UFRGS.
1:06:05
A Karina cole era era trabalhava na Uber, estava fazendo doutorado, hoje também é professora na UFRGS hotel.
A gente já colocou internamente lá na.
Na Na equipe do Fronteiras para trazer essas 2 aqui também para o podcast, já que elas foram só pro pro emilias.
1:06:24
Joana Santos, Vera Werneck e Juliana Saraiva.
A gente entrevistou Lars No No emilias sobre lgpd.
Enfim, a gente sempre gosta de de ter essa diversidade aqui também no Fronteiras, apesar de ser mais difícil, claro, porque a área é ainda mais masculina, né?
1:06:43
Mas enfim.
Quem quis se interessar pela área e quiser participar de um de um evento, né?
O principal evento acadêmico de engenharia de software no Brasil vai acontecer de 22 a 26/09/2025.
1:06:58
A gente tá publicando esse episódio em agosto.
Dentro dele.
Eu particularmente vou estar coordenando um workshop de engenharia de software para programação funcional junto com o Lucas veg, que foi 2 episódios atrás, e com Marco Túlio Valente, que faz alguns episódios.
1:07:14
Não sei se você vai vai vir aqui é mariele, mas vai ter o IX 2026 aqui em abril, né?
É então você é que é tanta gente na comissão organizadora que eu não lembro se você está lá ou.
Não, mas como proceden share cocher junto com a Edna e o Alisson?
1:07:35
Ah, certo, então eu estou lá na coordenação de publicidade junto com o Rony, que também.
Já esteve aqui?
Você falou da Edna, a gente esteve aqui No No podcast e o Alisson também está lá Na Na nossa lista de pessoas pra trazer um dia.
Mas enfim, falei bastante pra dizer que é legal a gente ter esse contato com com vocês que contribuem tanto pra pra nossa área.
1:07:56
Mas eu passo a palavra pra você é em primeiro lugar.
Agradeço né?
Novamente sua presença, passo a palavra pra você deixar uma mensagem de final pra para as nossas e nossos ouvintes.
Eu que agradeço a oportunidade de de estar aqui novamente.
1:08:12
Eu gostei muito, foi foi uma experiência muito boa de da a primeira vez lá No No minisa alguns anos atrás.
Então eu fiquei muito feliz com o convite novamente de poder estar aqui, falar um pouco sobre assistentes conversacionais é EOO que eu tenho feito, né?
1:08:32
Que é um trabalho de de muitas mãos.
Não é um trabalho sozinho então, né?
Durante o doutorado, Marco, Igor, Igor, entre outros colaboradores, é e agora também alunos de doutorado, como o yonan é.
1:08:50
Então é um prazer ter ter compartilhado um pouco dessa trajetória com o com a comunidade e é e deixar esse, essa reflexão, né?
Esse pensamento sobre.
Que é a que a gente tem que é olhar no futuro, tentar ser mais inclusivo.
1:09:08
Não só é criando ou focando em tópicos de de é inclusividade como um tópico por si só, mas também é sendo inclusivo nos tópicos que a gente já já tem, né?
Como, por exemplo, é os agentes conversacionais, é, é isso.
1:09:28
Acho que seria isso.
Muito obrigada.
Muito bem, Mariane, é, também agradeço, né?
A sua participação aqui, eu acho que é é bem importante pra gente ver toda essa evolução, né?
1:09:44
E como disse o Adolfo de além de tudo, uma estudante que saiu da UTFPR, né, e que de repente está aí brilhando.
Então muito obrigada por estar aqui, foi um prazer conversar com você.
1:10:00
E para fechar o episódio, então, nós também agradecemos a todos os nossos ouvintes e as nossas ouvintes e até o próximo episódio do Fronteiras da engenharia de software.
Este é o podcast Fronteiras da engenharia de software, o podcast para refletir sobre O Presente e o futuro da nossa área.
1:10:22
Publicamos mensalmente, entre os dias 15 e 20 de cada mês, episódios em que entrevistamos pesquisadores e pesquisadores da engenharia de software.
Também realizamos palestras que são publicadas em nosso canal no YouTube.
Nosso objetivo é levar o conhecimento científico para profissionais da área e para outros cientistas.
1:10:42
Escute nossos episódios na sua plataforma de áudio favorita, Spotify Apple Podcasts.
Em cor ou outras, ou ainda no YouTube.
Nosso site é Fronteiras ES, ponto GitHub, ponto IO.
Estamos também no Twitter e no Instagram como arroba Fronteiras ES.
Resumo
Introdução e Apresentação dos Participantes
O episódio apresenta uma entrevista com Mairieli Wessel, professora da Radboud University nos Países Baixos desde 2022, especialista em assistentes conversacionais na engenharia de software. O podcast é apresentado por Adolfo Neto, professor da Universidade Tecnológica Federal do Paraná (UTFPR) campus Curitiba, e Maria Cláudia Emer, coordenadora do programa de extensão "Em Milhas" (Armação e Bits).
Mairieli Wessel formou-se em Ciência da Computação pela UTFPR Campo Mourão, onde teve seu TCC orientado por Igor Wiese e foi coorientada por Igor Steinmacher. Ela concluiu seu doutorado pela USP, orientada pelo professor Marco Aurélio Gerosa, e foi entrevistada anteriormente pelo mesmo podcast quando ainda era doutoranda. Sua trajetória acadêmica inclui participação em conferências importantes como CSCW, MSR, ICSE, ICSME e IEEE Software.
Definição de Assistentes Conversacionais
Mairieli define assistentes conversacionais como sistemas de software projetados para interagir com humanos por meio de linguagem natural, com dois componentes essenciais:
- Assistente: Automatiza tarefas que anteriormente eram feitas manualmente, parcial ou completamente
- Conversacional: Fornece feedback textual com explicações e orientações sobre próximos passos
Ela destaca que existem dois tipos principais:
- Agentes conversacionais completamente autônomos que não precisam de interação humana para iniciar ações
- Agentes que requerem algum input humano antes de executar tarefas
Aplicações Práticas dos Assistentes Conversacionais
A convidada apresenta dois exemplos práticos de problemas reais que podem ser resolvidos por assistentes conversacionais:
-
Acessibilidade para desenvolvedores com limitações físicas:
- Pessoas que não podem usar as mãos por problemas de saúde crônicos ou temporários
- Permite interação por voz para obter respostas rápidas sem precisar navegar por sites como Stack Overflow
- Facilita a inclusão de mais pessoas no desenvolvimento de software
-
Apoio a novatos em projetos de desenvolvimento:
- Guiar pessoas novas no projeto, explicando como o código funciona
- Mostrar arquivos relevantes e fornecer orientações contextuais
- Disponibilidade 24 horas para sanar dúvidas pontuais, complementando (não substituindo) a orientação humana
Ela também menciona aplicações mais complexas como entendimento de código, resolução de bugs e conflitos de código.
Relação entre Assistentes Conversacionais e LLMs (Large Language Models)
Mairieli esclarece que nem todos os assistentes conversacionais são necessariamente baseados em LLMs:
- Sistemas baseados em regras: Utilizam padrões pré-definidos para reconhecer entradas específicas (ex: "oi", "tudo bem") e gerar respostas correspondentes
- Limitações: Requerem que os desenvolvedores prevjam todas as possíveis entradas do usuário, sendo inflexíveis a variações linguísticas
- Avanço com LLMs: Permitem maior flexibilidade na compreensão de linguagem natural, reduzindo a necessidade de prever exatamente como o usuário se expressará
- Coexistência: Muitos sistemas ainda operam com modelos baseados em regras, especialmente em contextos específicos como bots no GitHub
Discussão de Artigos Científicos
1. "Não me perturbe: Desafios de interagir com bots de software em projetos de software de código aberto" (CSCW 2021)
Este estudo, realizado com 21 profissionais (mantenedores, contribuidores e desenvolvedores de bots), identificou três grandes categorias de desafios:
-
Limitações da plataforma (GitHub):
- Os bots são limitados às funcionalidades da plataforma (comentários, commits)
- GitHub não foi projetado para interações conversacionais complexas
- Os bots surgiram como "gambiarras" para automatizar processos, mas a plataforma não evoluiu para suportá-los adequadamente
-
Desafios na adoção de bots:
- Configuração complexa através de arquivos mal documentados
- Risco de comportamento imprevisível (ex: bots comentando em todos os pull requests)
- Dificuldade em controlar bots após configuração incorreta
-
Problemas de interação:
- Comunicação repetitiva ou inadequada (muito superficial ou muito técnica)
- Falta de contexto para novatos que não entendem as mensagens dos bots
- Ausência de documentação clara sobre como agir com base nas informações do bot
O problema central identificado foi o "ruído" - quando os bots geram informações que não são úteis para o usuário, tornando-se incômodos.
2. "Diretrizes para o desenvolvimento de bots para o GitHub" (ICS 2023)
Este artigo sintetiza resultados de múltiplas fontes de pesquisa durante o doutorado de Mairieli, utilizando três metodologias:
- Questionários com mantenedores e contribuidores de projetos de software livre
- Entrevistas qualitativas com profissionais
- Estudos de "Design Fiction" - cenários fictícios projetados 10-20 anos no futuro para explorar soluções sem as limitações atuais
Uma diretriz central destacada é que os bots devem não apenas identificar problemas, mas também sugerir próximos passos. Por exemplo, ao detectar que um desenvolvedor esqueceu de adicionar testes, o bot não deve apenas informar o erro, mas orientar sobre como corrigi-lo (ex: "Crie um novo pull request com os testes" ou "Adicione os testes a este pull request específico").
3. "Teoria da Mente para um Assistente de Entendimento de Código baseado em LLM" (ICSME 2024)
Neste trabalho, Mairieli e seu coautor Jonan Richards desenvolveram "Tommy" (Theory of Mind Making your Explanation), um agente conversacional que utiliza prompts específicos para entender o estado mental do desenvolvedor:
- Objetivo: Gerar explicações mais adequadas ao nível de conhecimento e necessidades do usuário
- Metodologia: Avaliação comparativa com novatos interagindo com código desconhecido
-
Principais descobertas:
- Identificação de dois grupos de interação:
- Pessoas que fazem perguntas abertas/globais ("O que este código faz?")
- Pessoas que formulam hipóteses específicas ("Esta linha está calculando X, está correto?")
- O Tommy foi mais eficaz com perguntas abertas, fornecendo explicações mais claras
- Os participantes relataram que o Tommy entendia melhor suas necessidades
- A capacidade do assistente de adaptar respostas com base no contexto do usuário foi valorizada
Importância de Eventos Acadêmicos Especializados
Mairieli destaca a importância do workshop "Bots in SE" para o desenvolvimento da área:
- Acesso à comunidade: Eventos menores permitem melhor interação entre participantes, especialmente importante para novos pesquisadores
- Estabelecimento de novos tópicos: Quando um tema é novo (como bots em 2018), workshops especializados ajudam a consolidá-lo na comunidade
- Colaborações: Facilita conexões que podem levar a oportunidades de pesquisa e trabalho (como seu período na Concordia University)
Trajetória Acadêmica e Experiências
Mairieli compartilha detalhes de sua trajetória:
- Fez doutorado direto (sem mestrado) na USP, iniciando em fevereiro de 2018
- Passou 6 meses na Concordia University no Canadá em 2021 (após adiamento devido à pandemia)
- Sua tese foi escrita em inglês, o que exigiu comprovação de proficiência no idioma
- Recebeu o prêmio de melhor tese em engenharia de software no Brasil em 2021
Visão sobre a Próxima Fronteira da Engenharia de Software
Na pergunta final sobre "qual é a próxima Fronteira da engenharia de software", Mairieli propõe uma visão refletiva:
- Sugere que a comunidade precisa "dar alguns passos para trás" para focar mais nas pessoas
- Critica a tendência de criar soluções para problemas inventados, desconectados das necessidades reais
- Enfatiza a importância de:
- Incluir desenvolvedores no processo de identificação de problemas
- Garantir que as soluções sejam relevantes para problemas reais
- Colaborar com áreas como interação humano-computador
- Criar soluções inclusivas que considerem diferentes perfis de usuários
Sua mensagem final é que a verdadeira fronteira está em "não só criar tópicos de inclusividade, mas ser inclusivo nos tópicos que já temos", como no desenvolvimento de agentes conversacionais.
Conclusão
O episódio oferece uma visão abrangente da evolução e impacto dos assistentes conversacionais na engenharia de software, desde os primeiros bots baseados em regras até as novas possibilidades com LLMs. Mairieli Wessel destaca consistentemente a importância de centrar o desenvolvimento tecnológico nas necessidades reais dos usuários, especialmente dos desenvolvedores que interagem diariamente com essas ferramentas. Seu trabalho demonstra como a pesquisa em engenharia de software pode ser mais eficaz quando incorpora perspectivas de outras áreas e mantém conexão estreita com a prática profissional.
Top comments (1)
Excelente episódio! Uma possível limitação é o foco nas interações no GitHub e em desenvolvedores novatos, o que pode não generalizar para IDEs, pipelines internos e perfis mais experientes. Como vocês pretendem abordar essa generalização e, ao mesmo tempo, mitigar ruído/alucinações dos LLMs nesses outros contextos?