Ant Group's RCCA localizes GRPO credit to HTML spans, lifting MiniAppBench to 41.25

Rubric-to-Code Credit Assignment for Reinforcement Learning

Rui Jin, Jikai Chen, Yihan Chen, Hao Zhou, Demin Zhu, Kaichen Yang, Dong Wang, Chenyi Zhuang

cs.AI

2026-08-28

RCCA turns web-app rubrics into GRPO token weights. Ling-RCCA-Flash scores 41.25 on MiniAppBench, just above Opus 4.5, and 76.19 on ArtifactsBench versus GPT-5 at 72.55.

What problem this solves

Interactive web generation has to emit runnable HTML, CSS, and JavaScript in one shot: a click opens a panel, an input updates the view, a state machine takes the right branch. Quality is a set of user-facing rubrics, and each rubric usually lives in a small region, an event handler, a state update, a DOM fragment, or a CSS selector. Standard GRPO flattens those rubrics into one sequence-level reward and paints the same advantage on every token. The update cannot see which span made the app work or fail.

Ant Group's Inclusion AI calls the fix Rubric-to-Code Credit Assignment (RCCA): map rubric outcomes onto code spans, then onto GRPO token weights.

Method

Each training item is a natural-language request plus a set of executable rubrics. Rubrics split into initial-state checks that should hold after load, and dynamic checks that run after an interaction. The evaluator scores the app and names the responsible regions in text.

Sample-level reward is gated. Bad format or invalid source gets 0. Parseable code that dies at runtime gets 0.1. Only then do rubric scores occupy [0.2, 1.0]. Rubrics are tagged as core function, behavioral correctness, or rendering quality, and penalties scale with importance and severity, floored at 0.2. Severe failures on essential rubrics also hit a ceiling, so minor wins cannot hide a hole.

Localization expands evaluator excerpts, functions, and event bindings to enclosing functions, state reads/writes, and call edges, then aligns them to tokenizer offsets. Directly related tokens get weight 3.0, contextual ones 1.5, others 1.0, capped at 4.0. On negative advantage those weights land on the diagnosed spans. On positive advantage the diagnosed spans stay at 1.0 and untouched tokens rise to 1.2. Group-relative advantage and clipping stay vanilla GRPO; only the per-token loss weight changes.

The base model is Ling-3.0-Flash, a 124B hybrid-linear MoE with 5.1B active parameters per token. SFT comes first, then RCCA.

Results

MiniAppBench average pass rate:

ModelEasyMidHardAvg
Ling-3.0-Flash12.948.995.499.05
+SFT37.4122.4522.4426.85
Ling-RCCA-Flash53.3935.0337.6041.25
Claude Opus 4.559.0941.1822.3341.14
GPT-5.174.7121.373.4932.00

That is +32.20 over the base model and +14.40 over SFT, a hair above Opus 4.5 on the mean. Hard is 37.60 versus Opus at 22.33. Domains are uneven: Lifestyle 70.00 and Visualization 63.46, Tools only 24.14 against Opus 47.50.

Under the official ArtifactsBench leaderboard setting, RCCA scores 76.19, SFT 71.71, GPT-5 72.55. The paper reads the 4.48-point transfer as implementation-level behavior rather than MiniAppBench overlay. The main text never ablates hierarchical reward without token weighting.

Why it matters

If you train models to emit apps, the harness already has rubrics, traces, and diagnostics. RCCA turns those into updates on concrete DOM and event-handler spans instead of one scalar on the whole file. SFT did most of the lift, 9 to 27. RCCA is the extra pass over implementation detail. A 5.1B-active MoE matching Opus 4.5 on the average, stronger on Hard and visualization, weaker on tools, is a qualified result, not a blanket win.

Limitations

The authors say the eval stops at single-page HTML apps. Multi-page products, backends, persistence, auth, and deploy constraints are out of scope. RCCA trusts evaluator rubric judgments and textual attribution; a wrong diagnosis sends the gradient to the wrong span, especially when the bug is an interaction among distant regions. Localization accuracy is unreported, and there is no "hierarchical reward plus uniform GRPO" control, so the 14.40-point gain cannot be split between token weights and the reward itself. Tools lags closed models, so transfer is patchy. Security and accessibility of generated apps are left as a human-inspection warning.

Terms

Source

Related papers

All paper explainers