Формат ответа: JSON, Markdown, обычный текст

Формат ответа: JSON, Markdown, обычный текст

До сих пор мы в основном позволяли модели отвечать так, как ей удобно. Но в реальных задачах формат ответа часто важнее содержания. Если модель возвращает JSON — его можно распарсить и передать другой системе. Если Markdown — красиво отобразить. Если обычный текст — показать пользователю. Умение управлять форматом — один из главных навыков промпт-инженера.

Три основных формата

Обычный текст — ответ сплошным текстом без структуры. Подходит для: диалогов, писем, простых объяснений.

Объясни, что такое API, в двух предложениях.

Markdown — текст с заголовками, списками, таблицами, выделением. Подходит для: документации, статей, отчётов.

Объясни, что такое API. Используй Markdown: заголовок, определение,
список из 3 примеров использования.

JSON — структурированные данные. Подходит для: передачи в код, базы данных, API-интеграции.

Объясни, что такое API. Ответь в формате JSON с полями:
definition (строка), examples (массив из 3 строк).

Как указать формат

Самый надёжный способ — сказать прямо:

Ответь в формате JSON.

Но «в формате JSON» — размыто. Модель не знает, какая у тебя схема. Поэтому лучший способ — показать:

Вход:

У меня есть описание товара. Извлеки из него название, цену и категорию.
Ответь СТРОГО в формате JSON, без дополнительного текста до и после.
Используй ключи: "name", "price", "category".

Описание: "Ноутбук Lenovo ThinkPad, 85 000 рублей, категория — офисная техника."

Выход:

{
  "name": "Ноутбук Lenovo ThinkPad",
  "price": "85 000 рублей",
  "category": "офисная техника"
}

Важные элементы этого промпта:

  • «СТРОГО в формате JSON» — убирает неоднозначность.
  • «Без дополнительного текста до и после» — предотвращает «Вот ваш JSON:» перед ответом.
  • Точные имена ключей — модель знает структуру.

Когда модель «оборачивает» JSON в текст

Типичная проблема: просишь JSON, а получаешь:

Конечно! Вот данные в формате JSON:

```json
{
  "name": "Ноутбук",
  "price": 85000
}

Надеюсь, это то, что вам нужно!


Этот ответ нельзя напрямую скормить `JSON.parse()`. Чтобы этого избежать, добавь в промпт:

Ответь ТОЛЬКО JSON-объектом. Не добавляй приветствия, пояснения и обрамления в ```. Первый символ твоего ответа должен быть "{".


### Markdown: управление структурой

Markdown — более гибкий формат. Им можно управлять через указание конкретных элементов:

Напиши обзор языка Python. Ответь в формате Markdown со следующей структурой:

Что такое Python

(2–3 предложения)

Преимущества

  • (список из 4–5 пунктов)

Пример кода

(простой пример на Python)

Где используется

ОбластьПример
(3–4 строки таблицы)

Модель выдаст точно структурированный Markdown.

### Обычный текст: когда формат не важен

Обычный текст — формат по умолчанию. Его не нужно запрашивать специально. Но иногда модель склонна использовать Markdown даже там, где он не нужен. Если хочешь заставить её отвечать plain text:

Ответь обычным текстом, без Markdown-форматирования. Никаких заголовков через #, списков через -, таблиц, ```-блоков.


### Выбор формата под задачу

| Задача | Формат | Почему |
|--------|--------|--------|
| Ответ пользователю в чате | Обычный текст | Простота, естественность |
| Статья / документация | Markdown | Заголовки, списки, читаемость |
| Данные для кода | JSON | Парсинг, автоматизация |
| Письмо / рассылка | Обычный текст | Почтовые клиенты не всегда корректно отображают Markdown |
| Отчёт для руководства | Markdown | Таблицы и структура |
| Данные для загрузки в БД | JSON / CSV | Машинная обработка |

### Проверь себя

Тебе нужно, чтобы модель проанализировала 5 отзывов и вернула для каждого: тональность (позитивная/негативная) и краткое резюме. Какой формат ответа выберешь и как опишешь его в промпте?

*Ответ: JSON, потому что 5 структурированных ответов нужно будет обрабатывать программно. Промпт: «Ответь ТОЛЬКО JSON-массивом. Каждый элемент — объект с полями "review_id" (число), "sentiment" ("positive"/"negative"), "summary" (строка до 10 слов). Не добавляй текст вне JSON.»*

### Итог

- Формат ответа — то, в каком виде модель возвращает результат. Три основных: обычный текст, Markdown, JSON.
- JSON требует точных инструкций: имена ключей, «без дополнительного текста», «первый символ — {».
- Markdown управляется через указание конкретных элементов: заголовки, списки, таблицы, код-блоки.
- Формат выбирается под задачу: JSON для автоматизации, Markdown для чтения, plain text для диалогов.

### Что дальше

Формат — это скелет ответа. Теперь добавим «мышцы» — стиль и тон. Как сделать так, чтобы ответ в нужном формате звучал ещё и так, как тебе нужно: от строгого делового до расслабленного разговорного.

Попробуйте интерактивную версию

Практические задачи, квизы и AI-наставник — бесплатный старт без карты

Перейти к практике