19 poin oleh letaem77a 2025-04-14 | 8 komentar | Bagikan ke WhatsApp

> "Dalam tulisan ini, kita akan memeriksa seberapa akurat LLM dapat menjawab pertanyaan yang berkaitan dengan codebase ketika sebuah codebase TypeScript yang terdiri dari banyak file dikompresi menjadi 1 file JavaScript melalui bundling lalu diberikan kepada LLM."

  • Menyiapkan 1 codebase web server berbasis NestJS
  • Mengompresi kode dengan esbuild (bundling)
  • Kode yang sudah dikompresi disisipkan ke dalam prompt
  • Mengirimkan prompt ke ChatGPT o3-mini
  • Memeriksa seberapa akurat jawabannya terhadap pertanyaan yang berkaitan dengan codebase
  1. Uji pembuatan Swagger: pada sebagian besar percobaan, berhasil mendokumentasikan dengan akurat 19 endpoint atau lebih dari total 21 endpoint
  2. Uji permintaan penjelasan untuk endpoint API: berhasil membuat manual untuk non-developer/developer
  • Terdapat keterbatasan
  • Kesimpulan
    > "Untuk melakukan RAG terhadap seluruh codebase untuk LLM, saya merancang sebuah pengujian dengan mengompresi seluruh codebase menjadi satu file lalu memberikannya kepada LLM.
    >
    > Ketika codebase dikompresi menggunakan alat bundling yang sudah ada apa adanya, LLM dapat melakukan dokumentasi API untuk seluruh codebase atau menulis manual terperinci untuk API tertentu.
    >
    > Untuk kehilangan informasi yang terjadi selama proses kompresi codebase, ada prospek bahwa hal itu dapat dilengkapi melalui semantic search tambahan terhadap file asli."

8 komentar

 
mendong 2025-04-14

Apakah melakukan kueri ke LLM dengan memasukkan file yang sudah dibundel ke dalam prompt atau melampirkannya ke aplikasi bisa disebut RAG? Saya penasaran bagian mana yang termasuk Retrieval.

 
labeldock 2025-04-14

Saya juga punya pemikiran serupa

 
bejunth 2025-04-14

Bukankah LLM melakukan retrieval berdasarkan file yang sudah dibundel lalu mengambil kode aslinya?

 
winterjung 2025-04-14

Menarik. Ternyata bahkan dengan JS yang sudah di-minify pun masih bisa dipahami dengan cukup baik. Saya juga jadi berpikir akan bagus jika struktur direktori diberikan sebagai konteks tambahan dengan memanfaatkan alat-alat yang diperkenalkan di https://id.news.hada.io/topic?id=19552 atau https://id.news.hada.io/topic?id=19540.

 
apkas 2025-04-14

Akhir-akhir ini saya sangat sering memakai LLM untuk coding, jadi saya selalu memikirkan cara menyampaikan informasi secara efisien, dan terima kasih untuk eksperimennya yang menarik.

Di luar negeri juga pernah ada percobaan mengekstrak syntax codebase menjadi graph lalu melakukan query,
tetapi sepertinya bundling adalah metode yang lebih mudah diterapkan secara umum. (jika bahasanya mendukung bundling)
https://x.com/daniel_mac8/status/1908332949251948808

Namun, performa Gemini belakangan ini sangat bagus, jadi rasanya akan lebih menarik lagi kalau dibandingkan dengan o3.

 
unqocn 2025-04-14

Saya membacanya dengan sangat menarik. Ternyata logika bisnis bisa diekstrak sampai sejauh ini dari source code yang sudah dibundel... Sepertinya biaya reverse engineering untuk web app berbasis SPA juga akan berkurang secara drastis.

 
xguru 2025-04-14

Wah, saya mau baca tapi blog-nya sedang mengalami error 500.

 
letaem77a 2025-04-14

Sepertinya blog saya sedang tidak stabil. Jika Anda tidak bisa mengaksesnya, Anda dapat membaca isinya di gist.github.com ini.