sadrix logoSadriX
Минцифры готовит обязательную регистрацию IMEI смартфонов, купленных за границей
Обзоры

OpenAPI как общий контракт для AI-кодинга: разбор подхода Powerduck

+210 530 просмотров3 мин
+2
Поделиться:TelegramVK

Проблема: «готово» живёт только в чате

Автор материала на DEV.to описывает типичный сценарий: вы даёте AI задачу построить систему бронирования — выбор слота, создание брони, отмена администратором. Страница есть, эндпоинт есть, таблица в базе есть. Каждый кусок по отдельности выглядит корректно.

Но при соединении всплывают расхождения: фронтенд трактует метку времени как локальное время, бэкенд хранит UTC; эндпоинт отмены возвращает 200, а список всё ещё показывает «reserved»; один и тот же слот бронируется дважды.

Ключевая мысль автора: AI пишет много кода быстро, но если определение корректности существует лишь в нескольких сообщениях чата, каждый модуль формирует собственную интерпретацию.

Что предлагается: OpenAPI как общий референс

OpenAPI Specification (OAS) описывает эндпоинты, параметры, ответы и аутентификацию в структурированном формате. Его читают и люди, и инструменты.

В подходе, который описывает автор (на примере инструмента Powerduck), работа начинается с бизнес-запроса: AI просят предложить дизайн относительно уже существующей спецификации. Например — спроектировать эндпоинты создания и отмены брони, зафиксировать формат часового пояса, жизненный цикл статуса брони и формат ошибки при занятом слоте, а также перечислить правила, которые в требовании неочевидны.

По утверждению автора, важнее не объём сгенерированного кода, а то, какие изменения в API предлагаются: однозначны ли значения полей, согласована ли модель статусов, покрывают ли сценарии ошибок то, что реально нужно отрисовать фронтенду. Ревью диффа, применение и сохранение в локальный OAS-файл превращают обсуждение, которое иначе исчезло бы в истории чата, в долговечный артефакт проекта.

Один файл на всём пути AI-воркфлоу

Автор перечисляет стадии, на которых, по его описанию, OAS продолжает использоваться в воркфлоу Powerduck:

  • Дизайн — AI предлагает изменения эндпоинтов и схем относительно существующих определений.

  • Реализация — локальный MCP-сервер передаёт кодинг-ассистенту конкретный контракт, а не вставленный PDF.

  • Ожидание зависимостей — мок отвечает на основе примеров и схем из спецификации, чтобы фронтенд мог двигаться дальше.

  • Верификация — агент отправляет реальные запросы, запускает проверки контракта и проходит сценарные тесты.

  • Поставка — документация рендерится из того же файла, а MCP-эндпоинт может быть опубликован по требованию.

Сдвиг, который описывает автор: контекст AI больше не зависит от того, кто-то вставит его вручную в каждом сообщении. Спецификация входит в процесс на этапе дизайна и остаётся источником правды для всех инструментов дальше.

«AI-native» — это про петли обратной связи

После появления эндпоинта брони, по описанию автора, можно попросить AI запросить контракт через MCP и отправить запрос в тестовый сервис. Несовпадение параметров, отсутствующее поле ответа или ломающийся на середине сценарий становятся конкретным сигналом для следующей итерации.

Автор противопоставляет это «done» от модели: реальные ответы и результаты ассертов дают больше для разбора — какой шаг прошёл, какое поле не совпало с контрактом, какое правило всё ещё отсутствует.

Ограничения OAS

Автор честно отмечает границы подхода: OAS сам по себе не выразит гонки при бронировании слота, кросс-сервисные транзакции и не каждый бизнес-инвариант. Для этого нужны сценарии, ассерты и тесты уровня реализации. Задача инструмента вроде Powerduck, по его формулировке, — поместить структурированные части контракта в петлю обратной связи, которая ловит пробелы рано.

Local-first: консенсус принадлежит проекту

Спецификация живёт как локальный файл: попадает в систему контроля версий, код-ревью и откат вместе с кодом. При смене AI-клиента контракт переживает переключение — не нужно восстанавливать требования из старого треда.

Автор уточняет: local-first не означает «только офлайн». При использовании облачной модели передаваемый контекст всё равно уходит наружу. Смысл в том, что файл и ежедневный воркфлоу принадлежат вам, а не заперты в чат-окне вендора.

Итог

Автор описывает развивающийся паттерн разработки: человек задаёт цель и границы, AI участвует в дизайне и реализации, инструменты предоставляют доказательства проверки. В этой петле локальный OAS может быть тем элементом, который связывает всё вместе.

Первоисточник: DEV.to

Читайте также

Комментарии

Комментарии доступны только зарегистрированным пользователям. Войти

  • Пока нет комментариев. Будьте первым.