Röportajlar
Itamar Friedman, CodiumAI CEO & Kurucu Ortağı – Röportaj Serisi

Itamar Friedman, CodiumAI‘nın CEO’su ve kurucu ortağıdır. Codium, kod oluşturmağın “kod bütünlüğü” yönüne odaklanır – otomatik testler, kod açıklamaları ve incelemeleri oluşturur. Rekabetçi programlama zorlukları için Google DeepMind’i geride bırakan kod çözümleri oluşturma konusunda araştırma yayınlamışlardır.
AI ile ilk olarak ne zaman ve nasıl ilgilenmeye başladınız?
2009 yılında Mellanox’ta (NVIDIA tarafından satın alındı) çalışıyordum ve elektrik mühendisliği okuyordum. Mellanox’taki birçok sıkıcı geliştirme sürecinin makine öğrenimi algoritmaları ile otomatikleştirilebileceğini fark edince, ana dalımı optimizasyon ve makine öğrenimine çevirdim ve bu alanda yüksek lisansımı tamamladım. 2010 yılına gelindiğinde zaten 3 katmanlı derin öğrenme projesi üzerinde çalışıyordum ve bu, Alibaba’da nöral mimari arama, model eğitimi ve geliştiriciler için AutoML araçları uzmanlaşmış bir araştırma grubunu yönettiğim süre için temel oluşturdu. 2021 yılına gelindiğinde, büyük dil modelleri güçlü araçlar haline geldiği ve benimle birlikte neler başarabileceğim hakkında hayal gücüm genişlediğinden, bizim çalışmalarımızı “AI” olarak adlandırmaktan utanmıyorlardı.
Önceki bilgisayar vizyonu odaklı startupınız Visualead, sonunda Alibaba Group tarafından satın alındı. Bu startup nedir ve bu deneyimden neler öğrendiniz?
Visualead, logoları, QR Kodlarını ve aralarındaki her şeyi, güvenli P2P işlemlerine ve etkileşimlere olanak tanıyan ve bilgileri resimlere gizleyen bir uzmanlık alanıydı. Visualead’de, 2012 yılından itibaren mobil cihazlarda algoritmalar çalıştırıyorduk, modeller de dahil olmak üzere. O günlerde bunu yapmak zor ve hileliydi ve verimli modeller oluşturma ve bu istatistiksel yaratıklar etrafında koruma duvarları oluşturma konusunda çok şey öğrendik.
Bugüne kadar, o dönemde öğrendiğim dersleri masih geçerli projelere uyguluyorum – Örneğin, açık kaynaklı çözüm oluşturma aracı AlphaCodium‘u inşa ettiğimizde, Akış Mühendisliği kavramını tanıttık ve bu kavramı LLM’lerin çıkışını güvence altına almak için bir akış oluşturmaya uyguladık.
CodiumAI’yi başlatma hikayesini paylaşabilir misiniz?
Alibaba’da, bir kod hatasının milyonlarca dolarlık bir sorunlara yol açabileceğini ve geliştiricilerin kod oluşturma sırasında kalite veya bütünlükten ödün vermeden nasıl mücadele ettiklerini gördüm. Bu sorun devam ediyor ve bugün düşük kaliteli kod, büyüyen bir trillion dolarlık sorunla ilişkilendiriliyor.
CodiumAI ekibi, büyük ölçekli AI güçlendirilmiş araçlar oluşturma konusunda uzmanlaşmış ve geliştiricilerin karşılaştığı ağrı noktalarını ele alma konusunda motive olmuş bir ekibimiz var. Yeni LLM ve AI yeteneklerinin doğuşu ile, bu bizim için kapsamlı bir kod bütünlüğü platformu oluşturma fırsatıydı. AI tarafından üretilen daha fazla kod ile, bu kodu benchmarking etme ve amacına uygun çalıştığından emin olma sorunu kritik bir ağrı noktası haline geldi ve bunu çözmeye motive olduk. Büyük ölçekli AI güçlendirilmiş araçlar oluşturma ve bu nedenle benchmarking, bizim için temel bir kavramdır.
Deneyimli geliştiricilerden oluşan bir grup olarak, bunu anlıyoruz; testler ve kod incelemeleri gibi monoton görevlerle uğraşmak sinir bozucu olabilir. Misyonumuz, yoğun takımların kod bütünlüğünü artırmasına ve yönetmesine olanak tanımak.
CodiumAI, geliştiricilerin kod kalitesini iyileştirmelerine nasıl destek olan ve hangi tür non-trivial analizler yapıyor?
Şimdiye kadar mevcut olan araçlar, geliştiricilere little değer sunuyorlardı – ancak LLM’lerin (ChatGPT, Copilot vb.) yetenekleri beklentileri aşmaya başladığında, geliştiricilere sunulan destek artık önemsiz değil.
CodiumAI tarafından geliştirilen Codiumate Kodlama-Ajansı, geliştiricilere benzersiz araçlar sunar ve iş akışlarını iyileştirir. Codiumate, geliştirme sürecini, mevcut kod parçalarını otomatik olarak birleştirerek, bir geliştiricinin ortamında vurguladığı, kolayca izlenebilen ve tutarlı bir geliştirme planı oluşturur, bu plana göre kodu yazar, geliştiricinin kullanmak veya kaldırmak istediği tekrarlanan kodu tespit eder, belgeleme taslakları oluşturur ve kodu canlı ortama dağıtmadan önce düzgün çalıştığından emin olmak için testler önerir.
Codiumate, geliştiricilere derinlemesine davranış analizi sunar – kodun kapsayabileceği olası davranışları ve dalları aydınlatır. Bu, geliştiricilerin oluşturulan kodu incelemesine ve tüm davranışları kapsayan testler oluşturmasına olanak tanır, böylece geliştiricinin kendi başına tüm olası durumları hesaba katmasından daha iyi bir kod kalitesi sağlar.
PR-Ajansı, çekme isteği analizi için hangi özel işlevleri sağlar ve GitHub ve GitLab gibi platformlardaki inceleme sürecini nasıl basitleştirir?
PR-Ajansı, çekme isteği (PR) analizi ve inceleme sürecini çeşitli git sağlayıcıları genelinde güçlendirmek ve basitleştirmek için tasarlanmış bir dizi işlev sunar.
Otomatik PR Açıklaması Oluşturma, çekme istekleri için kapsamlı ve ayrıntılı açıklamalar otomatik olarak oluşturur. Bu özellik, geliştiricilerin zaman kısıtlamaları veya ihmaller nedeniyle ayrıntılı PR açıklamalarını atlayabileceği ortak sorunları ele alır. Otomatik açıklamalar ile her PR, inceleyicilerin kodu geniş çapta çözümlemesine gerek kalmadan değişiklikleri anlamalarına yeterli bağlamla donatılır. Ayrıca, otomatik PR inceleme özelliği, geliştiricilere PR’nin kapsamlı bir görünümünü sunar ve potansiyel sorunları, hataları, güvenlik açıklarını veya kod kokularını proaktif bir şekilde yakalar. Bu önleyici geri bildirim, geliştiricilerin düzeltmeleri inceleme sürecinden önce yapmasına ve böylece inceleme aşamasına ulaşan kod kalitesini artırmasına olanak tanır.
AI’nin gücünü kullanarak, otomatik kod önerileri de PR arayüzü içerisinde doğrudan iyileştirmeler veya alternatif uygulamalar önerebilir. Bu öneriler, optimizasyonlar, kodlama standartlarına uyma veya hatta mimari iyileştirmeler olabilir ve kod tabanının kalitesini artırmaya yardımcı olur.
PR-Ajansı, sunduğu komutları özelleştirmek için birçok seçeneği destekler. En faydalı özelleştirme seçeneklerinden biri, GitHub ve GitLab gibi platformlardaki çekme isteklerinin organizasyonunu ve yönetimini iyileştirmek için özel etiketler kullanma olanağıdır. Bu işlev, geliştirme ve inceleme süreçlerinin operasyonel verimliliğine ve berraklığına katkıda bulunur.
CodiumAI, anlamlı testleri nasıl oluşturur ve bu testler standart birim testlerinden daha etkili nasıl olur?
Kod depolarını, test edilen kod ile ilgili ilgili kod parçalarını taramak suretiyle test oluşturmayı güçlendiriyoruz. Zincir düşünce ipuçlarını kullanarak tüm olası kod davranışlarını, tipik yolları ve kenar durumlarını haritalandırıyoruz. Bu yaklaşım, bağlam özgüllüğü olan kod parçalarını alma ve farklı programlama dillerine özgü uyarlanmış ipuçlarını kullanma yeteneğini içerir ve sektörün standartlarına uygun testler oluşturmak için uzman bilgisi entegre eder. Ek olarak, CodiumAI, hataları daha iyi tespit etmek ve kendi kendini iyileştirme testleri oluşturmak için bu diller için özel olarak hazırlanmış çalışma zamanı ortamları kurar. Bu yetenekler, CodiumAI tarafından oluşturulan testlerin, geliştiricilerin doğal önyargıları ve tüm olası senaryoları öngörme sınırlamaları nedeniyle genellikle kaçırdıkları ince hataları ve kenar durumlarını ortaya çıkarmada daha kapsamlı ve etkili olmasını sağlar.
Kullanıcı geri bildirimi temelinde, CodiumAI’nin en değerli özellikleri nelerdir ve bu özellikler geliştiricilerin üretkenliğini nasıl etkilemiştir?
Kullanıcı geri bildirimi temelinde, Codiumate aracının /sor ile kod bloğu bağlamı ve /test oluşturma özellikleri, geliştirici iş akışını iyileştirme ve geliştirme sürecini basitleştirme konusunda yüksek talep görmektedir.
/sor ile kod bloğu bağlamı (dökümantasyon burada: /sor) özelliği, geliştiricilerin kodları hakkında açık sorular sormasına veya kod iyileştirmeleri veya incelemeleri istemesine olanak tanır. Bu özellik, özellikle kod tabanını derinlemesine anlamak için faydalıdır, çünkü model, projenin tam bağlamını korur ve böylece çok spesifik ve ayrıntılı sorulara cevap verebilir.
/test oluşturma (dökümantasyon burada: /test) aracı, geliştiricilerin tek bir tıklamayla kapsamlı test takımları oluşturmasına olanak tanır. Kod davranışını keşfetme, hataları hızlı bir şekilde tespit etme ve kod kapsamını hızla genişletme, üretkenlik için büyük bir avantajdır.
PR Ajansı /inceleme (dökümantasyon burada – /inceleme) fonksiyonu, PR kod değişikliklerini taramak ve otomatik olarak bir PR inceleme oluşturmak için kullanılır.
/tanım (dökümantasyon burada – /tanım) fonksiyonu, PR kod değişikliklerini taramak ve PR için bir tanım oluşturur – başlık, tür, özet, rehber ve etiketler. Bu, geliştiricilerin zaman ve enerjisini daha zorlu veya yaratıcı görevlere odaklamalarına olanak tanır.
CodiumAI, kodda kenar durumlarını ve şüpheli davranışları nasıl tespit eder?
Araçlarımız, geliştiricinin depolarını, test edilen kod ile ilgili ilgili kod parçalarını taramak suretiyle çalışır ve zincir düşünce ipuçlarını kullanarak tüm olası kod davranışlarını haritalandırır ve bunları geliştiriciye gösterir. CodiumAI, test oluşturma dışında doğrudan şüpheli davranışları da tespit edebilir – bu, kod parçaları arasındaki tutarsızlıkları veya kod parçaları ile eşlik eden belgeler arasındaki tutarsızlıkları tespit etmeyi içerir.
CodiumAI, büyük programlama dillerini destekler; dil özgüllüğü olan kod analizi ve test oluşturma nasıl ele alır?
Ana programlama dilleri için, platformumuz temel desteğin ötesine geçer ve her dilin benzersiz sözdizimi ve semantiğine özgü teknikler uygular. Bu, dil-alanına özgü uzman bilgisi entegre eden ve sektörün standartlarına uygun sonuçlar elde etmeyi sağlayan, her dile özgü uyarlanmış ipuçlarını kullanma yeteneğini içerir. Ayrıca, bu diller için özel olarak hazırlanmış çalışma zamanı ortamları kurma yeteneği sunar ve bu, araçlarımızın hataları tespit etme ve kendini iyileştirme testleri oluşturma yeteneğini artırır.
Daha az yaygın diller için, çoklu programlama dillerini anlayan büyük dil modellerini (LLM’ler) kullanırız. Bu, genel bağlam altyapımız ve uyarlanabilir ipuçları sistemimiz ile birlikte, çeşitli programlama ortamları genelinde doğru kod analizi ve test oluşturmayı sağlar. Çift düzeyli bir yaklaşım kullanarak, programlama dilinden bağımsız olarak kapsamlı desteği sağlayabiliriz.
CodiumAI için planlanan gelecek iyileştirmeler nelerdir ve bunlar geliştiricilerin görevlerini nasıl basitleştirecektir?
CodiumAI’nin gelecekteki gelişim stratejisi, yazılım geliştirme yaşam döngüsünün tüm aşamalarında sorunsuz entegrasyon sağlayan AI araçları setini güçlendirmeyi vurgulamaktadır. Geliştiricilerin iş akışlarını basitleştirmek ve akış mühendisliği ilkelerini kullanarak iyileştirmek için, ajanlarımız önemli değer katacaklardır. Ayrıca, CodiumAI, araçlarının karmaşık, gerçek dünya kodları ve metin senaryolarını ele alma yeteneğini garantilemeye odaklanmıştır, bu da onları günlük programlama görevleri için vazgeçilmez kılar. Bu kapsamlı yaklaşım, teklifimizi güçlü, günlük kullanım aracı olarak konumlandırarak, üretkenliği ve verimliliği artırarak geliştiricilere destek olmayı hedeflemektedir.
Harika röportaj için teşekkür ederiz, daha fazla bilgi edinmek isteyen okuyucular CodiumAI sitesini ziyaret edebilir.












