Как получить от Claude структурированные данные

Урок 13 из 92 курса «Разработка с Claude API»: официальный курс Anthropic Academy (Антропик) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

Кадр из видеоурока

О чём урок

При работе с большими языковыми моделями (LLM), такими как Claude, часто возникает необходимость получить от них структурированные данные. Будь то код в формате JSON, фрагмент кода на Python или просто маркированный список, разработчики стремятся к чистому, готовому к использованию выводу. Однако по умолчанию Claude, стремясь быть максимально полезным, часто добавляет к сгенерированному контенту пояснительный текст или оборачивает его в форматирование, например, блоки кода Markdown. Хотя это обычно удобно для человека, для программных приложений, которым требуется только "сырые" данные, это создает значительные трудности. Представьте, что вы создаете веб-приложение, которое генерирует правила для AWS EventBridge. Пользователи вводят описание, нажимают кнопку "сгенерировать" и ожидают получить чистый JSON, который можно немедленно скопировать и использовать. Если Claude возвращает JSON, обернутый в блоки кода Markdown с пояснительным текстом, пользователи не смогут просто скопировать весь ответ — им придется вручную выбирать только часть JSON. Это не только ухудшает пользовательский опыт, но и усложняет автоматическую обработку данных в приложении. По умолчанию, когда вы просите Claude сгенерировать JSON, вы можете получить что-то вроде следующего: Как видно из примера, сам JSON корректен, но он обернут в форматирование Markdown (тройные обратные кавычки) и включает дополнительный пояснительный текст. Для веб-приложения, где пользователям нужно скопировать чистый JSON, это создает ненужные препятствия и требует дополнительной обработки для извлечения нужных данных. Чтобы получить именно тот контент, который вам нужен, без лишних оберток и комментариев, можно эффективно комбинировать две мощные техники: предзаполнение сообщения ассистента (Assistant Message Prefilling) и стоп-последовательности (Stop Sequences). Этот подход позволяет точно контролировать формат вывода Claude, делая его идеальным для интеграции AI-генерируемого контента в приложения, где критически важны чистые, структурированные данные. Суть метода заключается в том, чтобы "подсказать" Claude, что он уже начал генерировать нужный формат, а затем "остановить" его, как только он попытается выйти за рамки этого формата.

План урока

  1. Получение структурированных данных от Claude: Точный контроль над форматом вывода
  2. Проблема с ответами по умолчанию
  3. Решение: Предзаполнение сообщения ассистента и стоп-последовательности
  4. Как это работает?
  5. Обработка ответа и универсальность метода

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды