LLM-as-Judge scores. GAE learns from them. Same eval rubric — only one discovers which criteria actually predict quality.
LangSmith runs your LLM-as-judge rubric and logs the scores. GAE takes the same scores, learns which criteria matter, and rewrites the rubric from verified outcomes.
Same rubric. Five criteria: correctness, grounding, conciseness, fluency, relevance. 12 evals for training, 8 held-out for testing. All code below runs with pip install graph-attention-engine.
After each round, accuracy measured on 8 held-out evals the scorer has never trained on.
Remove each criterion. Measure accuracy drop. Bigger drop = actually matters.
Your rubric weights all five equally. GAE shows correctness matters 4x more than conciseness. The rubric rewrites itself from outcomes.
New task: RAG retrieval. Transfer scorer seeds from trained summarization geometry. Cold scorer starts flat. Both train on 2 RAG evals, test on 4 held-out.
3x accuracy from 2 examples. Structure learned from summarization transfers to RAG retrieval. Static rubrics start cold every time.
6 evals injected: agent scores high on correctness, verified outcomes all "poor." A gaming attack.
Conservation gate: AMBER. A static rubric sees 6 more data points. GAE sees an attack — centroid drift increasing, the gate holds. Static rubrics have no defense against this.
Coverage × accuracy × volume must clear a floor before any weight changes. Thin feedback can't corrupt a production rubric.
Judgment Memory (centroid learning) vs. k-NN retrieval (the mechanism behind agentic memory). 4 categories, 6 factors, 4 actions.
Everything above runs from one file. pip install graph-attention-engine, copy, run.
Three independent results bracket the same mechanism. Different teams, different domains.