Проверка кода может выглядеть тщательной, но в ней не хватает одного ввода, который нарушает функцию. Рассмотрим функцию ценообразования, контракт которой представляет скидку 20% как 20: функция экспорта DiscountedTotal(subtotalCents, DiscountPercent) { - Верни Мэт...
Проверка кода может выглядеть тщательной, но в ней не хватает одного ввода, который нарушает функцию.
Рассмотрим функцию ценообразования, контракт которой представляет скидку 20% как 20:
функция экспорта DiscountedTotal(subtotalCents, DiscountPercent) {
- return Math.round(subtotalCents * (100 - DiscountPercent) / 100);
+ return Math.round(subtotalCents * (1 - DiscountPercent));
}
Существующее утверждение все еще проходит:
Assert.equal(discountedTotal(10000, 0), 10000);
Но ненулевая скидка обнажает регрессию. Для 10 000 центов и 20 новая функция возвращает -190 000 вместо 8 000. Локальные тесты сопутствующего проекта воспроизводят эти значения.
Это полезная задача для конвейера проверки: один рецензент изучает поведение, другой проверяет покрытие тестами, а третий оспаривает их выводы, прежде чем человек прочитает отчет.
В этом руководстве мы создадим этот конвейер с помощью DEVUP AI, TypeScript и OpenAI Agents SDK. Мы также сохраняем режим одного рецензента, поскольку добавление агентов — это архитектурный выбор, который следует оценить.
Сопутствующий код: получите полный проект на GitHub. Он включает в себя реализацию, приспособления, тесты, руководство по оценке и исходные цифры.
Раскрытие информации и проверка: я создаю DE
