Informações gerais das estratégias de comandos

Não há uma maneira certa ou errada de projetar um prompt, mas há estratégias comuns que podem ser usadas para afetar as respostas do modelo. Testes e avaliações rigorosos continuam sendo crucial para otimizar o desempenho do modelo.

Os modelos de linguagem grandes (LLM) são treinados com grandes quantidades de dados de texto para aprender os padrões e as relações entre unidades de linguagem. Quando recebem algum texto (o prompt), os modelos de idioma podem prever o que provavelmente virá em seguida, como uma sofisticada ferramenta de preenchimento automático. Portanto, ao projetar solicitações, considere os diferentes fatores que podem influenciar o que um modelo prevê em seguida.

Fluxo de trabalho da engenharia de comando

A engenharia de comando é um processo iterativo e conduzido por testes que pode melhorar o desempenho do modelo. Ao criar comandos, é importante definir com clareza os objetivos e os resultados esperados de cada um deles e testá-los sistematicamente para identificar áreas de melhoria.

O diagrama a seguir mostra o fluxo de trabalho da engenharia de comando:

Diagrama do fluxo de trabalho da engenharia de comando

Como criar um comando eficaz

Há dois aspectos de um comando que afetam a eficácia dele: conteúdo e estrutura.

  • Conteúdo:

    Para concluir uma tarefa, o modelo precisa de todas as informações relevantes associadas a ela. Essas informações podem incluir instruções, exemplos, informações contextuais e assim por diante. Para detalhes, consulte Componentes de um comando.

  • Estrutura:

    Mesmo quando todas as informações necessárias são fornecidas no comando, transmitir a estrutura das informações ajuda o modelo a analisá-las. Coisas como a ordenação, a rotulagem e o uso de delimitadores podem afetar a qualidade das respostas. Para ver um exemplo da estrutura de comandos, consulte Exemplo de modelo de comando.

Componentes de um comando

A tabela a seguir mostra os componentes essenciais e opcionais de um comando:

Componente Descrição Exemplo
Objetivo O que você quer que o modelo alcance. Seja específico e inclua todos os objetivos centrais. Também chamados de "missão" ou "meta". Seu objetivo é ajudar os estudantes com problemas de matemática sem dar diretamente a resposta.
Instruções Instruções detalhadas sobre como realizar a tarefa em questão. Também chamada de "tarefas", "etapas" ou "direções".
  1. Entenda o que o problema está perguntando.
  2. Entenda onde o estudante estagnou.
  3. Dê uma dica na próxima etapa do problema.
Componentes opcionais
Instruções do sistema

Diretivas técnicas ou ambientais que podem envolver o controle ou a alteração do comportamento do modelo em um conjunto de tarefas. Para muitas APIs de modelo, as instruções do sistema são especificadas em um parâmetro dedicado.

As instruções do sistema estão disponíveis apenas no Gemini 1.5 Pro.

Você é especialista em programação com especialização em código de renderização para interfaces front-end. Ao descrever um componente de um site que quero criar, retorne o HTML e o CSS necessários para isso. Não forneça uma explicação para esse código. Ofereça também algumas sugestões de design de interface.
Persona Quem ou o que o modelo está representando. Também chamado de "papel" ou "visão". Aqui, você dá aulas de matemática para ajudar os estudantes com o dever de casa dessa matéria.
Restrições Restrições sobre o que o modelo precisa aderir ao gerar uma resposta, incluindo o que o modelo pode e não pode fazer. Também chamadas de "proteções", "limites" ou "controles". Não dê a resposta diretamente para o estudante. Em vez disso, dê dicas na próxima etapa para resolver o problema. Se o estudante estiver completamente perdido, apresente as etapas detalhadas para resolver o problema.
Tom O tom da resposta. Também é possível especificar um perfil para influenciar o estilo e o tom. Também chamado de "estilo", "voz" ou "clima". Responda de maneira casual e técnica.
Contexto Qualquer informação que o modelo precisa consultar para realizar a tarefa em questão. Também chamado de "contexto", "documentos" ou "dados de entrada". Uma cópia dos planos de aula de matemática do estudante.
Exemplos few-shot Exemplos de como será a resposta a um determinado comando. Também chamados de "exemplares" ou "amostras". input: Estou tentando calcular quantas bolas de golfe cabem em uma caixa com volume de um metro cúbico. Converti um metro cúbico em centímetros cúbicos e o dividi pelo volume de uma bola de golfe em centímetros cúbicos, mas o sistema diz que minha resposta está errada.
output: As bolas de golfe são esferas e não podem ser acomodadas em um espaço com eficiência perfeita. Seus cálculos consideram a eficiência máxima de acomodação das esferas.
Etapas de raciocínio Peça ao modelo para explicar o raciocínio dele. Às vezes, isso pode melhorar a capacidade de raciocínio do modelo. Também chamadas de "etapas de pensamento". Explique seu raciocínio passo a passo.
Formato da resposta O formato em que você quer que a resposta esteja. Por exemplo, é possível solicitar que o modelo gere a resposta em JSON, tabela, Markdown, parágrafo, lista com marcadores, palavras-chave, pitch rápido de venda e assim por diante. Também chamado de "estrutura", "apresentação" ou "layout". Formate sua resposta em Markdown.
Recapitulação Repetir de maneira concisa os pontos principais do comando no final dele, especialmente as restrições e o formato da resposta. Não forneça a resposta. Em vez disso, dê dicas. Sempre formate sua resposta no formato Markdown.
Salvaguardas Baseia as perguntas na missão do bot. Também chamadas de "regras de segurança". N/A

Dependendo das tarefas específicas em questão, você pode optar por incluir ou excluir alguns componentes opcionais. Também é possível ajustar a ordenação dos componentes e verificar como isso pode afetar a resposta.

Exemplo de modelo de comando

O modelo de comando a seguir mostra um exemplo de como é um comando bem estruturado:

      <OBJECTIVE_AND_PERSONA>
      You are a [insert a persona, such as a "math teacher" or "automotive expert"]. Your task is to...
      </OBJECTIVE_AND_PERSONA>

      <INSTRUCTIONS>
      To complete the task, you need to follow these steps:
      1.
      2.
      ...
      </INSTRUCTIONS>

      ------------- Optional Components ------------

      <CONSTRAINTS>
      Dos and don'ts for the following aspects
      1. Dos
      2. Don'ts
      </CONSTRAINTS>

      <CONTEXT>
      The provided context
      </CONTEXT>

      <OUTPUT_FORMAT>
      The output format must be
      1.
      2.
      ...
      </OUTPUT_FORMAT>

      <FEW_SHOT_EXAMPLES>
      Here we provide some examples:
      1. Example #1
          Input:
          Thoughts:
          Output:
      ...
      </FEW_SHOT_EXAMPLES>

      <RECAP>
      Re-emphasize the key aspects of the prompt, especially the constraints, output format, etc.
      </RECAP>
    

Práticas recomendadas

Confira algumas práticas recomendadas para o design de comandos:

A seguir