NS
NEWSAINT
ai-eng• 8 MIN READ•10 September 2026

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.

N
Ervareza Naurian Novantila
Lead Architect & Founder NEWSAINT
Fact-Checked & Verified
Ilustrasi Arsitektur Teknis 16:9 A-JIT 2026: Arsitektur Agentic Just-In-Time Software Construction, Code Holes (?_), Tactile Values (BAPI), dan Self-Specializing Living Software

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:

Pilar 1: Konstruksi Bahasa

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.

Pilar 2: Sintesis Parsial

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.

Pilar 3: Representasi Data

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.

Pilar 4: Evolusi Runtime

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:

bosque / weather-converter.bsq A-JIT HOLE SPEC
%** 
 * 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:

bapi / tactile-representation.bapi TACTILE SERIALIZATION
%% 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:

typescript / ajit-runtime-kernel.ts PRODUCTION SPEC
// 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:

  1. 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.
  2. 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.
  3. 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

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

Ilustrasi Arsitektur Teknis 16:9 HyperBrowseComp 2026: Benchmark Multilingual & Multimodal Stress Test untuk Autonomous Web-Browsing Agents, Evaluasi 13 Bahasa, dan Analisis Bottleneck Retrieval Harness

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.

Ilustrasi Arsitektur Teknis 16:9 VenusRL 2026: Arsitektur Disaggregated Agentic RL dengan Priority-Aware Scheduling, Akselerasi Training 4.24x, dan Pangkas 89% Biaya Sandbox

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.

Ilustrasi Arsitektur Teknis 16:9 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

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.