Как сделать ИИ-агента для анализа и скоринга резюме

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

В гайде рассказываем, как создать подобного ИИ-агента в сервисе n8n.

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

  • Миникурс
  • n8n

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

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

Для работы понадобятся: 

  • OpenRouter (сервис с разными нейросетями под капотом). Либо другая нейросеть на ваш выбор: ChatGPT, Gemini, Claude и т. д;
  • OpenAI для интеграции текста в базу данных;
  • Google Drive;
  • Google документы;
  • Supabase (для базы данных);
  • Postgres (для обращения к базе данных);
  • Telegram.

Если ранее не подключали к n8n Google-сервисы, сначала изучите наш другой гайд:

Шаг 2. Импортируем код агента

Для импорта агента скачайте файлы с готовой структурой бота из этой папки и импортируйте их в редактор.

Если ранее этого не делали — вот урок из мини-курса по n8n.

Сначала нужно импортировать файл с именем ai resume checker.json и активировать в нем все нужные узлы: Telegram, OpenAI, Supabase, Google Drive, Postgres, OpenRouter.

ИИ-агент в n8n

Один из самых важных узлов агента — RAG AI Agent. Это — главный агент, мозг всей операции. Он работает в роли HR-аналитика: получает резюме, а затем активирует агентов поменьше, которые специализируются на одной конкретной задаче:

  • агент для анализа требований вакансии (tool_Vacancy_Requirements_Check);
  • инструмент для поиска по базе знаний (documents);
  • агент для анализа структуры, навыков и опыта (tool_Resume_Structure_Check);
  • финальный сборщик для составления отчета и скоринга (tool_Final_Score_Report).

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

Настраиваем базу знаний

Теперь настроим Google Drive, чтобы агент мог использовать ваши внутренние документы. Я, например, загрузил в базу примеры резюме успешных кандидатов и описания двух вакансий.

Для настройки перейдите в Google Drive (в тот аккаунт, который вы привязали к n8n) и создайте там папку, в которую будете помещать файлы для базы знаний.

Затем вернитесь в n8n, откройте узел File Created и выберите там созданную в Google Drive папку. Эту же папку нужно выбрать для узла File Updated.

настройка в n8n

После этого можно загружать файлы на Google Drive. Агент их проанализирует, добавит в векторную базу данных и будет к ним обращаться при генерации ответов.

Подключаем мини-агентов

Далее необходимо настроить три вспомогательных агента: для анализа вакансии, для анализа структуры резюме, для финального отчета.

Подключаем агента для анализа вакансии

Дважды кликните на узел tool_Vacancy_Requirements_Check, в разделе Workflow откройте раскрывающийся список и выберите Create a Sub-Workflow in ‘Personal’.

Откроется окно с новым workflow, куда нужно импортировать json-файл этого мини-агента. В открывшейся схеме вам нужно присоединить блок агента к When Executed… 

анализ вакансии n8n

В самом агенте нужно заменить раздел Credential to connect with для OpenRouter. Здесь же вы найдете другой системный промпт, на основе которого нейросеть анализирует вакансию. Промпт также написан на английском. При желании вы можете заменить его на свой.

Подключаем агента для анализа структуры резюме

Повторите те же действия для узла tool_Resume_Structure_Check. Импортируйте соответствующий json-файл, соедините узлы и настройте модели. Здесь используется свой системный промпт, который вы можете заменить на свой.

Подключаем агента для финального отчета

Сделайте то же самое для узла tool_Final_Score_Report. Импортируйте его схему, соедините узлы и, при желании, отредактируйте системный промпт.

Чтобы агент заработал, нажмите кнопку Save и переведите переключатель в левом верхнем углу в активное положение.

Как работать с агентом

Откройте бота в телеграм и отправьте ему резюме в формате PDF. Агент получит файл, проведет полный анализ и пришлет в ответ структурированный отчет.

настройка агента

Чтобы лучше понять, как работать с агентом и как он устроен, смотрите короткое видео в начале статьи.

4 комментариев
Старые
Новые Популярные
miheyf
7 месяцев назад

Спасибо! Очень интересно.
Хочу запустить и попробовать на нас.

Вопросы такие:

  1. Если вакансий несколько, как объяснить это агенту? Создавать подпапки в папке Резюме и в них все складывать? Как бот будет понимать, на какую вакансию ему отправили резюме?
  2. В каком виде лучше отдать информацию для обучения агента? Вы сказали, что примеры резюме тех, кого взяли бы на работу в pdf. Наверное лучше перед этим сгенерить портрет иделального кандидата? Что еще? 
  3. Вакансию в каком формате? Видится, что перед этим нужен какой-то агент-распаковщик, который опросит бизнес на предмет того, что мы ждем от кандидата, какими скилами он должен обладать, сколько мы реально готовы ему платить и за какие достижения (а не от..) и уже исходя из этого составить описание? Иначе кажется, что при неидеальной вакансии (а там часто пишут много всякой лабуды, не относящейся к делу и так, чтобы еще конкурентам не показать слабые стороны компании) будет trash-in — trash out.
  4. Занимался подбором маркетологов своим клиентам, которые у меня консалтинг и аудиты заказывали несколько лет назад. Местами было такое, что резюме у сотрудника, который особо не ищет работу и ждет входящих предложений, очень слабое — просто не все заморачивались с тем, чтобы себя подать. Напротив, у слабых кандидатов часто бывает резюме как будто они в одиночку всю компанию тянули. Хотя на деле оказывается, что они мало что знают и мало что умеют. И ему повезло с подчиненными и подрядчиками, за счет которых и выехал. Тут мы ищем тех, кто себя упаковал? К тому, что резюме тех, кого мы взяли нередко такой себе пример.
  5. Резюме боту надо грузить по одному? Если кинуть сразу сотню, как потом понять, какой ответ к чему относится? Наверное замечательно в таблицу оценки еще итоги заносить (это скорее идея, а не вопрос).
miheyf
6 месяцев назад
Ответить на  Михаил Шумовский

Михаил, спасибо большое за такой развернутый ответ!

Я понимаю, что это по большей части пример. Но так как слабо понимаю подкапотную часть, приходится уточнять.

Маленькое уточнение по п.1

То есть, сейчас рекомендация такая: отдельная вакансия — отдельный агент и отдельный чат для нее, верно?

С каждой новой вакансией тогда HR будут дергать меня, чтобы создал им еще один ТГ чат и агента или как-то можно это решить, чтобы они могли сами попросить в ТГ боте создать новую вакансию и агент это понял и все сделал?

Последний раз редактировалось 6 месяцев назад miheyf ем