Wawancara
Itamar Friedman, CEO & Co-Founder of CodiumAI – Interview Series

Itamar Friedman, adalah CEO dan Co-Founder dari CodiumAI. Codium fokus pada sisi “integritas kode” dari generasi kode — menghasilkan tes otomatis, penjelasan kode, dan tinjauan. Mereka telah merilis penelitian tentang menghasilkan solusi kode untuk tantangan pemrograman kompetitif yang mengungguli Google DeepMind.
Kapan dan bagaimana Anda awalnya tertarik dengan AI?
Pada 2009, saya bekerja di Mellanox (Acq. oleh NVIDIA (NVDA )) dan belajar teknik elektro. Menyadari bahwa banyak proses pengembangan yang membosankan di Mellanox dapat diotomatisasi oleh algoritma pembelajaran mesin, saya mengubah jurusan saya ke optimasi dan pembelajaran mesin dan menyelesaikan MSc di bidang tersebut. Pada 2010 saya sudah bekerja pada proyek pembelajaran dalam (dengan 3 lapis jaringan saraf dalam) yang meletakkan dasar untuk waktu saya di Alibaba di mana saya memimpin grup penelitian yang mengkhususkan diri dalam pencarian arsitektur neural, pelatihan model, dan membangun alat AutoML untuk pengembang. Sekitar 2021, saya tidak malu untuk menyebut pekerjaan kami “AI”, karena model bahasa besar menjadi alat yang kuat, dan imajinasi saya tentang apa yang dapat dicapai dengan mereka tumbuh.
Startup sebelumnya Anda, Visualead, yang berfokus pada penglihatan komputer, akhirnya diakuisisi oleh Alibaba Group, apa itu startup, dan apa beberapa kesimpulan kunci dari pengalaman ini?
Visualead mengkhususkan diri dalam memindai logo, QR Code, dan semua yang ada di antaranya, termasuk mengamankan dan menyembunyikan informasi dalam gambar untuk memungkinkan transaksi P2P yang aman dan keterlibatan. Di Visualead, kami telah menjalankan algoritma pada perangkat mobile sejak 2012, termasuk model. Ini adalah tantangan dan trik melakukan itu pada hari itu, dan kami belajar banyak tentang membangun model yang efisien dan pengamanan around these statistical creatures.
Sampai hari ini saya masih menerapkan pelajaran yang dipelajari dari waktu itu ke proyek saat ini yang saya lakukan – misalnya, ketika kami membangun alat solusi generasi sumber terbuka AlphaCodium kami memperkenalkan konsep Flow Engineering dan menerapkan konsep ini untuk membangun aliran untuk mengamankan output model LLMs.
Apakah Anda dapat berbagi cerita genesis di balik peluncuran CodiumAI?
Di Alibaba, saya melihat langsung bagaimana bug dalam kode dapat menyebabkan masalah sebesar jutaan dolar dan tantangan yang dihadapi pengembang untuk mempertahankan generasi kode tanpa mengorbankan kualitas atau integritas. Masalah ini bertahan, dan hari ini kode berkualitas rendah telah dikaitkan dengan masalah sebesar triliun dolar yang terus tumbuh.
Tim di CodiumAI mengkhususkan diri dalam membangun alat yang ditenagai AI pada skala besar dan didorong untuk mengatasi titik sakit yang dihadapi pengembang. Dengan kelahiran kemampuan LLM dan AI baru, kami memahami bahwa ini adalah kesempatan kami untuk membangun platform integritas kode holistik untuk membantu tim sibuk seperti kami mengurangi bug dan memitigasi masalah integritas lainnya. Ketika kode yang dihasilkan oleh AI semakin banyak, masalah pengujian kode ini dan memastikan bahwa kode tersebut berfungsi sebagaimana dimaksud menjadi titik sakit kritis dan salah satu yang kami dorong untuk menyelesaikannya. Membangun alat yang ditenagai AI pada skala besar, dan oleh karena itu pengujian adalah konsep penting bagi kami.
Sebagai sekelompok pengembang berpengalaman, kami memahami; menangani tugas yang membosankan seperti pengujian dan tinjauan kode bisa sangat menjengkelkan. Kami sangat termotivasi untuk akhirnya memungkinkan tim sibuk seperti kami meningkatkan dan mengelola integritas kode mereka.
Apakah Anda dapat menjelaskan jenis analisis non-trivial yang dilakukan CodiumAI pada kode, dan bagaimana ini mendukung pengembang dalam meningkatkan kualitas kode?
Sampai baru-baru ini, alat yang ada yang tersedia untuk pengembang menawarkan sedikit nilai – tetapi dengan kedatangan LLM (ChatGPT, Copilot, dll.) kemampuan mulai melampaui harapan, dan dukungan yang tersedia untuk pengembang tidak lagi sepele.
Agen Codiumate yang dikembangkan oleh CodiumAI menawarkan pengembang alat unik untuk meningkatkan alur kerja mereka dan meningkatkan generasi kode. Codiumate menyederhanakan proses pengembangan dengan menyediakan bantuan otomatis sepanjang tugas pengkodean. Menggunakan cuplikan kode yang ada yang ditandai pengembang manusia di lingkungan mereka, agen dapat secara otomatis menggambar rencana pengembangan yang mudah diikuti dan kohesif, menulis kode sesuai dengan rencana tersebut, mengidentifikasi kode duplikat yang mungkin ingin digunakan atau dihapus pengembang, menggambar dokumentasi, dan menyarankan tes untuk memastikan kode berfungsi dengan benar sebelum diterapkan dalam lingkungan langsung.
Codiumate menyediakan analisis perilaku mendalam – menerangi perilaku dan cabang yang mungkin kode-uji tercakup. Ini memungkinkan pengembang untuk mengeksaminasi kode yang dihasilkan dan membuat tes yang (cabang) mencakup semua perilaku, sehingga meningkatkan kode lebih dari jika pengembang telah mempertimbangkan semua kasus yang mungkin.
Apa fungsi spesifik yang ditawarkan PR-Agent untuk analisis permintaan tarik, dan bagaimana ini menyederhanakan proses tinjauan pada platform seperti GitHub dan GitLab (GTLB )?
PR-Agent menawarkan berbagai fungsi yang dirancang untuk meningkatkan dan menyederhanakan proses analisis dan tinjauan permintaan tarik (PR) di berbagai penyedia git.
Pembuatan Deskripsi PR Otomatis secara otomatis menghasilkan deskripsi yang komprehensif dan terperinci untuk permintaan tarik. Fitur ini menangani masalah umum di mana pengembang mungkin melewatkan deskripsi PR yang terperinci karena keterbatasan waktu atau kelalaian. Dengan deskripsi yang dihasilkan secara otomatis, setiap PR dilengkapi dengan konteks yang cukup, membuatnya lebih mudah bagi peninjau untuk memahami perubahan tanpa perlu menerjemahkan kode diff secara ekstensif. Kami juga membangun tinjauan PR otomatis untuk memberikan pengembang dengan gambaran komprehensif tentang PR yang memungkinkan mereka untuk menemukan masalah potensial seperti bug, kerentanan keamanan, atau bau kode proaktif. Umpan balik ini memungkinkan pengembang untuk membuat koreksi sebelum proses tinjauan, sehingga meningkatkan kualitas kode yang mencapai peninjau.
Dengan menggunakan AI, saran kode otomatis juga dapat menyarankan perbaikan atau implementasi alternatif langsung dalam antarmuka PR. Saran ini bisa berupa optimasi, kepatuhan terhadap standar pengkodean, atau bahkan peningkatan arsitektur, membantu meningkatkan kualitas basis kode secara bertahap.
PR-Agent mendukung berbagai opsi untuk menyesuaikan perintah yang ditawarkan. Salah satu opsi penyesuaian yang paling berguna adalah penggunaan label kustom untuk meningkatkan organisasi dan manajemen permintaan tarik pada platform seperti GitHub dan GitLab. Fungsi ini berkontribusi pada efisiensi operasional dan kejelasan proses pengembangan dan tinjauan.
Bagaimana CodiumAI menghasilkan tes yang bermakna, dan apa yang membuat tes ini lebih efektif daripada tes unit standar?
Kami meningkatkan generasi tes dengan memindai repositori kode untuk cuplikan kode yang relevan dengan kode yang diuji. Menggunakan prompt chain-of-thought untuk memetakan semua perilaku kode yang mungkin, termasuk jalur tipikal dan kasus tepi, pendekatan kami menggunakan pengambilan konteks dan prompt kustom yang disesuaikan dengan bahasa pemrograman yang berbeda, memasukkan pengetahuan ahli domain untuk memastikan tes memenuhi standar industri. Selain itu, CodiumAI mengatur lingkungan runtime khusus untuk mendeteksi bug dan menghasilkan tes self-healing. Kemampuan ini membuat tes yang dihasilkan oleh CodiumAI lebih komprehensif daripada tes unit standar, yang sering melewatkan perilaku yang tidak diinginkan karena bias bawaan pengembang dan keterbatasan dalam memprediksi semua skenario yang mungkin. Ini menghasilkan tes yang tidak hanya menyeluruh tetapi juga lebih efektif dalam mengungkap bug halus dan kasus tepi.
Berdasarkan umpan balik pengguna, apa fitur yang paling dihargai dari CodiumAI, dan bagaimana fitur ini mempengaruhi produktivitas pengembang?
Berdasarkan umpan balik yang kami terima, kami melihat bahwa fitur /ask dengan konteks blok kode dan /generasi tes dari agen Codiumate sangat dicari dan meningkatkan alur kerja pengembang.
Dengan /ask dengan konteks blok kode (lihat dokumentasi di sini: /ask) pengembang dapat mengajukan pertanyaan terbuka tentang kode mereka, atau meminta perbaikan kode atau tinjauan selama sesi obrolan gratis. Fitur ini sangat bermanfaat untuk mendapatkan pemahaman yang lebih dalam tentang basis kode, karena model mempertahankan konteks penuh proyek, memungkinkan untuk menangani pertanyaan yang sangat terperinci dan spesifik.
Alat /generasi tes (lihat dokumentasi di sini: /test) memungkinkan pengembang untuk menghasilkan suite tes komprehensif untuk kode mereka dengan hanya satu klik. Menjelajahi perilaku kode, mengidentifikasi dan memecahkan bug dengan cepat, dan dengan cepat meningkatkan cakupan kode adalah aset besar bagi produktivitas.
Fungsi /review (lihat dokumentasi di sini – /review) dari PR Agent memindai perubahan kode PR dan secara otomatis menghasilkan tinjauan PR untuk menangkap masalah sebelum pengembang mendorong ke produksi. Fungsi
/describe (lihat dokumentasi di sini – /describe) memindai perubahan kode PR, dan menghasilkan deskripsi untuk PR – judul, jenis, ringkasan, walkthrough, dan label yang menghemat waktu dan energi pengembang yang dapat mereka terapkan pada tugas yang lebih menantang atau kreatif.
Bagaimana CodiumAI mengidentifikasi kasus tepi dan perilaku mencurigakan dalam kode?
Alat kami memindai repositori pengembang untuk cuplikan kode yang relevan dengan kode yang diuji, dan menggunakan prompt chain-of-thought, kami memetakan semua perilaku kode yang mungkin dan menampilkan kepada pengembang. CodiumAI dapat mengidentifikasi perilaku mencurigakan secara langsung (terlepas dari generasi tes), dengan mengidentifikasi inkonsistensi atau ketidaksesuaian antara cuplikan kode yang berbeda, atau cuplikan kode dan dokumentasi yang menyertainya.
CodiumAI mendukung bahasa pemrograman utama; dapatkah Anda menjelaskan bagaimana ini menangani nuansa bahasa spesifik dalam analisis kode dan generasi tes?
Untuk bahasa pemrograman utama, platform kami melampaui dukungan dasar dengan menerapkan teknik khusus. Ini termasuk pengambilan konteks dan prompt kustom yang disesuaikan dengan sintaks dan semantik bahasa yang unik. Prompt kustom ini memasukkan pengetahuan ahli domain untuk mencapai hasil industri. Selain itu, kami menyediakan kemampuan untuk mengatur lingkungan runtime khusus untuk bahasa ini, yang meningkatkan kemampuan alat kami untuk mendeteksi bug dan menghasilkan tes self-healing secara efektif.
Untuk bahasa yang kurang umum, kami menggunakan model bahasa besar (LLM) yang secara inheren memahami beberapa bahasa pemrograman. Ini dilengkapi dengan infrastruktur konteks umum dan sistem prompt adaptif kami, yang bersama-sama memfasilitasi analisis kode dan generasi tes yang akurat di berbagai lingkungan pemrograman. Dengan menggunakan pendekatan dual-level, kami dapat memastikan dukungan komprehensif terlepas dari bahasa pemrograman yang digunakan.
Apa peningkatan masa depan yang direncanakan untuk CodiumAI untuk lebih mendukung dan menyederhanakan tugas pengembang?
Strategi pengembangan CodiumAI di masa depan menekankan pada peningkatan suite alat AI yang tersedia untuk terintegrasi secara mulus di semua tahap siklus hidup pengembangan perangkat lunak. Dengan menggunakan prinsip flow-engineering yang canggih untuk menyederhanakan dan menyederhanakan alur kerja pengembang, agen kami akan menyediakan nilai signifikan di berbagai tahap pengembangan. Selain itu, CodiumAI berkomitmen untuk memastikan bahwa alat ini unggul dalam menangani kode dan skenario teks dunia nyata yang kompleks, membuatnya menjadi alat yang tak tergantikan dalam tugas pemrograman sehari-hari. Pendekatan holistik ini bertujuan untuk meningkatkan penawaran kami sebagai alat yang kuat, digunakan sehari-hari untuk pengembang, meningkatkan produktivitas dan efisiensi dalam proses pengembangan perangkat lunak.
Terima kasih atas wawancara yang luar biasa, pembaca yang ingin mempelajari lebih lanjut harus mengunjungi CodiumAI.












