22 puan yazan GN⁺ 2025-11-06 | 3 yorum | WhatsApp'ta paylaş
  • Windsurf Codemaps, AI tarafından açıklamalar eklenmiş yapısal bir kod haritası olarak geliştiricilerin kod tabanını hızlı ve doğru biçimde anlamasını sağlayan yeni bir kod keşif aracı
  • Mevcut AI kodlama araçları kod yazımını otomatikleştirmeye odaklanırken, Codemaps anlama odaklı mühendisliği hedefliyor ve SWE‑1.5 ile Claude Sonnet 4.5 modelleri üzerinde çalışıyor
  • Kod tabanındaki işlev akışını görsel olarak gösteriyor; doğru kod konumuna anında gitmeyi sağlıyor veya “trace guide” üzerinden ilgili kod gruplarının açıklamalarını göstermeye imkan veriyor
  • Cascade gibi mevcut sohbet tabanlı ajanlara kıyasla bağlam bağlantısı ve keşif verimliliği daha yüksek; @{codemap} referans özelliğiyle ajanın çalışma performansını artırıyor
  • AI, basit bir ikame değil; mühendisin kavrayışını ve sorumluluğunu güçlendiren bir işbirliği aracı olarak konumlanıyor

Kod anlamanın önemi ve Codemaps'in ortaya çıkışı

  • Yazılım geliştirme, basitçe kod yazmak değil, problemi anlamakla başlar
    • AI'nın kodu geliştirici yerine yazdığı araçlar verimliliği artırsa da, geliştirici ile kod arasındaki anlama kopukluğuna yol açabiliyor
    • Yüksek zorluk ve yüksek değer taşıyan işlerde bu ayrışma kritik bir verimsizliğe dönüşebiliyor
  • Cognition, “beyni kapatan AI” değil, “beyni açan AI” gerektiğini vurguluyor
  • Codemaps, SWE‑1.5 ve Claude Sonnet 4.5 tabanlı AI açıklamalı bir kod haritası olarak DeepWiki ve Ask Devin teknolojilerinin genişletilmiş bir biçimi

Neden Codemaps?

  • Her mühendislik işi kodu anlamakla başlar ve büyük kod tabanlarında gezinmek ile ayrıntıları hatırlamak çok zaman alır
    • Yeni mühendislerin tam yetkinliğe ulaşması 3 ila 9 ay, kıdemli mühendislerin ise haftada 5 saatten fazla zamanı onboarding'e gidiyor
    • Stripe araştırmasına göre legacy bakım verimlilik düşüşünün başlıca nedenlerinden biri
  • Mevcut AI kodlama araçları genel soru-cevap akışına odaklı olduğundan, yoğun onboarding ve hassas keşif ihtiyaçlarını karşılayamıyor
  • Codemaps bu sınırlamaları çözmek için tasarlanmış doğru kod tabanlı bir haritalama aracı

Gerçek zamanlı problem odaklı haritalama özellikleri

  • Windsurf içinde Cmd + Shift + C ile çalıştırılıyor; çalışma hedefi girilebiliyor ya da otomatik öneri seçilebiliyor
    • Fast(SWE‑1.5) veya Smart(Sonnet 4.5) modlarından biri seçilebiliyor
    • Her Codemap bir kod anlık görüntüsüne dayanıyor ve ZDR ilkesine uyuyor
  • Görsel düğüm haritası üzerinden kod yapısı keşfedilebiliyor; tıklanınca doğru kod konumuna gidiliyor
  • “See more” seçeneğiyle trace guide açılarak kod gruplarının açıklamaları ayrıntılı biçimde görülebiliyor
  • Cascade içinde @{codemap} çağrılıp belirli bir bölüme referans verildiğinde, ajanın bağlam kavrayışı ve performansı artıyor

‘Vibeslop’a karşı bir yaklaşım

  • “Vibe coding”, ölçüsüz AI kod üretimine dönüşürken, anlaşılmadan sürdürülen kod bakımı önemli bir sorun olarak öne çıkıyor
  • Codemaps, insan ile AI'nın sistem yapısı, veri akışı ve bağımlılıkları ortak biçimde görmesini sağlayarak anlama farkını kapatıyor
  • Mühendisin rolü yazardan sorumlu kişiye (accountability) kayıyor; kalite, anlayış üzerinden güvence altına alınıyor
  • Hedef yalnızca hız değil; mühendisin akışını koruyarak karmaşık problemleri güvenle çözmesine yardımcı olmak
  • AI, basit bir ikame değil; yüksek değerli işleri güçlendiren ve düşük değerli işleri hafifleten bir işbirliği aracı olarak sunuluyor

Gelecek planları

  • Codemaps, dahili ajanların indeksleme ve analiz sonuçlarını insanlar için görselleştiren ilk adım
    • Şu anda ekipler arası paylaşım ve öğrenme amacıyla kullanılabiliyor
    • Gelecekte Devin, Cascade gibi ajanların problem çözme yeteneğini ne kadar geliştirdiği benchmark ile ölçülecek
  • Codemap'ler arası bağlantı ve açıklama özellikleri ile açık .codemap protokolü tanımı değerlendiriliyor
  • Fast Context özelliğiyle birleştirilerek otomatik bağlam mühendisliğinin insanların okuyabileceği bir biçime dönüştürülmesi hedefleniyor
  • Codemaps, Windsurf ve DeepWiki'nin en güncel sürümlerinde kullanılabiliyor

3 yorum

 
galadbran 2025-11-07

deepwiki kullandığım her seferinde hayran kalıyorum; bu yüzden bu özelliği de heyecanla bekliyorum!

 
tested 2025-11-06

Umarım VS Code'a da gelir

 
GN⁺ 2025-11-06
Hacker News görüşleri
  • Bu yazıyı okuyunca aklıma birkaç nokta geldi
    Bu da yine Fortune 500’e yönelik bir yapay zeka ürünü gibi görünüyor. Orta ve küçük ölçekli ekipler için çok uygun olmayabilir
    Aslında bu tür statik analiz tabanlı diyagram araçları uzun zamandır vardı; LLM’in diyagramı onun yerine çizmesi dışında çok büyük bir yenilik yok
    Onboarding sadece bir akış şeması göstermekten ibaret değil; asıl mesele ekibin sahip olduğu problem bağlamını paylaşmak. CRUD ya da MVC gibi boilerplate yapılardansa, ekibimize özgü sıra dışı kalıpları ve kısıtları anlatmak daha önemli

    • Sadece statik analizle görselleştirme yapılırsa neyin gösterileceğine karar verme esnekliği eksik kalır
      LLM’in ürettiği görselleştirmenin avantajı, bu tür muhakeme ve sağduyuyu içermesi sayesinde daha sezgisel olması
    • Ben de bugün xkcd’nin “Lucky 10,000” grubundan biri olmuş gibi hissediyorum
      Böyle statik analiz araçları önerebilecek biri var mı? Mümkünse açık kaynak olsun; Python, Java, JavaScript (özellikle Angular) desteklemesi daha da iyi olur
  • Uzun zaman sonra Windsurf’ü açıp “Upgrade Available” seçeneğine tıkladım, beni bu sayfaya yönlendirdi
    Verilen sudo apt-get upgrade windsurf komutu, fiilen sistemdeki tüm paketleri yükselten riskli bir komut
    Neyse ki ben doğrudan sudo apt-get install --only-upgrade windsurf ile çözdüm
    Her şeye rağmen yeni eklenen Codemaps özelliği oldukça hoş ve denemeye değer

    • apt-get upgrade $PACKAGE şeklindeki sezgisel olmayan sözdizimi gerçekten çok tuhaf. Üstelik doğru kullanım kılavuzda da yok
    • Ekibin bu geri bildirimi görüp hemen düzelttiği söyleniyor
      - sudo apt-get upgrade windsurf
      + sudo apt-get install windsurf
      
    • O sözdiziminin ne gibi bir avantajı olduğunu hâlâ anlamıyorum. Gerçekten kafa karıştırıcı
  • Keşke daha fazla insan Windsurf’ü denese
    Ben kıdemli bir mühendis olarak ajan tarzı kodlama ile normal kodlamayı birlikte yapıyorum ve Windsurf yeterince değer görmeyen bir araç
    Codemaps özelliği ilk çıktığında gerçekten çok sevindim

    • Ben de benzer düşünüyorum. Şirkette Windsurf kullanıyoruz ve UX gerçekten en güçlü yanı
      Codemaps’i birkaç haftadır kullanıyorum ve harika. Kod değişiklikleri arttıkça bakımı zahmetli olabilir ama çözülebilir görünüyor
    • Ben zorunlu giriş ya da ekosistem bağımlılığı olmayan Zed gibi IDE’leri tercih ediyorum
    • Bu yazıyı görünce ben de denemeyi düşünüyorum. abacus.ai IDE, claude CLI gibi çeşitli araçlar kullandım ama hâlâ kusursuz bir iş akışı bulamadım
    • Neden hâlâ VSCode içindeki Copilot konuşulmuyor, merak ediyorum
      Ben Sonnet 4, Sequential Thinking ve Tavily MCP server kombinasyonuyla SaaS prototiplerini hızlıca geliştirdim. Fiyatı da makul
    • Windsurf hayranıyım ama son zamanlarda tamamen Codex’e geçtim. Bulut ortamı aşırı rahat
      Windsurf de iyi ama fiyatlandırma politikası yüzünden şirket genelinde kullanımdan vazgeçtik
  • İlginç bir fikir olsa da, üretilen diyagramlar doğru değilse tersine yanlış anlamalara yol açma riski var
    Sonuçta yine bir insanın dönüp doğrulaması gerekecekse aracın amacı boşa düşüyor

    • Aslında “kodu gerçekten anlamaya çalışan biri” değilse, diyagramlar sadece yöneticiye gösterilecek biçimsel bir çıktı olabilir
  • Bu tür özellikler yalnızca iş bağlamından yoksun kod bağlantı haritaları gösterdiği için pek pratik değil
    Yapay zeka mimarinin “neden” kısmını anlayamıyor. Sonuçta tasarım dokümanlarını okumak ve koda bakmak daha iyi diye düşünüyorum

    • Üstelik birçok iş bağlamı insanların zihninde duruyor. Gerçek mühendis seviyesine ulaşmak için yapay zekanın doğrudan insanlara soru sorması gerekir
    • Ama bağlam açıkça verildiğinde, LLM çıktısının kalitesi kesinlikle artıyor
    • Gelecekte prompt içinde iş bağlamı da yer alırsa yapay zeka o “neden”i de anlayacaktır
    • Aslında kodun içinde de epey fazla iş bağlamı gizli
      Sadece deepwiki örneğine ya da Codemap bağlantısına bakmak bile bunu gösteriyor
      Hata ayıklarken aslında bu kadar bilgi yeterli oluyor
    • Kodlamanın ne zamandan beri bu kadar “iş bağlamı” merkezli hâle geldiğini bilmiyorum. Sadece teknik anlayış bile başlı başına yeterince değerli
  • Bence bu yaklaşım, problemi çözmek için doğru yön
    Yarı çalışan yapay zeka ürünleri yapmak yerine, kod tabanını insanların ve LLM’lerin daha kolay anlayacağı hâle getirmek daha önemli
    Bu tür kendi kendini belgeleyen sistemler, büyük şirketlerde geliştirici yorgunluğunu azaltabilir

    • Ben de iki yaklaşımı birlikte kullanıyorum. Yeni bir kod tabanını anlamaya çalışırken görselleştirme faydalı oluyor ama sonrasında asıl önemli olan yine üretkenlik
  • (ortak yazar) Sorulara açığım!
    1 dakikalık demo videosuna bakabilirsiniz
    Bu, Cognition CTO’su Steven’ın fikriydi. İlgi odağı olmaktan hoşlanmaz ama bu kez gerçekten çok iyi iş çıkardı
    Onun tweet’i de incelenebilir

    • Büyük ölçekli kod tabanlarında da iyi çalıştığını gösteren örnekler var mı, merak ediyorum. Küçük projeler LLM ile idare eder ama asıl sınav karmaşık kod tarafında
    • Bir önerim var — Codemaps’i yan panel yerine ana panelde de görüntüleyebilsek harika olurdu. Şu an fazla dar
  • 3 yıl önce benzer bir fikirle bir yan proje yapmıştım
    LLM’ler ortada yokken, Go ve Java kodları arasındaki ilişkileri çıkarmak için doğrudan bir AST parser yazmış ve bunu Graphviz ile görselleştirmiştim
    Düzenli ifade tabanlı filtreler de eklemiştim; yabancı bir kod tabanını anlamaya çalışırken gerçekten çok işe yarıyordu
    Şimdi hâlâ packagemap.co üzerinde duruyor ama epey eskidi

    • Ben de benzer bir şey yapmıştım; bu kez Go dili için 3D görselleştirme idi
      Amaç, geliştiricinin kod yapısını mekânsal olarak kavraması ve VR ortamında bağlamı görerek çalışmasıydı
      İlgili yazı burada
  • Özellik önerisi: Bir Github Action ile depo için Codemap otomatik üretilip README’ye eklense ve önemli PR’larda otomatik güncellense güzel olur

  • Kod görselleştirme fikri hoş ama bazen “kötü fikirlere kapılma” riski taşıyor
    Çoğu diyagram vermek istediği anlamı iyi aktaramıyor, hatta tersine yorumlamak için ekstra zaman gerektiriyor
    İnsanlar gerçekte kod ya da matematik okurken zihinlerinde kendilerine ait görselleştirme modelleri kuruyor
    Örneğin bir Flutter uygulamasını görselleştirdiniz ama widget tree yapısı görünmüyorsa, bu benim zihinsel modelimle çelişir
    Sonuçta bu tür görselleştirme, roman okurken kafada sahnelerin canlanmasına benziyor
    LLM’in “görmek istediğim kod filmini” üretecek teknoloji olup olmadığından henüz emin değilim