Модель возвращает этот ответ: Приоритет: высокий Команда: Биллинг Причина: с клиента дважды сняли деньги. Вашему приложению нужно это: { «приоритет»: «высокий», "команда": "биллинг", "reason": "С клиента было списано дважды." } Они выглядят эквивалентно...
Модель возвращает этот ответ:
Приоритет: высокий
Команда: Биллинг
Причина: с клиента дважды сняли деньги.
Вашему приложению нужно это:
{
«приоритет»: «высокий»,
"команда": "биллинг",
"reason": "С клиента было списано дважды."
}
Они выглядят эквивалентно человеку. Для программного обеспечения это совершенно разные интерфейсы.
Первый ответ необходимо интерпретировать. Второе можно подтвердить.
Это различие имеет значение всякий раз, когда ответ ИИ используется кодом, а не отображается непосредственно пользователю. Если вы извлекаете данные, направляете запросы на поддержку, генерируете компоненты пользовательского интерфейса, вызываете инструменты или создаете агентный рабочий процесс, текст в свободной форме часто является неправильной границей.
Практическое правило: когда другая часть вашего приложения использует ответ модели, определите ожидаемую структуру, прежде чем писать подсказку.
Оглавление
Почему действительного JSON недостаточно
Начните с потребителя
Создайте небольшую схему
Держите инструкции и структуру отдельно
Подтвердить на границе
Явно справляйтесь с неопределенностью
Протестируйте контракт
Знайте, когда не следует использовать структурированный вывод
Используйте производственный контрольный список
Почему действительного JSON недостаточно
Разработчики уже много лет просят модели «возвращать только JSON». Это б