6 poin oleh GN⁺ 2025-11-01 | 1 komentar | Bagikan ke WhatsApp
  • Alat yang memvisualisasikan tingkat kebutuhan peninjauan pada setiap baris dan token dalam perubahan kode (diff) dengan membedakannya menggunakan warna
  • Dirancang untuk menyoroti "bagian yang layak ditinjau kembali", bukan sekadar mendeteksi bug sederhana
  • Dapat langsung digunakan dengan mengganti github.com menjadi 0github.com pada URL GitHub Pull Request
  • Secara internal, alat ini mengkloning repositori ke VM dan menjalankan gpt-5-codex untuk menghasilkan hasil analisis dalam struktur JSON

Gambaran umum

  • Alat ini menampilkan dalam bentuk heatmap seberapa teliti setiap bagian kode yang berubah perlu ditinjau selama proses code review
  • Warna ditetapkan berdasarkan tingkat kebutuhan perhatian manusia, sehingga mengambil pendekatan yang berbeda dari deteksi kesalahan sederhana
Iklan

Cara kerja

  • Pengguna mengaksesnya dengan mengubah domain URL GitHub Pull Request dari github.com menjadi 0github.com
  • Sistem mengkloning repositori terkait ke mesin virtual (VM) dan menjalankan model gpt-5-codex untuk setiap diff
  • Struktur data JSON yang dihasilkan model kemudian diparse dan diubah menjadi heatmap berwarna

Kriteria analisis

  • Bukan sekadar "apakah ada bug", melainkan menyoroti bagian yang perlu diperiksa ulang oleh manusia, seperti nilai rahasia yang di-hardcode, mode enkripsi yang tidak lazim, dan logika yang kompleks

1 komentar

 
GN⁺ 2025-11-01
Komentar Hacker News
  • Untuk codebase yang sudah saya kenal, saya cenderung berpikir, “Terima kasih LLM, tapi saya sudah lebih paham jadi tidak perlu”
    Sebaliknya, kalau kodenya tidak familiar, sejak awal saya memang tidak akan menyetujui review atau melakukan merge
    Meski begitu, pemanfaatan LLM yang kreatif seperti ini tetap merupakan percobaan yang menarik

    • Saya sudah mencobanya langsung. Saya memilih Laravel PR #57499 secara acak, dan pada pengaturan 60%, yang disorot hanya kode pengujian sementara perubahan penting justru terlewat
      Kode yang dihapus juga sama sekali tidak ditampilkan, dan hanya baris yang tidak berubah yang di-highlight
      Usahanya jujur, tapi hasilnya mengecewakan
  • Saya sempat bertanya-tanya kenapa ini sampai meminta hak untuk bertindak di GitHub atas nama saya
    cmux-agent meminta akses ke seluruh akun GitHub
    Saya ingin membuka issue, tetapi fitur issue di repositorinya dinonaktifkan. Rasanya sedikit mencurigakan

    • Kalau repositorinya publik, seharusnya bisa diakses tanpa login
      Saya menguji contoh PR, stack-auth, tinygrad, dan datasette dalam mode incognito, dan semuanya berjalan baik
      Soal issue yang dinonaktifkan saya memang tidak tahu, dan sekarang halaman issue sudah normal
    • Ini adalah masalah struktural GitHub. Kalau melihat diskusi terkait, model izin OAuth App dan GitHub App memang berbeda
      GitHub App bisa dipasang hanya pada repo tertentu, tetapi tetap mencakup izin untuk “bertindak atas nama pengguna”
      Karena itu muncul pop-up yang tampak menakutkan
      Aplikasi saya codeinput.com adalah OAuth App, jadi hanya meminta email, tetapi setelah login pengguna tetap harus melewati proses instalasi lagi, sehingga alur autentikasinya menjadi rumit
    • Aplikasi ini memang meminta login GitHub saat pertama kali dijalankan. Sebelumnya, tidak ada apa pun yang bisa dilihat
  • Arah pengembangannya menarik, tetapi manfaat dibanding biayanya masih terasa ambigu
    Masih sulit bagi LLM untuk memahami konteks proyek hanya dari satu diff PR
    Malah, heatmap berbasis data berdasarkan bug masa lalu atau frekuensi perubahan tampaknya akan lebih dapat diandalkan

    • Jika memakai key Gemini gratis, kuota permintaan harian sudah cukup, jadi untuk tim kecil (10~20 PR/hari) biayanya tidak besar
      Akan lebih baik jika bisa dijalankan dengan key pribadi
    • Saya penasaran apakah ada alat serupa yang menganalisis entropi dari diff
    • Kami juga pernah bereksperimen dengan menyalin repo ke VM lalu membiarkan Codex menjelajahinya, tetapi dihentikan karena masalah latensi dan biaya
      Sepertinya biaya bisa ditekan dengan distillation, tetapi kami masih bereksperimen
      Kami juga sedang memikirkan apakah ada cara menghitung korelasi dengan bug masa lalu tanpa LLM
    • Saat melakukan code review, saya sering menyinggung baris yang tidak ada di diff
      Pada akhirnya, alat seperti ini hanya bisa menyelesaikan sebagian masalah
    • Bagian kode yang sering berubah belum tentu memang lebih banyak bug
      Bisa jadi justru itu area yang diperhatikan lebih hati-hati oleh orang-orang
      Akan menarik kalau ini divalidasi menggunakan data open source
  • Senang rasanya PR saya muncul di HN
    Akan bagus jika ambang batas bisa diatur ke 0% dan gradasi warna dapat disesuaikan lebih beragam
    Saya juga penasaran apakah kode buatan AI bisa direview lebih dulu dengan alat ini sebelum PR dibuat

    • Warna dan gradasi memang direncanakan agar bisa dikonfigurasi
      Saya juga ingin mendengar pendapat apakah bentuk perintah untuk merender diff sebagai CLI atau HTML akan cocok
    • Bisa-bisa memakai alat seperti ini justru memakan waktu lebih lama daripada menulis kodenya sendiri
  • Nama domain 0github.com sepertinya sulit dipertahankan lama-lama. Sebaiknya cepat cari domain lain

    • Saya penasaran kenapa begitu
  • Sepertinya akan sangat berguna terutama untuk PR yang sangat besar
    Daripada slider, mungkin lebih baik kalau bisa klik berdasarkan warna agar maknanya langsung terlihat
    Sekarang memang belum mudah dipahami dalam sekali lihat, tetapi kalau sering dipakai mungkin akan terbiasa

    • Saat ini, kalau kursor diarahkan ke kata yang di-highlight akan muncul tooltip
      Kami berencana memperbaikinya agar juga terlihat di mobile. Kalau ada cara penandaan lain yang lebih baik, saya ingin tahu
  • Saya mencobanya pada PR Rust yang sederhana, dan hasilnya cukup baik
    Hanya saja, akan bagus jika posisi highlight bisa diatur lebih rinci
    Saya terkesan karena ia berhasil menangkap typo yang nyaris tidak terlihat di PR rekan saya
    Tautan PR yang diuji
    Sebagian kode yang dihapus memang ditampilkan, tetapi banyak yang diabaikan
    Saya penasaran apakah ini menghitung jarak antar token

    • Implementasinya ada di file ini
      Saat ini masih berbasis prompt LLM yang sederhana
      Ke depannya sepertinya bisa dikembangkan menjadi metode deteksi token halusinasi. Saya akan mencari paper terkait
  • Belakangan ini banyak PR besar buatan AI, jadi saya merasa alat seperti ini memang dibutuhkan
    Akan bagus jika ia bisa mempelajari gaya reviewer dan memberikan review yang dipersonalisasi
    Saya sedang memastikan apakah commit ini yang benar

    • Logika utamanya ada di file ini
      Kami sedang bereksperimen dengan sistem DSPy untuk review otomatis yang disesuaikan dengan preferensi reviewer
  • Sebenarnya, yang lebih penting adalah membuat PR dengan ukuran yang wajar sehingga alat seperti ini tidak diperlukan
    Belakangan saya mereview PR yang ditulis AI, dan bahkan AI juga yang membalas komentar saya
    Pada akhirnya, rasanya era ketika reviewer pun digantikan AI akan datang

  • Saya mengklik contoh PR, tetapi hanya terus memuat. Sepertinya perlu caching

    • Seharusnya caching sudah ada, saya sedang memeriksanya
    • Sudah diperbaiki. Sekarang berfungsi normal