Мы развиваем внутренний корпоративный Backend Agent для инженерных и бизнес задач. В центре проекта находится LLM Worker: серверный сервис, который получает задачи от Task Manager, поднимает контекст, запускает агентский рантайм, обращается к LLM, MCP, RAG, репозиториям, File Store и так далее и возвращает в систему статусы, результат и артефакты.
Это не чат-бот и не "обертка над LLM". Внутри много обычной инженерии: событийные контракты, агентский рантайм, вызовы инструментов, реестр агентов, RAG-контекст, работа с репозиториями, MCP-интеграции, права доступа, HITL, аудит действий, повторы, идемпотентность, наблюдаемость и безопасное выполнение команд.
Нужен Senior-разработчик, который будет много делать руками, глубоко погружаться в продукт и помогать доводить Backend Agent до надежного сервиса для разработки с ИИ-агентами.
Обязанности
•развивать LLM Worker как TypeScript/Node.js сервис для промышленной эксплуатации: входные команды \`PROCESS\` и \`CANCEL\`, валидация контрактов, состояние сессии, история задачи, события статусов и результата, повторы, идемпотентность, корректное завершение, обработка отмены и возобновление после сбоев
•проектировать и реализовывать агентский рантайм поверх выбранного агентского фреймворка: состояние выполнения, агентский цикл, сценарии планирования, выполнения и проверки, субагенты, skills, память, контекст, HITL, точки восстановления и правила завершения задач
•развивать Agent Registry и слой инструментов: профили агентов, выбор агента под задачу, реестр инструментов, Zod/JSON Schema, области доступа MCP, политики разрешения и запрета, режимы согласования, риск-классы инструментов, контроль опасных действий и журнал аудита
•интегрировать внутренние LLM и корпоративные шлюзы моделей: потоковая выдача, вызовы инструментов и функций, структурированный вывод, адаптеры провайдеров, обработка ошибок, повторы, тайм-ауты, запасные сценарии, ограничения контекста, расход токенов и политика выбора модели
•работать с MCP и внутренними интеграциями: MCP Adapters, транспорты stdio/http при необходимости, схемы инструментов, валидация, конфликты имен, тайм-ауты, диагностика, интеграции
•проектировать событийное взаимодействие с соседними сервисами: Task Manager, топики Kafka, DLQ и повторы, жизненный цикл статуса, финальные статусы, модели чтения и понятные контракты
•улучшать наблюдаемость: трассы, логи, метрики, спаны вызовов инструментов, задержки, ошибки, использование моделей, качество сценариев, хронологию задачи, события аудита и диагностические данные для разбора инцидентов
•писать тесты: unit, integration, e2e для серверных и агентских сценариев; мокать модельные ответы, вызовы инструментов, MCP-серверы, события Kafka, File Store, RAG, Bitbucket, файловые операции, shell-команды, отмену и возобновление
•использовать AI-инструменты разработки в ежедневной работе как инженерный рабочий процесс: ставить задачи агентам, готовить сценарии планирования, выполнения и проверки, ограничивать инструменты, файлы и shell, проверять diff, запускать тесты, проектировать переиспользуемые промпты, команды, skills и субагентов, разбирать ограничения моделей и улучшать качество результата.
Требования
•сильный опыт разработки на JavaScript/TypeScript, уверенное владение TypeScript в strict-режиме
•уверенный опыт с Node.js, желательно Node.js 20/22+: ESM, async/await, streams, async iterables, AbortController, child\_process/spawn, работа с файловой системой, окружением, stdout/stderr, exit codes
•опыт разработки серверных сервисов или инструментов для разработчиков, где важны контракты, управление состоянием, жизненный цикл процессов, асинхронные сценарии, очереди или событийное взаимодействие
•понимание задач промышленной серверной разработки: идемпотентность, повторы, тайм-ауты, отмена, корректное завершение, backpressure, классификация ошибок, устойчивость к частичным сбоям и прозрачные статусы для внешних систем
•хорошее понимание LLM-интеграций: потоковая выдача, вызовы инструментов и функций, JSON Schema, структурированный вывод, системные промпты, управление контекстом, история диалога, ограничения контекстного окна, расход токенов
•опыт или готовность быстро разобраться с выбранным агентским фреймворком или оркестратором. Нужно понимать API фреймворка и то, как устроен агентский сценарий с состоянием: возобновление после сбоя, точки восстановления, права доступа и наблюдаемость
•практический опыт с агентскими инструментами разработки на уровне выше "вставил вопрос в ChatGPT"
•опыт или сильное понимание агентских рабочих процессов: планирование, выполнение, проверка, вызовы инструментов, согласования, память и контекст, субагенты, skills, риски prompt injection, безопасное выполнение операций с shell, файлами и репозиториями
•опыт проектирования контрактов инструментов и интеграций: Zod/JSON Schema, MCP или похожие протоколы вызова инструментов, валидация входов и выходов, обработка ошибок, повторы и тайм-ауты, модель прав для чтения, записи, выполнения и отправки данных
•опыт тестирования TypeScript/Node.js-кода: Vitest/Jest или аналоги, моки, интеграционные тесты, тестирование асинхронных сценариев, внешних сервисов, очередей, CLI/shell-процессов и граничных случаев
•понимание наблюдаемости и эксплуатации: структурные логи, трассировка, correlation ids, метрики задержек и ошибок, события аудита, диагностика деградаций и инцидентов
•понимание корпоративной разработки: внутренние реестры зависимостей, частично ограниченный доступ к внешним доменам, внутренние LLM, корпоративные шлюзы, аудит, безопасность, секреты, логирование, требования к надежности.
Будет плюсом
•опыт промышленной разработки агентских систем, LLM Worker, движков рабочих процессов, обработчиков задач, оркестрации CI/CD, платформ для разработчиков или внутренних серверных инструментов
•опыт с Kafka/NATS/RabbitMQ, Redis/PostgreSQL, объектным хранилищем/File Store, Bitbucket/Git, Jira/SberTrack, Confluence, RAG/векторной БД
•опыт построения модели прав и аудита для инструментов, которые могут читать файлы, менять код, запускать shell, создавать PR или отправлять данные во внешние системы
•опыт с LangSmith, OpenTelemetry, evals, регрессионными тестами на датасетах или другими практиками оценки качества LLM и агентских сценариев.
Условия
•комфортный современный офис рядом с м. Ленинский проспект, Вавилова 19, формат работы - гибрид
•корпоративный спортзал и зоны отдыха
•более 400 образовательных программ СберУниверситета для профессионального и карьерного развития
•расширенный ДМС, льготное страхование для семьи и корпоративная пенсионная программа
•бесплатная подписка Прайм
•вознаграждение за рекомендацию друзей в команду Сбера.