Skip to content

Latest commit

 

History

History
188 lines (116 loc) · 5.09 KB

slides.md

File metadata and controls

188 lines (116 loc) · 5.09 KB

GitHub Copilot: Conheça, Aprenda e Use em um Projeto Real do Zero em 15 Minutos 🚀


🫡 Conheça o Instrutor

Ivan Nicola Viragine - LinkedIn | GitHub


  • MBA em Ciência de Dados pela USP
  • Bacharel em Ciência da Computação pela UNESP
  • Engenheiro de IA, Cientista de Dados, Desenvolvedor Full Stack, Fundador de startup, etc.
  • 16 anos de experiência em desenvolvimento de software
  • 8 anos de experiência com Inteligência Artificial
  • Atualmente AI Engineer em uma startup da Califórnia

🔎 Introdução ao GitHub Copilot


O que é?

  • IA assistente de código / AI pair programmer
  • LLM (Large Language Model) treinada para completar e sugerir código
  • Acesso direto na IDE

Como foi treinado?

  • Modelo inicialmente desenvolvido pela OpenAI em 2021 com o nome de Codex, baseado no GPT-3.
  • Treinado em diversos repositórios do GitHub e outros.
  • Em novembro de 2023 passou a utilizar GPT-4.

🦾 Principais Features


  • Completar e sugerir código utilizando contexto (comentários, variáveis, funções, etc).
  • Responder questões gerais sobre dev, em diversas línguas (Chat).
  • Suporte a diversas linguagens de programação.
  • Gerar documentação.
  • Gerar testes (unit).
  • Gerar boilerplate.
  • Explicar problemas e error stacks (e sugerir fixes).
  • Refatoração de código e melhorias

📚 Exemplos


Validador de CPF:


Remover máscara de CPF (contexto):


Acessando dataset da Internet e plotando gráfico (inline):


Explicando e corrigindo erro:


Explicando função:


Empacotando em Docker (Chat):


👨‍💻 Mão na Massa


Vamos fazer um projeto em Python, Streamlit, Docker e Docker Compose inteiramente com o GitHub Copilot.

O projeto irá comparar dados de 2 ações da bolsa de valores.


🧐 Experiência Pessoal


Onde o Copilot é útil? 👍

  • Tarefas repetitivas de fácil/média identificação de padrões
  • Problemas comuns (DSA, CRUD, etc)
  • Chat: você pode conversar com o Copilot, tirar dúvidas de dev, brainstorm (básico) e etc.
  • Identificação e ajuda para corrigir erros
  • Interpretar e explicar stacks de erro
  • Gerar pequenos scripts (revise bem e não execute rm! 😅)

Onde o Copilot não é tão útil? 👎

  • Chamar funções externas (fora do contexto)
  • Funções complexas
  • Linguagens menos populares

👽 Futuro


  • Extensions: Integração com ferramentas como Sentry para interação utilizando linguagem natural, sem sair da IDE.

    "Me resume os últimos incidentes" 😎

  • Workspace: Ambiente de desenvolvimento integrado, da issue até o código e commit.

📋 Conclusão


  • GitHub Copilot é um copiloto, não piloto!
  • Aumenta sua produtividade em tarefas do dia a dia.
  • Como toda LLM, pode e vai alucinar: sempre revise o código gerado.
  • Use o Chat para pequenos problemas e dúvidas.
  • Para problemas mais complexos, com muito contexto e/ou aprender algo, discutir arquitetura, provavelmente o GPT-4o será melhor.

🤓 Material Complementar


Outras Ferramentas:


Links Úteis:


Obrigado! 🙏