AI-native SDLC. Отвечаю на вопросы про evals и ответственнос
В предыдущем посте я рассказал, как мы встроили ИИ во все этапы разработки. Получил хороший комментарий от подписчика. Он задал два точных вопроса. Без evals и наблюдаемости — красивая автоматизация ошибок. И кто за что отвечает, когда тесты и ревью тоже делает ИИ?
Разбираю по порядку.
Про evals и наблюдаемость
Я согласен. Просто посадить модель в конвейер и ждать чуда — плохая идея. Мы это поняли на первом спринте. Модель генерировала тесты, но они не проверяли бизнес-логику. Принимать такие на веру — путь к хаосу.
Мы выстроили систему оценок в три уровня.
Первый — синтаксический валидатор. Он запускается сразу после генерации. Проверяет, что код компилируется, все импорты на месте, нет очевидных ошибок. Если что-то не так — тест не попадает в репозиторий.
Второй — семантический чекер. Мы написали небольшой набор скриптов, которые прогоняют сгенерированный тест на изолированном окружении. Проверяют, что тест действительно проверяет то, что заявлено в спецификации.
Третий — человеческий аудит. Выборочно, раз в неделю, мы пересматриваем 10–15% сгенерированных тестов. Сравниваем их с эталонными, написанными вручную. Оцениваем качество покрытия и стиль. Эти данные идут в дашборд наблюдаемости.
Наблюдаемость у нас выглядит так. Отдельная панель с метриками. Процент принятых тестов. Процент тех, которые потребовали правки. Среднее время доработки. Количество галлюцинаций на эндпоинт. Если метрика падает, мы пересматриваем промпты, не ждём, что модель сама починится.
Про развод ответственности
Это второй острый вопрос. Кто виноват, если сгенерированный тест пропустил баг? Или если ИИ предложил плохое архитектурное решение?
Мы провели чёткую границу.
Код и архитектура. За конечное решение отвечает разработчик. ИИ предлагает черновик и схему. Разработчик обязан прочитать, осмыслить и принять или отклонить. Если он принял неудачное решение — это его ответственность.
Тесты. Здесь схема жёстче. Тесты, написанные ИИ, проходят ревью разработчика. Но финальную проверку выполняет QA-инженер. Он смотрит на покрытие критических сценариев. Если тест-кейс не покрывает важный граничный случай, QA возвращает его на доработку.
Ревью кода - он находит потенциальные проблемы, но финальное решение о мерже принимает тимлид. Он отвечает за то, что код попадает в прод.
Документация. Здесь ответственность лежит на авторе фичи. ИИ генерирует черновик. Автор проверяет, что описание соответствует реальности. Правки — вручную.
Главное правило: ИИ не подписывает ничего. Подпись всегда человеческая.
Зеркало. Разрушаем миф
Многие думают: если ИИ делает столько работы, то человек только нажимает кнопки. На деле объём работы не уменьшился. Он сместился. Вместо написания кода мы тратим время на валидацию, промпт-инжиниринг и анализ метрик.
Инструмент освобождает нас от рутины, но не от ответственности.
· 12.08
А ты можешь показать свои технические требования для этого всего? Насчет агентов давно понятно, просто сколько это стоит ОС, серверам и т.п.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён