Dua mesin, satu audit
Mengapa model AI kedua yang membaca kode yang sama mengubah temuan audit, dan bagaimana dua laporan digabung tanpa menggandakan kebisingan.
· 5 menit baca · Lina Source LLC
Minta dua peninjau berpengalaman membaca pull request yang sama, dan Anda akan mendapat dua daftar berbeda. Yang satu melihat bahwa pengenal di URL tidak pernah dicocokkan dengan sesi; yang lain melihat bahwa perulangan retry meninggalkan koneksi basis data terbuka setiap kali gagal. Tidak ada yang keliru, dan tidak ada yang lengkap. Model bahasa berperilaku sama, dengan alasan yang sama: apa yang diperhatikan seorang peninjau bergantung pada apa yang pernah dilihatnya.
Kesepakatan adalah sinyal
Satu model memberi tahu seberapa yakin dirinya. Angka itu ada gunanya, tetapi dilaporkan sendiri: model menilai pekerjaannya sendiri. Ketika dua model yang dilatih lab berbeda, dengan data berbeda dan kelemahan berbeda, secara independen sampai pada kelemahan yang sama di berkas yang sama, kesepakatan itu adalah bukti dari luar model. Itulah yang paling mendekati pendapat kedua bagi tinjauan otomatis.
Kebalikannya sama pentingnya. Temuan yang hanya dilaporkan satu mesin tidak otomatis salah, dan membuangnya berarti membuang justru bug yang paling bisa ditangkap seorang peninjau tunggal. Temuan itu tetap dilaporkan dengan nama mesin penemunya, dan Andalah yang menimbang.
Di mana satu mesin terdiam
Dalam praktiknya kedua mesin paling berbeda pada kelas bug yang menuntut penalaran, bukan pencocokan pola:
- Cacat logika: diskon yang dihitung dua kali, state machine yang menerima pengembalian dana setelah pengembalian dana, pemeriksaan kepemilikan yang berjalan pada objek yang salah.
- Otorisasi khas framework: middleware yang melindungi satu grup rute tetapi tidak melindungi handler API yang dipasang di sebelahnya.
- Kebocoran sumber daya dan memori: listener, timer, dan koneksi yang dibuka tiap permintaan dan dilepas hanya di jalur mulus.
- Prompt injection yang disembunyikan di komentar atau fixture, yang terbaca sebagai teks tak berbahaya jika tidak dicari.
Bagaimana dua laporan menjadi satu
Penggabungan adalah titik ketika mesin kedua membayar dirinya sendiri atau justru menggandakan kebisingan. Aturan yang kami tetapkan:
- Temuan dicocokkan berdasarkan apa yang mengidentifikasi bug, bukan susunan kalimat: kelas CWE dan berkas tempatnya berada.
- Kecocokan dilaporkan sekali, dengan tingkat keparahan yang lebih ketat, karena pembacaan yang aman itulah yang ditindaklanjuti.
- Yang disimpan adalah uraian yang bisa dipakai pengembang: bukti yang lebih panjang, patch yang konkret, langkah perbaikan berurutan.
- Temuan yang terkonfirmasi dinaikkan ke keyakinan tinggi dan diberi label kedua mesin.
- Temuan yang hanya dilihat satu mesin tetap ada, ditandai dengan mesin yang menemukannya.
Kedua mesin membaca sumber yang sama pada saat yang sama, jadi audit tidak memakan waktu dua kali lipat; yang berlipat adalah biaya menjalankannya, dan itulah sebabnya ia menjadi bagian paket Pro. Jika mesin kedua tidak tersedia atau mengembalikan sesuatu yang tak terpakai, audit selesai dengan mesin pertama alih-alih gagal.
Tidak satu pun dari ini membuat laporan menjadi benar. Dua mesin bisa sepakat dan dua-duanya keliru; bukti yang dikutip di bawah setiap temuan ada justru agar Anda memeriksa, bukan memercayai. Yang diberikan konfirmasi silang adalah urutan: ketika seratus temuan datang dan waktu Anda hanya satu sore, mulailah dari yang dilihat oleh dua peninjau independen.