Форматирование Markdown в запросах
Заголовки, полужирный текст и блоки кода — как задавать расширенное форматирование
«Форматирование Markdown в запросах» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Разметка в выводе ИИ
Разметка — это лёгкий синтаксис форматирования текста, который модели ИИ понимают без дополнительного объяснения. Если Вы просите вывести текст с форматированием в разметке, модель создаёт текст, который отображается как форматированный в совместимых средах.
Если Вы точно знаете, как запросить каждый элемент разметки, то получаете точный контроль над структурой каждого документа, созданного ИИ.
Запрос заголовков
Заголовки в разметке используют символы решётки: # для H1, ## для H2 и ### для H3.
Запрашивайте их явно: «Структурируйте текст с заголовками разделов H2», «Используйте ## для основных разделов и ### для подразделов» или «Включите в начале один заголовок H1 с символом #».
Заголовки создают удобную для навигации структуру в Notion, GitHub, Obsidian и большинстве инструментов документирования.
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)Выделение жирным и курсивом
Жирное и курсивное выделение в разметке:
**bold text**→ жирный текст*italic text*→ текст курсивом***bold and italic***→ жирный курсивный текст
Запрос: «Выделяйте все ключевые термины жирным при первом упоминании», «Используйте курсив для названий продуктов» или «Выделяйте жирным задачу в каждом шаге».
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)Блоки кода
Блоки кода в разметке используют тройные обратные кавычки с необязательным указанием языка для подсветки синтаксиса:
```python
print('hello')
```Запрос: «Включите весь код в блоки кода Python», «Оформите каждую команду в блоке кода bash» или «Покажите пример JSON в блоке кода json».
Указание языка включает подсветку синтаксиса в GitHub, VS Code и на сайтах с документацией.
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)Встроенный код
Встроенный код обозначается одиночными обратными кавычками: `variable_name`. Он отображается моноширинным текстом внутри предложения — это идеально подходит для:
- Имен переменных:
user_id - Имен функций:
calculate_tax() - Имен команд:
git commit - Путей к файлам:
/etc/nginx/nginx.conf - Конечных точек HTTP:
/api/v1/users
Запрос: «Используйте форматирование встроенного кода для всех имён переменных и функций».
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)Блоки цитат
Блоки цитат используют > в начале строки. В разметке:
> This is a blockquote.
Варианты использования: выделенные блоки, важные примечания, примерные диалоги, цитируемые исходные материалы, предупреждения.
Запрос: «Поместите самое важное предупреждение в блок цитаты» или «Используйте блок цитаты для описания сценария-примера».
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)Вложенные списки в разметке
Вложенные списки в разметке используют отступы в два или четыре пробела для создания иерархии:
- Main item
- Sub-item
- Sub-item
- Sub-sub-itemЗапрос: «Создайте вложенный список из двух уровней с X основными элементами и Y вложенными элементами для каждого» или «Используйте вложенные маркеры, чтобы показать связь между категориями и примерами».
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)Ссылки и изображения
Ссылки в разметке: [link text](URL)
Изображения в разметке: 
Модели ИИ могут создавать ссылки-заполнители с понятным текстом: «Включите ссылки в разметке на релевантную документацию — используйте адреса-заполнители, например [официальная документация](https://example.com)».
Для документации с заполнителями диаграмм: «Добавьте заполнитель изображения с понятным альтернативным текстом».
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)Горизонтальные линии и разделители
Горизонтальные линии создаются с помощью трёх дефисов (---), звёздочек (***) или символов подчёркивания (___).
Используйте их, чтобы визуально разделять основные разделы документа. Запрос: «Добавьте горизонтальную линию --- между каждым основным разделом» или «Разделите три раздела с помощью разделителей разметки».
Горизонтальные линии отображаются в большинстве сред разметки и помогают читателям ориентироваться в длинных документах.
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)Когда разметка не отображается
Разметка полезна только в том случае, если среда вывода поддерживает её отображение. Разметка NOT отображается в следующих случаях:
- В почтовых клиентах для обычного текста (отображаются необработанные звёздочки)
- В сообщениях SMS
- В большинстве полей для заметок CRM
- При голосовом выводе (преобразовании текста в речь)
- В устаревших системах, рассчитанных на обычный текст
В таких случаях явно запрашивайте обычный текст. Это рассматривается в следующем уроке.
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)Сочетание элементов разметки
Профессиональные документы, создаваемые ИИ, сочетают несколько элементов разметки. Хорошо структурированный технический документ может содержать:
- Заголовок H1 с
#и разделы H2 с## - Ключевые термины, выделенные с помощью
**bold**при первом упоминании - Блоки кода с указанием языка для всего кода
- Встроенный код для всех имён переменных и функций
- Маркированные списки для требований и нумерованные списки для шагов
- Блоки цитат для предупреждений и важных примечаний
- Разделители
---между основными разделами
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)Проверка знаний
Разработчик создаёт помощника на основе ИИ, который выводит содержимое в терминал с помощью print() — без веб-интерфейса и средства отображения разметки. Разработчик просит ИИ объяснить функцию и получает вывод, полный звёздочек и символов решётки. Что следует добавить в системное сообщение, чтобы это исправить?
Разметка в запросах — итоги
Форматирование с помощью разметки придаёт документам, создаваемым ИИ, профессиональную структуру. Основные элементы, которые следует запрашивать:
- Заголовки: # H1, ## H2, ### H3 — для удобной навигации по структуре документа
- Выделение: **жирный шрифт** для ключевых терминов, *курсив* для особых названий
- Блоки кода: тройные обратные кавычки с указанием языка для подсветки синтаксиса
- Встроенный код: одиночные обратные кавычки для имён переменных, команд и путей
- Блоки цитат: префикс > для предупреждений, выделенных блоков и цитируемого содержимого
- Вложенные списки: списки с отступами для иерархической информации
Используйте разметку только в том случае, если известно, что среда вывода поддерживает её отображение.
Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 53
- Уроки
- 199
Часто задаваемые вопросы
Урок «Форматирование Markdown в запросах» бесплатный?
Да — полный текст урока «Форматирование Markdown в запросах» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Форматирование Markdown в запросах»?
Заголовки, полужирный текст и блоки кода — как задавать расширенное форматирование Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Prompt Engineering?
Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Форматирование Markdown в запросах»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Запросы списков и маркированных пунктов
- Запрос таблиц и структурированных данных
- Форматирование Markdown в запросах
- Обычный текст и форматированный вывод