0Pricing
AI Prompt Engineering · Aula

Formatação markdown nas solicitações

Cabeçalhos, negrito e blocos de código — como especificar uma formatação avançada.

Formatação markdown nas solicitações é uma aula grátis de AI Prompt Engineering no CoddyKit. Esta é a aula 3 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.

Markdown na saída da IA

Markdown é uma sintaxe leve de formatação de texto que os modelos de IA compreendem nativamente. Quando você solicita uma saída formatada em Markdown, o modelo produz um texto que é renderizado com formatação avançada em ambientes compatíveis.

Saber exatamente como solicitar cada elemento do Markdown proporciona controle preciso sobre a estrutura de cada documento gerado por IA.

Solicitando cabeçalhos

Os cabeçalhos do Markdown usam símbolos de cerquilha: # para H1, ## para H2 e ### para H3.

Solicite-os explicitamente: 'Estruture com cabeçalhos de seção H2', 'Use ## para as seções principais e ### para as subseções' ou 'Inclua um único título H1 com # no topo.'

Os cabeçalhos criam uma estrutura navegável no Notion, GitHub, Obsidian e na maioria das ferramentas de documentação.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            'Write a technical guide outline for "Getting Started with FastAPI". '
            'Structure: one # H1 title at the top, then 4 ## H2 section headers, '
            'each with 2 ### H3 subsection headers beneath it. '
            'Add one sentence of placeholder content under each H3.'
        )
    }]
)
print(response.content[0].text)

Ênfase em negrito e itálico

Ênfase em negrito e itálico no Markdown:

  • **bold text** → texto em negrito
  • *italic text* → texto em itálico
  • ***bold and italic*** → negrito e itálico

Solicite: 'Coloque todos os termos importantes em negrito na primeira ocorrência', 'Use itálico para nomes de produtos' ou 'Coloque o item de ação de cada etapa em negrito.'

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Explain the concept of idempotency in REST APIs. '
            'Rules:\n'
            '- Bold every technical term on its first occurrence only\n'
            '- Italicize all HTTP method names (GET, POST, PUT, DELETE, PATCH)\n'
            '- 150 words max, flowing prose — no bullets or headers'
        )
    }]
)
print(response.choices[0].message.content)

Blocos de código

Os blocos de código no Markdown usam três crases, com uma indicação opcional da linguagem para realce de sintaxe:

```python
print('hello')
```

Solicite: 'Inclua todo o código em blocos de código Python', 'Coloque cada comando em um bloco de código Bash' ou 'Mostre o exemplo de JSON em um bloco de código JSON.'

A indicação da linguagem permite o realce de sintaxe no GitHub, no VS Code e em sites de documentação.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            'Show me how to connect to PostgreSQL from Python using psycopg3.\n'
            'Structure:\n'
            '1. Install command in a bash code block.\n'
            '2. Connection example in a python code block with type hints.\n'
            '3. A sample SELECT query in a python code block.\n'
            'Keep each code block under 10 lines. Brief one-sentence intro before each block.'
        )
    }]
)
print(response.content[0].text)

Código em linha

O código em linha usa acentos graves simples: `variable_name`. Ele é exibido como texto monoespaçado dentro de uma frase — ideal para:

  • Nomes de variáveis: user_id
  • Nomes de funções: calculate_tax()
  • Nomes de comandos: git commit
  • Caminhos de arquivos: /etc/nginx/nginx.conf
  • Pontos de acesso HTTP: /api/v1/users

Solicitação: 'Use a formatação de código em linha para todos os nomes de variáveis e funções.'

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Explain the difference between Python list .append() and .extend(). '
            'Rules:\n'
            '- Use inline code for all method names, parameter names, and variable examples\n'
            '- Use a python code block for each demonstration example\n'
            '- Prose sections: max 2 sentences\n'
            '- Do NOT use headers or bullets — flowing prose with code blocks only'
        )
    }]
)
print(response.choices[0].message.content)

Citações em bloco

As citações em bloco usam > no início de uma linha. Na marcação:

> This is a blockquote.

Casos de uso: caixas de destaque, notas importantes, diálogos de exemplo, material de fonte citado e avisos.

Solicitação: 'Coloque o aviso mais importante em uma citação em bloco' ou 'Use uma citação em bloco para o cenário de exemplo.'

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'Write a security guide section about SQL injection prevention. '
            'Structure:\n'
            '- 2-sentence explanation of the risk\n'
            '- One blockquote containing a real example of vulnerable code (as a note/warning)\n'
            '- 3 bullet points on how to prevent it\n'
            '- One blockquote containing the safe alternative code pattern'
        )
    }]
)
print(response.content[0].text)

Listas aninhadas em marcação

As listas aninhadas em marcação usam indentação de dois ou quatro espaços para criar uma hierarquia:

- Main item
  - Sub-item
  - Sub-item
    - Sub-sub-item

Solicitação: 'create uma lista aninhada de dois níveis com X itens principais e Y subitens para cada um' ou 'Use marcadores aninhados para mostrar a relação entre categorias e exemplos.'

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Create a 2-level nested markdown list of AWS services for a web startup. '
            'Level 1: 4 service categories (Compute, Storage, Database, Networking). '
            'Level 2: 3 specific services under each category with a 5-word description. '
            'Format: markdown nested bullets with proper indentation.'
        )
    }]
)
print(response.choices[0].message.content)

Links e imagens

Links em marcação: [link text](URL)
Imagens em marcação: ![alt text](image-URL)

Os modelos de IA podem gerar links provisórios com texto significativo: 'Inclua links em marcação para documentação relevante — use endereços provisórios como [documentação oficial](https://example.com).'

Para documentação com espaços reservados para diagramas: 'Inclua um espaço reservado para imagem com um texto alternativo significativo.'

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'Write a README section for a Python open-source project called "sqlens". '
            'Include:\n'
            '- An image placeholder for a demo screenshot: ![Demo screenshot](docs/demo.png)\n'
            '- At least 2 markdown links: one to the PyPI page, one to the documentation\n'
            '- A badge placeholder using an image link\n'
            '- 3 bullet points of key features\n'
            'Use realistic placeholder URLs (pypi.org/project/sqlens etc).'
        )
    }]
)
print(response.content[0].text)

Linhas horizontais e separadores

As linhas horizontais usam três traços (---), asteriscos (***) ou sublinhados (___).

Use-as para separar visualmente as principais seções de um documento. Solicitação: 'Adicione uma linha horizontal --- entre cada seção principal' ou 'Separe as três seções com divisores de marcação.'

As linhas horizontais são exibidas na maioria dos ambientes de marcação e ajudam os leitores a navegar por documentos longos.

import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Write a mini technical specification document for a user authentication API. '
            'Include exactly 3 sections: Overview, Endpoints, Security Requirements. '
            'Separate each section with a --- horizontal rule. '
            'Each section: ## H2 header + 3-5 bullet points of content. '
            'Under Endpoints: use inline code for all route paths and HTTP methods.'
        )
    }]
)
print(response.choices[0].message.content)

Quando a marcação não é renderizada

A marcação só é útil quando o ambiente de saída a renderiza. A marcação não é renderizada (NOT) em:

  • Clientes de e-mail em texto simples (asteriscos brutos aparecem)
  • Mensagens SMS
  • A maioria dos campos de notas de CRM
  • Saída de voz (síntese de fala)
  • Sistemas antigos que esperam texto simples

Nesses contextos, solicite explicitamente texto simples. Isso será abordado na próxima lição.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# Check if environment renders markdown before requesting it
rendering_environments = {
    'GitHub':     True,
    'Notion':     True,
    'Obsidian':   True,
    'VS Code':    True,
    'Gmail body': False,  # some markdown, not all
    'Outlook':    False,
    'SMS':        False,
    'Plain text file': False,
}

print('Markdown rendering support:')
for env, renders in rendering_environments.items():
    status = 'RENDERS' if renders else 'DOES NOT RENDER'
    print(f'  {env:<20} {status}')

# Decision: use markdown only when you know it renders
use_markdown = True  # set based on your environment

format_instruction = (
    'Use markdown headers, bold, and code blocks.' if use_markdown
    else 'Plain text only — no markdown symbols.'
)
print('\nFormat instruction:', format_instruction)

Combinando elementos de marcação

Documentos gerados por IA com qualidade de produção combinam vários elementos de marcação. Um documento técnico bem estruturado pode usar:

  • Título H1 com # + seções H2 com ##
  • Termos-chave em **bold** na primeira ocorrência
  • Blocos de código com indicações da linguagem para todo o código
  • Código em linha para todos os nomes de variáveis e funções
  • Listas com marcadores para requisitos; listas numeradas para etapas
  • Citações em bloco para avisos e notas importantes
  • Divisores --- entre as principais seções
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Write a mini developer guide for the requests Python library. '
            'Use all of the following markdown elements:\n'
            '- # H1 title at the top\n'
            '- ## H2 sections: Installation, Basic Usage, Error Handling\n'
            '- Bold all key terms on first use\n'
            '- Code blocks with python/bash language hints\n'
            '- Inline code for all function names\n'
            '- One blockquote warning about timeout best practice\n'
            '- --- between each section\n'
            'Max 300 words total.'
        )
    }]
)
print(response.choices[0].message.content)

Verificação de conhecimento

Um desenvolvedor está criando um assistente de IA que produz conteúdo para ser exibido em um terminal usando print() — sem interface web e sem renderizador de marcação. Ele solicita à IA uma explicação de funcionalidade e recebe uma saída cheia de asteriscos e símbolos de cerquilha. O que deveria acrescentar à mensagem do sistema para corrigir isso?

Marcação em instruções — recapitulação

A formatação em marcação dá aos documentos gerados por IA uma estrutura profissional. Elementos importantes a solicitar:

  • Cabeçalhos: # H1, ## H2, ### H3 — para uma estrutura de documento fácil de navegar
  • Ênfase: **negrito** para termos-chave, *itálico* para nomes especiais
  • Blocos de código: três acentos graves com indicação da linguagem para realce de sintaxe
  • Código em linha: um único acento grave para nomes de variáveis, comandos e caminhos
  • Citações em bloco: prefixo > para avisos, destaques e conteúdo citado
  • Listas aninhadas: marcadores indentados para informações hierárquicas

Use marcação somente quando souber que o ambiente de saída a renderiza.

Perguntas Frequentes

A aula “Formatação markdown nas solicitações” é grátis?

Sim — o texto completo de “Formatação markdown nas 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 “Formatação markdown nas solicitações”?

Cabeçalhos, negrito e blocos de código — como especificar uma formatação avançada. 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 3 de 4.

Quanto tempo leva a aula “Formatação markdown nas 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. Solicitando listas e tópicos
  2. Solicitando tabelas e dados estruturados
  3. Formatação markdown nas solicitações
  4. Texto simples versus resultado formatado
← Voltar para AI Prompt Engineering