CodeMidas 2026: Arsitektur Penskalaan Lingkungan RL Coding Agent Langsung dari Kode Sumber (Code Itself), 6-Container Verification, dan Analisis Perilaku Eksplorasi Multi-Turn
Bedah arsitektur riset frontier Xiaomi LLM Core, Peking University & HKU arXiv:2609.22068 (Bowen Ye, Lei Li, Shicheng Li, Tong Yang, Fuli Luo, September 2026): Mengapa post-training RL untuk AI coding agent selama ini mengalami hambatan penskalaan akibat ketergantungan pada issue dan PR GitHub yang bising? CodeMidas merevolusi paradigma sintesis lingkungan eksekusi dengan mengubah implementasi fungsional repositori open-source langsung menjadi executable RL environments hanya bermodalkan source code. Dilengkapi pipeline agentic 4 tahap, relaksasi asersi anti-overspecification, protokol 6-container execution consistency check, dan adversarial leakage probing. Dataset 5.545 tugas dari 3.185 repositori di 23 bahasa pemrograman terbukti mendongkrak skor MiMo-V2.5 via GRPO: DeepSWE (+11.7 pp), ProgramBench (+17.0 pp), dan Terminal-Bench v2.1 (+8.5 pp), sekaligus memicu pergeseran perilaku eksplorasi dan verifikasi mandiri yang adaptif.

Reinforcement Learning (RL) berbasis reward hasil eksekusi (seperti GRPO dan PPO) telah menjadi pilar utama peningkatan kecerdasan model penalaran frontier (OpenAI o-series, DeepSeek-R1, Gemini 2.5 Flash Thinking). Namun, ketika RL diterapkan pada ranah Coding Agents yang harus menyelesaikan pekerjaan rekayasa perangkat lunak multi-turn berskala repositori nyata (SWE), komunitas riset menghadapi bottleneck struktural: kelangkaan lingkungan latihan yang beragam, reliabel, dan terisolasi dari kebocoran.
Makalah terbaru dari Xiaomi LLM Core berkolaborasi dengan Peking University dan The University of Hong Kong (HKU) memperkenalkan CodeMidas. Mengabaikan dogma lama yang mengandalkan riwayat Pull Request dan issue GitHub (seperti SWE-bench dan SWE-smith), CodeMidas mampu menyintesis lingkungan latihan RL yang dapat dieksekusi langsung dari kode sumber terbuka yang sudah ada (Code Itself). Dengan dataset 5.545 tugas dari 3.185 repositori lintas 23 bahasa pemrograman, model MiMo-V2.5 yang dilatih dengan GRPO mencatat lonjakan performa dramatis: DeepSWE +11.7 pp (dari 10.0% ke 21.7%), ProgramBench +17.0 pp, dan Terminal-Bench v2.1 +8.5 pp, didukung oleh protokol validasi 6-Container Execution Consistency dan Adversarial Leakage Probing.
1. Kegagalan Paradigma Konvensional: Mengapa GitHub Issues & PR Menjadi Jebakan?
Hingga pertengahan 2026, hampir seluruh lingkungan benchmark dan dataset latihan coding agent (misalnya SWE-bench, SWE-fixer, SWE-rebench) dibangun berdasarkan relik pengembangan perangkat lunak (development artifacts), yaitu pasangan Issue Description dan Merged Pull Request. Paradigma ini memiliki 4 cacat fatal:
- Skalabilitas Terbatas (Low Yield Rate): Dari jutaan repositori GitHub, hanya sebagian kecil yang memiliki issue terdefinisi rapi dengan reproduksi bug deterministik dan unit test terisolasi. Upaya otomatisasi scraping PR sering menghasilkan tingkat kegagalan lingkungan di atas 70%.
- Distribusi Domain & Bahasa yang Sangat Bias: Repositori yang ramah otomasi issue didominasi oleh ekosistem Python (data science & web backend). Repositori sistem berkinerja tinggi (Rust, C++, Go, Zig) dan bahasa enterprise (Java, Kotlin, Swift) hampir tidak terwakili.
- Asersi Pengujian yang Terlalu Rapuh (Brittle Assertions): Unit test bawaan PR sering kali memeriksa struktur internal privat yang tidak esensial bagi fungsi sistem, atau mengandalkan string pesan kesalahan yang sangat spesifik (incidental overspecification).
- Pencemaran Data & Pretraining Memorization: Model frontier telah melihat jutaan PR publik selama fase pretraining, sehingga skor tinggi sering kali merupakan cerminan hafalan (memorization) commit diff alih-alih penalaran agen yang sesungguhnya.
2. Arsitektur 4-Tahap CodeMidas: Membedah Sumber Kode Menjadi Sandbox RL
CodeMidas menyelesaikan dilema ini dengan mengambil pendekatan terbalik: kode sumber fungsional yang sudah matang adalah spesifikasi kebenaran (ground truth) terbaik. Tanpa memerlukan issue tertulis atau commit lama, agen pembangun CodeMidas mengalokasikan agentic compute pada 4 fase terstruktur:
| Fase Pipeline | Mekanisme Kerja Inti | Kriteria Kelulusan (Gate Invariant) |
|---|---|---|
| § 3.1 Task Design & Adaptation | Menganalisis AST dan metadata build untuk mengisolasi fungsionalitas ber-entrypoint publik (CLI, Pure Library, Stateful API). Menghapus modul implementasi inti sambil menjaga shared scaffolding. | Pemisahan bersih antara target implementation dan context runtime. Reference solution disimpan terpisah sebagai ground truth oracle. |
| § 3.2 Execution-Grounded Tests | Menjalankan public entry points pada reference solution untuk mencatat output nyata. Mengaudit asersi untuk menghapus batasan incidental (urutan kamus, kata pesan error) menjadi pure behavioral assertions. | Tidak ada ketergantungan pada private symbols. Semua test cases lulus 100% pada reference solution. |
| § 3.3 6-Container Consistency Check | Menjalankan runtime bersih pada 6 container terisolasi: 2 container pada starting codebase (kode yang dihapus) dan 4 container pada reference solution. | Deterministic Fail-to-Pass: 2 Starting Runs WAJIB Gagal (0/2 pass), 4 Reference Runs WAJIB Lulus (4/4 pass). Flaky tests dibuang seketika. |
| § 3.4 Post-Rollout Filtering | Adversarial agent menyisir disk sandbox untuk mengeksploitasi residual artifacts (.pyc, cache, build temp). Reviewer agent memvalidasi false-positives/negatives pada 4 percobaan rollout model solver. | Zero exploitable leakage. Membuang tugas yang trivial (all-pass) atau mustahil (all-fail) untuk menjaga gradien informatif saat RL. |
3. Implementasi Kode: CodeMidas Environment Synthesizer & Verifier
Berikut adalah arsitektur verifier dan harness evaluasi deterministik yang mengimplementasikan protokol konsistensi 6-container dan audit adversarial leakage:
"""
CodeMidas Architecture: Agentic Synthesis of Coding RL Environments Directly from Source Code.
Berdasarkan Makalah Frontier arXiv:2609.22068 (Xiaomi LLM Core, PKU, HKU, September 2026).
Komponen Inti:
1. Codebase Scope Slicer: Memisahkan fungsionalitas publik & dependensi internal.
2. Anti-Overspecification Test Reviewer: Menghapus pengecekan incidental (string formatting/order)
menjadi murni behavioral assertion.
3. 6-Container Execution Consistency Validator: Menjalankan 2x starting-state (keduanya WAJIB gagal)
dan 4x reference-state (keempatnya WAJIB lulus).
4. Adversarial Leakage Prober: Mengecek residual artifact pada disk/cache yang berpotensi
dieksploitasi solver agent untuk bypass coding.
"""
import os
import shutil
import subprocess
from dataclasses import dataclass, field
from enum import Enum
from typing import Dict, List, Optional, Tuple
class TaskInterfaceType(Enum):
CLI_TOOL = "cli_tool"
PURE_FUNCTION = "pure_function"
STATEFUL_API = "stateful_api"
@dataclass
class CodeMidasTaskSpecification:
task_id: str
codebase_name: str
language: str
domain: str
interface_type: TaskInterfaceType
task_statement: str
public_entry_points: List[str]
reference_solution_diff: str
starting_codebase_path: str
reference_codebase_path: str
generated_test_suite_path: str
@dataclass
class ExecutionConsistencyResult:
starting_runs_passed: int # Target: 0 (Semua 2 run harus gagal)
starting_runs_failed: int # Target: 2
reference_runs_passed: int # Target: 4 (Semua 4 run harus lulus)
reference_runs_failed: int # Target: 0
is_deterministic: bool
class AntiOverspecificationVerifier:
"""
Meninjau setiap asersi uji agar tidak memaksakan implementasi privat atau
formatting teks incidental yang tidak tertuang pada spesifikasi tugas.
"""
@staticmethod
def audit_assertion(assertion_ast_node: dict, statement_spec: str) -> bool:
forbidden_patterns = [
"__private_member",
"exact_error_string_match",
"dict_keys_ordering_strict",
"internal_cache_dict_inspect"
]
for pattern in forbidden_patterns:
if pattern in assertion_ast_node.get("source_code", ""):
# Tolak jika asersi memeriksa internal privat repositori
return False
return True
class CodeMidasEnvironmentHarness:
def __init__(self, task: CodeMidasTaskSpecification):
self.task = task
self.base_container_image = f"newsaint-rl-sandbox:{task.language.lower()}-v1"
def run_isolated_container(self, codebase_path: str, test_path: str, container_idx: int) -> Tuple[bool, str]:
"""
Menjalankan pengujian dalam isolated container runtime (gVisor/bwrap sandbox).
Mengembalikan verdict sukses (True/False) dan stdout/stderr logs.
"""
# Simulasi eksekusi sandboxed deterministic
cmd = [
"docker", "run", "--rm",
"--network", "none",
"--memory", "4g",
"--cpus", "2.0",
"-v", f"{os.path.abspath(codebase_path)}:/workspace/repo:ro",
"-v", f"{os.path.abspath(test_path)}:/workspace/tests/verifier.py:ro",
self.base_container_image,
"python3", "-m", "pytest", "/workspace/tests/verifier.py"
]
try:
res = subprocess.run(cmd, capture_output=True, text=True, timeout=120)
return (res.returncode == 0, res.stdout)
except subprocess.TimeoutExpired:
return (False, "EXECUTION_TIMEOUT_EXCEEDED")
except Exception as e:
return (False, str(e))
def evaluate_six_container_consistency(self) -> ExecutionConsistencyResult:
"""
Protokol 6-Container CodeMidas:
- 2 Container dijalankan dengan kode awal (starting codebase). Keduanya WAJIB gagal.
- 4 Container dijalankan dengan solusi referensi. Keempatnya WAJIB lulus.
"""
starting_fails = 0
starting_passes = 0
for i in range(2):
passed, _ = self.run_isolated_container(
self.task.starting_codebase_path,
self.task.generated_test_suite_path,
container_idx=i
)
if passed:
starting_passes += 1
else:
starting_fails += 1
reference_passes = 0
reference_fails = 0
for i in range(4):
passed, _ = self.run_isolated_container(
self.task.reference_codebase_path,
self.task.generated_test_suite_path,
container_idx=i + 2
)
if passed:
reference_passes += 1
else:
reference_fails += 1
is_deterministic = (starting_fails == 2 and reference_passes == 4)
return ExecutionConsistencyResult(
starting_runs_passed=starting_passes,
starting_runs_failed=starting_fails,
reference_runs_passed=reference_passes,
reference_runs_failed=reference_fails,
is_deterministic=is_deterministic
)
def probe_adversarial_leakage(self, sandbox_workspace_path: str) -> bool:
"""
Adversarial Leakage Audit: Memastikan tidak ada byte-compiled (.pyc), cache,
atau sisa log konstruksi yang membeberkan kode solusi referensi kepada agen RL.
"""
forbidden_leak_indicators = [
".git/logs",
"__pycache__",
".pytest_cache",
"dist/",
"build/",
".reference_backup"
]
for root, dirs, files in os.walk(sandbox_workspace_path):
for d in dirs:
full_dir = os.path.join(root, d)
if any(ind in full_dir for ind in forbidden_leak_indicators):
return True # Kebocoran ditemukan!
for f in files:
if f.endswith((".pyc", ".so", ".o", ".dylib")):
return True # Residual binary ditemukan!
return False
4. Evaluasi Benchmark Eksternal: Dari DeepSWE hingga Terminal-Bench
Tim peneliti mengevaluasi model pondasi MiMo-V2.5 yang dilatih menggunakan algoritma Group Relative Policy Optimization (GRPO) dengan binary execution reward pada 5.545 tugas CodeMidas (batch size 32, 32 rollout per tugas). Model diuji secara ketat pada 5 benchmark eksternal yang sepenuhnya terisolasi (disjoint) dari data latihan:
| Benchmark Eksternal | Domain Evaluasi | MiMo-V2.5 (Initial Policy) | MiMo-V2.5 (CodeMidas RL) | Peningkatan Absolut |
|---|---|---|---|---|
| DeepSWE v1.1 | Real-World Repository Issue Repair | 10.00% | 21.70% | +11.70 pp (> 2.1x Lipat) |
| ProgramBench | Whole-Program Multi-Module Construction | 4.50% (Almost Solved) | 21.50% | +17.00 pp (> 4.7x Lipat) |
| Terminal-Bench v2.1 | Autonomous Bash & System CLI Administration | 63.70% | 72.20% | +8.50 pp |
| RepoZero C2Rust | Cross-Language Compilation & Translation | Baseline Rate | Enhanced Policy | +6.40 pp |
| SWE-bench Pro | Production Hard SWE Tasks | Baseline Rate | Enhanced Policy | +4.80 pp |
5. Analisis Ablasi: Mengapa 5.000 Tugas Berkualitas Mengalahkan 8.000 Tugas Vanilla?
Salah satu eksperimen paling mencerahkan dari makalah ini adalah perbandingan antara volume mentah (raw quantity) versus rigoritas verifikasi lingkungan (verification quality). Peneliti membandingkan 4 kelompok data:
- Vanilla 8k (Unfiltered): ~8.000 tugas yang diekstrak tanpa pembersihan lingkungan (environment cleaning), tanpa protokol 6-container consistency, dan tanpa penyaringan adversarial leakage.
- CodeMidas 1k (Cleaned): 1.000 tugas acak berfilter penuh.
- CodeMidas 3k (Cleaned): 3.000 tugas acak berfilter penuh.
- CodeMidas 5k (Full Dataset): 5.545 tugas berfilter penuh.
Hasilnya sangat tegas: CodeMidas 3k yang bersih berhasil mengalahkan Vanilla 8k di seluruh benchmark. Terlebih lagi, CodeMidas 5k melampaui Vanilla 8k dengan selisih +4.59 pp pada DeepSWE dan +4.49 pp pada CodeMidas Val. Ini membuktikan bahwa dalam RL coding agent, noise pada reward verifier dan residual leakage merusak gradien optimasi secara permanen, sehingga sanitasi lingkungan jauh lebih penting daripada sekadar menambah jumlah repositori mentah.
6. Analisis Trajectory: Bagaimana Perilaku Agen Berubah Selama Pelatihan RL?
Analisis log interaksi agen antara checkpoint awal (early rollouts) dan checkpoint akhir (late rollouts) mengungkap 3 pergeseran perilaku fundamental:
Panggilan tool read_file dan search_files sebelum agen melakukan modifikasi kode pertama meningkat sebesar 47.4%. Agen belajar untuk memetakan dependensi sistem terlebih dahulu sebelum tergesa-gesa menulis kode.
Proporsi cuplikan kode yang telah dirancang terlebih dahulu di dalam Chain-of-Thought (CoT) sebelum dieksekusi melalui tool write_file/patch melonjak signifikan. Agen berpikir lebih mendalam sebelum memanipulasi disk.
Jumlah perintah verifikasi mandiri yang berbeda (unit test custom, assertion script temporer, CLI flag check) setelah edit kode terakhir meningkat, menurunkan tingkat submit prematur secara drastis.
7. Cetak Biru untuk Platform Engineering & Autonomous Agent Harness
Bagi tim rekayasa platform yang mengembangkan autonomous coding agent (misalnya Hermes Agent, OpenCode, Claude Code, atau internal AI coding sandbox), CodeMidas menawarkan prinsip-prinsip operasional krusial:
- Gunakan Kode Sumber sebagai Basis Task Synthesis: Jangan membatasi pipeline data pada GitHub issues. Sintesis lingkungan dari fungsionalitas publik repositori internal perusahaan untuk menghasilkan ribuan skenario latihan berorientasi bisnis yang spesifik.
- Wajibkan Multi-Container Verification: Sebelum memasukkan environment ke dalam antrean RL atau evaluasi agen, jalankan cek determinisme: run awal harus gagal secara konsisten, dan solusi referensi harus lulus 100% tanpa flakiness.
- Audit Kebocoran Residu Secara Adversarial: Bersihkan seluruh artifact kompilasi, build cache, dan file temporer. Agen RL memiliki kecenderungan tajam untuk mengeksploitasi celah disk (reward hacking) daripada mempelajari logika algoritma yang diharapkan.
Referensi & Sumber Terverifikasi
- [1]CodeMidas: Scaling Agentic Coding RL Environments from Code Itself(arXiv:2609.22068 [cs.AI] — Bowen Ye, Lei Li, Shicheng Li, Zihao Yue, Linghao Zhang, Hanglong Lv, Yuanxin Liu, Wenhan Ma, Hao Tian, Rang Li, Jinhao Dong, Yikai Zhao, Xiangwei Deng, Hailin Zhang, Liang Zhao, Qi Liu, Lingpeng Kong, Tong Yang, Fuli Luo (Xiaomi LLM Core, PKU, HKU, RUC))
- [2]DeepSWE: Evaluating and Training Coding Agents on Real-World Software Engineering(arXiv / Tsinghua University & ModelBest (Huang & Jiang, 2026))
- [3]ProgramBench: Benchmarking Program Synthesis and Whole-Program Construction for LLM Agents(arXiv / Peking University & Shanghai AI Lab (Yang et al., 2026))
- [4]Terminal-Bench v2.1: Benchmarking Autonomous Agents in Realistic Terminal Environments(arXiv / Stanford University & UC Berkeley (Merrill et al., 2026))
- [5]SWE-bench Pro: Can Language Model Agents Solve Difficult Production Software Engineering Issues?(arXiv / Princeton University & Scale AI (Deng et al., 2026))
- [6]Harness Engineering 2026: Anatomi Sumber Kode 11 Production Coding Agents(arXiv:2609.00006 / NEWSAINT Systems Architecture Review)
Butuh Arsitektur Web & AI Berkualitas Tinggi?
Tim engineering NEWSAINT siap membantu merancang website berkecepatan tinggi, sistem AI autonomous, dan solusi SaaS terukur untuk bisnis Anda.
Artikel Terkait Lainnya

HyperBrowseComp 2026: Benchmark Multilingual & Multimodal Stress Test untuk Autonomous Web-Browsing Agents, Evaluasi 13 Bahasa, dan Analisis Bottleneck Retrieval Harness
Analisis arsitektur sistem frontier riset evaluasi autonomous browsing agent (arXiv:2610.03574, Oktober 2026 — Alham Fikri Aji, Faiz Rizki Ramadhan, Zayd M. K. Zuhri, Seung Hun Eddie Han, Ryandito Diandaru, dkk. MBZUAI, Mila, Inception AI, Alibaba, AI Singapore): Mengapa tolok ukur browsing konvensional (GAIA, BrowseComp) mengalami saturasi parametrik dan bias monolingual. Memperkenalkan HyperBrowseComp, stress test 423 kueri faktual bernilai tunggal lintas 13 bahasa (termasuk Bahasa Indonesia 9.2% dan Jawa 8.3%) dan 8 modalitas (Video 39%, PDF/OCR 29.8%, Aritmetika 28.1%, Gambar 18.4%, Peta 9.7%). Evaluasi empiris 5 model frontier (Gemini 3.7 Flash, Gemini 3.1 Pro, GPT-5.6 Sol/Terra/Luna) lintas 3 harness retrieval (Provider Built-in, Exa Search API, OWL Browser Harness) mengungkap fenomena Harness Inversion (Exa mendongkrak GPT-5.6 Sol +7.56% namun mendegradasi Gemini 3.7 Flash -9.46%), 93 kegagalan fatal runtime tool-calling pada OWL, serta 57.68% pertanyaan tanpa solusi (shared failure) pada seluruh model frontier.

VenusRL 2026: Arsitektur Disaggregated Agentic RL dengan Priority-Aware Scheduling, Akselerasi Training 4.24x, dan Pangkas 89% Biaya Sandbox
Analisis arsitektur sistem frontier riset Agentic RL (arXiv:2610.03286, Mingjun Zhang, Yucheng Li, Menghao Zhang, Shuyong Zhu, Ping Zhang — Oktober 2026): Mengapa sistem pelatihan RL agen multi-turn konvensional (Slime, RollFlash) mengalami bottleneck sistemik fatal akibat barrier penyelesaian grup GRPO/PPO dan alokasi statis memori sandbox microVM. Memperkenalkan VenusRL, sistem agentic RL terdisagregasi penuh pertama yang memadukan Priority-Aware Action Scheduler dan Environment Resource Manager. Melalui heuristik prediksi panjang lintasan, Trajectory-Aware Radix Cache, alokasi memori dinamis adaptif, serta intra-group page sharing berbasis aliasing page table entry (PTE) dan copy-on-write, VenusRL meraih akselerasi training throughput hingga 4.24x, meningkatkan densitas sandbox per node hingga 905% (dari 100 ke 905 sandbox pada node 400GB), dan memangkas biaya infrastruktur non-GPU hingga 89% pada pengujian kluster 32 GPU Hopper dengan Qwen3-32B di SWE-agent OpenSWE.

ActKV 2026: Arsitektur Action-Guided KV Cache Management pada Agentic LLM Inference, Pangkas 74% Memori dengan 98.5% Akurasi, dan Akselerasi Throughput hingga 3.97x
Analisis mendalam arsitektur sistem operasi frontier agent inference (arXiv:2609.31395, University of Science and Technology of China - USTC): Mengapa kompresi KV cache konvensional (StreamingLLM, SnapKV, R-KV) gagal total pada agen otonom karena menyamaratakan seluruh token. Memperkenalkan ActKV, framework kompresi KV cache pertama yang dirancang khusus untuk agentic LLM inference. Melalui tiga inovasi arsitektural—Action-Oriented Eviction berbasis attention-aware LRFU, Confidence-Driven Adaptive Budget Allocation berbasis sinyal intrinsik LLM & trend detection, serta Page-Aware In-Place Compaction Kernel tanpa alokasi workspace ekstra—ActKV mempertahankan 98.53% akurasi FullKV dengan hanya 25.98% peak memory, serta melejitkan token throughput hingga 3.97x dan task throughput hingga 3.58x pada model Qwen3-30B, Qwen3-235B, GPT-OSS-20B, dan GPT-OSS-120B.