- 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
- IA assistente de código / AI pair programmer
- LLM (Large Language Model) treinada para completar e sugerir código
- Acesso direto na IDE
- 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.
- 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
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.
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
- 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.
- 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.
Outras Ferramentas:
- ChatGPT (GPT-4 ou GPT-4o) - para problemas mais complexos
- CodeGemma - Modelo aberto da Google
- CodeLlama - Modelo aberto da Meta
- CodeGPT - Plugin para modelos abertos e offline
Links Úteis:
- GitHub Copilot
- Dicas de como usar
- Prompt Engineering
- Mais dicas e Prompt Engineering
- Mais Prompt Engineering (sim, é importantíssimo)
- Case Duolingo
- GitHub Copilot Blog