
Разбор · Опубликовали 08.10.2026
Нефункциональные требования задают качество работы: агенты проверяют числа вместе с функциями
Время ответа, нагрузка и ограничения системы входят в приёмку вместе с работающими кнопками. Как записать их для ИИ-агента и проверить результат.
Текст подготовлен машиной агентов под редакцией инженера, который ведёт vibecoding.ru · факты проверены 8 октября 2026
Нефункциональные требования задают условия, при которых функция годится для бизнеса. Для приёмки ИИ-агенту нужны порог качества и проверка.
2 сентября 2026 года заголовок на vibecoding.ru уже был в странице. Анимация прятала его до загрузки скриптов: ответ сервера ещё не означал видимый текст.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Работающая кнопка подтверждает функцию, качество проверяют отдельно.
Функциональное требование описывает действие. Пользователь нажимает «Скачать отчёт» и получает нужные данные. Тест проверяет файл и права доступа.
Нефункциональное требование описывает качество или ограничение. Отчёт должен появляться за согласованное время на рабочем объёме данных и нагрузке.
Демо на пустой базе этого не доказывает. «Быстро» и «под нагрузкой» ещё не дают проверке основания отклонить результат.
Общая постановка задач агенту задаёт результат и границы. Здесь добавляем к конкретной функции проверяемое условие качества.
К каждому свойству качества нужен свой способ проверки
Источник: понятия из Практикума; способы приёмки предложены редакцией по документации k6 и Google SRE, проверены 08.10.2026. Безопасность тоже относится к качеству, но её проверки зависят от конкретной угрозы.
2. Число становится требованием вместе с условиями замера.
Порог без сценария оставляет смысл на усмотрение исполнителя. «Страница за две секунды» может означать ответ сервера или готовность формы.
Для появления основного содержимого web.dev рекомендует LCP не более 2,5 с. В эту границу должны укладываться хотя бы 75 % посещений.
Мобильные и настольные посещения считают отдельно. Один быстрый запуск на компьютере инженера не подтверждает качество для остальных.
Для отчёта меряют путь до готового файла. CTO выбирает допустимое ожидание из сценария, инженер предлагает замер. Порог LCP сюда не переносится.
Условия измерения входят в требование вместе с числом
Источник: принцип разделения цели и измерителя из Google SRE; ориентир LCP из web.dev, проверено 08.10.2026. Таблица служит дополнением к требованию качества, а не новым общим шаблоном задачи.
3. Порог проверяет машина, смысл порога выбирает руководитель.
Проверку поручают агенту вместе с функцией. Он готовит сценарий и данные, инженер сверяет метрику. Отказ проверки включают в условия выпуска.
В примере k6 95 % запросов должны завершаться быстрее 200 мс, а доля HTTP-ошибок должна быть меньше 1 %. Это учебный пример вендора, не норматив.
При нарушении порога k6 возвращает ненулевой код завершения. Конвейер должен учитывать этот отказ: красный значок в отчёте выпуск не остановит.
Согласованный порог защищают правила для ИИ-агентов. Исполнитель не может ослабить условие, чтобы сделать проверку зелёной.
Пример k6 проверяет HTTP-ответ, а не весь путь пользователя
Источник: официальная документация Grafana k6, пример thresholds, проверено 08.10.2026. Функциональные проверки содержимого и проверки качества выполняют вместе.
4. Наши поломки добавляли проверки, которых не было в демо.
На vibecoding.ru инженер ведёт машину агентов и принимает её работу. Своего клиентского кейса по этим требованиям у нас нет.
Наш публичный контур качества показывает устройство проверок выпуска. Истории ниже объясняют, как уточнялось условие приёмки.
После поломки нужна проверка обнаруженного свойства. Повторить старый набор недостаточно, если он этого свойства не измерял.
Для размера сборки полезны оба слоя защиты. Ранний запрет опасного чтения файлов ловит причину, измерение готового пакета проверяет результат.
Каждая поломка уточняла, что именно должна проверить машина
02.09
Первый экран был скрыт анимацией до исполнения скриптов. Вывели его из скрытия и повторили замер на профилях устройств. Урок приёмки: ответ сервера и видимое содержимое проверяют отдельно; разброс повторных замеров сохраняют.
05.09
Чтение файлов через переменную раздуло серверную функцию, выпуск упёрся в предел размера. Добавили раннюю проверку способа чтения и отдельное измерение размера после сборки. Урок приёмки: запрет опасного паттерна не заменяет замер результата.
24.09
Новые поля ответа не совпали с его валидатором, страницы без кэша перестали открываться при зелёных тестах. Добавили проверку соответствия полей. Урок приёмки: тест должен воспроизводить контракт рабочего ответа.
Источник: сверенные записи нашей машины за 02.09, 05.09 и 24.09.2026. Это история проверок, не свежий замер скорости сайта.
5. На приёмке нужен воспроизводимый результат для той же версии кода.
На /open описаны 2 685 тестов на каждом пуше плюс ревью, срез 8 октября 2026 года. Это число проверок выпуска, не доказательство любого требования качества.
Зелёный значок имеет смысл вместе с условиями прогона. Отчёт должен показывать фактическую нагрузку, объём данных и среду для той же версии кода.
Пустой прогон или меньшая тестовая база не подтверждают рабочий сценарий. Успех после прогрева кэша не заменяет проверку согласованного холодного старта.
Результат принимают отдельно от уверенности автора правки. Последствия выпуска разбираем в статье про ответственность за ошибки ИИ.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Пороги k6 | Пример официальной документации: 95 % запросов быстрее 200 мс, менее 1 % HTTP-ошибок. Это учебный пример вендора, не норматив и не наш замер. | 2026-10-08 |
| Ориентир LCP | web.dev рекомендует не более 2,5 с на 75-м перцентиле посещений, мобильные и настольные отдельно. Метрика видимости основного содержимого не равна времени выполнения любой операции. | 2026-10-08 |
| Истории сайта | Сверены исходные записи 02.09, 05.09 и 24.09.2026. Случаи скрытого первого экрана, размера сборки и несовпадения ответа с валидатором. Исторические показатели не выдаются за свежий замер. | 2026-10-08 |
| Живые страницы | На /open прочитано описание контура: 2 685 тестов на каждом пуше плюс ревью. На /services сверены 250 000 ₽/мес за «Один проект» и исключение ночных дежурств. Отдельного клиентского кейса нет. | 2026-10-08 |
6. Проверка остаётся после выпуска и ловит следующее ухудшение.
Приёмка заканчивает задачу, но не наблюдение за системой. Нагрузка вырастет, данных станет больше, зависимость начнёт отвечать иначе.
Быстрые ограничения проверяют с каждой правкой. Нагрузочный прогон повторяют в согласованные моменты, рабочий сценарий наблюдают после выпуска.
Нарушение должно попадать к человеку, который вправе остановить изменение или вернуть прежнюю версию. Короткий тест не подтверждает доступность на месяц.
В уроке «Одиннадцать шагов одной задачи» нашего курса сдача встроена в порядок работы агентов. К передаче задачи добавляется след измерения.
Измерение проходит вместе с задачей до рабочей среды
Источник: редакционный порядок приёмки по Google SRE и опыту нашей машины; 08.10.2026. Расписание прогонов и действия при нарушении согласуют для проекта.
7. Проверки качества входят в задачу, дежурства согласуют отдельно.
В разработке по подписке «Один проект» стоит 250 000 ₽ в месяц, по странице на 8 октября 2026 года. Требования качества обсуждают для конкретной задачи.
Измеримые требования можно включить в задачи. Агенты под управлением инженера подготовят проверки, инженер сверит их с согласованными условиями.
На /services ночные дежурства исключены из подписки. Приёмка скорости ответа не означает обязательства круглосуточно устранять любой сбой.
Если осталось «должно работать быстро», полезно разобрать приёмку проекта. Порог и условия должны быть понятны обеим сторонам до работы.
Исполнитель отвечает на вопросы о проверке и реакции отдельно
Источник: условия /services на 08.10.2026; вопросы приёмки предложены редакцией. Цена подписки не превращается в гарантию доступности.
8. Частые вопросы
Какие бывают нефункциональные требования?+
Скорость, нагрузка и устойчивость описывают работу системы. Безопасность, совместимость и ограничения ресурсов задают другие группы требований. В задачу попадает конкретное проверяемое свойство, например время появления отчёта при рабочем объёме данных.
Чем нефункциональные требования отличаются от бизнес-требований?+
Бизнес-требование объясняет, зачем компании система: например, сократить ожидание отчёта. Функциональное описывает получение отчёта. Нефункциональное фиксирует приемлемое качество этого действия и условия его проверки.
Нужно ли числом описывать удобство интерфейса?+
Число помогает, если измеряет нужное поведение, например долю успешно завершённых сценариев. Автоматический тест не заменяет наблюдения за пользователями. Для интерфейса заранее согласуют и измеримые признаки, и способ проверки удобства.
Можно ли добавить требования качества после первой версии?+
Можно, но они способны изменить устройство системы и объём переделок. До первой версии согласуют свойства, от которых зависит возможность запуска: допустимую нагрузку, ограничения среды и поведение при отказах.
Число одновременных пользователей равно числу запросов в секунду?+
Нет. Пользователи могут читать, ждать или выполнять разные операции. Для нагрузки записывают их сценарии и частоту действий, затем измеряют, какой поток запросов получается.
Успешный нагрузочный тест означает гарантию работы без сбоев?+
Он подтверждает результат в проверенных условиях. Гарантия работы сервиса включает период наблюдения, порядок реакции и обязательства сторон. Её согласуют отдельно от приёмки конкретной правки.
Источники
- Практикум: функциональные и нефункциональные требования, 10.02.2025 — учебный материал
- Grafana k6: Thresholds, пример и исход проверки — официальная документация
- web.dev: Largest Contentful Paint, метрика и порог — первоисточник
- Google SRE: Implementing SLOs, цель и измерение — первоисточник
- vibecoding.ru: публичный контур качества и сверенные редакцией истории сайта — наш опыт
- vibecoding.ru: условия разработки по подписке, срез 08.10.2026 — наш продукт
Веб-источники проверены 08.10.2026. Истории нашего сайта относятся к указанным датам.
Запомнить
- Работающая кнопка доказывает действие. Добавьте условие, при котором результат годится для бизнеса.
- Число проверяют вместе со сценарием, данными, нагрузкой и средой. Согласуйте их до работы.
- Агент готовит проверку, инженер сверяет её смысл. Изменение порога принимает заказчик.
- Принимайте отчёт для той же версии кода. Сохраняйте условия и команду повторного прогона.
- После выпуска оставьте измерение и адресата сигнала. Порядок реакции на сбой согласуйте отдельно.