How do I grade one node of a LangGraph graph?
Call the node directly instead of running the whole graph. A compiled LangGraph exposes each node on its own nodes dict, so you chain a small function that builds that node’s input state onto app.nodes["node_name"] and pass the result to an evaluator the same way you’d pass the full graph; LangSmith’s aevaluate() takes either target interchangeably. The node runs alone, so grading it costs only that node’s own model or tool call, not the rest of the graph’s.
Do this separately from grading the final answer, because a node can do its own job correctly and still leave the graph wrong: a downstream node receives a state the graph never should have handed it, even though the node itself ran fine on the input it got. That’s the same handoff failure any multi-agent system risks, and node-level checks alone won’t catch it, since each node is graded on the input it was given, not on whether that was the right input to give it. A full suite needs both: a node check for whether the step did its job, and a graph-level check for whether the right state reached it.