0Pricing
AI Prompt Engineering · Aula

Seções modulares de solicitações

Separe contexto, instruções, restrições e formato do resultado de maneira organizada.

Seções modulares de solicitações é uma aula grátis de AI Prompt Engineering no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Prompt Engineering, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Prompt Engineering inclui 4 aulas no total.

O problema dos prompts monolíticos

Um prompt monolítico reúne tudo em um único parágrafo: contexto, tarefa, regras, exemplos e formato da saída ficam todos misturados. À medida que os prompts se tornam mais complexos, a estrutura monolítica causa:

  • Aplicação incorreta das regras às seções erradas pelos modelos
  • Dificuldade para identificar qual parte causou uma saída ruim
  • Cadeias de texto de prompt impossíveis de manter
  • Comportamento inconsistente entre versões do modelo

Os prompts modulares resolvem todos esses problemas.

As cinco seções essenciais do prompt

Um prompt bem estruturado tem cinco seções distintas, cada uma com uma finalidade clara:

  • Contexto — informações de base de que o modelo precisa para entender a situação
  • Tarefa — o que o modelo deve fazer, declarado com clareza
  • Restrições — regras e limites para a resposta
  • Formato da saída — estrutura, extensão e esquema da resposta esperada
  • Exemplos — demonstrações do comportamento correto

Nem todo prompt precisa das cinco. Use apenas o que for necessário.

Seção de contexto

A seção de contexto fornece informações de base sem dizer ao modelo o que fazer. Um bom contexto inclui:

  • Quem é o usuário final
  • Para qual plataforma ou produto ele se destina
  • Conhecimento relevante do domínio
  • Qualquer estado anterior que o modelo deva conhecer
context_section = '''
<context>
You are assisting a customer support agent at a B2B SaaS company.
The company sells project management software used by engineering teams.
Customers are typically CTOs, engineering managers, or senior developers.
The support agent is handling a live chat conversation with a customer.
</context>
'''

print(context_section)

Seção da tarefa

A seção da tarefa declara exatamente o que o modelo deve produzir. Ela deve ser específica, orientada à ação e livre de informações irrelevantes de contexto.

task_section = '''
<task>
Draft a response to the customer message below.
The response should:
1. Acknowledge the customer's issue
2. Provide a concrete next step
3. Set a realistic expectation for resolution time
</task>

<customer_message>
Our Gantt chart view stopped loading after the last update.
This is blocking our sprint planning session today.
</customer_message>
'''

print(task_section)

Seção de restrições

As restrições definem as barreiras de proteção — o que o modelo NOT deve fazer e os limites explícitos que precisa respeitar.

constraints_section = '''
<constraints>
- Do not promise a fix by a specific date unless you are certain.
- Do not mention competitor products by name.
- Keep the response under 100 words.
- Use a professional but empathetic tone.
- Do not ask the customer for information already provided in their message.
</constraints>
'''

print(constraints_section)

Seção do formato da saída

A seção do formato da saída informa ao modelo exatamente como estruturar sua resposta — esquema JSON, cabeçalhos Markdown, texto simples, listas numeradas etc.

output_format_section = '''
<output_format>
Respond with a JSON object containing:
{
  "subject": "string (email subject line)",
  "body": "string (email body, plain text, under 150 words)",
  "priority": "high | medium | low",
  "escalate": true | false
}
Do not include any text outside the JSON object.
</output_format>
'''

print(output_format_section)

Seção de exemplos

Os exemplos mostram ao modelo um par correto de entrada e saída. Coloque os exemplos depois das restrições para que o modelo veja as regras antes da demonstração.

examples_section = '''
<examples>
  <example>
    <input>Customer: My invoices are not downloading.</input>
    <output>{
      "subject": "Invoice Download Issue",
      "body": "Thank you for reaching out. We see the issue with invoice downloads and our team is investigating. We expect a fix within 2 hours. We will email you once resolved.",
      "priority": "high",
      "escalate": true
    }</output>
  </example>
</examples>
'''

print(examples_section)

Montando um prompt modular

A abordagem modular torna a montagem e a edição simples. Cada seção pode ser modificada de forma independente.

def build_support_prompt(customer_message):
    context = '<context>B2B SaaS customer support for project management software.</context>'
    task = f'<task>Draft a JSON response to this customer message.</task>\n<customer_message>{customer_message}</customer_message>'
    constraints = '<constraints>Under 100 words. Professional tone. No competitor names.</constraints>'
    output_fmt = '<output_format>Return JSON: {"subject": str, "body": str, "priority": str, "escalate": bool}</output_format>'
    return '\n\n'.join([context, task, constraints, output_fmt])

message = 'The Gantt chart stopped loading after your last update.'
print(build_support_prompt(message))

Benefícios para a depuração

Quando um prompt modular produz uma saída ruim, você pode isolar a seção problemática:

  • A tarefa executada está errada? — Verifique a seção da tarefa
  • Uma regra foi violada? — Verifique a seção de restrições
  • A estrutura da saída está errada? — Verifique a seção do formato da saída
  • A qualidade está baixa? — Verifique a seção de exemplos ou adicione mais contexto

Você pode alterar uma seção por vez e testar novamente sem reescrever todo o prompt.

Benefícios para a manutenção

Prompts modulares armazenados como objetos estruturados ou funções são muito mais fáceis de manter do que literais de texto longos:

  • Atualize o contexto quando o produto mudar sem alterar a lógica da tarefa
  • Troque o formato da saída de JSON para Markdown sem alterar as restrições
  • Faça testes A/B com diferentes conjuntos de exemplos mantendo todo o restante constante
  • Controle as versões de cada seção de forma independente
class Prompt:
    def __init__(self):
        self.context = ''
        self.task = ''
        self.constraints = []
        self.output_format = ''
        self.examples = []

    def build(self):
        parts = []
        if self.context:
            parts.append(f'<context>\n{self.context}\n</context>')
        if self.task:
            parts.append(f'<task>\n{self.task}\n</task>')
        if self.constraints:
            c = '\n'.join(f'- {r}' for r in self.constraints)
            parts.append(f'<constraints>\n{c}\n</constraints>')
        if self.output_format:
            parts.append(f'<output_format>\n{self.output_format}\n</output_format>')
        return '\n\n'.join(parts)

Quando ignorar seções

Nem todo prompt precisa das cinco seções. Use este guia:

  • Ignore o contexto quando a tarefa for autoexplicativa (por exemplo, traduza esta frase)
  • Ignore as restrições em tarefas simples de extração sem casos-limite
  • Ignore os exemplos quando a tarefa for simples ou o modelo já a executar bem sem exemplos
  • Sempre inclua a tarefa e o formato da saída — essas são as seções mínimas necessárias

Especificar demais prompts simples acrescenta ruído sem trazer benefícios.

Verificação rápida

Um prompt modular produz uma estrutura de saída incorreta. Qual seção você deve verificar primeiro?

Seções modulares — principais conclusões

As seções modulares de prompts são a base de uma engenharia de prompts fácil de manter e depurar:

  • Cinco seções essenciais: contexto, tarefa, restrições, formato da saída e exemplos
  • Cada seção tem uma única responsabilidade — misturá-las gera confusão
  • A estrutura modular permite a depuração seção por seção e testes A/B
  • Armazene os prompts como objetos estruturados ou funções, não como cadeias de texto brutas
  • Ignore as seções desnecessárias — especificar demais acrescenta ruído
  • Sempre inclua pelo menos a tarefa e o formato da saída em todo prompt não trivial

Perguntas Frequentes

A aula “Seções modulares de solicitações” é grátis?

Sim — o texto completo de “Seções modulares de solicitações” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Prompt Engineering, atualize para CoddyKit PRO. O curso de AI Prompt Engineering inclui 4 aulas no total.

O que vou aprender em “Seções modulares de solicitações”?

Separe contexto, instruções, restrições e formato do resultado de maneira organizada. Você pratica AI Prompt Engineering com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AI Prompt Engineering?

Nenhuma experiência prévia é necessária. AI Prompt Engineering no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Seções modulares de solicitações”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AI Prompt Engineering?

Sim. Cada aula de AI Prompt Engineering inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Usando tags XML como delimitadores
  2. Seções modulares de solicitações
  3. Padrão de solicitação com cabeçalho, corpo e rodapé
  4. Boas práticas de organização de solicitações
← Voltar para AI Prompt Engineering