01 · Проблемавсе фазы
Учебный концепт · 2026

AI-копилот продакта: приоритеты с доказательствами

Спроектировала AI-копилот, который собирает обратную связь из разных каналов и предлагает, что чинить первым. Продакт видит доказательства, проверяет рекомендацию и может оспорить любой аргумент.

Ноутбук с открытым экраном AI-копилота ProductOps на круглом столе

Роль: продуктовый дизайнер, полный цикл

Сроки: 1,5 месяца

Инструменты: Figma, React, Storybook, Claude Code

Открыть живой прототип

Задача

AI выдаёт готовый приоритет, но не показывает, как он рассчитан. Продакт может только принять или отклонить весь вывод.

Решение

Я показала причины оценки и расхождения между источниками, а спор перенесла на уровень отдельного доказательства.

Результат

Работающий React-прототип: 35 экранов, 40 компонентов и 11 состояний. Четыре сценария, восемь гипотез и сбор данных готовы; тест ждёт респондентов.

Учебный проект по заданию преподавателя, доведённый до работающего прототипа. Заказчик в брифе условный, исследование смоделировано.

Проблема

Продакт не видит, откуда взялось число

Продуктовые команды получают обратную связь из поддержки, Slack-комьюнити, опросов и продаж. Ручной разбор занимает один-два дня.

Карточка Productboard Spark с найденной возможностью, объёмом «89 заметок, 12 клиентов» и кнопками «Dismiss» и «Learn more»

Productboard Spark. Нейросеть находит возможность и показывает объём: 89 заметок, 12 клиентов. Дальше — «Отклонить» или «Узнать больше». На чём держится вывод, на карточке нет.

Колонка SCORE в Canny со значениями 640, 278, 262, 220 и колонка PUSH с иконкой Jira

Canny. Приоритет — число: 640, 278, 262, 220. Из чего оно сложилось, экран не объясняет, а кнопка отправки в Jira стоит в соседней колонке.

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

Затем решение попадает в бэклог и Jira, а команда может потратить на него целый квартал. В Canny кнопка отправки в Jira стоит рядом с оценкой: непроверенную рекомендацию отделяет от работы команды один клик.

Где именно обрывается объяснение

Дашборд Enterpret: карточка «Total Feedback Volume» с числом 29.61K из 14 источников и рядом список «Top 10 Themes Impacting Revenue» с количеством упоминаний у каждой темы
Enterpret. 29,61 тысячи обращений из 14 источников свёрнуты в одно число, рядом — десять тем с частотой. Ни с числа, ни с темы дойти до конкретного сообщения нельзя.

Сбор обратной связи, кластеризация и короткое саммари есть почти у всех. Я разобрала шесть продуктов, чтобы найти место, где теряется связь между исходным сообщением и решением человека.

Кто где останавливается

Звено цепочки доверияProductboardEnterpretDovetailCannyZeda.ioJira PDМы
Цитата ведёт к исходному сообщениюестьестьестьчастичноестьестьесть
Под каждым тезисом — доказательстваестьестьестьнетчастичнонетесть
Оценка разложена по факторамчастичнонетнетнетчастичночастичноесть
Уверенность разложена на причинынетнетнетнетнетнетесть
Названо, каких доказательств не хватаетнетнетнетнетнетнетесть
Показаны доказательства противнетнетнетнетнетнетесть
Спор с одним аргументом, с причинойнетчастичночастичночастичночастичнонетесть
Последствия правки видны до применениянетнетнетнетнетнетесть
Без решения человека дальше не уходитчастичнонетнетчастичночастичночастичноесть

естьчастичнонет

Цепочка доверия по шести продуктам, срез июль 2026. Сбор, кластеризация и цитаты есть почти у всех — обрыв у всех в одном месте. «Нет» здесь значит «не нашла в публичных материалах», а не «не существует».

Из разбора я выписала четыре вещи, которые решила не повторять:

  • уверенность, подмешанную в приоритет, или зелёную галочку «можно брать в работу»
  • складное объяснение без ссылок на исходные сообщения
  • правку, которая применяется сразу, без предпросмотра и без отмены
  • массовое согласование, когда доказательства никто не открывал

Дальше я держала в голове три вопроса:

  • Как показать, что AI не уверен, и при этом не запугать человека?
  • Что делать, когда два источника говорят разное?
  • Как дать поспорить с одним аргументом, если с остальными человек согласен?

Моя роль

Весь цикл вела одна — от исследования до сборки

Я отвечала за требования и продуктовые решения на всём пути. Работа шла итерациями: исследование уточняло требования, сценарии меняли карту экранов, а сборка помогала находить слабые места в макетах.

Как шла работа

  1. 01Исследование

    Бриф, шесть продуктов рынка, прото-персоны

  2. 02Структура

    Карта экранов, сценарии, приоритеты

  3. 03Проектирование

    Вайрфреймы, макеты, дизайн-система

  4. 04Сборка

    Прототип в React и автопроверки

Для сборки React-прототипа я использовала Claude Code как инструмент. Я задавала архитектуру, компоненты и критерии готовности, проверяла результат и принимала решения по каждой правке.

Архитектура

Первая версия ведёт от сигнала до задачи в Jira

Сквозной путь первой версии занял десять разделов и 35 экранов. На карте зелёным отмечено собранное, жёлтым — следующая версия, серым — более поздние этапы.

Карта экранов продукта: десять разделов и вложенные в них экраны, цветом помечено собранное, отложенное и запланированное
Карта сайта. Отложенное я не прятала — видно, чего в первой версии нет и сколько этого.
  1. Обзор: что сдвинулось
  2. Очередь возможностей
  3. Проверка возможности
  4. Проверка пакета решения
  5. Передача в Jira
Сквозной путь, который я проектировала: от «что изменилось за неделю» до задачи в Jira. Ни на одном шаге решение не уходит дальше без явного подтверждения человеком.

Для каждого экрана я определила сценарий и точку входа. Если до экрана нельзя дойти, значит он лишний или в пользовательском пути есть разрыв.

Разбор решений

Рекомендацию можно проверить до передачи в Jira

Проверка возможности

Экран проверки возможности с шестью пронумерованными выносками: очередь слева, доказательства в центре, оценка и действия справа
Главный экран продукта: слева очередь, в центре доказательства, справа оценка и действия. У каждого решения назван источник — требование брифа, анти-паттерн рынка, вопрос к заказчику или моё собственное решение.
  • требование брифа
  • анти-паттерн рынка
  • вопрос заказчику
  • моё решение
  1. 1 · Анти-паттерн рынка

    Без проверки решение не идёт дальше

    Кнопка «Перейти к пакету решения» выключена, пока не выполнены три пункта: доказательства проверены, ответственный назначен, обоснование добавлено. Чего не хватает — написано рядом.

    — у конкурентов пачку возможностей можно согласовать, не открыв ни одной

  2. 2 · Анти-паттерн рынка

    AI-сводка отделена от проверяемых выводов

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

    — обычно ИИ-объяснение дают без ссылок на источник

  3. 3 · Требование брифа

    Отклонить можно только с обоснованием

    Для отклонения нужны обоснование, причина и срок. Без них через месяц команда не вспомнит, почему отказалась от возможности.

  4. 4 · Моё решение

    Доказательства посчитаны по частям

    52 записи: 42 подтверждают, 7 противоречат, 3 нейтральные. Видно не только, сколько данных, но и что часть из них спорит.

  5. 5 · Моё решение

    Когда источники спорят, среднее не считается

    CSV насчитал 18 компаний, HubSpot — 14. На экране остаётся 14–18 и объяснение, почему это диапазон.

    — среднее «16» выглядело бы точным числом, которого в данных нет

  6. 6 · Вопрос заказчику

    Приоритет и уверенность стоят отдельно

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

1. Уверенность разобрана на причины

Вместо общего процента — четыре строки: сколько данных, свежие ли они, из скольких источников собраны и спорят ли источники между собой. Строчка «Разнообразие: низкое, 3 источника, преобладает CSV» говорит, чего не хватает и что делать дальше.

Приоритет и уверенность стоят двумя отдельными карточками. Когда они расходятся, экран пишет об этом прямым текстом: «Высокий приоритет, низкая уверенность. Разберите сопоставления перед приоритизацией».

В учебном брифе приоритет умножался на уверенность. Я проверила формулу и увидела риск: важная проблема с малым числом источников падает вниз списка, хотя именно её нужно проверить. Формулу, заданную условием, я сохранила, но вынесла вопрос заказчику, а в интерфейсе показала приоритет и уверенность отдельно.

Карточка индекса приоритета 84 из 100 с разбором по факторам — охват, критичность, влияние на выручку, соответствие стратегии, динамика
Карточка уверенности с четырьмя причинами и предупреждением о расхождении приоритета и уверенности
Слева индекс приоритета, разложенный по факторам. Справа уверенность — четыре причины и предупреждение о расхождении.

2. Источники, которые спорят, не усредняются

CSV насчитал 18 затронутых компаний, HubSpot подтверждает 14. Написать «16» — придумать точность, которой в данных нет. В интерфейсе стоит диапазон 14–18, и рядом сказано, откуда он взялся.

Полоса баланса доказательств: 42 подтверждают, 7 противоречат, 3 нейтральных, и плашка «Конфликт источников» с объяснением диапазона 14–18
Состав доказательств и объяснение конфликта источников прямо под ним.

3. Спорить можно с одним доказательством

Панель спора открывается из конкретной цитаты. В ней видно, какое доказательство меняется, что с ним произойдёт и почему нужна причина. Без причины предпросмотр недоступен.

Последствия показаны до применения. Упавший индекс не покрашен красным: исправление убрало ложное объединение двух юрлиц, и число стало точнее, а не хуже.

Панель спора с полем причины и предупреждением, что без причины предпросмотр недоступен
Предпросмотр последствий правки — доказательства 42 → 37, индекс 84 → 79, место в очереди
Слева панель спора, справа предпросмотр: доказательства 42 → 37, индекс 84 → 79, место в очереди #3 → #5.

Очередь возможностей

Экран очереди возможностей с четырьмя пронумерованными выносками — предупреждение об отставании источника, словесная уверенность, динамика и ссылка на формулу
Отсюда продакт выбирает, что разбирать, и здесь же видит, каким данным сейчас верить нельзя.
  1. 7 · Моё решение

    Сначала сказано, каким данным сейчас верить нельзя

    Над списком стоит предупреждение: Slack отстаёт на 2 часа, уверенность по 22 возможностям может быть занижена. Рядом кнопка — посмотреть состояние источников.

  2. 8 · Моё решение

    В очереди нет бейджей риска

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

  3. 9 · Моё решение

    Видно, куда движется проблема

    Рядом с индексом стоит изменение за 90 дней: 91 +12, 84 +6, 64 −4. Столбец «Поведение» говорит то же словами: растёт, повторяется, стабильно, спад.

  4. 10 · Анти-паттерн рынка

    Формулу индекса можно открыть и посмотреть

    Под заголовком стоит ссылка: формула индекса — в «Стратегии и формуле». Число не берётся ниоткуда, видно, из чего оно сложилось.

Пакет решения

Экран пакета решения с четырьмя пронумерованными выносками — счётчик пакетов, обязательное поле обоснования, замороженная версия и панель готовности
Пакет ушёл на согласование и ждёт решения человека. Показан верх экрана: шапка, контур пакета и панель готовности.
  1. 11 · Моё решение

    Из пакета видно, сколько их осталось

    В шапке — «Пакет 1 из 8» и «Следующий пакет». При проверке нескольких пакетов подряд не нужно каждый раз возвращаться в очередь.

  2. 12 · Требование брифа

    Решение пишет человек

    Поле обоснования пустое и обязательное. Под ним написано прямо: ИИ не может заполнить или отправить решение от имени человека.

  3. 13 · Моё решение

    Согласуют версию, которая не меняется

    Пакет отправлен как «Версия решения v1» и с этого момента заморожен. Если что-то поменяется по существу, появится следующая версия и проверку нужно пройти заново.

  4. 14 · Моё решение

    Незакрытые места отмечены заранее

    Слева контур пакета: у трёх разделов из тринадцати стоит «внимание». Справа готовность — 2 из 5, и подпись, что это подсказка проверяющему, а не автоматическое одобрение.

Состояние источника

Экран состояния источника с четырьмя пронумерованными выносками — причина отказа, список задетых возможностей, подписи под кнопками и журнал батчей
Экран, на который ведёт предупреждение из очереди и с экрана проверки. Здесь Slack объясняет, что с ним происходит.
  1. 15 · Моё решение

    Названа причина, а не «попробуйте позже»

    Slack ограничил частоту запросов и вернул HTTP 429. Интервал опроса в 15 минут задан платформой. Данные обновятся после снятия лимита — переподключение это не ускорит.

  2. 16 · Анти-паттерн рынка

    Видно, кого именно задело отставание

    22 возможности из 148 названы поимённо, у каждой помечено: уверенность может быть занижена. Отсюда можно перейти к любой из них.

  3. 17 · Моё решение

    Под кнопками написано, что они сделают

    «Переподключить» не ускорит доставку, пока держится ограничение частоты. «Отключить источник» не удалит уже собранные сигналы. Кнопки работают, но человек знает заранее, что получит.

  4. 18 · Моё решение

    Отказ показан по часам

    Журнал батчей за последние четыре часа: с 12:25 до 14:10 пропущено восемь батчей, причина — ограничение частоты запросов (HTTP 429); в 12:10 данные доставлены успешно. Полоса циклов показывает ту же историю визуально.

Система

Макет и код не расходятся

Я построила макет и React-прототип на одной системе компонентов, токенов и состояний. Автопроверки сверяют реализацию со спецификацией и помогают находить расхождения.

UI-кит: 40 компонентов, Figma и код один в один

Я собрала UI-кит по принципам shadcn/ui и повторила его в React: 30 семантических токенов для светлой и тёмной тем, 18 текстовых стилей, 3 стиля эффектов и 40 компонентов. Названия в Figma и коде совпадают, а проверки сверяют отступы, радиусы, обводки и токены заливки в обеих темах.

Библиотека закрывает базовые элементы: кнопки, поля и таблицы. Для ключевой логики продукта я с нуля спроектировала пять компонентов: меру уверенности, карточку цитаты, баланс доказательств, панель спора и строку «было → стало».

Палитра — смысловые токены

Значения взяты из задеплоенного каталога: те же 30 токенов, что в Figma.

  • background#ffffff
  • foreground#0a0a0a
  • card#ffffff
  • card-foreground#0a0a0a
  • primary#171717
  • primary-foreground#fafafa
  • primary-hover#262626
  • secondary#f5f5f5
  • secondary-foreground#0a0a0a
  • secondary-hover#e5e5e5
  • muted#f5f5f5
  • muted-foreground#525252
  • accent#f5f5f5
  • accent-foreground#171717
  • destructive#b91c1c
  • destructive-foreground#fafafa
  • destructive-hover#991b1b
  • warning#b45309
  • warning-accent#d97706
  • warning-subtle#fffbeb
  • success#15803d
  • success-subtle#f0fdf4
  • border#e5e5e5
  • input#737373
  • ring#737373
  • chart-1#262626
  • chart-2#404040
  • chart-3#737373
  • chart-4#a3a3a3
  • chart-5#d4d4d4
30 смысловых токенов в двух режимах — те же имена, что в Figma. Значение под именем — вычисленное: то, что реально применяется на экране. Переключите тумблер: меняются значения, а не перекрашиваются компоненты.

Двадцать пять проверок в одну команду

Проверки сравнивают собранный экран со спецификацией. Они проверяют состояния и переходы, контраст, клавиатурную навигацию, сетку и полноту экранов. Быстрый прогон включает 22 проверки, полный — 25: добавляются тёмная тема, ресайз и сверка с UI-китом.

Терминал с прогоном проверок — покрытие, переходы, состояния экранов, досягаемость кнопок, контраст токенов и совпадение тем, провалов нет
Фрагмент прогона: покрытие проверками, переходы по кнопкам, состояния экранов, досягаемость кнопок, контраст токенов, совпадение светлой и тёмной темы. Провалов нет.

Отвергнутые альтернативы

Что я отклонила и на каком основании

Строка очереди согласований с названием пакета, статусом, риском и индексом приоритета

Кнопки «Согласовать» прямо в строке очереди

На ревью ментор заметил, что проверка восьми пакетов заставляет восемь раз возвращаться в очередь. Я не стала добавлять быстрые кнопки: решению нужны обоснование, причина и срок, которые не помещаются в строку. Вместо этого связала полные экраны проверки кнопкой «Следующий пакет» и счётчиком «Пакет 1 из 8».

Две плитки фильтра — «Высокий риск 3» и «Низкая уверенность 2» — со шкалами под числами

Бейджи «высокий риск» и «низкая уверенность» на плитках

Убрала. Плитки работают как фильтр: по ним переходят к нужной пачке пакетов. Красная плашка превращала переход в вердикт, хотя цифра рядом и так всё говорит.

Состояния экранов

Что видно, когда данным верить нельзя

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

Красная плашка «Не удалось выполнить пересчёт» с кнопками «Повторить пересчёт» и «Отменить исправление»

Пересчёт не удался

Самое опасное — решить, что правка применилась. Экран говорит прямо: текущий результат не заменён, вы видите данные до исправления. Рядом — повторить или отменить.

Красная плашка «Не удалось загрузить доказательства» с кнопками «Повторить» и «Состояние источников»

Доказательства не загрузились

Ошибка не оставляет в тупике: сказано, что проверить, и есть переход на состояние источников — туда, где видно причину.

Плашка «Исправление применено» с пояснением, что охват уточнён с 14–18 до 17, и кнопкой отмены

Исправление применено

Успех — тоже состояние. Названо, что именно изменилось: охват 14–18 → 17. Отмена стоит рядом, пока решение не ушло дальше.

Поля весов приоритизации с красной строкой «Сумма весов: 105 из 100 · уменьшите на 5»

Сумма весов не сходится

105 из 100. Сохранить нельзя, и под полем написано, на сколько уменьшить. Действие заперто, а не «сохранится как-нибудь».

Плашка «Пересчитываем доказательства, приоритет и уверенность» с пояснением, что текущий результат остаётся видимым

Идёт пересчёт

Пока считается, старый результат остаётся на экране. Подменить его пустотой — значит показать число, которого ещё нет.

Панель «Проверка 1 / 3» со списком из трёх пунктов, один выполнен, и примечанием о статусе «Новая»

Шлюз не пройден

Пока три пункта не выполнены, возможность остаётся «Новой», а переход к пакету решения заперт. Правило написано там же, где действует.

План проверки

Дашборд собран и ждёт людей

Дашборд юзер-тестов — сценарии, гипотезы и пороги, счётчики пока пустые
Дашборд юзер-тестов внутри самого прототипа. Счётчики пустые — респондентов ещё не было.

Дашборд пользовательских тестов открыт по ссылке: сбор данных работает, сценарии и гипотезы настроены. Респондентов пока не было, поэтому результатов теста в кейсе нет.

Восемь гипотез

Экран гипотез с числовыми порогами и ссылками на пункты требований
Каждая гипотеза с числовым порогом и ссылкой на пункт требований.

Восемь гипотез с числовыми порогами, каждая со ссылкой на пункт требованийпрогноз, не измерено

→ считаю доходимость, первый клик, отвал на шаге и потерянность

Что проверяю

Экран сценариев теста — четыре задания, у каждого своя ссылка
Четыре сценария с заданиями и отдельной ссылкой на каждый.

Четыре сценария с заданиями и отдельной ссылкой на каждый

→ сессия сразу привязана к задаче, а не угадывается по тому, куда человек зашёл

Пороги поставлены заранее и объясненыпрогноз, не измерено

→ гипотезу можно и не подтвердить — иначе тест был бы бессмысленным

Ограничения и трейд-оффы

Что здесь не проверено

  • Бриф — учебное задание с условным заказчиком. Персоны и три интервью смоделированы: за ними нет живых респондентов, и выводы нужно читать с учётом этого ограничения.
  • Прототип рассчитан на десктоп: 1440, работает от 1024. Мобильные экраны продукту нужны, но в первый прототип не входили.
  • Автоматические проверки находят расхождения между макетом и кодом, но не заменяют тест с пользователями.

Итоги

AI предлагает, решение принимает человек

Что получилось

Продакт может проследить рекомендацию до исходных сообщений, увидеть расхождения между источниками, оспорить отдельное доказательство и проверить последствия до применения. Без решения человека результат не уходит в Jira.

Чему научилась

  • Чтобы человек доверял ИИ, мало показать процент. Ему нужна возможность не согласиться: с конкретной цитатой, с конкретным фактором — и увидеть последствия до того, как он нажмёт.
  • Про низкую уверенность лучше сказать прямо. Это не поломка, а нормальное состояние, из которого есть понятный следующий шаг.
  • Цвет читается как оценка. Красная цифра сказала бы «стало хуже», а стало точнее — поэтому падение осталось нейтральным.

Что дальше

Четыре сценария, восемь гипотез и сбор данных готовы. Пользовательский тест ждёт респондентов, поэтому измеренных результатов пока нет.

Посмотреть самому

Прототип, компоненты и макеты открыты

Пройдите основной сценарий в прототипе, откройте каталог компонентов или посмотрите исходные макеты. Все материалы доступны без входа.