Nexxa
Торонто, Канада8 дней назад
Title: Senior Software Development Engineer in Test (SDET), QA - AI Systems Company: Nexxa Location: Toronto - Canada / Remote
ABOUT NEXXA
Nexxa создает лучшие ИИ-системы для тяжелой промышленности, позволяя машинам, системам и операциям мыслить, принимать решения и действовать автономно в производственной, крупномасштабной инфраструктурной, логистической и унаследованной средах.
Наша миссия — воплощать глубокие технические прорывы в операционную реальность, решая самые сложные системные проблемы в отрасли.
ROLE OVERVIEW
Мы ищем старшего / ведущего SDET, который будет отвечать за качество систем ИИ-агентов Nexxa, сочетая глубокое тестирование автоматизации с практическим ручным и исследовательским тестированием. Наши агенты автономно планируют, вызывают инструменты и выполняют многошаговые действия в промышленных средах. Вы будете писать код производственного уровня для создания средств оценки, симуляционных сред и этапов контроля качества CI/CD, а также будете непосредственно работать с самими агентами: исследовать их поведение, просматривать трассировки и проверять релизы, когда автоматизация сама по себе не может судить, правильно ли поступил агент.
Вы будете тесно сотрудничать с ML-инженерами, бэкенд-инженерами и инженерами по развертыванию (Forward Deployed Engineers), чтобы определить, что означает «хорошо» для агента, работающего в условиях высокой ответственности в промышленности, а затем создавать и запускать системы и процессы, которые постоянно измеряют это.
KEY RESPONSIBILITIES
Automation and Infrastructure
Разрабатывать, создавать и поддерживать фреймворки тестирования, средства оценки и наборы для регрессионного тестирования для агентов на базе LLM, охватывающие качество рассуждений, корректность вызова инструментов, завершение задач и связность многоходовых диалогов.
Создавать автоматизированные конвейеры, которые запускают оценки и наборы тестов при каждом изменении модели, промпта или интеграции инструментов, и интегрировать их в CI/CD в качестве принудительных этапов контроля качества.
Разрабатывать симуляторы, моки и изолированные среды для промышленных систем и API инструментов, чтобы агентов можно было тестировать безопасно, воспроизводимо и в масштабе.
Реализовывать API, интеграционные и сквозные тесты для сервисов, инструментов и уровней оркестрации, от которых зависят агенты.
Разрабатывать тесты производительности, нагрузки и надежности для рабочих процессов агентов, включая инжекцию сбоев и тестирование устойчивости.
Manual and Exploratory Testing
Проводить практическое исследовательское тестирование поведения агентов, включая новые возможности, неоднозначные или недоопределенные запросы, длительные многоходовые сессии и необычные операционные сценарии, которые не предвидятся скриптовыми тестами.
Вручную просматривать трассировки и выходные данные агентов, чтобы оценить качество рассуждений, уместность действий и безопасность, а также использовать эти результаты для улучшения автоматизированных проверок.
Выполнять ручные регрессионные проверки и проверки релизов в staging и клиентских средах перед выпуском новых возможностей агентов.
Проводить ручные сессии «red-teaming» (инъекция промптов, обход ограничений, злоупотребление инструментами, небезопасные действия) в партнерстве с командами безопасности, а затем преобразовывать успешные атаки в автоматизированные тестовые случаи.
Поддерживать пользовательское приемочное тестирование и пилотные развертывания с инженерами по развертыванию (Forward Deployed Engineers), фиксируя реальные сбои и передавая их в наборы тестов.
Писать четкие планы тестирования, уставы тестирования и отчеты об ошибках, а также поддерживать документацию по ручному тестированию там, где автоматизация еще не практична или экономически эффективна.
Datasets, Metrics, and Quality Strategy
Создавать и управлять эталонными наборами данных и маркированными тестовыми наборами, включая граничные случаи, неоднозначные входные данные и враждебные промпты, специфичные для промышленных и операционных контекстов, с инструментами для версионирования и обнаружения дрейфа.
Разрабатывать рубрики и проводить оценки с участием человека (human-in-the-loop), когда автоматическая оценка недостаточно надежна.
Определять и инструментировать метрики качества помимо простой точности (обоснованность, частота галлюцинаций, процент успешного выполнения задач, компромиссы между задержкой/стоимостью и нарушения безопасности) и создавать дашборды для отслеживания их во времени.
Тестировать поведение агентов на всем цикле действий (планирование, выбор инструмента, выполнение инструмента, восстановление после сбоя и окончательный вывод), а не только окончательный ответ.
Исследовать и классифицировать сбои, корневая причина которых может заключаться в модели, промпте, инструменте/API или логике оркестрации, и преобразовывать их в воспроизводимые, действенные отчеты об ошибках.
Устанавливать уровни качества, критерии выпуска и процессы утверждения для новых возможностей агентов, сочетая автоматизированные этапы с ручной проверкой.
Решать, что автоматизировать, а что оставить ручным, и постоянно переводить повторяющуюся ручную работу в автоматизацию.
Обучать инженеров стратегиям тестирования и практикам, ориентированным на тестирование, для вероятностных систем на базе LLM.
Выступать за тестируемость, наблюдаемость и трассировку в архитектуре агентов с самого начала.
QUALIFICATIONS
5+ лет работы в качестве SDET, QA-инженера или инженера-программиста с сильным акцентом на тестирование, с продемонстрированной ответственностью за стратегию тестирования и автоматизацию сложных распределенных систем.
Подтвержденный опыт как в ручном, так и в автоматизированном тестировании, включая исследовательское тестирование, планирование тестов и написание высококачественных отчетов об ошибках.
Сильные навыки программирования (предпочтительно Python) с мышлением инженера-программиста: чистый, поддерживаемый, хорошо проверенный код для фреймворков, конвейеров данных и инструментов.
Опыт создания фреймворков и инфраструктуры тестирования с нуля, а не только написания тестовых случаев в рамках существующего фреймворка.
Практический опыт работы с системами CI/CD (например, GitHub Actions, GitLab CI, Jenkins) и контейнеризированными тестовыми средами (Docker, Kubernetes).
Опыт тестирования API и микросервисов, включая контрактное, интеграционное и сквозное тестирование.
Практический опыт тестирования продуктов на базе LLM, чат-ботов или ИИ-агентов, а также понимание причин, по которым традиционные детерминированные утверждения не работают для генеративных систем.
Практический опыт работы с фреймворками или инструментами оценки (например, promptfoo, DeepEval, RAGAS, LangSmith) или опыт создания собственных.
Понимание того, как работают LLM-агенты: промптинг, вызов инструментов/функций, управление контекстом, RAG, память и фреймворки оркестрации.
Опыт проектирования тестовых данных и маркированных наборов данных, включая их получение, выборку и управление дрейфом наборов данных во времени.
Знакомство с особенностями сбоев LLM: галлюцинации, инъекция промптов, отравление контекста, злоупотребление инструментами, дрейф целей и недетерминизм.
Уверенность в работе в условиях неопределенности, определение того, что означает «правильно» для задачи, когда нет единственного правильного ответа.
Сильные навыки письменного общения для преобразования нечетких сигналов качества в четкие, действенные выводы для инженеров и владельцев продуктов.
PREFERRED
Опыт работы с рабочими процессами оценки с участием человека (human-in-the-loop) (конвейеры маркировки, надежность между оценщиками, дизайн рубрик).
Опыт работы с инструментами тестирования производительности и нагрузки (например, k6, Locust) и тестирования хаосом или инжекцией сбоев.
Образование в области ML/науки о данных, достаточное для чтения оценок моделей и статистической значимости.
Опыт «red-teaming» или проведения состязательного/тестирования безопасности ML-систем.
Знакомство с инструментами наблюдаемости и трассировки для LLM-приложений (например, LangSmith, Arize, Langfuse, Weights & Biases) и общими стеками наблюдаемости (OpenTelemetry, Grafana, Datadog).
Опыт тестирования систем в промышленных средах, IoT или операционных технологиях (OT), включая промышленные протоколы (OPC UA, MQTT, Modbus) или симуляции и установки «аппаратное обеспечение в контуре» (hardware-in-the-loop).
Опыт поддержки UAT, пилотных проектов или клиентской проверки сложных продуктов.
Опыт настройки инфраструктуры тестирования и оценки с нуля в стартапе или быстро развивающейся команде.
WHAT WE’RE LOOKING FOR
Инженер, одинаково комфортно чувствующий себя при написании фреймворка тестирования и при непосредственном тестировании агента.
Человек, способный создавать строгие системы оценки для задач, не имеющих единственно правильного ответа, и знающий, когда суждение человека является правильным инструментом.
Системный мыслитель, который любит превращать неоднозначное поведение агентов в измеримые, надежные сигналы.
Сильный командный игрок, хорошо сотрудничающий с ML-инженерами, бэкенд-инженерами и командами по развертыванию (Forward Deployed teams).
WHY JOIN NEXXA.AI
Инновационная среда: Сыграйте ключевую роль в трансформации тяжелой промышленности с помощью передовых технологий ИИ и автоматизации.
Совместная культура: Станьте частью команды, которая ценит инновации, дисциплину и постоянное совершенствование.
Профессиональный рост: Получите значительные возможности для карьерного развития и продвижения.
Конкурентоспособная компенсация: Наслаждайтесь комплексным пакетом заработной платы и акций, соответствующим вашему опыту и вкладу.
Если вы увлечены качеством ИИ и хотите помочь определить, как выглядят надежные автономные системы в тяжелой промышленности, мы будем рады связаться с вами.
Оценка RocketHunt по реальным зарплатам
Грейд
Senior
Опыт работы
от 5 лет
Формат работы
Удаленно, Офис
Уровень английского
B2 - Выше среднего
ИИ напишет его по твоему резюме, останется только отправить