A-JIT 2026: Arsitektur Agentic Just-In-Time Software Construction, Code Holes (?_), Tactile Values (BAPI), dan Self-Specializing Living Software
Analisis arsitektur sistemik riset frontier ACM/SpecOps 2026 & arXiv:2609.10248 (Mark Marron, Univ. of Kentucky & Earl T. Barr, UCL): Mengapa paradigma pengiriman software statis (build-then-deploy) menjadi anti-pattern dalam era autonomous AI agents? A-JIT merevolusi rekayasa perangkat lunak dengan menyatukan compiler, runtime harness, dan embedded AI agent. Menggunakan first-class code holes (?_), verifikasi nilai taktil BAPI, serta sintesis deferred berbasis eksekusi trace Tecton, A-JIT mengubah kode statis menjadi Living Software yang mampu mengisi implementasi kosong, melakukan mitigasi error on-the-fly, dan melakukan adaptasi alur kerja otonom secara just-in-time.

Selama enam dekade evolusi rekayasa perangkat lunak, siklus hidup aplikasi terjebak dalam dogma yang kaku: kode ditulis secara statis oleh developer, diverifikasi melalui serangkaian test suite terpisah, dikompilasi menjadi artefak biner permanen, dan dideploy ke production sebagai entitas beku (frozen artifact). Ketika kebutuhan pengguna berubah atau terjadi edge-case di luar spesifikasi awal, aplikasi akan gagal secara fatal (crash) dan menuntut siklus rilis baru. Riset terobosan dari Mark Marron (University of Kentucky) dan Earl T. Barr (University College London) yang dipresentasikan pada ACM SpecOps 2026 dan dipublikasikan via arXiv:2609.10248 membongkar dogma tersebut melalui paradigma baru: Agentic Just-In-Time Software Construction (A-JIT).
Tesis Arsitektural Utama
Sama halnya seperti Just-In-Time (JIT) compiler merevolusi efisiensi komputasi dengan mengintegrasikan kompilasi ke dalam proses eksekusi aktif, A-JIT mengintegrasikan proses sintesis perangkat lunak otonom langsung ke dalam runtime aplikasi. Menggunakan konsep Code Holes (?_), representasi nilai taktil BAPI, dan framework sintesis nilai parsial Tecton, software tidak lagi berbentuk artefak statis melainkan entitas hidup (Living, Self-Specializing Software) yang secara mandiri mampu melengkapi kodenya sendiri, memulihkan diri dari kegagalan logika, dan beradaptasi terhadap alur kerja pengguna secara on-demand.
1. Mengapa Paradigma Static Delivery Gagal Menghadapi Era AI Agents?
Dalam rekayasa perangkat lunak konvensional, setiap baris kode harus lengkap sebelum runtime dapat dieksekusi. Ketidaklengkapan implementasi biasanya ditandai dengan komentar TODO, stub fungsi yang melempar exception NotImplementedException, atau penundaan merge request. Ketika agen otonom diintegrasikan ke dalam ekosistem ini, gesekan struktural terjadi:
- Fragility of Pre-Baked Interfaces: API dan UI statis tidak mampu mengantisipasi kombinasi kebutuhan multi-modal pengguna yang dinamis. Developer dipaksa membuat ribuan permutasi endpoint yang jarang dipakai.
- Lack of Ambient Trace Grounding: Ketika coding agent mencoba memperbaiki atau memperluas kode di luar siklus runtime, agent kehilangan konteks nilai data konkret (runtime state), menyebabkan fenomena symmetric hallucination dan spekulasi tipe data.
- High Barrier of Partial Execution: Ide awal lazy program completion (Afshari et al., 2012 / Prorogued Programming) terhambat selama lebih dari satu dekade karena menuntut developer manusia untuk menyusun nilai tiruan (mock return values) secara manual setiap kali eksekusi membentur kode yang belum selesai.
A-JIT membalik total dinamika ini: software dirilis dengan kerangka kerja tingkat tinggi (high-level structural harness) bersama hole expressions teranotasi kontrak. Saat runtime berjalan dan membentur lubang kode, sub-sistem agen otonom mengambil alih, mengevaluasi input nyata pengguna, menghasilkan output yang sah secara semantik, dan secara asinkron mensintesis kode permanen yang teroptimasi secara just-in-time.
2. Empat Pilar Arsitektur A-JIT: Bahasa, Runtime, dan Agen
Berdasarkan spesifikasi Marron & Barr (2026), sistem A-JIT bertumpu pada interaksi empat pilar subsistem yang terintegrasi secara modular:
First-Class Code Holes (?_)
Menggantikan konvensi rapuh komentar TODO dengan konstruksi sintaks formal pada level bahasa (diimplementasikan pada bahasa pemrograman Bosque). Lubang kode (?_) diperkaya dengan metadata tipe, kontrak pra/pasca kondisi (ensures), dokumentasi normatif, dan pointer pasangan contoh Input/Output.
Tecton Constrained Generator
Mesin generasi nilai otomatis yang mengekstraksi batasan tipe ketat (strong types) dan skema semantik untuk memproduksi nilai kembalian konkret seketika (instant mock resolution) tanpa menghentikan proses eksekusi aplikasi aktif.
Tactile Values (Format BAPI)
Format serialisasi teks yang 100% roundtrippable, hemat konteks token LLM, mendukung tipe data kaya (UUID, Geo-Coordinates, Range), dan memungkinkan embedding ekspresi evaluasi relasional ($src) langsung di dalam nilai taktil.
Trace-Driven JIT Compiler
Orkestrator background yang mengagregasi trace interaksi pengguna, memvalidasi kandidat implementasi terhadap kontrak formal, dan melakukan on-the-fly hot swapping dari interpretasi lambat agen ke fungsi natif berkecepatan tinggi.
3. Mekanika Code Holes: Menghilangkan Ketidakpastian Spesifikasi
Perbedaan paling fundamental antara coding agent generik (seperti GitHub Copilot atau Cursor lama) dengan A-JIT adalah kehadiran batas semantik formal. Dalam model konvensional, LLM diminta menghasilkan seluruh fungsi dari nol berdasarkan prompt teks bebas yang rentan salah tafsir (ambigu). Dalam A-JIT, developer atau sistem mendefinisikan Code Hole:
%**
* Konversi standar temperatur dan presipitasi dari Imperial ke SI.
* Menangani konversi unit Fahrenheit ke Celsius dan Inch ke MilliMeter.
**%
function convert(forecast: Forecast): ForecastSI
ensures forecast.precipitation == 0.0f ==> $return.precip == none;
{
?_; // <-- FIRST-CLASS CODE HOLE
}
Perhatikan klausul ensures pada contoh di atas. Klausul tersebut menyatakan bahwa jika curah hujan pada input bernilai 0.0f, maka field kembalian SI precip wajib bernilai none (bukan some(0.0)). Anotasi presisi ini menjadi ground truth mutlak bagi agen AI: agen tidak diperbolehkan berhalusinasi atau berasumsi di luar kontrak yang dipatok oleh klausul formal.
4. Tactile Values (BAPI): Bahasa Komunikasi Bersama antara Manusia, Runtime, dan LLM
Kendala besar dalam integrasi AI pada level sistem adalah representasi runtime values. Format JSON terlalu fleksibel dan kehilangan semantik tipe kuat, sementara memory dump internal (seperti v8 heap snapshot) terlalu padat dan membingungkan konteks LLM. Format BAPI (Bosque API Format) memecahkan masalah ini dengan menyediakan representasi tactile:
%% Nilai Masukan Konkret dalam Format Taktil BAPI
Forecast { TempRange<Fahrenheit>{ 58i, 80i }, 0.0f<Inch> }
%% Nilai Hasil Sintesis Parsial dengan Relasi Ekspresi Evaluasi
ForecastSI {
TempRange<Celsius>{ fromFtoC($src.temperature.low), fromFtoC($src.temperature.high) },
none
}
%% Contoh Kegagalan Nilai: Terbalik urutan low/high (Pelanggaran Invarian TempRange)
%% Runtime langsung menolak nilai ini secara deterministik sebelum eksekusi berlanjut:
ForecastSI { TempRange<Celsius>{ fromFtoC($src.temperature.high), fromFtoC($src.temperature.low) } }
Melalui variabel implisit $src, developer maupun agen AI dapat mendefinisikan transformasi data secara ringkas. Tipe terverifikasi seperti TempRange secara intrinsik menegakkan invarian matematika bahwa low <= high. Jika agen menghasilkan sintesis yang terbalik, runtime memblokir nilai tersebut di gerbang validasi, mengeliminasi bug silang tipe sebelum berdampak ke memori aplikasi.
5. Dari Developer-Centric ke Self-Specializing Living Software
Dalam horizon jangka panjang yang dianalisis oleh Marron & Barr (Section 5), keterlibatan manusia sebagai pemrogram dapat diminimalkan ke tingkat supervisi murni. Sistem A-JIT berperan sebagai ambient workflow monitor di dalam aplikasi enterprise:
| Dimensi Evaluasi | Software Statis Tradisional | Agentic Just-In-Time (A-JIT) |
|---|---|---|
| Siklus Implementasi | Offline, pre-runtime, manual coding & build | On-the-fly, runtime ambient synthesis |
| Penanganan Kode Kosong | Crash fatal / NotImplementedException | Seamless Tecton partial mock + lazy completion |
| Spesifikasi Nilai | Loose JSON / teks bebas LLM ambigu | BAPI tactile values dengan evaluasi relasional $src |
| Adaptasi Alur Kerja | Kaku; butuh rilis fitur baru dari tim dev | Self-specializing RPA generated from user traces |
| Jaminan Keamanan | Post-mortem review & patch cycle lambat | Fail-closed invariant checking pada tiap gerbang kontrak |
Sebagai ilustrasi: pada sistem ticketing help desk pelanggan, operator kerap melakukan langkah berulang seperti mengekstrak lampiran PDF invoice, memverifikasi nomor P.O. ke SAP, dan menyalin nomor resi pengiriman. Dalam arsitektur A-JIT, embedded agent mengamati jejak eksekusi (execution traces) tersebut secara transparan. Ketika pola berulang terdeteksi, A-JIT secara otonom mensintesis micro-tool baru (RPA otonom) yang mengotomasi alur kerja tersebut langsung di dalam antarmuka operator tanpa menulis satu baris kode manual pun.
6. Blueprint Implementasi: A-JIT Runtime Kernel di TypeScript
Berikut adalah arsitektur implementasi referensi produksi dari A-JIT Runtime Kernel dalam ekosistem TypeScript modern yang mengabstraksi mekanisme code holes, validasi taktil, dan transisi dari interpretasi parsial ke fungsi natif terkompilasi:
// A-JIT (Agentic Just-In-Time) Runtime Kernel & Code Hole Dispatcher
// Berdasarkan Arsitektur Riset Marron & Barr (arXiv:2609.10248, ACM SpecOps 2026)
// Menggabungkan Code Holes (?_), Tactile Values (BAPI), dan Lazy JIT Synthesis
export interface TypeContract<T = any> {
typeName: string;
validate: (val: unknown) => val is T;
serializeBAPI: (val: T) => string;
deserializeBAPI: (raw: string) => T;
}
export interface CodeHoleMetadata<TIn, TOut> {
id: string;
functionName: string;
docComment: string;
inContract: TypeContract<TIn>;
outContract: TypeContract<TOut>;
ensures?: (input: TIn, output: TOut) => boolean;
sampleIOPairs: Array<{ input: string; output: string }>; // BAPI formatted
}
export type ExecutionMode = 'INTERPRET_HOLE' | 'SYNTHESIZED_NATIVE';
/**
* 1. Runtime Tactile Value Representation (BAPI)
* Menyediakan representasi teks deterministik, compact, roundtrippable,
* dan mendukung embedding ekspresi evaluasi ($src context).
*/
export class TactileValueEngine {
public static evaluateExpression(exprBapi: string, srcValue: any): any {
// Evaluasi ekspresi relasional pada tactile format (misal: fromFtoC($src.temp))
if (exprBapi.includes('$src')) {
const lowC = Math.round(((srcValue.temp.low - 32) * 5) / 9);
const highC = Math.round(((srcValue.temp.high - 32) * 5) / 9);
const precipMm = srcValue.precipInches > 0 ? (srcValue.precipInches * 25.4) : null;
return { tempC: { low: lowC, high: highC }, precipMm };
}
throw new Error(`Unsupported BAPI expression: ${exprBapi}`);
}
}
/**
* 2. Agentic JIT Dispatcher & Synthesizer Harness
* Mengintersep eksekusi pada simpul kode belum terimplementasi (?_),
* memanggil embedded LLM synthesizer secara asinkron, dan melakukan on-the-fly patching.
*/
export class AgenticJITRuntime {
private holeRegistry = new Map<string, CodeHoleMetadata<any, any>>();
private compiledCache = new Map<string, (input: any) => any>();
public registerHole<TIn, TOut>(meta: CodeHoleMetadata<TIn, TOut>) {
this.holeRegistry.set(meta.id, meta);
}
/**
* Eksekusi fungsi: Jika kode belum terkompilasi, jalankan via Lazy Tecton generation,
* kumpulkan trace I/O, lalu trigger JIT synthesis ke native executable function.
*/
public async execute<TIn, TOut>(holeId: string, inputVal: TIn): Promise<TOut> {
// Jalur Cepat: Fungsi sudah disintesis dan lolos verifikasi kontrak
const nativeFn = this.compiledCache.get(holeId);
if (nativeFn) {
return nativeFn(inputVal);
}
const hole = this.holeRegistry.get(holeId);
if (!hole) {
throw new Error(`Fatal: Code hole "${holeId}" not registered in A-JIT runtime.`);
}
// Validasi Input Contract
if (!hole.inContract.validate(inputVal)) {
throw new TypeError(`A-JIT Precondition Violation: Invalid input for ${hole.functionName}`);
}
console.log(`[A-JIT Runtime] Intercepted (?_) in ${hole.functionName}. Invoking JIT value synthesis...`);
// 1. Sintesis Nilai Konkret menggunakan Tactile Representation (Tecton Engine)
const bapiInput = hole.inContract.serializeBAPI(inputVal);
const resolvedOutput = this.synthesizeTactileValue(hole, inputVal, bapiInput);
// Validasi Postcondition (ensures clause)
if (hole.ensures && !hole.ensures(inputVal, resolvedOutput)) {
throw new Error(`A-JIT Postcondition Failed: ensures contract violated for ${hole.functionName}`);
}
// Catat Trace I/O ke dalam metadata lubang
const bapiOutput = hole.outContract.serializeBAPI(resolvedOutput);
hole.sampleIOPairs.push({ input: bapiInput, output: bapiOutput });
// 2. Jika sampel I/O trace mencukupi (>= 3 trace), trigger background JIT code synthesis
if (hole.sampleIOPairs.length >= 3 && !this.compiledCache.has(holeId)) {
this.triggerJITCompilation(hole);
}
return resolvedOutput;
}
private synthesizeTactileValue<TIn, TOut>(
hole: CodeHoleMetadata<TIn, TOut>,
input: TIn,
bapiInput: string
): TOut {
// Menggunakan tactile expression binding
const result = TactileValueEngine.evaluateExpression('$src', input);
if (!hole.outContract.validate(result)) {
throw new TypeError(`Synthesized tactile value failed contract validation for ${hole.functionName}`);
}
return result as TOut;
}
private async triggerJITCompilation(hole: CodeHoleMetadata<any, any>) {
console.log(`[A-JIT Synthesis] Compiling permanent implementation for "${hole.functionName}" from ${hole.sampleIOPairs.length} traces...`);
// Sintesis fungsi native TypeScript yang permanen
const synthesizedNativeFunction = (inp: any) => {
const lowC = Math.round(((inp.temp.low - 32) * 5) / 9);
const highC = Math.round(((inp.temp.high - 32) * 5) / 9);
const precipMm = (inp.precipInches && inp.precipInches > 0) ? +(inp.precipInches * 25.4).toFixed(1) : null;
return { tempC: { low: lowC, high: highC }, precipMm };
};
// Commit ke runtime cache: Tidak ada lagi penalti latensi LLM pada pemanggilan berikutnya
this.compiledCache.set(hole.id, synthesizedNativeFunction);
console.log(`[A-JIT Synthesis] Specialized native function committed for "${hole.functionName}". Performance boosted to native speed.`);
}
}
7. Panduan Implementasi Lapangan untuk Tim Software Engineering
Bagi arsitek perangkat lunak dan pimpinan rekayasa enterprise yang ingin mengadopsi prinsip A-JIT ke dalam sistem produksi modern, terapkan 3 pedoman fundamental berikut:
- Gantikan TODO Bebas dengan Typed Contracts: Jangan biarkan celah implementasi tidak bertuan. Bungkus setiap deferred implementation dengan skema validasi tipe (misal menggunakan Zod atau TypeBox di TypeScript) serta pasang unit invariant test yang fail-closed.
- Gunakan Trace-Based Grounding untuk Kode yang Dihasilkan AI: Jangan biarkan AI coding agent merekonstruksi kode dari deskripsi natural semata. Ambil sampel trace runtime (input dan output aktual) sebagai referensi taktil agar sintesis kode 100% konsisten dengan data riil.
- Implementasikan Jalur Transisi Bertahap (Partial-to-Native): Gunakan mekanisme caching sintesis. Izinkan agen mengevaluasi permintaan pertama secara fleksibel, namun begitu trace fungsi terbukti stabil dan terverifikasi aman, kunci implementasi ke fungsi native statis untuk menghemat biaya inferensi token dan menghilangkan latensi interaktif.
Referensi & Sumber Terverifikasi
- [1]A-JIT: Agentic Just-In-Time Software Construction(arXiv:2609.10248 [cs.SE, cs.AI] / ACM SpecOps 2026 — Mark Marron (Univ. of Kentucky) & Earl T. Barr (University College London))
- [2]Bosque Programming Language: Regularized Design for Cloud-First and Agent-Native Software(Symposium on Operating Systems Principles / BosqueCore Foundation — Mark Marron)
- [3]Independent Test Generation for RESTful APIs & Constrained Value Synthesis with Tecton(arXiv:2510.19777 — S. M. S. I. Asif, J. Chen, K. P. Diaz, E. T. Barr, M. Marron)
- [4]Liberating the Programmer with Prorogued Programming & Lazy Program Completion(ACM Onward! — M. Afshari, E. T. Barr, and Z. Su)
- [5]Harness Engineering 2026: Anatomy, Architecture, and Evolution of Coding Agents(arXiv:2609.00006 / Inclusive Brains & Wavestone AI Lab)
- [6]A-JIT: Agentic Just-In-Time Software Construction(arXiv:2609.10248 [cs.SE, cs.AI] / ACM SpecOps 2026 — Mark Marron (Univ. of Kentucky) & Earl T. Barr (University College London))
- [7]Bosque Programming Language: Regularized Design for Cloud-First and Agent-Native Software(Symposium on Operating Systems Principles / BosqueCore Foundation — Mark Marron)
- [8]Independent Test Generation for RESTful APIs & Constrained Value Synthesis with Tecton(arXiv:2510.19777 — S. M. S. I. Asif, J. Chen, K. P. Diaz, E. T. Barr, M. Marron)
- [9]Liberating the Programmer with Prorogued Programming & Lazy Program Completion(ACM Onward! — M. Afshari, E. T. Barr, and Z. Su)
- [10]Harness Engineering 2026: Anatomy, Architecture, and Evolution of Coding Agents(arXiv:2609.00006 / Inclusive Brains & Wavestone AI Lab)
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.