Descubra como o GitHub Copilot e a engenharia de prompts podem transformar seu fluxo de trabalho no desenvolvimento de software. Aprenda a criar APIs, automatizar testes e configurar pipelines com exemplos práticos.
O GitHub Copilot é uma ferramenta de inteligência artificial que ajuda desenvolvedores a escrever código de forma mais rápida e eficiente. Durante o GitHub Copilot Bootcamp Brasil (acesse as gravações), reunimos conteúdos práticos para ensinar como dominar a engenharia de prompts e explorar as funcionalidades do Copilot, aumentando sua produtividade em tarefas do dia a dia, como criar rotas para APIs, automatizar testes e integrar pipelines com GitHub Actions.
O GitHub Copilot é um assistente de programação baseado em IA desenvolvido pelo GitHub em parceria com a OpenAI. Ele utiliza modelos avançados de linguagem, como o GPT-4, para oferecer sugestões contextuais diretamente no editor do desenvolvedor. Seja completando funções, gerando trechos de código ou explicando blocos complexos, o Copilot atua como um parceiro que acelera tarefas repetitivas e permite que os desenvolvedores foquem em problemas estratégicos.
Principais benefícios do GitHub Copilot:
- Sugestões Contextuais: Recomendações baseadas no código existente e nos comentários fornecidos.
- Compatibilidade com Diversos Editores: Funciona com IDEs populares, como Visual Studio Code, JetBrains IDEs e Neovim.
- Geração de Código Completo: Cria funções inteiras ou snippets com base em descrições textuais.
- Documentação Automatizada: Auxilia na criação de comentários e documentação alinhados ao código.
Com um plano gratuito disponível, basta ter uma conta no GitHub para ativar o Copilot. Ele pode ser usado no Visual Studio Code (VSCode), via chat integrado, autocomplete enquanto você escreve ou até mesmo pela linha de comando (CLI). Também há uma extensão específica para o Azure (GitHub Copilot for Azure).
De acordo com estudos realizados pelo GitHub, desenvolvedores que utilizam o Copilot relatam até 55% mais produtividade e maior satisfação no trabalho.
Durante a sessão, utilizamos o GitHub Codespaces, uma versão do Visual Studio Code na nuvem. Essa ferramenta permite configurar um ambiente completo de desenvolvimento em poucos minutos, eliminando a necessidade de configurações locais demoradas. O Codespaces oferece 60 horas gratuitas por mês, permitindo pausar e retomar ambientes conforme necessário para uma gestão eficiente dos recursos.
Além disso, ele suporta templates prontos para tecnologias como React, Jupyter Notebooks e .NET. Durante a demonstração, configuramos um projeto FastAPI diretamente no Codespaces e mostramos como ele facilita o desenvolvimento de APIs.
O que é Engenharia de Prompts?
A engenharia de prompts é a prática de estruturar comandos ou instruções para obter os melhores resultados possíveis de modelos de IA generativa. No caso do GitHub Copilot, isso significa criar descrições claras e detalhadas sobre o que você deseja que ele faça.
Por exemplo:
"""
Crie uma função para listar cidades por país:
- A função deve aceitar 'country' como parâmetro.
- Retorne as cidades associadas ao país especificado.
- Trate erros caso o país não seja encontrado.
"""
Com base nesse prompt, o Copilot pode gerar automaticamente:
@app.get("/cities/{country}")
def list_cities(country: str):
country_cities = {
"Brazil": ["São Paulo", "Rio de Janeiro", "Belo Horizonte"],
"USA": ["New York", "Los Angeles", "Chicago"],
"Japan": ["Tokyo", "Osaka", "Kyoto"]
}
if country not in country_cities:
raise HTTPException(status_code=404, detail="Country not found")
return {"cities": country_cities[country]}
Essa abordagem economiza tempo e garante que o código gerado esteja alinhado às especificações fornecidas.
Por que Engenharia de Prompts é importante?
A qualidade das sugestões geradas pelo GitHub Copilot depende diretamente da clareza dos prompts fornecidos. Prompts bem elaborados ajudam a IA a entender melhor o contexto do problema, resultando em saídas mais úteis e precisas.
Alguns benefícios:
- Maior Controle sobre as Respostas: Reduz ambiguidades e direciona a IA para produzir exatamente o que você precisa.
- Eficiência no Desenvolvimento: Menos ajustes manuais economizam tempo valioso.
- Versatilidade: Permite explorar diferentes abordagens para resolver problemas complexos.
Por exemplo, ao criar uma API com FastAPI, um prompt detalhado pode gerar rotas completas com tratamento de erros:
"""
Crie uma rota FastAPI para listar cidades por país:
- A rota deve ser '/cities/{country}'.
- Aceite 'country' como string.
- Retorne uma lista das cidades associadas ao país fornecido.
- Trate erros caso o país não seja encontrado no dicionário.
"""
Resultado gerado pelo Copilot:
@app.get("/cities/{country}")
def list_cities(country: str):
country = country.capitalize()
country_cities = {
"Brazil": ["São Paulo", "Rio de Janeiro", "Belo Horizonte"],
"USA": ["New York", "Los Angeles", "Chicago"],
"Japan": ["Tokyo", "Osaka", "Kyoto"]
}
if country not in country_cities:
raise HTTPException(status_code=404, detail="Country not found")
return {"cities": country_cities[country]}
Durante esta sessão do GitHub Copilot Bootcamp Brasil, você aprenderá:
- Introdução ao GitHub Copilot e Engenharia de Prompts
- Como usar prompts eficazes para gerar código relevante.
- Configuração de Ambientes na Nuvem com GitHub Codespaces
- Criar ambientes rápidos e flexíveis na nuvem.
- Criação de APIs com FastAPI
- Desenvolver rotas robustas utilizando sugestões do Copilot.
- Automatização de Testes com pytest
- Criar testes automatizados para validar funcionalidades da API.
- Integração Contínua com GitHub Actions
- Configurar pipelines automatizados para rodar testes e builds.
Conclusão
A combinação entre o GitHub Copilot e a engenharia de prompts representa um salto significativo na forma como desenvolvemos software. Ferramentas como essas permitem não apenas acelerar tarefas repetitivas, mas também melhorar a qualidade do código produzido.
Se você deseja aprender mais sobre essas técnicas, assista as gravações do GitHub Copilot Bootcamp disponíveis em português, comece a utilizar o GitHub Copilot gratuito e descubra como transformar sua maneira de programar utilizando inteligência artificial!