Podlodka QA Crew, 16–20 ноября. Доклад «AI по обе стороны тестирования». Евгений Родаев, Newo.ai

Тест упал. Кто ошибся?

СценарийКлиент сделал заказ, и звонит с просьбой его отменить, но сразу передумывает: «Нет, оставьте заказ»
AI-агент
Клиент
AI-клиент
"You're programs." — Neo

Что пошло не так?

По сценарию AI-клиент долженОтказаться: «Нет, оставьте заказ»
Однако, AI-клиент сказал«Да, запросите отмену»
Продукт всё сделал правильно. Отказа, который я хотел проверить, не было
"Perhaps we're asking the wrong questions." — Agent Brown

Слова и действия проверяем отдельно

Инструкция AI-тестировщику ≠ тест состоялся. Сначала проверяем, создана ли нужная ситуация
Что произнёс разговор: «готово», «сделано» Что сделал события в системе
"Stop trying to hit me and hit me." — Morpheus

Фразы меняются. Требование остаётся

Одно намерение — бесконечно много формулировок, как у живого человека
«Нет, оставьте»
«Я передумал»
«Давайте ничего не менять»

Сравнение с точной фразой → ложное падение

Сравнение по похожести → пропущенная ошибка: ответ верный, а отмена ушла

Смотрим на действия, а не на то, как они прозвучали
"What matters is the connection the word implies." — Rama-Kandra

Сначала проверяем, состоялся ли тест

1Если история действий неполная→запуск невалиден
2Если клиент не отказывался→запуск невалиден
3Если был запрос на отмену→нарушение
4Если отказ был, а отмены нет→подтверждено
Обычно начинаем с позитивного сценария. Здесь он проверяется последним: сначала убеждаемся, что условия теста созданы
"Are you sure this line is clean?" — Trinity

Зелёный результат: что именно доказано?

Чем выше ступень, тем сильнее утверждение — и тем больше данных для него нужно
1. Нужное действиеАгент отправил запрос на отмену
2. Данные верныеВ действие ушли корректные данные
3. Ответ успешныйСистема не вернула ошибку
4. Состояние изменилосьЗаказ принят, заказ отменён
детерминированность
"What is real? How do you define real?" — Morpheus

Раньше с агентом говорили люди

≈ 10 минут
один реальный разговор
20–30 в день
максимум разговоров, которые успевает один QA
Требуется делать сотни повторяющихся звонков — порядка 2х недель на тестирование
СценарийПоведение клиента и ожидаемое действие
→
AI-клиентРазговаривает с продуктовым агентом
→
ДанныеРазговор и события агента
→
ПроверкаДействия и результаты — обычным кодом
→
ВыводPASS
FAIL
INCONCLUSIVE
Уже было
Нужно было сделать
"Time is always against us." — Morpheus

Почему не взять готовое?

Готового нет

Проприетарные системыУ каждой своя техническая реализация
Высокая скорость измененийОтсюда спорные, костыльные решения
Уникальная структура данныхНужно читать именно наши логи и диалоги
Свой инструмент — единственное решение
"That's why it's going to work." — Neo

Две судьбы чёрного ящика

Мой выборРазобратьсяСпросить AI, как всё устроено, — он объяснит
Ладонь с красной пилюлей
Морфеус выглядывает из-за ящика
?
Ладонь с синей пилюлей
Когда-нибудь придём сюдаОтдаться AI«Сделай нам хорошо» на самых дорогих моделях — и никогда не знать, как всё устроено
Почему разобраться:
ДоступноAI объяснит любую систему
ДешевлеСправляются модели попроще
Лучше архитектураПонимаю систему — направляю агентов
"Ignorance is bliss." — Cypher

Сначала — домашняя работа

«Сделай нам хорошо»работает, когда система изучена, а требования записаны
Домашка перед постановкой задачи агенту — 2–3 реальных примера, сделанных руками
Рестораны
  • Забронировать столик
  • Заказать еду
  • Отменить заказ
  • ...
CRM-системы
  • Договориться о встрече
  • Уточнить статус обращения
  • Запросить инвойс
  • ...
Системы ресепшена
  • Записаться на приём
  • Узнать список услуг
  • Перенести запись
  • ...
Живой пример диалога и действия → агент перенесёт опыт на другие кейсы
"You have to see it for yourself." — Morpheus

Каждое решение — в харнесс

Агент спешит дать ответЕсли ему кажется, что контекста хватает, — дальше он не ищет
ПроблемаНашёл в работе с AI
→
РешениеПринцип, правило и т.д.
→
ХарнессЛичный набор правил и решений
→
Запрос агентуХарнесс попадает в контекст агента
Весь нужный контекст должен попадать в каждый запрос
"I can guide you, but you must do exactly as I say." — Morpheus

Baseline: проверяем проверку

Инструмент написан с помощью AI для AI-агентов. Как убедиться в надежности?
Известный успехнамерение совпадает с действием
→
Инструмент подтверждаеттребование выполнено
Известная ошибкадействие расходится с намерением
→
Инструмент находит нарушениес ним можно идти к разработчику
Неполные данныечасти событий нет
→
Инструмент не выдаёт успехвывод делать рано
Нет дрифта, результат повторяется раз за разом → инструменту можно доверять
"You do not truly know someone until you fight them." — Seraph

Исправил тестировщика, а не требование

ПричинаОтказ был привязан к узкой формулировке вопроса. Агент спросил другими словами
→
ИзменениеОтказываться при любой формулировке. Поменял промпт, проверку — нет
→
Следующий прогонКлиент отказался.
Заказ остался открытым

Нельзя подгонять ожидаемый результат
под поведение агента

Продуктовые требования те же: отмены быть не должно

"Do not try and bend the spoon." — Spoon Boy

Один успешный повтор ≠ надёжность

Повтор подтверждает исправление
конкретного случая

AI-агент всё ещё может сделать то, чего мы не ожидаем

Храните все разговорыAI-тестировщика с AI-агентом
Храните все событиячто AI-агент сделал в системе
Чем больше данных, тем AI-помощнику легче заметить, что что-то выбивается из ожидаемого
"A deja vu is usually a glitch in the Matrix..." — Trinity

Подтвердил новое, в действие передал старое

КлиентВыбрал первый вариант (A)
→
КлиентПередумал: выбрал второй вариант (B)
Что агент сказал клиентуПодтвердил второй вариант (B)
Что агент сделал в системеВ действие передал первый вариант (A)
Весь диалог — один контекст: сказанное 10 и 5 минут назад для агента — это одно и то же
"Choice. The problem is choice." — Neo

Пицца и две колы

Клиент
Хочу пиццу
Агент
Хорошо: цена 10$, адрес доставки…
Клиент
Ой, забыл — добавьте две колы
Агент
Добавляю две колы.
Сумма за пиццу и две колы — 14$
Агент
Заказ передан. До свидания!
Что ушло в системуПицца × 1Кола × 2 — нет
Добавляйте смену решения в тесты любого AI-агента:
проверяйте действие, а не только подтверждение
"Maybe they got it wrong." — Mouse

Что повторить у себя

1Один вопрос к качествуНа который ваш процесс сейчас не отвечает
2Данные и ручной разборДанных должно хватать вам самим
3Одна минимальная проверка от AIНачните с малого
4Приёмка на известных примерахУспех, ошибка, неполные данные
5ИтерацииРасширяйте покрытие, решения — в харнесс
"It's the question that drives us, Neo." — Trinity

Роль QA расширяется

БылоQuality Control
БылоQuality Assurance
БылоQuality Engineering
ДобавилосьProduct Owner
ДобавилосьDeveloper
ДобавилосьTech Writer
ДобавилосьDevOps
ДобавилосьLLM Evaluation
ДобавилосьPrompt/Harness Engineering
С приходом AI область знаний QA сильно расширяется
"I know kung fu." — Neo

AI может вести разговор, писать код и искать ошибки

Отвечать за результат всегда будет человек

Что считать доказательством — работа QA

"But we control these machines, they don't control us." — Neo

Скилл-аудитор
для вашего харнесса

Проверка скиллов и инструкций
по принципам этого доклада

  1. Скачайте архив
  2. Попросите своего AI-агента
    установить скилл
github.com/Veador/harness-audit-skill
QR-код: https://github.com/Veador/harness-audit-skill
"I have something for him. A gift." — Agent Smith

Спасибо!

Евгений Родаев

Senior AI QA Engineer

Аватарка Евгения Родаева linkedin.com/in/evgenii-rodaev
"Everything that has a beginning has an end." — The Oracle
Время: 00:00План к концу слайда: — Правки сохраняются в браузере ← → пробел · N заметки · S старт · F полный экран