Senior Full-stack-инженер LLM-приложений
О роли
Punch List Digital (PLD) создаёт платформу, которая превращает данные о результатах клиентов и маркетинговую методологию в ответы и отчёты. Стратеги, клиентский успех, продажи и клиенты используют её для анализа видимости в поиске, платного медиа, аналитики и локального поиска. У платформы две поверхности: Chat — ответы на вопросы о результатах по живым мультитенантным данным клиентов, где каждая цифра привязана к запросу; Reports — ежемесячные отчёты для руководства клиентов, которые генерируются по секциям на основе KPI-расчётов и методологии. Нужен senior full-stack инженер для разработки обеих частей: бэкенда, фронтенда и LLM-слоя, который их соединяет.
Задачи
- Строить pipeline ежемесячных отчётов: извлекать KPI-выходные данные, собирать каждую секцию с помощью LLM с опорой на Knowledge Vault и формировать готовый для клиента документ или PDF.
- Реализовывать это как надёжные, наблюдаемые, повторяемые фоновые задачи.
- Делать потоковые ответы, историю диалога, разграничение доступа клиентов и групп, экспорты и обратную связь — от интерфейса до слоя данных.
- Определять, как вопрос или запланированный триггер превращается в нужные запросы, правильный контекст и обоснованный вывод.
- Работать с промптами, определениями инструментов, структурированными выводами и retrieval.
- Обеспечивать ingestion и поиск по курируемой базе знаний, на которой основываются ответы и отчёты.
- Интегрировать Anthropic API (tool-use, streaming, prompt caching), внутренний KPI-фид и API партнёров, включая Google Analytics, Google Ads и SEMrush.
- Создавать evaluation-наборы и выборочно проверять выводы на соответствие известным правильным цифрам до выпуска любых изменений промпта, отчёта или функции.
- Выпускать функции end-to-end: интерфейс, API, промпт и тесты.
- Выбирать между prompting, tool-use, retrieval и обычным кодом для конкретной задачи и документировать решение в короткой design-записке.
- Проектировать multi-tenant разграничение так, чтобы данные одного клиента не попадали к другому.
- Относиться к неверной цифре перед клиентом как к самой дорогой ошибке системы и проектировать grounding, валидацию и review соответственно.
Требования
- 5+ лет создания веб-приложений на бэкенде и фронтенде, с современным бэкенд-фреймворком, фоновыми задачами и устоявшейся практикой тестирования.
- Сильные фронтенд-навыки в TypeScript с современным компонентным фреймворком: проектирование компонентов, управление состоянием, потоковые интерфейсы и тестирование компонентов.
- Продакшн-опыт с LLM API: дизайн промптов, tool-use и структурированные выводы в клиентских функциях; промпты и схемы под контролем версий и покрыты тестами.
- Уверенный SQL: отчётные запросы, индексирование, анализ query plan и понимание, когда агрегация должна выполняться в базе данных.
- Интеграция сторонних API в продакшне: OAuth и API-key аутентификация, пагинация, rate limiting с backoff и устойчивость к изменениям схем upstream.
- Здравые суждения о точности данных и стандарты, которые их поддерживают.
- Ясная письменная коммуникация для инженеров, стратегов и руководства.
- PHP и Laravel: очереди и jobs, Eloquent, service container, PHPUnit или Pest.
- Vue 3 и Pinia.
- Продакшн-опыт с Anthropic Claude.
- Retrieval-augmented generation в продакшне: embeddings, vector search, pgvector или аналоги.
- Генерация PDF и документов из шаблонного контента.
- Evaluation-харнессы для LLM-вывода.
- Паттерны multi-tenant данных и контроля доступа.
Будет плюсом
- Знакомство с Google Analytics 4, Google Ads, SEMrush, Monday.com или WhatConverts.
- Знание маркетинга или агентского домена: SEO, платное медиа, локальный поиск или видимость в answer-engine.
Принципы работы
- Мы всё записываем. Архитектурные решения получают короткое описание: что выбрали и почему.
- Мы валидируем перед выпуском. Изменения промптов и отчётов сначала проверяются на известных правильных цифрах.
- Мы учимся на review. Человеческие исправления возвращаются в промпты, retrieval и проверки.
- Темп следует за риском. Внутренние эксперименты идут быстро; всё, что попадает к клиенту, требует больше осторожности.
Метрики успеха
- Точность ответов чата и отчётов относительно известных правильных цифр.
- Внедрение командами и клиентами, которым служит платформа.
- Время, возвращаемое стратегам.
- Отсутствие неверных цифр у клиента.
Процесс отбора
- Оценка Culture Index (5 минут) — короткий опрос для определения культурного соответствия.
- Вводный звонок (30 мин). Рассказ о бэкграунде, соответствии и ваши вопросы.
- Техническая беседа (60 мин). Разбор продакшн-системы, которую вы построили на LLM API: как она работала, как тестировалась и как проверялся её вывод.
- Рабочая сессия с командой. Репрезентативная задача из нашего домена, решаемая вместе.
- Предложение.