name: data-centric-env description: > Train an LLM agent to improve ML datasets using the Data-Centric AI paradigm. The agent coordinates specialist sub-agents (CleanerAgent, AugmenterAgent, BalancerAgent, ValidatorAgent) to fix data quality issues and improve a fixed classifier's accuracy — without changing the model architecture or hyperparameters. Based on Andrew Ng's Data-Centric AI framework. version: "1.1.0" tags: - data-centric-ai - world-modeling - professional-tasks - reinforcement-learning - grpo - unsloth - curriculum-learning tasks: - name: task_0_tutorial description: > Single-issue tutorial. 100 rows, binary classification, 4 features. Only issue: 15-30% missing values. Baseline ~0.62, target 0.73. Budget: 30 steps. Note: query_analyst costs 2 budget total (1 cmd step + 1 internal); query_validator also costs 2 total. - name: task_1_easy description: > Two issues: missing values (8-25%) + mild class imbalance (5-20%). 200 rows, binary, 5 features. Baseline ~0.63, target 0.79. Budget: 25 steps. - name: task_2_medium description: > Four issues: missing values, duplicates, class imbalance, type errors. 500 rows, 3-class, 7 features. Baseline ~0.58, target 0.74. Budget: 40 steps. - name: task_3_hard description: > Six issues: missing values, duplicates, imbalance, type errors, outliers, cross-column logic errors. 900 rows, 4-class, 10 features. Baseline ~0.54, target 0.71. Budget: 60 steps. action_type: text observation_type: structured # Reward components (v2 — strict discrimination design): # accuracy_reward: [-1.0, +0.80] — Δacc×2.5 mid-ep; submit: base+efficiency×budget_fraction+stretch # process_reward: [-0.20, +0.13] — strict workflow enforcement (blind apply=-0.08, etc.) # preservation_reward:[-0.50, +0.05] — row preservation ≥92% required for bonus # efficiency_reward: [-0.10, +0.25] — at submit only; accuracy_gain/budget_used × 3.0 # step_reward: [-0.30, +0.15] — proxy quality delta per apply (no classifier) # Total clamped to [-1.0, 1.0] by compute_total_reward() reward_range: [-1.0, 1.0]