Visão geral
Cada modelo de IA com suporte no Copilot Chat tem vantagens diferentes. Para ajudar você a decidir qual modelo usar, este artigo fornece exemplos reais de tarefas comuns do desenvolvedor, juntamente com prompts de exemplo, respostas e diretrizes sobre por que um modelo específico é uma boa opção.
Esses exemplos mostram como os modelos variam em seu estilo de raciocínio, profundidade de resposta e capacidade de lidar com a entrada visual. Use-os para comparar a qualidade da saída e escolher o modelo certo para seu fluxo de trabalho específico.
Para obter uma lista completa de modelos com suporte e comparações de recursos lado a lado, confira Comparação de modelos de IA.
GPT-4o
O GPT-4o é uma boa opção para tarefas comuns de desenvolvimento que se beneficiam de velocidade, capacidade de resposta e raciocínio de uso geral. Se você está trabalhando em tarefas que exigem conhecimento amplo, iteração rápida ou compreensão básica de código, o GPT-4o provavelmente é o modelo a ser usado.
Cenário de exemplo
Considere um cenário em que você está escrevendo funções auxiliares para controle de acesso em um serviço Python. Você deseja adicionar docstrings para esclarecer a finalidade da função.
Abaixo está a função auxiliar que concede ao editor acesso a um documento:
def grant_editor_access(user_id, doc_id):
access = AccessManager()
access.assign_role(
resource_type="document",
resource_id=doc_id,
role="editor",
user_id=user_id
)
Solicitação de exemplo
Add a docstring to the function that explains what it does.
Exemplo de resposta
Observação
A resposta a seguir é um exemplo. Respostas do Copilot Chat são não determinísticas, portanto, você pode obter uma resposta diferente da mostrada aqui.
def grant_editor_access(user_id, doc_id):
"""
Grants editor access to a specific document for a given user.
This function uses the AccessManager to assign the "editor" role
to the specified user for the provided document ID.
Args:
user_id (str): The ID of the user to grant access to.
doc_id (str): The ID of the document to which access is being granted.
"""
access = AccessManager()
access.assign_role(
resource_type="document",
resource_id=doc_id,
role="editor",
user_id=user_id
)
Por que o GPT-4o é uma boa opção
- A função é curta e autocontida, tornando-a ideal para a geração rápida de docstring.
- O GPT-4o pode reconhecer o padrão e fornecer uma explicação clara e concisa.
- A tarefa não requer raciocínio profundo ou lógica complexa.
o4-mini
O o4-mini da OpenAI é um modelo rápido e econômico projetado para tarefas de codificação simples ou repetitivas. Ele fornece respostas confiáveis e concisas com latência muito baixa, tornando-o ideal para sugestões em tempo real e fluxos de trabalho de desenvolvimento leves. O o4-mini é otimizado para velocidade e capacidade de resposta, para que você possa iterar rapidamente em pequenas alterações de código ou obter comentários instantâneos sobre prompts simples.
Cenário de exemplo
Suponha que você esteja criando o script de um utilitário e precise filtrar uma lista de registros de usuário para incluir apenas usuários ativos, classificados pela data de inscrição. A tarefa é simples e não requer raciocínio profundo nem lógica de várias etapas.
Aqui está uma lista de amostra de usuários:
users = [
{"name": "Alice", "active": True, "signup_date": "2023-12-10"},
{"name": "Bob", "active": False, "signup_date": "2023-11-05"},
{"name": "Charlie", "active": True, "signup_date": "2024-01-15"}
]
Solicitação de exemplo
Filter the list of users to only include active users, and sort them by signup_date.
Exemplo de resposta
Observação
A resposta a seguir é um exemplo. Respostas do Copilot Chat são não determinísticas, portanto, você pode obter uma resposta diferente da mostrada aqui.
# Filter to only include active users
active_users = [user for user in users if user["active"]]
# Sort active users by signup_date
active_users_sorted = sorted(active_users, key=lambda user: user["signup_date"])
print(active_users_sorted)
Por que o o4-mini é uma boa opção?
- A tarefa é simples e se beneficia de respostas rápidas e de baixa latência.
- O o4-mini é otimizado para custo e velocidade, tornando-o ideal para edições rápidas, criação de protótipos e código de utilitário.
- Use esse modelo quando quiser respostas confiáveis para perguntas de codificação simples sem esperar por profundidade desnecessária.
Gemini 2.0 Flash
O Gemini 2.0 Flash dá suporte à entrada de imagem para que os desenvolvedores possam colocar o contexto visual em tarefas como inspeção de interface do usuário, análise de diagrama ou depuração de layout. Isso torna o Gemini 2.0 Flash particularmente útil para cenários em que a entrada baseada em imagem aprimora a solução de problemas, como solicitar que o Copilot analise uma captura de tela da interface do usuário quanto a problemas de acessibilidade ou ajude a entender um bug visual em um layout.
Cenário de exemplo
Você está criando um sistema de carrinhos de compras e tem um diagrama de classe UML que descreve as relações entre Cart
, Product
, User
e Order
. Em vez de escrever o sistema do zero, você deseja carregar a imagem do diagrama e solicitar que o Copilot gere as classes.
Solicitação de exemplo
Use this UML diagram to generate the classes for a shopping cart system.
Exemplo de resposta
Observação
A resposta a seguir é um exemplo. Respostas do Copilot Chat são não determinísticas, portanto, você pode obter uma resposta diferente da mostrada aqui.
O Copilot gerará uma classe para cada uma das classes no diagrama, incluindo as relações entre elas. Aqui está o código de exemplo gerado para a classe Cart
:
from cart_item import CartItem
from order import Order
class Cart:
def __init__(self, cart_id, user_id):
self.cart_id = cart_id
self.user_id = user_id
self.items = []
def add_item(self, item):
self.items.append(item)
def remove_item(self, item):
self.items = [i for i in self.items if i != item]
def calculate_total(self):
return sum(item.quantity * item.product.price for item in self.items)
def place_order(self):
# Implementation for placing an order
return Order("", None, 0)
Por que o Gemini 2.0 Flash é uma boa opção?
- Ele pode interpretar ativos visuais, como diagramas UML, wireframes ou fluxogramas, para gerar scaffolding de código ou sugerir arquitetura.
- Pode ser útil para revisar capturas de tela de layouts de interface do usuário ou designs de formulário e gerar.
Claude Sonnet 3.5
O Claude Sonnet 3.5 é uma boa opção para o suporte de codificação diária, incluindo escrever documentação, responder perguntas específicas a um idioma ou gerar código clichê. Ele oferece respostas úteis e diretas sem complicar demais a tarefa. Se você estiver com restrições de custo, o Claude Sonnet 3.5 é recomendado, pois oferece um desempenho sólido em muitas das mesmas tarefas que o Claude Sonnet 3.7, mas com um uso de recurso significativamente menor.
Cenário de exemplo
Considere um cenário em que você está implementando testes de unidade e testes de integração para um aplicativo. Você deseja garantir que os testes sejam amplos e abranjam casos de borda que você tenha ou não pensado.
Para obter um passo a passo completo do cenário, confira Como escrever testes com o GitHub Copilot.
Por que o Claude Sonnet 3.5 é uma boa opção?
- Ele tem um bom desempenho em tarefas de codificação diárias, como geração de teste, scaffolding clichê e lógica de validação.
- A tarefa tende para o raciocínio de várias etapas, mas ainda permanece dentro da zona de confiança de um modelo menos avançado porque a lógica não é muito profunda.
Claude Sonnet 3.7
O Claude Sonnet 3.7 se destaca no ciclo de vida de desenvolvimento de software, do design inicial às correções de bugs, à manutenção e às otimizações. Ele é particularmente adequado para refatoração de vários arquivos ou planejamento arquitetônico, em que a compreensão do contexto entre componentes é importante.
Cenário de exemplo
Considere um cenário em que você está modernizando um aplicativo COBOL herdado reescrevendo-o em Node.js. O projeto envolve a compreensão do código-fonte desconhecido, a conversão de lógica entre linguagens, a criação iterativa da substituição e a verificação da correção por meio de um conjunto de testes.
Para obter um passo a passo completo do cenário, confira Modernizar o código herdado com o GitHub Copilot.
Por que o Claude Sonnet 3.7 é uma boa opção?
- O Claude Sonnet 3.7 manipula bem o contexto complexo, tornando-o adequado para fluxos de trabalho que abrangem vários arquivos ou linguagens.
- Sua arquitetura de raciocínio híbrido permite alternar entre respostas rápidas e solução de problemas passo a passo mais profunda.