Почему ИИ бросает REST: правда о генерируемых API
Почему ИИ игнорирует REST: Что на самом деле происходит с вашими генерируемыми API
Пишешь код. Просишь ИИ создать эндпоинт для API. А в ответ — POST-запрос в стиле RPC, хотя по REST здесь явно нужен GET. Знакомо?
Это повторяется так часто, что возникает вопрос: лень в данных обучения или что-то посерьёзнее?
REST — это не строгий стандарт, а набор идей
Не спешите винить ИИ. REST — это архитектурные рекомендации, а не жёсткие правила. Философия. А модели языка плохо схватывают такие абстракции.
REST советует:
- GET для безопасных чтений без побочек
- POST для создания ресурсов
- Полагаться на семантику HTTP
- Работать без состояния
Это проверенные практики веба. Но код на их основе не обязателен. Многие рабочие API обходятся без REST — и ничего.
Что видят модели в данных обучения
Правда такова: данные обучения — сплошной бардак. GitHub, Stack Overflow, документация миллионов проектов. Какая там статистика?
Встречается:
- RPC-стиль повсюду: Микросервисы внутри компании, GraphQL, старые системы, простые реализации без фанатизма REST
- POST на все случаи: Легче проверять данные, расширять, отлаживать (логи POST отличаются от GET)
- Фреймворки с POST по умолчанию: Многие выбирают его как универсальный
- Безопасность: Чувствительные параметры прячут в теле POST, а не в URL
Модель смотрит на цифры. POST кажется "нормальным" выбором. Не ошибка — просто отражение реальности.
Экономия токенов играет роль
Ещё один фактор: токены на вес золота.
RPC через POST:
POST /api/users
{ "action": "getUser", "id": 123 }
REST-вариант:
GET /api/users/123
Генерация по токенам любит простоту. Меньше вариантов, меньше усилий. Главная причина? Нет. Но влияет.
REST не универсален — и ИИ это чувствует
REST имеет слабости. GraphQL придумали из-за жёстких форм ответов. Query-языки — из-за проблем с параметрами в строке запроса. Внутренние сервисы бросают REST, когда плюсы теряются.
Модели, возможно, улавливают: REST хорош для публичных API и клиент-серверов. А для внутренних задач — не всегда. Не отказ от REST. Просто выбор по контексту.
Итог: комбинация причин
Всё вместе:
- Распределение данных: Немало кода без REST в продакшене
- Сложность идей: Философия REST хуже кодируется, чем синтаксис
- Оптимизация токенов: Простой код генерируется быстрее
- Понимание лимитов: Модели знают, когда REST не идеален
Как добиться REST от ИИ
Хотите правильный REST? Укажите чётко:
Создай RESTful эндпоинт по лучшим практикам REST.
GET для чтения, с верными HTTP-кодами.
Модель: User { id, name, email }
Чем точнее промпт — тем лучше результат. Это и есть prompt engineering для API.
Главный вывод
ИИ не бунтует против REST. Он копирует, как пишут код в жизни. REST — элегантно. Но не единственный путь. Реальный мир выбирает по делу.
Лучший дизайн API — знать, когда REST в тему (публичные API, браузеры, распределённые системы), а когда проще без него (внутренка, скорость, legacy).
Ваш ИИ уже разобрался. Пора и нам.
Хотите API на уровне продакшена для следующего проекта? Платформа Vibe Hosting от NameOcean с ИИ-инструментами запоминает ваши стили. Задайте паттерны раз — и генерация подстроится. Узнайте, как строить умнее с NameOcean.