Blog Post

Desenvolvedores BR
4 MIN READ

Engenharia de Prompt com o GitHub Copilot

cynthiazanoni's avatar
cynthiazanoni
Icon for Microsoft rankMicrosoft
Feb 05, 2025

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.

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?

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:

  1. Maior Controle sobre as Respostas: Reduz ambiguidades e direciona a IA para produzir exatamente o que você precisa.
  2. Eficiência no Desenvolvimento: Menos ajustes manuais economizam tempo valioso.
  3. 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á:

  1. Introdução ao GitHub Copilot e Engenharia de Prompts
    • Como usar prompts eficazes para gerar código relevante.
  2. Configuração de Ambientes na Nuvem com GitHub Codespaces
    • Criar ambientes rápidos e flexíveis na nuvem.
  3. Criação de APIs com FastAPI
    • Desenvolver rotas robustas utilizando sugestões do Copilot.
  4. Automatização de Testes com pytest
    • Criar testes automatizados para validar funcionalidades da API.
  5. 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!

Updated Feb 24, 2025
Version 3.0
No CommentsBe the first to comment