Formattazione Markdown nei prompt
Intestazioni, grassetto e blocchi di codice: come specificare una formattazione avanzata
Formattazione Markdown nei prompt è una lezione AI Prompt Engineering gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Prompt Engineering, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Prompt Engineering include 4 lezioni in totale.
Markdown nell'output dell'IA
Markdown è una sintassi leggera per la formattazione del testo che i modelli di IA comprendono nativamente. Quando richiede un output formattato in Markdown, il modello produce testo che viene visualizzato con una formattazione avanzata negli ambienti compatibili.
Sapere come richiedere esattamente ogni elemento Markdown consente di controllare con precisione la struttura di ogni documento generato dall'IA.
Richiedere le intestazioni
Le intestazioni Markdown utilizzano il simbolo del cancelletto: # per H1, ## per H2, ### per H3.
Le richieda esplicitamente: 'Struttura il contenuto con intestazioni di sezione H2', 'Utilizza ## per le sezioni principali e ### per le sottosezioni' oppure 'Includi un unico titolo H1 # all'inizio.'
Le intestazioni creano una struttura navigabile in Notion, GitHub, Obsidian e nella maggior parte degli strumenti di documentazione.
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)Grassetto e corsivo
Il grassetto e il corsivo in Markdown:
**bold text**→ testo in grassetto*italic text*→ testo in corsivo***bold and italic***→ grassetto e corsivo
Richiesta: 'Metti in grassetto tutti i termini chiave al primo utilizzo', 'Utilizza il corsivo per i nomi dei prodotti' oppure 'Metti in grassetto l'attività da svolgere in ogni passaggio.'
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)Blocchi di codice
I blocchi di codice in Markdown utilizzano tre accenti gravi, con un suggerimento facoltativo sulla lingua per l'evidenziazione della sintassi:
```python
print('hello')
```Richiesta: 'Includi tutto il codice in blocchi di codice python', 'Racchiudi ogni comando in un blocco di codice bash' oppure 'Mostra l'esempio JSON in un blocco di codice json.'
Il suggerimento sulla lingua abilita l'evidenziazione della sintassi in GitHub, VS Code e nei siti di documentazione.
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)Codice inline
Il codice inline utilizza singoli backtick: `variable_name`. Viene visualizzato con caratteri a spaziatura fissa all'interno di una frase, risultando ideale per:
- Nomi delle variabili:
user_id - Nomi delle funzioni:
calculate_tax() - Nomi dei comandi:
git commit - Percorsi dei file:
/etc/nginx/nginx.conf - Endpoint HTTP:
/api/v1/users
Richiesta: 'Utilizzi la formattazione del codice inline per tutti i nomi di variabili e funzioni.'
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)Citazioni a blocco
Le citazioni a blocco utilizzano > all'inizio di una riga. In Markdown:
> This is a blockquote.
Casi d'uso: riquadri informativi, note importanti, dialoghi di esempio, materiale tratto da fonti citate, avvisi.
Richiesta: 'Inserisca l'avviso più importante in una citazione a blocco' oppure 'Utilizzi una citazione a blocco per lo scenario di esempio.'
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)Elenchi annidati in Markdown
Gli elenchi Markdown annidati utilizzano l'indentazione, con 2 o 4 spazi, per creare una gerarchia:
- Main item
- Sub-item
- Sub-item
- Sub-sub-itemRichiesta: 'Crei un elenco annidato su due livelli con X elementi principali e Y sottoelementi ciascuno' oppure 'Utilizzi elenchi puntati annidati per mostrare il rapporto tra categorie ed esempi.'
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)Collegamenti e immagini
Collegamenti Markdown: [link text](URL)
Immagini Markdown: 
I modelli di IA possono generare collegamenti segnaposto con testo significativo: 'Includa collegamenti Markdown alla documentazione pertinente, utilizzando URL segnaposto come [documentazione ufficiale](https://example.com).'
Per la documentazione con segnaposto per i diagrammi: 'Includa un segnaposto per un'immagine con testo 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)Regole orizzontali e separatori
Le regole orizzontali utilizzano tre trattini (---), asterischi (***) o caratteri di sottolineatura (___).
Le utilizzi per separare visivamente le sezioni principali di un documento. Richiesta: 'Aggiunga una regola orizzontale --- tra ogni sezione principale' oppure 'Separi le tre sezioni con separatori Markdown.'
Le regole orizzontali vengono visualizzate nella maggior parte degli ambienti Markdown e aiutano i lettori a orientarsi nei documenti lunghi.
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 Markdown non viene visualizzato
Markdown è utile solo quando l'ambiente di output lo interpreta. Markdown NON viene visualizzato in:
- Client di posta elettronica in testo semplice, dove vengono visualizzati gli asterischi grezzi
- Messaggi SMS
- La maggior parte dei campi per le note dei CRM
- Output vocale, ovvero sintesi vocale
- Sistemi legacy che richiedono testo semplice
In questi contesti, richieda esplicitamente testo semplice. Ne parleremo nella prossima lezione.
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)Combinare elementi Markdown
I documenti generati dall'IA di qualità professionale combinano diversi elementi Markdown. Un documento tecnico ben strutturato potrebbe utilizzare:
- Titolo H1 con
#e sezioni H2 con## **bold**per i termini chiave al primo utilizzo- Blocchi di codice con indicazione della lingua per tutto il codice
- Codice inline per tutti i nomi di variabili e funzioni
- Elenchi puntati per i requisiti ed elenchi numerati per i passaggi
- Citazioni a blocco per avvisi e note importanti
- Separatori
---tra le sezioni principali
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 delle conoscenze
Uno sviluppatore sta creando un assistente IA che produce contenuti da visualizzare in un terminale utilizzando print(): non è presente alcuna interfaccia web né un renderer Markdown. Chiede all'IA una spiegazione di una funzionalità e riceve un output pieno di asterischi e simboli cancelletto. Che cosa dovrebbe aggiungere al messaggio di sistema per risolvere il problema?
Markdown nei prompt — riepilogo
La formattazione Markdown conferisce una struttura professionale ai documenti generati dall'IA. Elementi chiave da richiedere:
- Intestazioni: # H1, ## H2, ### H3, per una struttura del documento facile da consultare
- Enfasi: **bold** per i termini chiave, *italic* per i nomi speciali
- Blocchi di codice: triplo backtick con indicazione della lingua per l'evidenziazione della sintassi
- Codice inline: singolo backtick per nomi di variabili, comandi e percorsi
- Citazioni a blocco: prefisso > per avvisi, riquadri informativi e contenuti citati
- Elenchi annidati: elementi puntati indentati per le informazioni gerarchiche
Utilizzi Markdown solo quando sa che l'ambiente di output lo interpreta.
Domande Frequenti
La lezione «Formattazione Markdown nei prompt» è gratuita?
Sì — il testo completo di «Formattazione Markdown nei prompt» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Prompt Engineering, passa a CoddyKit PRO. Il corso AI Prompt Engineering include 4 lezioni in totale.
Cosa imparerò in «Formattazione Markdown nei prompt»?
Intestazioni, grassetto e blocchi di codice: come specificare una formattazione avanzata Eserciti AI Prompt Engineering con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AI Prompt Engineering?
Non è richiesta alcuna esperienza precedente. AI Prompt Engineering su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Formattazione Markdown nei prompt»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AI Prompt Engineering?
Sì. Ogni lezione AI Prompt Engineering include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Richiedere elenchi e punti elenco
- Richiedere tabelle e dati strutturati
- Formattazione Markdown nei prompt
- Testo semplice o output formattato