
10 Milyar Dolarlık Bir Girişim Neden Bana Vibe-Code Yazma İzni Verdi ve Ben Bunu Neden Sevdim?
Editörlerime bir teknoloji şirketinde çalışıp çalışamayacağımı sordum. Alışılmadık bir istekti. Ama vibe-kodlama öğrenmek istiyordum. Bilme ihtiyacım çok acil hissettiriyordu. Gelecekte hayatta kalmak istiyordum.
Sunum süreci şaşırtıcı derecede kolaydı: Önce editörlerim evet dedi, sonra çılgın fikrimi attığım teknoloji şirketi Notion, benim onlarla birlikte çalışmama izin verdi. Neden? Söylemesi zor. Muhtemelen Notion'ın kendi iş gücü vibe kodlamayı ("vibe" burada "yapay zeka destekli" için bir eufemizmdir) tamamen benimsediği için. Bazı teknoloji şirketleri, kodlarının yaklaşık %30 ila %40'ının artık yapay zeka tarafından yazıldığını tahmin ediyor.
Notion, 10 milyar dolar değerinde, girişim sermayesi destekli, 1000 kişilik, San Francisco merkezli bir startup. Çok sayıda şablon, tablo ve görevi biçimlendirme yolu içeren, en iyi yapılacaklar listesi ve not alma uygulamasını yapıyor; Notion'ı nasıl kullanacağınızı anlamak bile başlı başına bir görev. YouTube'da, verimlilik gurusları Notion'ı kişisel optimizasyonun aşınmış konuşma dilini kullanarak anlamaya çalışıyor. Bu videolardan biri "Akıl Sağlığınızı Kaybetmeden Notion'a Nasıl Başlanır?" başlığını taşıyor ve 3,4 milyon izlenmeye sahip.
Temmuz ortasında bir Perşembe günü Notion'da vibe-kodlama mühendisi olarak işe başlamam planlanmıştı. Önceki gece kendimi bu YouTube videolarını panik halinde izlerken buldum. Notion, benim—bir İngiliz edebiyatı bölümü mezunu!—kod tabanıyla oynamama izin veriyorsa, uygulamanın güçlü bir kullanıcısı olmam gerekiyordu kesinlikle. Daha önceki bir oryantasyon görüşmesinde, yeni bir iş arkadaşım Cursor yapay zeka kodlama platformunu indirmemi ve onunla oynamamı önermişti. Ödevimi yaptım. Bu ödevden gerçek bir kod çıkmadı.
Neyse ki, Notion'da çift programlama yapacaktım, yani deneyimli (insan) kodlayıcılarla birlikte çalışacaktım. Varışımda, Notion'da yapay zeka mühendisliği lideri Sarah Sachs, bana bir masada yer ayarladı. Beni bir şirket bez çantasıyla ve not defteriyle karşıladı. Sachs, ertesi gün işimi haftalık demo toplantısında personele sunacağımı söyledi. Bununla iyi miyim? Evet dedim. Hepimiz şovun bir parçasıydık.
Birkaç metre ötede, Notion'un üç kurucusundan biri olan Simon Last oturuyordu. Uzun boylu ve utangaç, yönetim sorumluluklarını "süper bireysel katılımcı" olmak için bırakmış bir mühendisti. Elimizi sıkmak için ayağa kalktı ve ben de garip bir şekilde vibe-kodlama yapmama izin verdiği için ona teşekkür ettim. Simon, onun için kod yazan bir yapay zekayı izleyerek dizüstü bilgisayarına döndü. Daha sonra bana yapay zeka kodlama uygulamalarını kullanmanın bir sürü stajyeri yönetmek gibi olduğunu söyledi.
2022'den beri Notion uygulaması, kullanıcıların notlarını taslak haline getirmelerine yardımcı olan bir yapay zeka asistanına sahip. Şimdi şirket bunu, siz diğer görevlerle uğraşırken sizin adınıza arka planda özerk olarak çalışacak bir yapay zeka türü olan bir "ajan" olarak yeniden şekillendiriyor. Bunu başarmak için insan mühendislerinin çok fazla kod yazması gerekiyor.
Cursor'ı açıp, kullanmak istedikleri birkaç yapay zeka modelinden hangisini seçtiler. Ziyaret ettiğim mühendislerin çoğu Claude'u tercih etti veya doğrudan Claude Code uygulamasını kullandı. Savaşçılarını seçtikten sonra, mühendisler yapay zekalarından yeni bir şey oluşturmak veya bir özelliği düzeltmek için kod taslağı hazırlamasını istiyorlar. İnsan programcı daha sonra kodu üretime taşımadan önce –yapay zekalar da buna yardımcı olsa da– çıktıyı gerektiği gibi hata ayıklar ve test eder.
Temel yapısında, üretici yapay zeka son derece pahalıdır. Kuramsal tasarruflar zaman birimiyle gerçekleşir, yani yapay zeka Notion'un kurucu ortağı ve CEO'su Ivan Zhao'nun görevlerini beklenenden daha erken bitirmesine yardımcı olursa, Market Street'teki ofis binasının zemin katındaki caz kulübüne doğru yürüyebilir ve bir süre huzur bulabilirdi. Ivan caz müziği sever. Gerçekte, zamanını daha çok çalışarak dolduruyor. Dört günlük çalışma haftasının hayali sadece hayal olarak kalacak.
Notion'daki çalışma haftam sadece iki gündü, en iyi kod sprint'i. (Onların inlerine tam erişim karşılığında, sıradan mühendisleri yalnızca adlarıyla tanımlamayı kabul ettim.) İlk görevim, Notion uygulamasında görünen mermaid diyagramı adı verilen bir grafiğin görünümünü düzeltmekti. Quinn ve Modi adlı iki mühendis bana bu diyagramların Notion'da SVG dosyası olarak bulunduğunu ve ölçeklenebilir vektör grafikleri olarak adlandırılmalarına rağmen, JPEG dosyası gibi büyütülemediğini veya yakınlaştırılamadığını söyledi. Sonuç olarak, Notion'daki mermaid diyagramlarındaki metin genellikle okunamaz.
Quinn dizüstü bilgisayarını bana doğru kaydırdı. Cursor uygulaması açık ve hazır haldeydi ve Claude çalışıyordu. Eğlence olsun diye Notion'ın kod tabanının bir kısmını kaydırdı. "Yani, Notion kod tabanı mı? Çok sayıda dosyaya sahip. Muhtemelen, bir mühendis bile nereye gideceğinizi bilemezsiniz," dedi, beni kibar bir şekilde bir mühendis olarak adlandırdı. "Ama tüm bunları görmezden geleceğiz. Sadece kenar çubuğundaki yapay zekadan bunu yapmasını isteyeceğiz."
Quinn, vibe-kodlama stratejisinin genellikle yapay zekadan şu soruyu sormak olduğunu açıkladı: Bu şey neden böyle? Bu soru, yapay zekayı önce kendi araştırmasını yapmaya zorluyor ve cevap, biz insan mühendislerin yazacağı komutu bilgilendirmeye yardımcı oluyor. "Düşündükten" sonra Cursor, akan metin satırları aracılığıyla bize Notion'ın mermaid diyagramlarının statik görüntüler olduğunu ve diğer şeylerin yanı sıra tıklama işleyicilerinin olmadığını ve tam ekran altyapısıyla entegre olmadığını bildirdi. Elbette.
Claude'un notlarını kullanarak, isteği yazdım ve mühendislik ekibinden bazı notları Cursor'a yapıştırdım, şöyle:
Bilet: Mermaid diyagramlarına Tam Ekran/Yakınlaştırma ekle. Diyagrama tıklamak tam ekran olarak yakınlaştırmalıdır.
Slack'ten notlar: "Mermaid diyagramları, yüklenen görüntüler gibi yakınlaştırılabilir/tam ekran yapılabilir olmalıdır. Sadece svg'ler, yani muhtemelen yakınlaştırmak istiyorsak svg -> dataurl -> görüntü bileşeni kullanabiliriz"
Bekledik. Vibe diyarında zaman tersine çevrilmiştir. Eskiden tüm kariyerinizi alan projeler artık günler içinde bitirilirken, saniyeler içinde yürütülmesini beklediğiniz komutlar sonsuz dakikalar sürmektedir. Yapay zeka tarafından oluşturulan 100 satır koddan sonra, mermaid diyagramları genişletilebilir hale geldi.
Ancak, aslında değil. Hala çok küçüktüler, bazı bölümleri şeffaftı ve çevrelerindeki kenar boşluklarına dolgu gerekliydi; ayrıca, bu uygulamada hem açık hem de karanlık modda çalışacak mıydı? Sonraki yarım saatimi bu değişiklikleri yineleyerek geçirdim, Quinn ve Modi bana yol gösterdiler. Otuz dakika sonra, genişletilebilir, okunabilir bir mermaid diyagramına sahiptik.
Sonra Lucy adlı bir mühendisle birlikte çalıştım; bana Cursor'a komut yazmak yerine, başka bir yapay zeka mühendislik aracı olan Codegen'den bir ajan kullanacağımızı söyledi. Görev basitti. Notion'da Alfabetik Sıralama adlı yeni bir beceri oluşturacaktık, böylece birisi popüler köpek ırklarının bir listesini veya tablosunu taslak haline getirmek için Notion yapay zekasını kullandığında, kullanıcı içeriği tek bir tıklamayla alfabetik sıraya koyabilecekti.
Tam o sırada, Codegen'i çalıştıran Anthropic'in Claude'u bir arıza geçirdi. Yanımızda bulunan Sarah Sachs, telefonunda bir acil servis doktoru gibi bir mesaj aldı. Odadan aceleyle çıktı. Vibe kodlama ve alfabetik sıralama geçici olarak durduruldu. Claude çevrimiçi olana kadar bulldoglar beagle'lardan önce gelecekti.
Sonraki görev, Lucy'ninkinin belirli olduğu kadar açık uçluydu: İstediğimi oluşturmak. Özgürlük rahatsız ediciydi, vibe kodlayıcılar için bir Rorschach testiydi. Yanıp sönen imleci gördüğümde ne gördüm? Notion kullanıcılarının tek adımda "zeki" bir yapılacaklar listesi taslağı hazırlayabilmesinin bir yolunun olması gerektiğine karar verdim. Uygulamayı açıp "yapılacaklar listesine evcil hayvan maması siparişi ekle" yazabilecekler ve Notion yapay zekası ne demek istediklerini bilecekti. Ayrıca, bu özelliğin diğer son yapılacaklar listelerinden yinelenen öğeleri engellemesini de istiyordum.
Harikalar yaratıyordum. Kodun sorumlu dadısıydım, gözlerimin önünde yayılışını ve sonra dünyaya doğru ilerlemesini izliyordum. Ancak mantığım yanlıştı. Yapılacaklar listesi hilemim, bir şekilde önlemek yerine sonsuz sayıda yinelenen öğeye izin veriyordu. Kim suçluydu: ben mi yoksa yapay zeka mı?
Brian adlı bir ürün tasarımcısı bana bunu anlattı. "Akıllı bir stajyerle konuşuyormuş gibi yapın," dedi. Yine stajyerler.
Mantığımı tersine çevirdim ve tekrar denedim, widget'ın nasıl çalıştığını düşündüğümle ilgili daha fazla ayrıntı yazdım. "Bu harika bir fikir," diye yanıtladı her zaman yaltaklanan Claude ve işe koyuldu. Kırk dakika sonra, üçümüz de ufak tefek—hayır, yani harika—özelliğimin bir prototipini oluşturmuştuk. Claude Code'daki token sayacına göre bunu oluşturmak için 7 dolar harcamıştık. Bana diğer mühendislik projelerinin, özellikle kodlayıcılar yapay zekanın saatlerce çalışmasına izin verirse, bunun çok daha fazla maliyeti olduğunu söylediler. İlk günümü bitirdiğimde hava hala aydınlıktı.
Cuma sabahı, demo oturumuna katıldım. Konferans salonunda İsviçreli bir çalışanın doğum günü nedeniyle peynir tabakları bizi bekliyordu. Kodlayıcılar kahvelerini, Celsius kutularını, mutfaktaki bir Bevi makinesi tarafından dağıtılan aromalı sularını aldılar.
İlk sunumlardan biri, öğrenilmiş bir yazma stiline sahip olabilmesi için bir hafızaya sahip olan bir Notion yapay zeka ajanıydı. Eğlence olsun diye başka bir mühendis, personelin sevgili Bevi'sindeki aromalı şurupları takip eden bir uygulama kodladı. Her sunumun sonunda, bana söylenildi, birisi genellikle küçük bir çekiçle bir ksilofona vuruyordu. O gün bana ksilofonun bekçisi oldular. Ortam neşeliydi.
Benim sunum sıram geldiğinde, vibe kodladığım birkaç özelliği özlü bir şekilde (çift programcılarıma kredi vererek) açıklamaya çalıştım. Yöneticilerden biri bir takip sorusu sordu: Mermaid diyagramlarındaki değişiklikleri kodlamak baştan sona ne kadar sürdü?
Quinn'e ve Modi'ye baktım. Çalışma oturumumuzun yaklaşık 30 dakika, artı Quinn'in yaptığı yaklaşık 15 dakika ön hazırlık sürdüğünü hesapladık.
"Vay canına," dedi odadaki biri.
"Genel halkın kod yazmayı öğrenmesini cesaretlendiriyorum," diye yazmıştı programcı ve yazar Ellen Ullman, "Milyonlar İçin Programlama" başlıklı 2016 tarihli bir yazısında.
2010'ların yaygın görüşü elbette herkesin biraz kod öğrenmesinden faydalanabileceğiydi. Kapıları açıp kodun yazıldığı kapalı topluma saldırmalıyız, diye yazmıştı Ullman. Bu, bir toplum olarak bizi çevreleyen kodun boğazını gevşetmek için en büyük umudumuzdu. Raporlama sürecinin bir parçası olarak Ullman, sıradan insanlara programlamayı öğretmeyi vaat eden üç büyük açık çevrimiçi kurs veya MOOC'a kaydoldu. (Kaydolurken kaşlarının çatıldığını hayal ediyorum.)
"Teknik dünyanın kabul görmüş bilgeliğinin parlak balonuna bir iğne batırın," diye teşvik etmişti Ullman aday kodlayıcıları. "Patlatın."
Bir mermaid diyagramını genişletmek veya bir köpek ırkı listesini alfabetik sıraya koymak, kodlama adamına karşı gelmek gibi görünmüyordu pek. Ama Notion'daki zamanımda beynimde bir tuzak kapısının açıldığını hissettim. Anonim mantıksal bir tanrı olmanın, kolları çekmenin nasıl bir şey olduğuna dair parıldayan bir bakış elde etmiştim. Ayrıca yeni bir şey öğrenme yeteneğine sahip hissettim—ve yarı özel bir alanda yeni bir şeyde kötü olma özgürlüğüne sahiptim.
Hem vibe kodlama hem de gazetecilik, dürtmede ve teminde bir egzersizdir: Bu konuda daha fazla bilgi verebilir misiniz? Bunu biraz daha açıklayabilir misiniz? Bana belgeleri gösterebilir misiniz? İnsanlarımıza yönelik sohbetlerimizde bazı belirsizlikleri tolere edebiliyoruz. Bir vibe kodlayıcı olarak çalışmamın altını çizen şey, bizim için kod yazan yapay zekaların tam olarak ne istediğimizi açıklamayı gerektirdiğidir.
Notion'daki günlerimden birinde öğle yemeği sırasında, bir mühendis benden makalelerimi yazmak için hiç ChatGPT kullanıp kullanmadığımı sordu. Bu yaz daha bir kereden fazla duyduğum bir soru. "Asla," dedim ve gözleri büyüdü. Nedenini açıklamaya çalıştım—prensip meselesi olduğu ve bir yapay zekanın geçersiz bir yazı bir araya getirip getiremeyeceğiyle ilgili bir ifade olmadığı. Arama motorlarındaki değişikliklerin ve bilgi ortamında bulunan küçük yapay zeka özetlerinin haber sitelerine gelen web trafiğini nasıl düşürdüğünü anlatmaya karar vermedim. Tanıdığım neredeyse herkes işinden endişeli.
Notion'daki bir mühendis, bu yapay zeka çağı ekonomik paniğini derleyici ilk tanıtıldığında yaşananlarla karşılaştırdı. Bir kişinin aniden 100 programcının işini yapacağı fikri tersine çevrilmelidir, dedi; bunun yerine her programcı 100 kat daha verimli olacak. Yöneticisi hemfikirdi: "Evet, bir yönetici olarak söyleyebilirim ki—herkes daha fazla iş yapıyor," dedi. Başka bir mühendis bana büyük sorunları çözmenin hala iş birliği, sorgulama ve planlama gerektirdiğini söyledi. Vibe kodlamanın, insanların yeni özellikler için hızlı bir şekilde prototip oluştururken çoğunlukla kullanışlı olduğunu savundu.
Bu mühendisler, geleceğin kodlayıcısının karikatürlerini çizerken bile ( "100 kat daha üretken") insanların döngüde kalacağından oldukça emin görünüyorlardı. Ben de buna inanıyorum ve inanılmaz derecede özel becerilere veya konu uzmanlığına sahip insanların hala birçok iş yerinde talep göreceğine inanıyorum. Her neyse, bunun doğru olmasını istiyorum.
Ullman'ın 2017 tarihli yazısı bazı hayal kırıklıklarıyla sona eriyor. Gözlemlediği MOOC'ların erkek çocuklarla ve destekleyici olmayan profesörlerle dolu karma bir çanta olduğunu doğru bir şekilde tespit etti. Algoritma tasarımı üzerine bir ders, ilkel araçlarla otomatik olarak derecelendirilmişti, yani öğrenciler "kusurlu algoritmalar tarafından derecelendirilen algoritmaları öğrenmeye çalışıyorlardı". "Kod öğren" hareketi şimdi biraz tuhaf görünüyor. On yıldan biraz kısa bir süre içinde bilgisayarların onlar için kod yazacağını neredeyse hiç kimse bilemezdi.
Ancak Ullman yine de kod yazmada güzellik buldu. İşte bu. Herhangi bir şey yapmanın bu yönü. Azminiz varsa, hayal kırıklığı çukurlarından geçerseniz, "belirli bir büyülenme geçer," diye yazmıştı. "Birinin piyanoyu güzel çaldığını veya bir saksafonun caz doğaçlamalarıyla çığlık attığını duyduğunuz ve sesin içinizde bir özlem, o müziği çalmayı öğrenmek için zorlukları üstlenmek isteği uyandırdığı zamanlar gibidir."
Vibe kodlama bende bu özlemi uyandırmadı. Bunun yerine, yapay zekada baş döndürücü bir ikilik çağına girdiğimizi daha net gördüm. Yapay zeka işlerimizi mi öldürecek yoksa daha fazla iş mi yaratacak? Evet. Teknik olarak yüz milyonlarca kullanıcıya ulaştırılmış bir uygulamada bir özellik mi oluşturdum yoksa yapay zekaya ve diğer insanlara çok fazla dayanarak bir ödevi mi atlattım? Evet. Başarılı bir kodlayıcı olmak için yazılım programlama hakkında derinlemesine temel bilgilere mi ihtiyacım var yoksa kullandığım programlama dilinin adını bile bilmeden devam edebilir miyim? Ayrıca evet.
Notion'daki son saatlerimde bunu Notion'ın CEO'su Ivan Zhao'ya itiraf ettim. "Anlıyorum ki, tüm bu süre boyunca hangi dilde kodladığımızı bile sormadım," dedim.
Ivan eğlenmiş gibiydi. "TypeScript. JavaScript'in daha şık bir sürümü gibi." Durdu. "Ama hangi dili kullandığınızın bir önemi yok. Niyetinizi insan dilinde, İngilizce seviyesinde ifade ediyorsunuz ve artık makineler bunu çevirebiliyor. Dil modelleri temelde bunu yapıyor."
Ivan için bu vibe-kodlama anı özellikle heyecan verici. 2010'ların başlarında Simon Last ile ilk kez bir araya geldiklerinde (üçüncü kurucu ortak Akshay Kothari daha sonra katıldı), ürünlerini insanlara minimum yazılım geliştirmeyle şey oluşturmalarına yardımcı olmak için "kodsuz/az kodlu" bir uygulama olarak tasarladılar. Kodsuz/az kodluyu ana akıma taşırlardı.
Tek bir sorun vardı: "Kimse umursamadı," dedi Ivan. "Kimse uyanıp 'Şimdi yazılım oluşturmayı düşünmek istiyorum' demiyordu. Çoğu insan 'Patronum için bu elektronik tabloları bitirmem gerekiyor' diye düşünüyordu." Birkaç yıl sonra, Notion olan şeye yöneldiler.
Ekim 2022'de kurucular tüm şirketi—o zaman birkaç yüz çalışandan azdı—Meksika'da bir şirket dışı etkinliğe götürdüler. Ivan, geri çekilmeyi küçük konuşmalarla bitirmeyi hatırladı: açılış konuşması, ardından son gece akşam yemeğinde birkaç söz. Aksi takdirde, o ve Simon, şişelenmiş su içerek ve erken erişime sahip oldukları bu yeni şeyle, ChatGPT ile prototipler oluşturarak otel odalarında kilitli kaldılar. Bunun ne üretebileceğini gördüler. Bunun işleri değiştirmek üzere olduğunu anladılar. Bir düzeyde, Notion için orijinal fikirlerinin, üretici yapay zeka sayesinde tamamen bir döngü oluşturduğunu biliyorlardı.
Çin'de doğan ve Kanada'da üniversitede bilişsel bilim ve sanat okuyan Ivan, kaliteli ürünlere düşkün. Lüks bir saat takıyor (karısından hediye), iyi yapılmış mobilyalara takıntılı ve bir kereden fazla bana işlerinde başarılı olan insanların genellikle iyi bir zevke sahip olduğunu söyledi. İyi tasarıma olan sevgisi, iletişim kurmamıza yardımcı olan araçları da kapsıyor; fareyi icat eden Douglas Engelbart, onun kahramanı.
Bu yüzden sormak zorunda kaldım: Tüm bu yapay zeka tarafından oluşturulan kodun kalitesi hakkında nasıl hissediyor? Vibe kodlama dünyaya daha kötü yazılımlar mı koyuyor?
Ivan, kodun ya doğru ya da yanlış olduğunu yanıtladı; yüksek veya düşük olup olmadığı konusunda öznel bir belirleme yok. Onun bakış açısına göre, cümleleri kötü yazarsam kötü bir yazar olarak kabul edilebilirim, ancak bir kodlayıcı kodu kötü yazarsa, program basitçe çalışmaz. Yapay zeka tarafından oluşturulan kod bazen raydan çıkar, diye itiraz ettim. Birisi bir web sitesi oluşturmak için uğraştığında, riskleri düşüktür; gerçek trenler için yazılım vibe kodluyorlarsa, hataların sonuçları daha büyüktür.
Ivan, özellikle genç kodlayıcıların, vibe kodlamadan yanlış bir yeterlilik duygusu kazanabileceğini kabul etti. İşte bu noktada çift programlama devreye giriyor, dedi. Yapay zekadan önce kodlamayı öğrenmiş olanlarla daha az deneyimli kodlayıcıları eşleştirmek. "Kıdemli kişiler—onların zevki var, değil mi?" dedi.
Simon'ın kendi adına, yapay zeka kodlama uygulamalarını insan mühendislerden daha yüksek standartlarda tuttuğunu söylüyor. "Vibe kodlama" ifadesinden hoşlanmamasının nedeni bu. Ona göre, bu kodlama ajanlarının ve onları kullanan insanların artık yapabildiklerini bu terim küçümsüyor. Simon, Notion'da en üretken vibe kodlayıcılardan biridir. Bunun gelecek olduğuna inanıyor. Bir noktada aynı anda üç farklı yapay zeka kodlama aracı kullanıyordu. Bunu stresli buldu; tekrar bir yönetici olmak gibiydi. Şimdi genellikle bir kerede bir araç kullanıyor.