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-itemSolicitaçã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: 
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: \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
- Solicitando listas e tópicos
- Solicitando tabelas e dados estruturados
- Formatação markdown nas solicitações
- Texto simples versus resultado formatado