Назад к блогу

Почему чат-боты с ИИ говорят на Markdown

2025-12-083 min read

Если вы когда-либо общались с ChatGPT, Claude, Gemini или любым современным ИИ-помощником (включая того, что находится в правом нижнем углу этого сайта), вы, вероятно, заметили одну вещь: их ответы содержат жирный текст, маркированные списки и кликабельные ссылки. Это не магия. Это Markdown.

Что такое Markdown?

Markdown был создан в 2004 году Джоном Грубером как легкий способ форматирования текста с использованием простых символов. Вместо нажатия кнопок в текстовом редакторе вы набираете символы, обозначающие форматирование:

**жирный текст**
*курсивный текст*
[текст ссылки](https://example.com)
- элемент списка

При отображении это превращается в:

Почему модели ИИ используют Markdown?

Не случайно, что модели ИИ выдают текст в формате Markdown. Они обучаются на огромных объемах интернет-текста, а Markdown повсюду в сети: на GitHub, Stack Overflow, в технических блогах, в документации. Этот формат «встроен» в их обучающие данные.

Большие языковые модели, такие как GPT-5, Claude, Llama, Gemini и Grok, обучаются на массивных объемах интернет-текста. Значительная часть этого текста поступает из:

  • GitHub: README, документация, Issues, комментарии
  • Stack Overflow: Вопросы и ответы
  • Технические блоги: Учебные пособия и документация
  • Reddit и форумы: Обсуждения пользователей

Все эти платформы используют Markdown. Поэтому, когда модель ИИ учится общаться, она естественным образом осваивает Markdown как часть своего «языка».

Практическая польза

Markdown читабелен даже без рендеринга. Сравните эти два варианта:

**Важно**: Проверьте документацию

vs

<strong>Важно</strong>: Проверьте документацию

Первый вариант — это Markdown. Второй — HTML. Оба дают одинаковый результат, но Markdown чище и легче читается в исходном виде.

Это важно, потому что ответы ИИ должны быть читаемыми в различных контекстах: необработанные ответы API, интерфейсы чата, документация и многое другое.

Парсинг Markdown на практике

Я много лет работаю с Markdown в документации, файлах README и системах управления контентом. При создании чат-ботов на основе ИИ это становится особенно актуальным. Модель возвращает текст, который может содержать форматирование Markdown, поэтому фронтенду необходимо его парсить.

Вот упрощенная цепочка парсинга для базового форматирования:

Ответ ИИ (необработанный текст с Markdown)

Парсинг [текст](url) → кликабельные ссылки

Парсинг https://... → кликабельные URL-адреса

Парсинг **текст** → жирный текст

Отображение в окне чата

Для промышленных чат-ботов вам, вероятно, понадобится полноценная библиотека для парсинга Markdown, такая как react-markdown, marked.js или markdown-it. Они поддерживают полный синтаксис Markdown: заголовки, таблицы, блоки кода и многое другое.

Вы не можете полностью контролировать формат вывода ИИ. Даже если вы запросите ссылки в стиле [Заголовок](url), модель может вернуть вместо них необработанные URL-адреса. Создавайте свой парсер так, чтобы он обрабатывал оба формата.

Стоит ли использовать Markdown в своих промптах?

Да, но с реалистичными ожиданиями. Когда вы пишете системный промпт для ИИ, запрос на вывод в формате Markdown имеет смысл, потому что:

  1. Это то, что модель производит естественным образом
  2. Это легко парсить на фронтенде
  3. Это безопасно (нет риска XSS, как с HTML)
  4. Это читабельно для человека в качестве запасного варианта

Помните, что LLMs не всегда следуют инструкциям идеально. Создавайте свой фронтенд так, чтобы он мог корректно обрабатывать вариации.

Категории:

Оставайтесь в курсе

Получайте последние статьи и идеи в свой почтовый ящик.

Unsubscribe anytime. No spam, ever.