Já tem alguns anos desde que o modelo GPT (Generative Pre-trained Transformer) da OpenAI, vem surpreendendo as pessoas com sua capacidade de processar textos. Até a data de escrita deste artigo a versão mais recente deste modelo é a versão 3, comumente chamado de GPT-3.
No final do ano 2022, o modelo GPT-3 tornou-se mais acessível ao público geral por meio da ferramenta ChatGPT a qual permite a interação humana com o referido modelo de IA por meio de um chat.
A criação da ferramenta aparenta ser um sucesso de popularidade entre as pessoas, considerando a quantidade de materiais (vídeos, artigos e notícias) que surgiram abordando esta ferramenta.
Dentre os materiais que surgiram abordando o tema, destaca-se para nós desenvolvedores a capacidade do modelo GPT-3 em escrever trechos de códigos, ou até mesmo códigos completos dependendo do tipo da aplicação. Mas o que pessoalmente me chamou a atenção foi a capacidade de gerar trechos de códigos para aplicações embarcadas.
Sabemos que o desenvolvimento de software embarcado muitas vezes não é algo fácil, já que envolve muitas tarefas complexas além escrever código, como testar, depurar e integrar a aplicação com hardwares.
Além de auxiliar na elaboração de códigos, existem outras tarefas das quais a ferramenta ChatGPT consegue ajudar os desenvolvedores de software embarcado. Nos próximos parágrafos apresentarei as tarefas que a ferramenta pode ajudar.
Usando op ChatGPT para desenvolver aplicações de sistemas embarcadas
Gerar código: Como dito no início deste artigo, a ferramenta pode ser utilizada para gerar trechos de código para diferentes plataformas e arquiteturas. Isso pode ser especialmente útil para desenvolvedores que estão trabalhando em projetos com prazos apertados ou com recursos limitados.
Pessoalmente, fiz alguns testes em projetos Zephyr e projetos no MPLAB X e a plataforma conseguiu criar códigos funcionais para as duas plataformas.
Criar testes automatizados: O ChatGPT pode ser usado para escrever testes automatizados e scripts de depuração para ajudar a garantir que o software embarcado esteja funcionando corretamente. É útil já que muitas vezes a escrita de testes é uma tarefa chata.
Criar documentação: A ferramenta pode ser usada para gerar documentação técnica, como manuais de usuário e guias de referência para ajudar os desenvolvedores a compreender melhor como usar o software embarcado. Ela também pode ser usada para criar documentação para outros stakeholders, como gerentes de projetos e equipes de vendas, ajudando a comunicar as capacidades e benefícios do software.
Responder dúvidas (ser um “Google mais inteligente”): O ChatGPT consegue compreender a sua busca melhor do que os buscadores atuais (Google, Bing entre outros), o que aumenta a probabilidade de a ferramenta selecionar a melhor resposta para sua dúvida.
Analisar exceções e sugerir correções: A ferramenta é capaz de ajudar na análise de exceções e erros. Ela não é capaz de te mostrar exatamente em qual linha do código o problema ocorreu, mas consegue te ajudar a entender o problema.
Conclusão
É evidente que nos próximos anos as ferramentas de IA irão modificar a nossa forma de trabalhar e o ChatGPT é uma amostra de como a Inteligência Artificial pode nos ajudar como desenvolvedores. Na prática a ferramenta se comporta como um “copiloto” ou parceiro extremamente veloz e preciso em suas ações. Entretanto, é necessário a verificação humana, pois ocasionalmente a ferramenta entrega respostas com erros.
Mas e você leitor, o que acha? Adoraria saber a sua opinião sobre o tema aqui nos comentários.
Referências
OPENAI. ChatGPT. 2023. Disponível em: https://openai.com/blog/chatgpt/. Acesso em: 20 jan. 2023.











Bom dia!
Poderia compartilhar os resultados conosco?
Obrigado
Olá Vinicius! Tudo bem?
Claro, posso te mostrar um resultado que obtive ao interagir com o chat (esse chat só permite anexar apenas uma imagem por comentário).
Eu perguntei se o modelo conseguia gerar uma aplicação para usar um display LCD 16×2 com PIC16F628.
Agradeço seu comentário
Abraços,
Yago Caetano
Ótimo artigo! Fiquei com uma questão, como pode ser tratada a confidencialidade de um código em desenvolvimento para um produto, pois o uso do chatGPT pode estar tornando pelo menos parte dele “aberto”, não?
Olá Milton! Tudo bem? Entendo que existam dois problema de confidencialidade, o primeiro é sobre o desenvolvimento do produto, o segundo é a confidencialidade do código (projeto). Para o primeiro problema, acredito que a pessoa pode utilizar a ferramenta mas deve tomar o cuidado ao fazer perguntas para o chat. O desenvolvedor não deveria expor detalhes do produto, como requisitos, publico alvo e prazos. As interações (perguntas) com o chat devem ser mais genéricas, por exemplo: “Como eu posso fazer uma conexão mqtt usando o zephyr?” E não algo do tipo: “Preciso fazer um projeto em zephyr que deva ler… Leia mais »