ИИ-кодирование

ИИ-ассистент в Code Node — это способ сгенерировать рабочий JavaScript прямо в вашем сценарии, используя встроенную интеграцию с ChatGPT. Он помогает быстро сформировать основу кода, которую вы можете доработать вручную.

Доступно только в облачной версии.

В Python — недоступно.

 

Что делает ИИ внутри Code Node?

ИИ-генерация позволяет:

  • автоматически писать JavaScript-логику под конкретные данные нода
  • преобразовывать данные, объединять их, фильтровать или агрегировать
  • получать готовый код по текстовому запросу
  • ускорять разработку — особенно на этапе прототипирования

Но важный момент:

Сгенерированный код полностью заменяет ваш текущий код в ноде.

Используйте его как стартовую точку, а не как финальный результат.

Как использовать ChatGPT в Code Node

  1. Откройте Code Node.
  2. В параметре Язык выберите JavaScript.
  3. Перейдите на вкладку Спросить ИИ.
  4. Опишите задачу: что должны делать данные, как они устроены, что вы хотите получить.
  5. Нажмите Сгенерировать Код.
  6. Результат автоматически появится на вкладке Код.

После этого вы можете редактировать код вручную.

 

Ограничения ИИ-функции

ИИ-интеграция внутри Code Node работает с рядом ограничений по контексту и данным:

Что делать нельзя:

  • Запрашивать данные из внешних источников — ИИ работает только с входящими данными нода.
  • Работать с большим объемом данных — большие схемы могут не обработаться.
  • Генерировать Python (Python не поддерживается).
  • Полагаться на исполнение переднего контекста — ИИ не имеет доступа к данным workflow, пока ноды не выполнены.

На что стоит обратить внимание:

  • ИИ видит схему данных, но не сами значения. Вы должны объяснять, где находится нужное поле и как к нему обратиться.
  • Если перед Code Node много нодов, контекст может быть неполным.
  • Входящие данные должны быть вычислены — т.е. предыдущие ноды должны быть уже выполнены.

Лимиты использования

  • Во время пробного периода лимитов нет.
  • В дальнейшем ограничения могут зависеть от тарифного плана (как и другие ИИ-функции).

 

Как писать хорошие ИИ-запросы

Хорошая формулировка — хороший результат.

Рекомендации:

  1. Давайте примеры

Если можно — приложите пример нужного результата.

  1. Описывайте шаги

Например: Отфильтруй пользователей младше 18, затем отсортируй по фамилии

  1. Избегайте двусмысленностей

Вместо “старшие пользователи” — “пользователи 60 лет и старше”.

  1. Четко задавайте формат выходных данных

Напишите: агрегация? сортировка? фильтрация? структура JSON?

 

Нейро42-специфичные советы

  1. Уточняйте происхождение данных

Используй данные только из нода «Purchases» и игнорируй «Refunds».

  1. Указывайте, какие поля входящих данных важны

Входящие данные лежат в item.json.person.email, поле может быть null.

  1. Помните про структуру результата

ИИ должен вернуть данные в формате массива объектов: return [{ json: {…} }]

 

Примеры рабочих промтов

Ниже — адаптированные версии оригинальных примеров, чтобы структура была сохранена, но текст был уникальным.

Пример 1: Найти пользователя из второй выборки

Промт:

Данные Slack содержат один объект. Входящие данные — список пользователей из Notion. Поле email в Notion иногда бывает null. Нужно найти Notion-пользователя с таким же email, как у Slack, и вернуть его notionId.

Нужный JavaScript:

const slackUser = $(«Mock Slack»).all()[0];

const notionUsers = $input.all();

const slackEmail = slackUser.json.email;

 

const matched = notionUsers.find(

  (u) => u.json.person && u.json.person.email === slackEmail

);

 

return matched ? [{ json: { notionId: matched.json.id } }] : [];

 

Пример 2: Преобразование данных в строку

Промт:

Верни строку, в которой перечислены все username, каждый в двойных кавычках, через запятую.

Нужный JavaScript:

const items = $input.all();

const list = items.map(i => `»${i.json.username}»`);

return [{ json: { usernames: list.join(«, «) } }];

 

Пример 3: Сводка данных + сообщение для Slack

Промт:

Сформируй markdown-сообщение, подсчитав количество идей, фич и багов по полю property_type. Затем выведи топ-5 записей по количеству голосов, оформленных ссылками в Slack.

Нужный JavaScript:

const data = $input.all();

 

let ideas = 0, features = 0, bugs = 0;

 

data.forEach(d => {

  const type = d.json.property_type[0];

  if (type === «Idea») ideas++;

  if (type === «Feature») features++;

  if (type === «Bug») bugs++;

});

 

const topFive = data

  .sort((a, b) => b.json.property_votes — a.json.property_votes)

  .slice(0, 5)

  .map(s => `<${s.json.url}|${s.json.name}> with ${s.json.property_votes} votes`)

  .join(«\n»);

 

const message = `*Summary*\nIdeas: ${ideas}\nFeatures: ${features}\nBugs: ${bugs}\nTop 5:\n${topFive}`;

 

return [{ json: { slackMessage: message } }];

 

Пример: Подсказать ИИ структуру входящих данных

Промт:

Входящие данные из «Mock data» — список людей. Для каждого элемента верни объект с personal_info.first_name и work_info.job_title.

Нужный JavaScript:

const items = $input.all();

return items.map(i => ({

  json: {

    firstName: i.json.personal_info.first_name,

    jobTitle: i.json.work_info.job_title,

  }

}));

 

Полезные ресурсы

Предупреждение о применении иностранного языка

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

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

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

Мы обращаем внимание на тот факт, что наличие иностранного языка в данной документации обусловлено профессиональной необходимостью и соответствует установленным нормам и правилам использования специализированной литературы и документации в Российской Федерации.

Свяжитесь с нами

Спасибо, получили вашу заявку!
Скоро мы с вами свяжемся.

А пока посмотрите реализованные проекты, которыми мы поделились на сайте.