Copilot - Prompt Engineering
Tokenização

- Tokenização é o processo de dividir o texto em unidades menores chamadas tokens (como palavras ou subpalavras), que são depois convertidas em números para que a IA possa prever o próximo token com base nos padrões aprendidos durante o treinamento.
Copilot
- Do Geral ao Específico: O Copilot é adaptado para entregar respostas que vão do geral ao específico, avaliando o contexto e prevendo os próximos passos.
Learning Shots
Através de exemplos fornecidos pelo usuário no prompt, o Copilot é capaz de moldar o resultado esperado.
- Zero-shot: Sem exemplo.
- One-shot: Um exemplo.
- Few-shot: Vários exemplos.
Task Breaking
Dividir uma tarefa complexa em partes menores facilita o gerenciamento e torna mais clara a solução.
Copilot Instructions
Permite personalizar a forma como o Copilot deve se comportar em suas respostas.
Copilot Inline
Utilizado para realizar mudanças limitadas dentro do escopo de um arquivo.
Na Prática

Apesar de o código ser funcional, algumas boas práticas desejadas acabaram faltando, como:
- Nomenclatura mais adequada
- Validação
- Separação de responsabilidades
- Tratamento de exceções
- Documentação
Por isso, é importante fornecer instruções claras e concisas para que o Copilot compreenda corretamente. Além disso, em aplicações mais complexas, o ideal é dividir o problema em partes menores para torná-lo mais gerenciável e visível, facilitando a solução do código.
Ainda assim, o Copilot pode perder o contexto e gerar algo diferente do esperado. Por isso, é fundamental entender o contexto, realizar uma análise detalhada e fazer testes para garantir que o resultado esteja alinhado com o que foi solicitado.




Na minha visão, dois pontos merecem atenção especial: os requisitos e as regras de negócio, que precisam estar alinhados com o que foi definido e planejado; e, quando necessário, o armazenamento seguro dos dados pessoais e sensíveis. Também é essencial tratar exceções com os status codes e mensagens adequados, transmitindo as informações de forma clara e assertiva, o que facilita a identificação de erros.
A documentação deve ser objetiva, refletindo tanto os requisitos quanto a lógica aplicada, além de seguir boas práticas de programação, como clean code, reutilização de métodos, funções com responsabilidade única, entre outras.
Excelente, Tiago! Seu artigo sobre Copilot - Prompt Engineering é um guia muito claro e conciso. É fascinante ver como você aborda a tokenização, o Copilot como um assistente que vai do geral ao específico, e as técnicas de Few-shot Learning para moldar o resultado esperado.
Considerando que o Copilot pode perder o contexto e gerar algo diferente do esperado, qual você diria que é a maior responsabilidade do desenvolvedor ao utilizar essa ferramenta em um projeto, garantindo que o código gerado esteja alinhado com as boas práticas desejadas, como validação e tratamento de exceções?