Границы и риски: что ИИ упускает, запрет секретов и персональных данных

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

Чему научишься за этот урок:
— называть три причины, по которым черновик ИИ систематически неполон или ошибочен;
— объяснять правило о запрете вставлять секреты и персональные данные в промпт ИИ и почему оно не имеет исключений;
— обезличивать фрагмент реальных данных перед тем, как обсудить его с ИИ-ассистентом.

Что ИИ систематически упускает

В прошлом уроке мы уже видели, что черновик ИИ бывает неполон или неточен именно там, где нужно знание конкретного продукта. Разберём подробнее три причины, по которым так происходит систематически, а не по случайности.

  • Специфика вашего продукта. Если явно не рассказать ИИ про особенности именно вашего продукта — историю его багов, бизнес-правила, ограничения конкретной формы, — ответ будет общим шаблоном, который выглядит содержательно, но по факту не учитывает то, что важно именно здесь (в уроке 14.1 мы уже видели это на примере лимита скидки по промокоду).
  • Галлюцинации. ИИ может «галлюцинировать» — уверенно утверждать неверный факт, например назвать несуществующий метод HTTP или придумать несуществующее правило валидации, — и в тоне ответа не будет ни намёка на неуверенность. Внешняя убедительность ответа никак не связана с тем, правда это или нет.
  • Нет доступа к реальной системе. ИИ не видит вашу базу данных, логи сервера или сам код продукта. Он работает только с тем текстом, который вы ему прислали в этом диалоге, — и если вы не вставили нужный фрагмент, ИИ ответит по общим соображениям, а не по факту того, что реально происходит в системе.

Правило без исключений: что никогда не вставляется в промпт ИИ

Из главы 12 вы знаете: секреты — пароли, токены, API-ключи — нельзя вставлять никуда, где им не место. Из главы 1.6 — реальные персональные данные учеников в тестовой среде под запретом всегда, только вымышленные. Оба правила без изменений распространяются на новый канал — диалог с ИИ-ассистентом. В промпт ИИ (и в любой другой внешний сервис) никогда не вставляются:

  • Реальные пароли, токены, API-ключи — тот же принцип, что и в главе 12.
  • Реальные персональные данные учеников — email, ФИО, телефоны, платёжные данные — тот же принцип, что и в главе 1.6.
  • Любые внутренние данные компании, помеченные как конфиденциальные.

Почему это правило особенно важно именно для ИИ-инструментов? То, что вы вставляете в чат стороннего сервиса, покидает периметр вашей компании — и может быть сохранено или использовано способом, который вы не контролируете. Это тот же принцип, что и с любым сторонним сервисом, к которому у вас нет доверительных отношений: не давать более широкий доступ, чем нужно для решения конкретной задачи. Гладкий и полезный ответ ИИ не отменяет того факта, что данные уже покинули периметр компании в момент отправки запроса.

Что делать вместо вставки реальных данных

  • Заменять реальные значения на вымышленные с сохранением структуры — например, вместо реального email ученика user@example.com, вместо реального номера заказа — придуманное «12345».
  • Формулировать вопрос ИИ абстрактно — «как проверить форму, где есть поле email и телефон» — вместо того, чтобы вставлять реальный лог с реальными данными.

Пример: обезличиваем фрагмент лога перед диалогом с ИИ

Представим сценарий на нашей платформе: тестировщик хочет спросить у ИИ совета по логу ошибки оплаты курса, но в логе есть реальные данные ученика:
ERROR PaymentService: user_email=<реальный_email_ученика>, card=<реальный_номер_карты>, status=FAILED, code=TIMEOUT_500
Прежде чем вставить это в диалог с ИИ, реальный email и номер карты нужно заменить на явно учебные значения той же структуры:
ERROR PaymentService: user_email=user1@example.com, card=0000 00** **** 0000, status=FAILED, code=TIMEOUT_500
Код ошибки и статус — не персональные данные, их можно оставить как есть; вопрос ИИ по-прежнему будет содержательным, потому что для анализа причины важны структура строки и код ошибки, а не то, чей именно это был платёж.

Что ИИ упускает                     Почему это происходит
------------------------------------ --------------------------------------------
Специфика вашего продукта           Не знает бизнес-правила и историю багов,
                                     если их явно не рассказать
Галлюцинации                        Может уверенно назвать несуществующий факт
                                     без единого признака неуверенности в тоне
Нет доступа к реальной системе       Видит только текст, который вы прислали
                                     в этом диалоге - не БД, не логи, не код

Что никогда не вставляется в промпт ИИ
----------------------------------------
- Реальные пароли, токены, API-ключи (глава 12)
- Реальные ПД учеников: email, ФИО, телефон, платежные данные (глава 1.6)
- Внутренние данные компании с пометкой "конфиденциально"

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

Итог:
— ИИ систематически упускает специфику вашего продукта, может галлюцинировать (уверенно ошибаться) и не имеет доступа к реальной системе — работает только с текстом, который вы ему прислали;
— в промпт ИИ никогда не вставляются реальные секреты (пароли/токены/ключи, глава 12), реальные персональные данные учеников (глава 1.6) и конфиденциальные данные компании;
— причина — данные, вставленные в чат стороннего сервиса, покидают периметр компании и могут быть сохранены или использованы неконтролируемым образом;
— вместо реальных данных используют вымышленные значения с сохранением структуры или абстрактную формулировку вопроса.

Контрольный вопрос. Что означает утверждение, что ИИ «не знает специфику вашего продукта»?

АЕсли явно не рассказать ИИ про особенности продукта, его ответ будет общим шаблоном, который выглядит содержательно, но не учитывает важные детали
БИИ вообще не способен отвечать на вопросы про конкретный продукт
ВСпецифику продукта ИИ автоматически узнаёт из открытых источников в интернете

Подсказка: Вспомни пример с лимитом скидки по промокоду из прошлого урока — откуда ИИ вообще мог бы узнать про такое правило.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Как в уроке называется ситуация, когда ИИ уверенно утверждает неверный факт, не проявляя никакой неуверенности в тоне ответа?

АГаллюцинация
БОпечатка
ВВалидация

Подсказка: Термин встречается в разделе про то, что ИИ систематически упускает, сразу после пункта про специфику продукта.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Что означает пункт «нет доступа к реальной системе» применительно к ИИ-ассистенту?

АИИ не видит базу данных, логи сервера или код продукта — он работает только с тем текстом, который вы ему прислали в этом диалоге
БИИ технически не может обрабатывать текст, скопированный из логов
ВИИ имеет доступ к базе данных продукта, но не имеет права её использовать

Подсказка: Вспомни, с чем именно работает ИИ, когда вы присылаете ему фрагмент лога.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Что из перечисленного нельзя вставлять в промпт ИИ-ассистенту ни при каких обстоятельствах?

АРеальные пароли, токены и API-ключи
БВымышленный email вида user1@example.com
ВАбстрактно сформулированный вопрос без реальных данных

Подсказка: Вспомни правило из главы 12, распространённое в этом уроке на диалог с ИИ.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. Какие из перечисленных данных урок запрещает вставлять в промпт ИИ-ассистенту (выбери все подходящие)?

Выберите все верные варианты.

АРеальные персональные данные учеников — email, ФИО, телефон
БВнутренние данные компании, помеченные как конфиденциальные
ВВымышленный номер заказа «12345», придуманный для примера
ГРеальные пароли, токены и API-ключи

Подсказка: Один из четырёх вариантов — это как раз то, чем предлагается ЗАМЕНЯТЬ реальные данные, а не то, что запрещено.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Контрольный вопрос. ИИ не имеет доступа к реальному состоянию системы — он работает только с тем ______, который вы прислали ему в этом диалоге. Впиши пропущенное слово.

Подсказка: Вспомни, чем именно ограничена работа ИИ — не базой данных и не логами сервера напрямую, а чем-то, что вы сами вводите в диалог.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. В логе ошибки оплаты, который тестировщик хочет обсудить с ИИ, есть реальный email ученика и часть номера банковской карты. Что нужно сделать с этими данными перед тем, как вставить лог в диалог с ИИ? Ответь одним словом — действием, а не полным предложением.

Подсказка: Вспомни, что урок называет обязательным шагом перед отправкой лога с реальными данными в ИИ — вместо реальных значений нужны вымышленные, но той же структуры.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. ИИ уверенно ответил, что для полного обновления ресурса в API используется метод «PATCH-UPDATE» — такого HTTP-метода не существует. Как называется в этом уроке подобная ошибка ИИ? Ответь одним словом.

Подсказка: Слово встречается в разделе про то, что ИИ систематически упускает, сразу после пункта про специфику продукта.

✅ Готово, если: ты ввёл(а) верный ответ, и онлайн-проверка его приняла.

Проверить ответ →

Реальная проверка — на нашей платформе, бесплатно и без регистрации. Открыть задачу и ввести ответ →

Задание. Объясни в 2-3 предложениях, почему нельзя вставлять реальный email и телефон ученика в диалог с ИИ-ассистентом, даже если тестировщик «просто хочет спросить совета», а не собирается никому эти данные показывать.

Критерий приёмки: указано, что данные, вставленные в чат стороннего сервиса, покидают периметр компании и могут быть сохранены или использованы способом, который тестировщик не контролирует; проведена параллель с любым сторонним сервисом, которому не стоит давать более широкий доступ, чем нужно для задачи; сделан вывод, что намерение тестировщика («не собираюсь публиковать») не отменяет действие правила.

Подсказка: Вспомни, почему это правило актуально именно для ИИ-инструментов — что происходит с данными в момент отправки запроса.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Задание. Тестировщик получил такой фрагмент лога ошибки оплаты курса и хочет спросить ИИ, в чём может быть причина:
ERROR PaymentService: user_email=<реальный email ученика>, card=<реальный номер карты ученика>, status=FAILED, code=TIMEOUT_500
Перепиши этот фрагмент, предложив конкретные учебные значения вместо помеченных плейсхолдеров, так, чтобы его можно было безопасно вставить в диалог с ИИ, и объясни, почему вопрос к ИИ останется содержательным после такой замены.

Критерий приёмки: вместо плейсхолдеров предложены явно учебные значения, сохраняющие структуру (например, адрес вида user1@example.com и номер карты в том же формате, но с очевидно вымышленными цифрами); status и code оставлены без изменений или заменены правдоподобными значениями, не содержащими реальных персональных данных; объяснено, что для анализа причины ошибки важны структура строки и код ошибки (TIMEOUT_500), а не то, чей именно это был платёж.

Подсказка: Вспомни пример обезличивания лога из этого урока — что в нём меняется, а что можно оставить как есть.

✅ Готово, если: программа запускается без ошибок и выводит то, что просят в задании.

Онлайн-проверка ответа появится позже

Что дальше

Мы завершили главу «ИИ-помощник тестировщика»: где ИИ реально ускоряет типовую работу (урок 14.1) и что он систематически упускает вместе с жёстким правилом про секреты и персональные данные (этот урок). ИИ-ассистент — полезный инструмент для черновика, но ответственность за итоговый результат тестирования всегда остаётся за тестировщиком. Дальше в курсе — глава «Автоматизация: обзор и мост»: пирамида тестирования, ROI и что не стоит автоматизировать никогда.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева