Тест-система как гарант качества AI-generated кода Я пишу большой гайд о том, как грамотно использо

Тест-система как гарант качества AI-generated кода

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

И ключевая идея подхода, который я продвигаю в том, что следует стремиться к такой тест-системе, которая будет ловить 100% проблем и багов еще до того как они попали на прод — т. е., цель тест системы в том, чтобы баги не доходили до прода в принципе. И дальше самое важное — если вдруг какой-то баг дошел до прода — значит, это, прежде всего, баг тест-системы — значит, мы где-то облажались с дизайном тест-системы.

И вот тут важно, прошу заметить, что в моей парадигме к «тестам» системы относятся не только классические юнит/интеграционные/e2e тесты, но и PRD assessment, review спеки, review кода и прогон статическим анализатором и визуальные тесты — это все очень важные части тест-системы. Более детально именно составляющие тест-системы я напишу в отдельном посте (хотя, фактически, там описание каждого этапа заслуживает отдельного поста :))

В качестве примера — упрощенный протокол по багфиксу:

1. Разберись, что сломалось и придумай как это воспроизвести. Что-то непонятно - спроси, не гадай.
2. Воспроизведи баг через тест - если воспроизвести невозможно, явно скажи об этом с обоснованием.
3. Найди настоящую причину. Не симптом, а корень.
4. Придумай грамотный фикс, а не костыль. Если тянет на большой рефакторинг — остановись и спроси меня.
5. Почини с минимальными правками, чтобы не аффектить другие части системы.
6. Запусти тест. Тест зелёный? Соседние тесты не сломались? Идём дальше.
7. Оглянись: раз тест система не поймала эту проблему, значит пласт подобных проблем может быть где-то ещё в проекте - проведи глубокое ревью и найди подобные проблемы.
8. И теперь главное - почему наша тест-система упустила этот баг? Проведи аудит тест системы и найди способом улучшить тест-систему так, чтобы не допустить подобные проблемы в будущем.

Каждый баг-фикс — это два фикса: код и патчинг тест-системы, которая его проморгала.

Полностью протокол тут: https://github.com/CodeAlive-AI/ai-driven-development/blob/main/BUG-FIX-PROTOCOL.md

P.S. Этот протокол предполагает, что принцип работы тест системы вашего проекта описан в папке docs/test-system. Ещё, из этого протокола легко генерится скилл.

Поделитесь в комментариях какие интересные техники вы применяете для верификации изменений от AI агента и какие инсайты для себя открыли на этом пути?

@ai_drivenAI-Driven Development

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *