Gündeme dön

Vibe Coding Bitti mi? JetBrains ve DeepLearning.AI'den Spec-Driven Geliştirme Dersi

Andrew Ng'nin sunduğu ve JetBrains'ten Paul Everitt'in anlattığı 1 saat 16 dakikalık kurs, tek bir dağınık prompt yerine yaşayan bir YouTube — DeepLearningAI: Full Course Spec-Driven Development ile ajanlara net şartname yazmayı öğretiyor; Agent Clinic üzerinde anayasa, dal başına özellik ve insan onaylı doğrulama döngüsünü adım adım gösteriyor.

Nodesdaily’e aktarım: (UTC+03:00)
YouTube'da izle — hy8UstR2NEg
Okuma seçenekleri

Bu tarayıcıda cihazdan sesli okuma kullanılamıyor.

Kavram merceği

Bu görünümde geçen teknik kavramlardan birini seç. Genel tanımı, öğretici örneği ve haberdeki kullanımını birlikte oku.

Bu görünümde sözlüğümüzdeki kavramlardan biri bulunmadı. Sözlük henüz tüm terimleri kapsamıyor.

Kursun açılışı samimi bir şakayla başlıyor: Andrew Ng, JetBrains iş birliğiyle hazırlanan bu derste spec-driven development yaklaşımının ciddi ürünler için en iyi ajanlı iş akışı olduğunu söylüyor. Eğitmen Paul Everitt, Developer Advocate olarak, ajana uzun bir markdown şartname vermekle işe başladığınızı ve kodun değil, ajanın bilmediği bağlamı yazmanın esas görev olduğunu vurguluyor. Tıpkı bir mimarın ustaya çizim vermesi gibi, siz niyeti tanımlıyorsunuz, ajan uygulamayı üstleniyor.

Burada şartname (MoE gibi teknik bir terim değil, yaşayan sözleşme demek) üç soruya cevap veriyor: neyi inşa edeceğiz, neden ve hangi sınırlar içinde. Doğru düzey, ajanı yetenekli bir pair programmer gibi görmekten geçiyor; hedefler, kitle, kısıtlar ve başarı ölçütleri sizde, değişken adları ve döngü optimizasyonları ajanda kalıyor. Videoya göre 20-30 dakikalık ajan çalışması saatlerce insan emeğine eşdeğer olabiliyor, o yüzden 3-4 dakikalık net talimat çok kârlı.

Videonun iskeletini üç temel fayda oluşturuyor ve kurs boyunca tekrar ediyor. Birincisi, şartnamedeki tek cümle yüzlerce satır kodu tetikler; ikincisi, şartname oturumlar arası bağlam çürümesini durdurur; üçüncüsü, niyet sadakatini artırır. Bu üçlü, dağınık prompt'ların neden borç ürettiğini ve şartnamenin neden kalıcı bir teknik eser sayıldığını açıklıyor.

Şartnameyi Küçük Tut, Etkiyi Büyük Al

Küçük şartname, büyük kaldıraç fikri en somut örneklerle anlatılıyor: metinde "SQLite ve Prisma kullan" yazmak stili ve şemayı yüzlerce dosyaya yayar, aynı cümleyi "MongoDB kullan" diye değiştirmek aynı etkiyi ters yönde yaratır. Bir uygulamanın görünümü için yazdığınız birkaç satır, yüzlerce satır CSS'e dönüşebilir. Bu kaldıraç, bilişsel yükü azaltır; ajan hızlıdır, siz sadece kaldıraç noktasını doğru yazarsınız.

İkinci fayda doğrudan hafıza sorununu hedefler. Ajanlar durumsuz başlar, pencere doldukça hata artar. Şartname oturumlar ve hatta farklı ajanlar arasında taşınan en kaliteli bağlam paketidir; vazgeçilmezleri korur. Video, anayasanın (constitution) bu yüzden ajan-agnostik ve yapılandırılmış tutulduğunu, `agents.md` gibi tek dosyalık çözümlerden daha kalıcı bir sözleşme kurduğunu söylüyor.

Üçüncü fayda niyet sadakati : problem, başarı ölçütü, kısıtlar ve kullanıcı akışları baştan yazılınca ajan planı genişletebilir ama hedeften sapmaz. Aksi halde kararlar ajanın rastgele seçimlerine kalır; hızlısınız ama ürün tuhaf ve bakımı zor olur. Nitekim videoda, şartnamesiz çalışan birden fazla ekibin aynı kod tabanında çelişkili yönlerde hızla inşa yaparak nasıl baş ağrısı ürettiği örnekleniyor.

Vibe Coding Neden Ölçeklenmez

Bu noktada vibe coding ile ayrım netleşiyor. Vibe'da "bana bir buton yap" dersiniz, sonucu beğenmezseniz "düzelt" dersiniz; uzun bir sohbet birikir ama hiçbiri kaydedilmez. Bir buton için işe yarar, büyük projede tek kullanımlık kod ve tırmanan teknik borca dönüşür. Spec-driven ise mühendisliği geri getirir: şartname ile uygulama ayrışır, tıpkı derleyicinin kaynak kodu makine koduna çevirmesi gibi, şartname de istemi kaynak koda çevirir ve insan dilinde olduğu için paydaşlar da okuyabilir.

Videoya göre spec-driven son dönemde verimlilik kaygılarıyla ivmelendi; araçlar, konferans konuşmaları ve niyet yakalama pratikleri bir mühendislik geri dönüşü olarak çoğaldı. Burada asistan bir sohbet botu değil, kod tabanınıza ve araçlarınıza erişen, plan yapan ve kendini yönlendiren bir ajan (agent) olarak tanımlanıyor. Siz kıdemli mimar, ajan ise bilgi ve hız sağlayan yetenekli bir eş programcı; kas ajan, beyin şartname.

Peki iş akışı nasıl görünüyor? İlk adım anayasa yı yazmak: misyon (neden), teknoloji yığını (hangi araçlarla) ve yol haritası (hangi sırayla). Misyon kitleyi ve vizyonu, yığın ekipler arası ortak dili, yol haritası ise küçük adımlara bölünmüş fazları taşır. Video, anayasanın yeşil alan (sıfırdan) projede ajanla sohbet ederek, kahverengi alan (mevcut kod) projede mevcut koddan geriye doğru çıkarılarak üretilebildiğini, her iki halde de sonraki özellik döngülerinin aynı kaldığını vurguluyor.

Kursa özgü örnek Agent Clinic : Pet Clinic'in eğlenceli bir parodisi, ajanların halüsinasyon, bağlam çürümesi ve alt-ajan koordinasyonu gibi dertlerine derman arayan bir klinik. Next.js + React + TypeScript ile tam yığın bir uygulama; randevular, rahatsızlıklar ve "bağlam infüzyonu" gibi tedaviler yönetiliyor. Anayasa, paydaş girdisinin yer aldığı readme üzerinden ajanla diyalogla üretiliyor; ajan ton, yığın ve faz granülaritesi için iyi sorular soruyor.

Anayasa yazımı pratikte bir mülakat gibi işliyor: ajan "misyon tonu nasıl olsun?" diye soruyor, cevap "eğlenceli"; yığın için TypeScript, yol haritası için küçük adımlar seçiliyor ve üç dosya (`mission.md`, `tech-stack.md`, `roadmap.md`) oluşuyor. İlk sürümde hedef kitle eksikse doğrudan dosyayı elle düzeltmek yerine ajana söylemek tercih ediliyor ki belgeler senkron kalsın. SQLite önerisi de ajan tarafından geliyor; basit prototip için mantıklı bulunuyor ve yığına ekleniyor.

Anayasadan Özelliğe: Branch Başına Bir Döngü

Sonra her özellik aynı döngüde ilerliyor: dallanma, planla, uygula, doğrula . Yeni bir dalda, taze ajan bağlamıyla anayasadan beslenen bir plan görüşmesi yapılıyor; görev grupları, gereksinimler ve doğrulama ölçütleri netleşiyor. İlk özellik "hello hano" gibi minimal başlasa bile plan, gereksinim ve doğrulama birlikte yazılıyor; ana sayfa gibi küçük bir güzelleştirme bile şartnameye eklenip commit ediliyor. Ajanın geniş değişiklikleri izlemek için küçük commit'ler şart.

Uygulama aşamasında bağlamı temizlemek için ` /clear ` benzeri bir sıfırlama öneriliyor; ajan görev gruplarını sırasıyla kuruyor, paketleri kuruyor, dosyaları yazıyor ve kendi doğrulamasını raporluyor. İnsan tarafı ise commit görünümünde yüksek seviye inceleme yapıyor: sınıf adları değil, akış ve kapsama bakılıyor. `home.tsx` çok minimal kaldığında düzen bileşeni ve ayrı CSS dosyası isteniyor; hata plandan geldiği için ajan hem kodu hem planı düzeltiyor.

Doğrulama sadece "uygulamayı çalıştır" değil, bilişsel borcu azaltmak için anlamayı da ölçüyor. Testler bu yüzden anayasaya ekleniyor; ajan çerçeve kuruyor, ilk testleri yazıyor, siz ayıklayıcı ile adım adım izliyorsunuz. Bazen ajan kendi kendini denetlesin diye alt ajanlara derin inceleme yaptırılıyor, bulgular ana ajan penceresini kirletmeden raporlanıyor. Ve her özellik sonrası yeniden planlama dalı açılıyor; yol haritası hâlâ doğru mu, duyarlı tasarım gibi yeni ihtiyaçlar anayasaya nasıl yansır, kontrol ediliyor.

Süreci hafifletmek için beceriler (skills) devreye giriyor. Tekrar eden "şu üç dosyayı yaz, dallan, sor, onayla" prompt'u bir beceriye paketleniyor ve ajan beceriyi tek başına çağırabiliyor. Video, becerilerin proje-yerel veya küresel olabildiğini, `agents.md` ve ilerleyen Agent Client Protocol (ACP) gibi standartlarla IDE'den bağımsızlaştığını gösteriyor. JetBrains IDE'de ACP kayıt defteri üzerinden farklı ajanlar (Claude Code, Codex, OpenCode) tak-çalıştır eklenebiliyor.

Araç katmanında Model Context Protocol (MCP) yerine beceri+CLI eğilimi vurgulanıyor. Güncel dokümantasyon için Context7 artık MCP sunucusu yanında bir CLI+beceri olarak sunuluyor; ajan ihtiyaç duyduğunda tetikliyor ve React 9.2 gibi taze bilgiyi bağlama çekiyor. Eklentiler (plugins) ise beceri koleksiyonlarını ekipler ve makineler arasında paylaşmayı kolaylaştırıyor, ancak kod çalıştırdığı için güvenle kurulması gerekiyor.

Kursa göre iki popüler çerçeve de aynı fikri paketliyor: GitHub Spec Kit (`specify constitution → plan → tasks → implement` komutları) ve OpenSpec (`propose → explore → apply → archive`). İlki dal yönetimi ve doğrulama betikleriyle opinionated bir iskelet sunar, ikincisi daha akışkan bir döngüyle hızlı özellik kanonik desenleri sağlar. İkisi de şartnameyi belleğe, şartnameyi de sürüm kontrolüne bağlar; hangi ajanla yazdığınız zamanla önemsizleşir.

Son bölüm kahverengi alan projelerde şartnameyi tanıtmayı gösteriyor: Agent Clinic'in MVP'sinden şikâyetçi olmadan, `todo.md` gibi mevcut eserlerden anayasa geriye doğru çıkarılıyor ve aynen yeşil alan gibi devam ediliyor. Araştırma fikirleri için ayrı bir birikim dosyası (backlog) tutuluyor, ayrı bir dalda ajanla tartışılıyor, sonra yol haritasına bağlanıyor. Mesaj net: şartname bugün yazdığınız hafıza, yarınki kodun pusulası; en iyi kod, en iyi şartnameyle başlar.

Görsel: nodesdaily AI
BaşlıkÖzet
Üç faydaKüçük şartname büyük kaldıraç, çürüme yok, sadakat artar
AnayasaMisyon + yığın + yol haritası; yeşil ve kahverengi alanda aynı
DöngüDalda planla-uygula-doğrula; arada yeniden planla ve becerilerle otomatikleştir
BoyutVibe CodingSpec-Driven
ArtefaktUzun sohbet, kayıt yokMarkdown şartname, sürümlü
ÖlçekButon için iyi, projede borçDalda izole, birikimsiz
HafızaPencere dolar, bağlam kayarAnayasa oturumları sabitler
Rolİnsan düzelticiİnsan mimar, ajan uygulayıcı
DoğrulamaGöz kararıPlan + gereksinim + skor kartı

Videodaki anahtar anlar

  1. Üç fayda tanımıKüçük şartname büyük değişim, bağlam çürümesi yok, niyet sadakati artar.
  2. Vibe vs mühendislikVibe uzun sohbet ve kayıp; spec derleyici gibi niyeti koda çevirir.
  3. Agent Clinic tanıtımıNext.js ve React ile halüsinasyon için bağlam infüzyonu.
  4. Beceriler ve ACPBeceri paketle, MCP yerine CLI+beceri, ACP ile ajan değiştir.

AI yorumu

"Bence bu video, ajanların hızını övmek yerine hızın bedelini gösteriyor; iyi bir şartname olmadan üretilen kodun neden hızla borç biriktirdiğini ve şartnamenin aslında ekip içindeki hafıza olduğunu çok net anlatıyor."

AI değerlendirmesi

Karşıt görüşü en güçlü haliyle kurarsam, vibe coding savunucuları haklı bir noktaya işaret ediyor: kısa denemeler, öğrenme eğrisini düzleştirir ve fikirden demoya geçişi saniyelere indirir. Kaliforniya'da bir tasarımcının bir günde çıkardığı landing page veya bir öğrencinin tek akşamda çalışan bir prototip kurması, şartname yazmanın getirdiği 15 dakikalık düşünme maliyetini gereksiz gösterir. Bu tez, özellikle keşif fazında ve tek kişilik denemelerde doğrudur; sorun keşiften ürüne geçişte başlar.

Sınırlar tarafında video, şartnamenin yazılmasının zor iş olduğunu açıkça söylüyor ama bu zorluğun ölçülmediğini eklemiyor. Yol haritasını granüler tutmak ile aşırı detaylandırmak arasındaki denge kişiye ve ajana göre değişir; fazla kısıt, ajanın yararlı inisiyatifini boğabilir. Ayrıca anayasanın yaşayan bir belge olması, sürüm stratejisi olmadan ekipte hangi şartnamenin hangi kodu ürettiği konusunda kafa karışıklığı yaratabilir — video da bunu "gelişen bir tartışma" diye işaretliyor.

Çıkar açısından kurs, JetBrains ve DeepLearning.AI iş birliğiyle sunuluyor; IDE (WebStorm) ve ajan (Claude Code türevi) seçimi pratik bir tercih ama tarafsız değil. GitHub Spec Kit ve OpenSpec gibi alternatifler kısaca anılsa da, ağırlık hâlâ tek bir ekosistemin araçlarında. Bağımsız doğrulama için ekiplerin kendi ajanlarıyla (Codex, Cursor, yerel modeller) aynı anayasayı deneyip sonuç farkını ölçmesi gerekir.

Pratik çıkarımım şu: eğer tek başınıza 48 saatlik bir hackathon yapıyorsanız vibe ile başlayın, ama dal başına şartname, insan-onaylı plan ve alt ajanla ikinci bakış döngüsünü kurmadan üretime geçmeyin. İki kişi üstü ekipler, kahverengi alan projeler ve uyum-güvenlik kısıtlı ortamlar için spec-driven varsayılan olmalı; haftalık yeniden planlama toplantısını da şartname revizyonu olarak takvime yazmak borç birikimini durdurmanın en ucuz yolu.

Kaynaklar

7 bağlantı; bunları kullanan başka yayımlanmış haber yok. Aynı bağlantıyı paylaşan haberler birbirini doğrulamış sayılmaz; kaynağın kökeni bağlantı sayısından çıkarılmaz.

spec-driven · jetbrains · deeplearning.ai · vibe-coding · ai-agent · claude-code · nodesdaily

Konuyu takip et

Bu haberden önce

Aynı olayla editör tarafından ilişkilendirilmiş önceki haberlerden kısa bir okuma sırası.

Kanıt ve kaynaklar

İzinli kaynak metnini, sürümünü ve köken bilgisini incele.

KAYNAKLARLA OKU

Bu haberi açalım.

Hesap kontrol ediliyor…