← Все проекты
Прототип G-Man Auto Parts · 2026

LangGraph-агент для данных каталога

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

Моя роль
Я сделал всё сам: исследование, архитектуру, агента, планировщик и демо-интерфейс.
Статус
Рабочий прототип с демо-интерфейсом для дата-команды. Когда я ушёл из компании в июле 2026 года, он ещё не был в продакшене.
Стек
Python, LangGraph, OpenAI API, APScheduler, PostgreSQL
Охват
Запросы по марке, модели, году и региону для 7 марок автомобилей, с которыми работает компания

Задача

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

Цель — автоматизировать эту работу, чтобы дата-команде больше не приходилось делать её вручную.

Как это работает

  1. Запрос Марка, модель, год и регион, выбранные из выпадающих списков.
  2. Поиск вариантов Поиск всех подходящих вариантов автомобиля и определение объёма данных каталога, которые нужно загрузить.
  3. Загрузка Вызов API стороннего каталога с кэшированием и повторными попытками.
  4. Нормализация и сопоставление Очистка записей и сопоставление их с нужными таблицами каталога.
  5. Запись Сохранение в PostgreSQL пакетами, с контрольными точками, чтобы задачу можно было безопасно возобновить или отменить.
  6. Отчёт Показывает, как каждый пакет был нормализован и сопоставлен, чтобы дата-команда могла это проверить.
  • ПланировщикAPScheduler с простым интерфейсом для запусков по расписанию и вручную
  • КэшДанные каталога кэшируются вплоть до уровня групп
  • КонтрольОграничения объёма, статус задач и наглядный расход API
Так устроен агентный процесс.

Что я сделал

  • Сначала просто, затем предсказуемо. Первая версия принимала запрос на естественном языке, включала этап уточнения и трассировала каждый шаг агента для отладки. Когда процесс стал стабильным, я заменил свободный текст выпадающими списками, чтобы запуски были воспроизводимыми.
  • Почему LangGraph. LLM выполняет лишь небольшую часть работы. Но LangGraph всё равно оправдывает себя: процесс структурирован, его легко проверять, и он умеет продолжать работу после сбоя.
  • Рассчитан на очень большие задачи. Данные сохраняются по частям с возможностью возобновления, поэтому модель автомобиля с более чем 100 тыс. вариантов не начинает загрузку заново после сбоя.
  • Планирование. APScheduler запускает задачи по расписанию или по требованию из простого интерфейса.
  • Результат, который можно проверить. Автоматические отчёты показывают, как каждый пакет был нормализован и сопоставлен, поэтому результат могут проверить и люди без инженерного опыта.
  • Документация. Я написал справочник по схеме каталога, в котором сказано, какие таблицы агент читает, а в какие пишет.

Инженерные решения

Прежде чем начать, я сравнил два пути: сделать самим или купить готовое. Я изучил существующие ИИ-инструменты для сбора данных и движки рабочих процессов, такие как Airflow, Prefect и Celery, и выбрал лёгкое решение, которое подходило проекту на его стадии и могло вырасти позже.

Кроме того, я сделал объём задач и платное использование API видимыми, а не спрятал их за автономным поведением агента. Такое решение сокращает ручную работу, но оставляет контроль над расходами и данными за людьми.

Статус

Прототип работает: у него есть планировщик и демо-интерфейс для дата-команды, и его встраивали в единую внутреннюю админ-панель. Когда я ушёл из компании в июле 2026 года, он ещё не был в продакшене.

На этой странице нет кода работодателя, внутренних данных и закрытых URL.