Ide & Wawasan

Mengeksplorasi pengembangan AI-first, coding guardrail, dan arsitektur untuk dibuang.

Angka bukan sekadar angka: cara membuat compiler menangkap bug unit

Meneruskan millisecond di tempat yang mengharapkan second adalah bug yang lolos dari setiap pengujian. Berikut cara menyandikan unit secara langsung ke dalam sistem tipe TypeScript sehingga kesalahan pencampuran gagal pada saat kompilasi tanpa biaya runtime.

Sebuah fungsi meminta timeout dalam millisecond. Anda meneruskan . Nanti, fungsi lain meminta timeout dalam second. Anda meneruskan . Di antaranya, Anda…

Differential Testing Bekerja Tanpa Bukti Formal, tapi Common-Mode Failure adalah Masalahnya

Differential testing memungkinkan Anda menemukan bug tanpa mengetahui jawaban yang benar. Masalahnya adalah kesalahan yang saling berkorelasi terlihat seperti kesepakatan. Begini cara menemukan blind spot-nya.

Anda bisa memercayai differential testing tanpa bukti formal, tetapi hanya jika Anda memahami persis di mana ia gagal. Kelemahannya disebut common-mode…

Tidak Ada Tes yang Bisa Membuktikan Dua Fungsi Ekuivalen. Ini yang Bisa.

N-version programming mengasumsikan implementasi Anda sepakat. Kita lihat mengapa tes kurang memadai, bagaimana SMT solver bisa benar-benar membuktikan ekuivalensi, dan di mana menarik garis antara cukup baik dan terverifikasi secara formal.

Anda membangun sistem n-version. Tiga implementasi independen dari fungsi kritis yang sama, sebuah voter yang memilih hasil mayoritas, dan perasaan hangat…

Bagaimana Jika Varian LLM Saya Tidak Setuju? Mana yang Benar?

Menjalankan beberapa LLM secara paralel menangkap kesalahan yang akan dengan percaya diri dikirim oleh model tunggal. Berikut cara membangun sistem resolusi ketidaksetujuan yang benar-benar berfungsi.

Anda mengirim prompt ke GPT-4o. Ia mengembalikan blob JSON dengan confidence 0,97. Anda mengirim prompt yang sama ke Claude 3.5 Sonnet. Ia mengembalikan blob…

Lima Implementasi dan Tidak Ada Mayoritas: Cara Sebenarnya Memilih yang Terbaik

N-version programming terdengar sederhana: jalankan beberapa implementasi dan pilih jawaban terbaik. Dalam praktiknya, 'terbaik' jauh lebih sulit didefinisikan daripada 'paling umum.'

Anda memiliki lima implementasi dari fungsi yang sama. Tiga mengembalikan hasil yang sama. Satu sedikit berbeda. Satu melempar exception. Mana yang benar?…

LLM yang Sama Bisa Menulis Lima Versi Fungsi Anda. Begini Cara Membuatnya Benar-Benar Berbeda.

N-version programming dengan LLM tidak memerlukan banyak model. Anda bisa mengekstrak implementasi yang beragam dan benar dari satu model dengan memvariasikan prompt, persona, dan constraint reasoning.

N-version programming berasumsi bahwa keragaman berasal dari penulis yang berbeda. Dengan LLM, itu berarti model yang berbeda, provider yang berbeda, mungkin…

NASA Menjalankan 27 Salinan Program yang Sama. Bug-Bug Memilih sebagai Satu Blok.

N-version programming menjanjikan bahwa tim independen akan membuat kesalahan independen. Eksperimen Knight dan Leveson tahun 1986 membuktikan sebaliknya, dan NASA diam-diam meninggalkannya.

Pada awal 1980-an, NASA menghadapi pertanyaan yang masih menghantui engineering safety-critical hingga hari ini: bagaimana Anda mentolerir bug yang belum Anda…