Эфир 18.11 · Поток 318 ноября в 19:00 МСК — бесплатный практический эфир по ИИ-агентам · Живой Поток 3 стартует 23.11Эфир 18 ноября →Поток 3 (23.11)
РелизAPI / Продукт · В работуHabr AI→ оригинал

n8n-агент пишет тест-кейсы: берёт юз-кейс из Пачки и требования из Яндекс Вики

Чтобы нейросеть писала годные тест-кейсы, одного юз-кейса в чате мало — нужны требования, а значит интеграции. Автор собрал в n8n воркфлоу: бот в Пачке ловит юз-кейс, просит ссылку на требование, подтягивает страницу из Яндекс Вики через MCP и отдаёт всё модели. Ответ модели приходит прямо в тред с юз-кейсом. Официальной ноды для Вики нет, но MCP это обходит.

AI-обработка оригинала Habr AI; редакция Hamidun News
n8n-агент пишет тест-кейсы: берёт юз-кейс из Пачки и требования из Яндекс Вики
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
N8n с открытым кодомна своём сервере бесплатно, в облаке — за запуски
Для Вики нужны OAuth-токен с правом wikiread и ID организации
Ключевой факт #3Триггер Пачки не проверить кнопкой Execute — нужна публикация воркфлоу

Закинуть юз-кейс в чат-бот и получить нормальные тест-кейсы не получится: баги прячутся в деталях, а деталей у модели нет. Ей нужен контекст — требования, тикеты, переписка. А чтобы дать контекст, нужны интеграции. Автор разбора на Habr показывает минимальную версию такого конвейера на n8n: от сообщения в рабочем чате до готового тест-кейса.

Что собираем и на чём

n8n — конструктор агентов, который связывает модели с кодом, таск-трекерами, CI и прочей инфраструктурой. Каждое действие — отдельная нода, из нод собирается воркфлоу, как из Лего. Воркфлоу можно экспортировать в JSON. Исходный код открыт: в облаке n8n платишь за хостинг и каждый запуск, на своей инфраструктуре — бесплатно. Интеграций больше 2600, так что под большинство стеков агента собрать можно. Например, генерировать тест-кейсы по тикетам из Jira и документации в GitHub с поиском через Pinecone.

Сценарий в статье проще. Требование лежит в Яндекс Вики, юз-кейс — в чате Пачки. Логика из четырёх шагов:

  • агент ждёт юз-кейс от пользователя в чате;
  • запрашивает через форму URL страницы с требованием, комментарием к сообщению;
  • передаёт модели юз-кейс и требование;
  • возвращает ответ в тред юз-кейса.

Как подключить Пачку и Вики

Со стороны Пачки нужно создать бота и включить ему исходящий вебхук. Автор отмечает три опции: игнорировать свои сообщения (чтобы бот не дёргал сам себя), слушать любые сообщения и реагировать на нажатие кнопок. Токен система показывает один раз, поэтому его надо сразу сохранить. Права: messages:read, messages:create, threads:read, threads:create и views:write — последнее нужно, чтобы пользователь передавал URL требования через форму. URL вебхука и ключ подписи вставляются в триггер n8n.

Есть подвох. Кнопка Execute слушает не ваш URL, а тестовый, поэтому триггер так не проверить. Остаются два пути: завести отдельного тестового бота или опубликовать воркфлоу. В опубликованном воркфлоу триггеры ловят события сами, а результат виден во вкладке Executions.

С Яндекс Вики сложнее: готовой ноды нет, но работает MCP-сервер. Нужны OAuth-приложение с правом wiki:read, токен, полученный по ссылке авторизации с вашим ClientID, и идентификатор организации. Для «Яндекс 360 для бизнеса» это X-Org-ID, для Yandex Cloud Organization — X-Cloud-Org-ID. В Credentials n8n создаётся запись типа Multiple Headers Auth с двумя заголовками: Authorization и заголовок организации.

Дальше два варианта. Квадратная нода MCP Client вызывает инструмент напрямую. Круглая MCP Client Tool подключается к ноде модели, и уже модель решает, что запросить. Автор выбрал прямой вызов: HTTP Streamable, endpoint mcp.wiki.yandex.net, инструмент GetPageById. Загвоздка в ID страницы: получить его можно только через API Вики запросом по слагу, например curl с токеном и заголовком организации.

Что получилось и где ограничения

Данные между нодами передаются в JSON, к выводу предыдущей ноды обращаются через $json.имя_переменной. Имена переменных проще всего подсмотреть во вкладке Executions после любого запуска, даже неудачного. Итог: бот получает юз-кейс, спрашивает ссылку на требование, а в тред возвращает тест-кейс. Готовый воркфлоу автор выложил на GitHub в виде JSON.

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

Что делать на практике. Если в команде уже есть Пачка и Вики, воркфлоу можно повторить за вечер. Для первого прогона достаточно прямого вызова MCP: он предсказуемее, чем отдавать выбор инструмента модели (это наше соображение, в статье такого сравнения нет). Учётные данные держите в Credentials, а не в самих нодах. Проверьте результат на 5–10 реальных юз-кейсах и сравните с тем, что написал бы тестировщик. Только после этого стоит решать, нужен ли такой агент в процессе.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: что собираем и на чём?

n8n — конструктор агентов, который связывает модели с кодом, таск-трекерами, CI и прочей инфраструктурой. Каждое действие — отдельная нода, из нод собирается воркфлоу, как из Лего. Воркфлоу можно экспортировать в JSON. Исходный код открыт: в облаке n8n платишь за хостинг и каждый запуск, на своей инфраструктуре — бесплатно. Интеграций больше 2600, так что под большинство стеков агента собрать можно. Например, генерировать тест-кейсы по тикетам из Jira и документации в GitHub с поиском через Pinecone.

Что известно по теме: как подключить Пачку и Вики?

Со стороны Пачки нужно создать бота и включить ему исходящий вебхук. Автор отмечает три опции: игнорировать свои сообщения (чтобы бот не дёргал сам себя), слушать любые сообщения и реагировать на нажатие кнопок. Токен система показывает один раз, поэтому его надо сразу сохранить. Права: messages:read, messages:create, threads:read, threads:create и views:write — последнее нужно, чтобы пользователь передавал URL требования через форму. URL вебхука и ключ подписи вставляются в триггер n8n. Есть подвох.

Что известно по теме: что получилось и где ограничения?

Данные между нодами передаются в JSON, к выводу предыдущей ноды обращаются через $json.имя_переменной. Имена переменных проще всего подсмотреть во вкладке Executions после любого запуска, даже неудачного. Итог: бот получает юз-кейс, спрашивает ссылку на требование, а в тред возвращает тест-кейс. Готовый воркфлоу автор выложил на GitHub в виде JSON. Пока это демонстрация возможностей, а не оценка качества.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Практика · Hamidun Academy

Соберите рабочего ИИ-агента или сервис своими руками без ручного кода

В Академии Жемала Хамидуна (academy.hamidun.com) открыт бесплатный 72-часовой тест-драйв: интерактивные скетч-уроки по Claude Code и Cursor, живой Tech Radar и готовые шаблоны агентов.

Открыть 72ч бесплатный доступ →Интенсив по Вайб-кодингу
Что вы думаете?
Загружаем комментарии…