Разработка AI-агента на Python для автоматизации поиска работы. Часть 1
CodeUA
0:00 / 0:00
Разработка AI-агента на Python для автоматизации поиска работы. Часть 1
3 294 просмотра · Трансляция закончилась 3 месяца назад
CodeUA
31,4 тыс. подписчиков
3 294 просмотра · Трансляция закончилась 3 месяца назад
Это первая часть воркшопа с Константином Зивенко, на котором мы вместе создадим умного помощника, автоматизирующего рутину по поиску работы.
Продолжение следует 2 июля.
Что сделает ваш AI-агент к концу воркшопа:
Проанализирует ваше резюме и пожелания по будущей работе (зарплата, стек, формат).
Соберет актуальные вакансии с job-сайтов.
Сопоставит требования компаний с вашим опытом и отфильтрует самые лучшие варианты.
– спросит детали: если в описании вакансии мало данных для принятия решения, агент сам напишет письмо работодателю с уточнениями.
Отправьте отзыв: для идеальных вакансий сформирует и отправит мотивационное письмо вместе с вашим CV, а также предложит удобное время для созвона.
Поработает с календарем: получив ответ с предложением интервью, агент сверит его с вашим графиком, подтвердит встречу или предложит другой слот, если вы заняты.
Главная цель воркшопа:
Познакомьтесь с основами создания AI-агентов на базе генеративных сетей.
Технологический стек и инструменты
Работаем локально, без лишнего усложнения архитектуры, чтобы фокусироваться на коде:
Язык: Python
LLM Core: Модели семейства Gemini (через официальный SDK Gemini)
Валидация данных: библиотека instructor (для получения структурированных JSON-ответов от ИИ)
Сеть: httpx + вспомогательные Python-библиотеки
Среда: PyCharm / Jupyter Notebook
Кому подойдет этот воркшоп?
Вебинар рассчитан на начинающих, желающих перейти от теории AI к настоящей практике.
Минимальные требования к участникам:
знание базового синтаксиса Python и поверхностное понимание ООП.
понимание, что такое HTTP-запрос и формат JSON.
Установленный PyCharm или VSCode.
Ментор:
Константин Зивенко - Lead Software Engineer, 7 лет в коммерческой разработке. Web, AI, ML, DevOps, база данных. Сильные стороны: алгоритмы и математика, архитектурные решения, прямой диалог с заказчиком, организация процесса работы над проектами групп разработчиков.
00:00:00 Приветствие и анонс темы вебинара
00:01:10 Ограничение вебинара из-за разного уровня подготовки слушателей
00:03:00 Обзор архитектуры будущего приложения (Ports and Adapters / Hexagonal)
00:04:40 Почему в проекте принципиально не используются LangChain и LangGraph
00:05:50 Демонстрация исходного состояния проекта в Jupyter Notebook
00:09:00 Несколько слов об авторе и его коммерческом опыте
00:11:15 Концепция работы AI-агента для автоматизации поиска работы
00:16:10 Шаг 1. Загрузка резюме (PDF) и превращение его в текст
00:16:50 Важность санитайзинга (очистки) текста для экономии токенов
00:17:25 Подробный обзор архитектуры по методологии C4 (Level 1, Level 2)
00:18:05 Что такое гексагональная архитектура (Ports & Adapters) на практике
00:18:40 Работа с моделями и универсальный парсер данных
00:19:05 Настройка линейки LLM-моделей и построение цепи фолбеков
00:20:43 Демонстрация парсинга резюме и разбиение текста по полям
00:21:55 Сбор и структурирование пожеланий соискателя работы
00:23:00 Начало работы с источником вакансий (DOU) и создание первого коннектора
00:24:40 Проблемы и хрупкость классического парсинга по HTML-селекторам
00:28:05 Парсинг 2.0: Использование LLM для извлечения структурированных данных
00:30:15 Сочетание ИИ и классических алгоритмических методов фильтрации (стоп-слова)
00:31:40 Алгоритмическая проверка полноты данных в вакансиях
00:32:45 Процесс матчинга и оценка (скоринг) вакансий с помощью более дорогих моделей
00:34:00 Работа с квотами бесплатных тарифов LLM и обработка ошибок
00:38:00 Обзор структуры сохранения состояния разговора (State JSON)
00:39:20 Анонс второго дня вебинара: действия агента, работа с почтой и отзывами
00:41:40 Специфика автоматической отправки отзывов на DOU через сессии и CSRF
00:44:55 Хранение и управление состояниями асинхронных событий
00:48:40 Что такое RAG (Retrieval-Augmented Generation) и почему он не нужен в этой задаче
00:51:35 Связь AI-агента с Google Календарем для назначения собеседований
00:54:00 Обзор начальной структуры папок проекта (Core, Connectors, Helpers)
00:56:30 Настройка переменных окружения (.env) и подключение сессий для DOU
00:59:05 Обзор основных библиотек и зависимостей проекта (Pydantic, PDF-reader, Instructor)
01:02:40 Практическая реализация сбора текста с PDF-документов с помощью Python
01:06:12 Глубокий разбор кода ядра (Core) и построение моделей Pydantic
01:13:50 Что такое Pydantic-модели и как работает валидация данных
01:17:35 Создание портов с помощью протоколов (Typing Protocol) в Python
01:25:55 Подключение библиотеки Instructor для автоматического устранения ошибок LLM
01:35:30 Наглядное создание новых API-ключей в Google AI Studio и решение проблем с лимитами
01:39:40 Создание адаптера для сбора вакансий с помощью Beautiful Soup
01:43:10 Написание универсальной функции экстракции для любых типов документов
01:52:00 Локальные LLM модели: требования к железу и целесообразность использования
01:54:20 Завершение первой части, итоги и организационные вопросы