Обновить

Комментарии 3

Для автономного агента этого мало. Что молча додумает:

Контракт/поведение
- Формат и валидация bookId (что значит "ends with 1"? строка, число, ISBN?). quantity > 0? userId формат?
- Что в ответе POST /orders/buy: тело, код (200/201?), что возвращается при REJECTED, тот же ли код что при CONFIRMED.
- Учитывается ли quantity при проверке наличия? available true, но quantity не хватает на запрошенное число что тогда? Спека про это молчит.
- "random" с каким распределением, seed-able ли для тестов.

Надёжность
- timeout сколько секунд. Retry есть или нет. Что считать "unavailable" (connection refused, 5xx, 4xx?).
- 4xx от Stock это 503 или другое?

Хранение
- Где хранятся заказы? InMemory? БД? Спека не сказала, агент выберет сам.
- Идемпотентность повторного buy.

Структура
- "Clean Architecture" агент разложит слои на свой вкус, два сервиса в одном решении или раздельно, общий контракт-проект или дублирование DTO.
- Порты, конфигурация адресов между сервисами (откуда Order знает URL Stock).

Прочее
- Тесты вообще нужны? Не сказано буду молча решать.
- Версии пакетов, .NET 9 RC vs GA.

Вывод: для happy-path демки хватит. Для автономного прогона без вмешательства нет, на каждой дырке агент примет произвольное решение, и расхождения всплывут только в готовом коде. Сюда бы такой шаблон: пусть агент сперва выпишет эти допущения и негативные примеры, и остановится.

Вместо этого вы крутите гача барабан "мне повезёт"

Как сказал один известный спортсмен: чем больше тренируюсь, тем больше мне везёт.

С агентами так же. Чем больше пробуешь, тем чаще "гача-барабан" выдаёт полезные артефакты.

Посмотрел в гите, там более четко, да.

Но все же

Доменные контракты отсутствуют. "Создание заказа" и "проверка наличия" есть как фичи, но нет:  

- схемы Order, OrderItem, Stock (поля, типы, обязательность)  

- бизнес-правил (что при недостатке количества, статусы заказа, переходы)  

- request/response DTO конкретных эндпоинтов  

Это и есть мясо, его в SPEC нет совсем

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации