Senior Machine Learning Engineer, Agent Eval Platform

ServiceNow · Santa Clara, CALIFORNIA, us

onsitefull-time6-10 years

posted 1d

The Role Moveworks' AI agents don't just generate text — they act. They plan, call tools, and change real state in enterprise systems on behalf of 5.5 million employees. That makes the central problem of our team an unusually hard measurement problem: how do you score what an agent did — across a multi-step trajectory through a world it changed — precisely enough that the score can teach it to do better? That signal is what this role owns. You'll build the judgement layer of our agent evaluation platform: the rubrics, the judges, the calibration against human labels, the methodology that makes a score mean something. And the payoff is larger than a report card — a judge good enough to grade a trajectory is a judge good enough to train against . The same calibrated signal that explains why an agent failed becomes the reward signal that stops it failing. This isn't a pretraining role, and it isn't a testing role. It's applied ML at a point where the methodology genuinely isn't settled: LLMs judging LLMs is an open research problem, and we're working it against agents that take real, irreversible actions in stateful, multi-tenant enterprise environments.   What you get to do in this role: Judge design and calibration A shared base judge with per-item rubrics expressed as configuration next to the dataset — so eval authors express intent, rather than forking a prompt per eval Splitting the problem correctly: deterministic validators for checkable world state ("was the ticket created, with the right item, routed to the right approver?"), and an LLM judge for the parts that are genuinely fuzzy — was the clarifying question appropriate, was policy followed, was the path efficient Scoring that reports its own confidence , so uncertain judgements route to a human instead of quietly becoming training data A standing calibration loop against human-labeled trajectories, run in partnership with our annotation team — they own the human labeling, you own the calibrated judge artifact. How consistently humans agree with each other sets the ceiling on how good any judge can be, so raising that ceiling is part of the job Fine-tuning a small judge model where an off-the-shelf one isn't good enough Guarding against correlated blind spots: our user simulator and our judge are both LLMs, and they can be wrong in the same direction Offline↔online divergence: when simulation and production disagree, being the person who can say why, and keeping the suite re-seeded from new production failures so it can't quietly overfit Self-learning for the agent harness This is where the pillar is headed, and a large part of why the seat exists. A calibrated trajectory judge is, functionally, a reward model . Turning ours into a process reward model — a dense, step-level signal for what a good agent trajectory looks like — is the unlock Using that signal to optimize the agent itself : prompts, tool selection, planner behavior, retrieval, routing — tuned against simulation rather than against production traffic Building the substrate a future RL effort runs on: versioned scenarios, a repeatable simulated world, and a reward signal calibrated to human judgement Holding the guardrail that keeps this honest: step-level scores train and diagnose; end-state outcomes are what we hold the agent to. Scoring individual steps is powerful for attribution and as a training signal, and dangerously brittle as a definition of success     To be successful in this role you have: 5+ years in applied ML, data science, or ML-adjacent engineering, with a track record of work that shipped and got used Experience turning subjective human judgement into a measurement that holds up — one that other people, and ideally other models, can act on. This is the core of the job Strong applied ML fundamentals, and comfort treating LLMs as a component you evaluate, prompt, and fine-tune rather than one you pretrain Strong Python, and the discipline to ship production-grade code rather