AI И НЕЙРОСЕТИ

Разработчик раскритиковал OpenAI за хаос в API

Разработчик на Reddit разобрал проблемы API OpenAI: два похожих эндпоинта с разным синтаксисом, неточная документация и закон Конвея в действии.

✍️ Редакция iTech News | 02.03.2026 | ⏱ 2 мин | 👁 2 | Источник: Reddit r/MachineLearning
🧬

OpenAI создала два API-эндпоинта для похожих задач — но с принципиально разным синтаксисом. Разработчик ddp26 на Reddit назвал это классическим примером закона Конвея: компании проектируют системы, которые копируют их внутреннюю структуру коммуникаций.

Речь идёт о старом эндпоинте chat/completions и новом responses. Оба генерируют текст, вызывают функции и создают структурированный вывод — но требуют разного формата запросов.

Одинаковая задача — разный синтаксис

Для структурированного вывода в chat/completions нужно писать:

{
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "Response",
      "schema": {"type": "object", "properties": ...}
    }
  }
}

А для responses — совсем по-другому:

{
  "text": {
    "format": {
      "type": "json_schema",
      "name": "Response",
      "schema": {"type": "object", "properties": ...}
    }
  }
}

«Не вижу причин, почему они должны отличаться, — пишет автор поста. — Складывается впечатление, что миграцию между эндпоинтами специально усложняют».

Документация не помогает

Официальная документация содержит только пару примеров — причём минимум один из них неправильный. Разработчику пришлось копаться в исходном коде Python-пакета OpenAI, чтобы понять реальный синтаксис.

Похожие проблемы есть у Google. Gemini API отклоняет валидную JSON Schema {"type": "array", "items": {}} (массив из любых элементов). Официальный Python-пакет Google молча переписывает схему перед отправкой — видимо, команда SDK устала ждать, пока backend-разработчики исправят баг.

Что это значит для разработчиков

Быстро растущие AI-компании жертвуют консистентностью ради скорости выпуска фичей. В итоге разработчикам приходится изучать множество мелких quirk'ов вместо работы над продуктом.

Особенно болезненно это для команд, которые интегрируют несколько LLM-провайдеров — каждый API требует своего подхода к одинаковым задачам.

OpenAI пока не комментировала критику архитектуры своих API.

Поделиться: Telegram X LinkedIn