QwenCloudBRASIL
Tradução de apoio para consulta. Código e identificadores técnicos preservados. Consultar referência original ↗

Texto para texto

Crie prompts eficazes

Crie prompts eficazes

Escreva instruções claras e específicas

Prompts vagos produzem resultados vagos. Quanto mais contexto e restrições você fornecer, mais o resultado corresponderá às suas expectativas. Pense nisso como delegar uma tarefa: uma solicitação de uma linha deixa muito espaço para interpretação, enquanto instruções detalhadas com objetivos claros produzem exatamente o que você precisa.

Prompts claros e específicos são o fator mais importante para obter resultados úteis de um LLM.

Exemplo: tarefa de geração de código

Aviso vago Prompt claro e específico
Escreva uma função Python para processar dados. Escreva uma função Python que leia um arquivo CSV, filtre as linhas onde o status coluna é igual "active"e retorna uma lista de dicionários. Incluir dicas de tipo, tratar o caso em que o arquivo não existe e usar o csv módulo da biblioteca padrão.

O prompt específico define o formato de entrada, a saída esperada, o tratamento de erros e as restrições da biblioteca – o suficiente para que o modelo produza código utilizável na primeira tentativa.

Exemplo: tarefa de geração de conteúdo

Aviso vago Prompt claro e específico
Ajude-me a escrever um anúncio de produto. Escreva um anúncio de produto de 200 palavras para o "Zephyr Z9", um telefone portátil leve da Bailian. Destaque seu design ultrafino, especificações de alto desempenho e facilidade de uso. Almeje consumidores que entendem de tecnologia nas redes sociais. Mantenha o tom enérgico e conciso.

Estruture prompts com uma estrutura

Uma estrutura imediata ajuda você a fornecer sistematicamente as informações de que um LLM precisa. Em vez de adivinhar o que incluir, use estes seis elementos como lista de verificação:

Elemento Objetivo Exemplo
Contexto Informações básicas relevantes para a tarefa "Você está revisando solicitações pull para um microsserviço Python."
Objetivo A tarefa específica a ser concluída "Identifique possíveis bugs e sugira soluções."
Estilo Estilo ou personalidade de escrita "Escreva como engenheiro de back-end sênior."
Tom Qualidade emocional do resultado "Profissional, mas construtivo."
Público Quem lê a saída "Desenvolvedores juniores na equipe."
Resposta Formato de saída desejado "Uma lista numerada de problemas com sugestões de código."

Usar # delimitadores para marcar cada seção em seu prompt:

#Context#
You are reviewing pull requests for a Python microservice that handles
user authentication. The codebase uses FastAPI and SQLAlchemy.

#Objective#
Review the following code diff and identify potential security
vulnerabilities, performance issues, and style violations.

#Style#
Write as a senior backend engineer conducting a thorough code review.

#Tone#
Professional but constructive -- explain why each issue matters.

#Audience#
Junior developers who are learning secure coding practices.

#Response#
A numbered list of findings. For each finding, include:
- The specific line or code block
- Why it is a problem
- A suggested fix with code

Nem todo prompt precisa de todos os seis elementos. Adapte a estrutura à sua tarefa. Os exemplos ao longo deste guia usam subconjuntos diferentes dependendo do cenário.

Otimizar prompts

Forneça exemplos de saída

Incluir exemplos de resultados esperados ajuda o modelo a corresponder ao seu formato, estilo e nível de detalhe. Essa técnica – conhecida como solicitação de poucos disparos – também melhora a consistência em várias execuções.

Exemplo: extração de dados estruturados

#Context#
Extract structured information from user support tickets.

#Objective#
Parse each ticket into a JSON object.

#Examples#
Input: "My order #12345 arrived damaged. I want a refund."
Output:
{
  "order_id": "12345",
  "issue_type": "damaged_item",
  "requested_action": "refund"
}

Input: "I can't log in to my account. I've tried resetting my password
twice."
Output:
{
  "order_id": null,
  "issue_type": "login_failure",
  "requested_action": "account_recovery"
}

#Task#
Now parse this ticket:
Input: "Order #67890 has been stuck in 'processing' for 5 days.
Please expedite or cancel it."

O modelo aprende o esquema JSON, as convenções de nomenclatura de campos e como inferir issue_type e requested_action da linguagem natural - tudo apenas a partir dos exemplos.

Divida tarefas complexas em etapas

Para tarefas complexas, defina etapas explícitas a serem seguidas pelo modelo – não apenas o resultado desejado. Instruções passo a passo evitam que o modelo pule o raciocínio intermediário.

Exemplo: problema de palavras matemáticas

#Context#
Timmy leaves home at 8:00 AM, walking at 50 meters per minute. After
12 minutes, his father notices Timmy forgot his homework and chases
him on a bicycle at 200 meters per minute. After catching up, the
father carries Timmy on the bicycle for the rest of the trip. The
bicycle distance is 5 times the walking distance.

#Objective#
Calculate the arrival time.

#Steps#
1. Calculate how far Timmy walks before his father catches up.
2. Determine how long it takes the father to catch up.
3. Calculate the remaining bicycle distance and travel time.
4. Add up all time intervals to find the arrival time.

Saída do modelo (seguindo as etapas):

Step 1: Timmy walks for 12 minutes before his father starts:
  12 min * 50 m/min = 600 m head start

Step 2: Father's relative speed: 200 - 50 = 150 m/min
  Catch-up time: 600 m / 150 m/min = 4 minutes
  Timmy walks an additional: 4 min * 50 m/min = 200 m
  Total walking distance: 600 + 200 = 800 m

Step 3: Bicycle distance: 800 m * 5 = 4,000 m
  Bicycle time: 4,000 m / 200 m/min = 20 minutes

Step 4: Total time: 12 + 4 + 20 = 36 minutes
  Arrival: 8:00 AM + 36 min = 8:36 AM

Sem o #Steps# seção, o modelo pode pular cálculos intermediários e produzir uma resposta incorreta.

Use delimitadores para separar o conteúdo

Quando um prompt contém vários blocos de conteúdo (instruções, dados de entrada e exemplos), use delimitadores para marcar limites claros. Isso ajuda o modelo a distinguir suas instruções do conteúdo que deve processar.

Use sequências de caracteres que raramente aparecem em linguagem natural: ###, ===, ou >>>.

Exemplo: resumo de texto

Summarize each section of the following movie review separately.
Produce one summary sentence per section.

###
Zhang Zhiqiang was once spirited and energetic, but life's pressures
pushed him off course. An impulsive decision in middle age transformed
him from his family's pride into a social outcast.
###
This was just the beginning. A series of unexpected events forced him
to confront himself. He chose to start over as a delivery driver,
navigating city streets to rebuild his life.
###
Along the way, he found like-minded companions. Through their shared
struggles, he rediscovered his courage and purpose, forging a new
direction for his life.
###

Sem delimitadores, o modelo trata toda a revisão como um único bloco e produz um resumo genérico. Com delimitadores, identifica três seções distintas e gera três resumos relacionados que seguem o arco narrativo.

Guie o modelo para raciocinar passo a passo

Para tarefas que envolvam lógica, matemática ou análise em várias etapas, faça com que o modelo mostre seu raciocínio antes de declarar uma conclusão. Duas técnicas eficazes:

Cadeia de Pensamento (CoT)

CoT é um método relativamente simples que pode melhorar significativamente o raciocínio dos LLMs em cenários complexos. Peça ao modelo para explicar seu pensamento antes de produzir uma resposta final.

Exemplo: validação JSON

#Context#
JSON input:
{"web-app": {
  "servlet": [
    {
      "servlet-name": "cofaxEmail",
      "servlet-class": "org.cofax.cds.EmailServlet",
      "init-param": {
        "mailHost": "mail1",
        "mailHostOverride": "mail2"}},
    {
      "servlet-name": "cofaxTools",
      "servlet-class": "org.cofax.cms.CofaxToolsServlet",
      "init-param": {
        "templatePath": "toolstemplates/",
        "log": 1,
        "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
        "logMaxSize": ""}}],
  "servlet-mapping": {
    "cofaxEmail": "/cofaxutil/aemail/*",
    "cofaxTools": "/tools/*"},
  "taglib": {
    "taglib-uri": "cofax.tld",
    "taglib-location": "/WEB-INF/tlds/cofax.tld"}}}

#Objective#
Verify whether this JSON meets all three requirements:
1. Every servlet has an init-param block.
2. Every key in servlet-mapping matches a servlet-name.
3. The cofaxTools servlet has exactly three parameters starting with
   "log", and the "log" parameter value is less than 10.

#Response#
First, explain your reasoning for each requirement.
Then state whether all requirements are met.

Adicionar "explique seu raciocínio" produz uma análise estruturada onde o modelo avalia cada requisito individualmente - capturando casos extremos (como o valor da string vazia de logMaxSize) que faltaria com uma saída somente sim/não.

Encadeamento de prompts

Divida um problema complexo em uma sequência de perguntas mais simples em vários turnos. Cada resposta alimenta a próxima pergunta, guiando o modelo ao longo de um caminho de raciocínio controlado.

O encadeamento de prompts exige mais esforço para ser configurado do que o CoT, mas tem melhor desempenho e maior precisão. É particularmente adequado para tarefas que são logicamente complexas, mas que podem ser divididas de acordo com padrões fixos.

Exemplo: matemática em várias etapas (mesmo problema do Timmy, três turnos)

Turno 1:

#Context#
Timmy leaves at 8:00 AM walking at 50 m/min. After 12 minutes, his
father chases on a bicycle at 200 m/min. The bicycle distance is
5 times the walking distance.

#Question#
When does the father catch Timmy, and how far has Timmy walked?

Modelo: "O pai pega Timmy às 8h16, depois que Timmy andou 800 metros."

Turno 2:

How far does Timmy travel by bicycle to reach his grandparents' house?

Modelo: "Distância da bicicleta = 800 m * 5 = 4.000 metros."

Turno 3:

What time does Timmy arrive?

Modelo: "Tempo de bicicleta = 4.000 m / 200 m/min = 20 minutos. Tempo total = 16 + 20 = 36 minutos. Chegada: 8h36."

Cada turno se baseia em resultados intermediários verificados, reduzindo a chance de erros agravados.

Outras técnicas de raciocínio incluem Árvore de Pensamentos (ToT) e Impulso de Pensamentos. Escolha a técnica que corresponda à complexidade da sua tarefa e aos requisitos de precisão.

Teste e itere

A engenharia imediata é iterativa. Raramente a primeira versão de um prompt produz os melhores resultados.

Siga este ciclo:

  1. Defina seu objetivo. Decida como será um bom resultado antes de escrever o prompt.
  2. Escreva um prompt inicial. Aplique as técnicas deste guia: seja específico, use uma estrutura e forneça exemplos.
  3. Teste com diversas entradas. Execute o prompt em vários cenários do mundo real, incluindo casos extremos.
  4. Analise as falhas. Identifique onde o resultado fica aquém: formato errado, informações faltantes, raciocínio incorreto ou tom inconsistente.
  5. Refine o prompt. Ajuste um elemento por vez para medir o efeito de cada alteração.
  6. Repita. Continue até que a produção atenda consistentemente ao seu padrão de qualidade.

Além do design imediato, o feedback do usuário é essencial. Depois de implantar um prompt na produção, monitore interações reais e refine com base em padrões de correções do usuário e casos extremos que você não previu.

Exemplo: Otimize um assistente de RH multilíngue

Antecedentes: A Qwen3.5-Flash-based O assistente de RH de uma empresa multinacional não respondia consistentemente no idioma do usuário. O prompt do sistema precisava de reestruturação.

Antes da otimização

# Role
You are an efficient HR AI assistant, specifically responsible for
answering company internal questions about policies, attendance
systems, annual leave arrangements, and other related issues.

## Skills
### Skill 1: Policy interpretation
- Accurately interpret company policy documents and provide clear,
  concise policy explanations to colleagues.

### Skill 2: Attendance Q&A
- Answer all questions related to employee attendance, including
  clock-in rules, handling of late arrivals and early departures,
  leave procedures, etc.

### Skill 3: Annual leave management consultation
- Explain annual leave application conditions, accumulation rules,
  validity period, and approval process.

## Limitations
- Respond in the same language as the user's question.
- Limited to HR-related questions.
- Do not involve queries of personal privacy data.

Problemas:

Após a otimização

#Context#
You are an HR AI assistant for a multinational company. You answer
questions about policy interpretation, attendance rules, and annual
leave management.

Below are the company policy documents:
======
${documents}
======

#Objective#
1. Only answer questions about policy interpretation, attendance,
   and annual leave.
2. When a question is in scope but the knowledge base does not cover
   it, direct the user to contact the HR department.
3. For each category, follow these guidelines:
   - Policy interpretation: Locate the relevant clause and provide
     a clear, concise explanation.
   - Attendance: Cover clock-in rules, late arrival handling, and
     leave procedures.
   - Annual leave: Explain eligibility, accrual rules, approval
     process, and help calculate remaining balance.
4. Do not access or disclose personal employee data.

#Multilingual requirements#
- If the question is not in Chinese, translate it to Chinese to
  search the knowledge base, then convert the retrieved content
  back to the question's language for output.

#Response#
- Use only standard ASCII characters in all output.
- Match the output language to the input language.

O que mudou:

Estas mudanças resolveram a questão da consistência linguística porque o modelo pôde identificar claramente o ensino multilingue como uma directiva distinta e de alta prioridade, em vez de uma reflexão tardia enterrada.