01.08.2026

Full Stack разработчик (Senior)

Формат: Удаленно · Локация: Россия · Срок: до 31.12.2026 · Конечный клиент- российский аудиосервис. B2B-сервис фоновой музыки для бизнеса: монолит на Django, личный кабинет и админка на React. В рамках инициативы продукт переводится на Gen…

Требования

  • Общие требования:
  • - Готовность и интерес глубоко погрузиться в работу с LLM-агентами и встроить их в продукт: проектирование промптов и инструментов агента, orchestration-слой (многошаговые сценарии, вызов функций из агента), обработка структурированных ответов LLM, работа с контекстом;
  • - Практический опыт (или быстрая обучаемость) интеграции с LLM API (ГигаЧат/OpenAI-совместимые), эмбеддингами и векторными БД (Qdrant, pgvector), semantic search/RAG-подходами;
  • - Умение работать в условиях исследовательской неопределённости: агентная архитектура - новая область, часть требований уточняется по ходу, автономность и самостоятельность;
  • - Английский на уровне чтения технической документации, рабочая коммуникация на русском;
  • - Git (GitLab), code review, покрытие кода тестами.
  • Требования к Backend-разработчику:
  • - Python 3, Django 3+, ORM, миграции;
  • - GraphQL на Graphene/graphene-django - основной API-слой проекта (аутентификация через django-graphql-jwt): проектирование мутаций, квери, типов, resolver’ов;
  • - Опыт REST (DRF) - плюс;
  • - Celery 5.x + RabbitMQ: асинхронные таски, ретраи, идемпотентность, долгие операции;
  • - PostgreSQL: проектирование эффективной схемы данных, оптимизация запросов;
  • - Интеграции по HTTP с внешними сервисами (httpx/requests, ретраи, таймауты) - критично для Embedder API, ГигаЧата и векторной БД;
  • - S3-совместимое хранилище (boto3/MinIO).
  • Требования к Frontend-разработчику:
  • - React 18 + TypeScript;
  • - GraphQL-клиент: Apollo Client + graphql-codegen (типизированные хуки из схемы - используются в админке и ЛК);
  • - Сборка на Vite;
  • - Опыт построения чат-интерфейсов/диалоговых сценариев: сообщения, состояния загрузки, стриминг ответов, пошаговые формы - ядро UX Брифера;
  • - Управление состоянием: Redux Toolkit или аналогичный опыт.

Дополнительно

  • К Backend-разработчику:
  • - BFF/WebSocket - стриминг ответов агента в чат;
  • - Векторные БД (Qdrant) и организация векторного поиска;
  • - Elasticsearch (django-elasticsearch-dsl);
  • - Наблюдаемость: OpenTelemetry, метрики, алертинг - мониторинг доли успешных генераций и доступности ML-сервисов;
  • - Docker/docker-compose, базовое понимание Kubernetes (прод - в K8s).
  • К Frontend-разработчику:
  • - Админка: Ant Design 5 + Pro Components, Redux Toolkit, Apollo, Sentry, Vite;
  • - Личный кабинет: Nx-монорепо, pnpm, собственный react-uikit (Storybook), BFF realtime bridge (WebSocket) - стриминг сообщений агента.

Задачи на проекте

  • Задачи Backend-разработки:
  • - Модели и статусная машина запросов на генерацию/адаптацию Волны;
  • - GraphQL-мутации и квери для ЛК и админки (запуск генерации, статусы, результат, ревью музреда);
  • - Celery-пайплайн генерации: вызов Embedder API, поиск кандидатов в Qdrant, отбор состава Оркестратором (LLM), сборка стрима;
  • - Оrchestration-слой агентов (Брифер, Оркестратор): вызовы ГигаЧата, инструменты агента, обработка структурированного вывода;
  • - Логика адаптации по обратной связи + ревью музыкальных редакторов;
  • - Мониторинг, обработка ошибок, ретраи.
  • Задачи Frontend-разработки:
  • - Диалоговый онбординг с Брифером: чат + визуальные шаги сбора брифа, стриминг ответов;
  • - Экран рекомендованных Волн и отображение сгенерированной кастомной Волны;
  • - Интерфейс музыкального редактора для ревью и адаптации волн (админка);
  • - Механики обратной связи (лайки/дизлайки), отображение статусов генерации;
  • - Интеграция с GraphQL-API (codegen), обработка асинхронных статусов и ошибок.

О проекте

  • Конечный клиент- российский аудиосервис.
  • B2B-сервис фоновой музыки для бизнеса: монолит на Django, личный кабинет и админка на React.
  • В рамках инициативы продукт переводится на GenAI-ядро: два LLM-агента на базе ГигаЧата - «Брифер» (собирает бриф о заведении в диалоге) и «Оркестратор» (управляет генерацией и адаптацией «Волны»), а также ML-движки «Эмбеддер» (переводит бриф в вектор запроса) и «Автоподбор» (собирает по вектору пул треков-кандидатов через векторную БД).
  • Финальный состав Волны отбирает LLM-Оркестратор - LLM находится в критическом пути генерации.
  • Цель - довести продукт до уровня по стандарту, параллельно повысить конверсию онбординга и снять рутину с команд контента и сопровождения.
  • Продуктовый скоуп реализации:
  • - диалоговый сбор брифа агентом «Брифер»: визуальные шаги + чат + автономное интернет-обогащение данных о клиенте;
  • - генерация кастомной Волны: векторизация брифа через Embedder API, подбор кандидатов через Qdrant, отбор финального состава Оркестратором;
  • - автономная адаптация Волны по обратной связи (лайки/дизлайки, обращения) с блокирующим ревью музыкального редактора;
  • - библиотека готовых волн как AI-курируемый шорт-лист;
  • - интеграции: ГигаЧат, каталог (скоуп по тарифу), личный кабинет, плеер, админка музыкального редактора.
  • Требуется 1 × Senior Fullstack-разработчик (Python/Django + React/TypeScript), способный вести фичу от GraphQL-схемы и Celery-пайплайнов до экранов чата и рекомендаций: сквозная реализация цепочки от диалога до генерации волны и ее отображения, минимум координационных издержек.

Условия

  • Формат работы: Удаленно
  • Локация: Россия
  • Гражданство: РФ
  • Срок привлечения: до 31.12.2026
  • Тип компании: ИТ-компании
  • Грейд: Senior

Начать разговор

Нужна помощь с похожей задачей?

Опишите ситуацию — предложим решение на основе нашего опыта.