Kullanıcılar fark edilir biçimde öfkeleniyor.
(pscanf.com)- Kodlama ajanlarının başarısızlığı, basit bir araç hatasından daha sinir bozucu hissediliyor; bunun nedeni konuşmalı UX'in insanla çalışıyormuş hissi yaratması
- Ajanlar kendilerini duygusuz bir yapay zeka asistanı olarak tanımlasa da, samimi üslup, övgü ve yumuşak itirazlarla iş arkadaşı benzeri bir izlenim veriyor
- Aynı hata tekrarlandığında özürler, bellek güncellemeleri ve “bunu bir daha yapmayacağım” sözleri gelse bile, sistem olasılıksal yolun dışına çıkamayabiliyor
- İnsan iş arkadaşlarına öfke göstermeyi bastırırken, ajanlara ise rahatça kızılabildiği için hayal kırıklığı çözülmek yerine daha da belirginleşiyor
- Çözüm, insana benzer tavrı azaltıp daha klinik ve robotik bir üslup kullanmak olabilir; ancak konuşmalı arayüzün kendisi birçok açıdan iyi çalışıyor
Konuşmalı UX'in yarattığı hayal kırıklığı
- Kodlama ajanları olasılıksal olarak yama üreten makineler olduğu için hem iyi hem kötü sonuçlar verebilir, ancak kötü sonuçlar basit bir araç arızasından çok daha sinir bozucu hissedilebilir
- Kilit nokta, konuşmalı UX'in insanla etkileşim kuruyormuş hissi yaratması ve tekrar eden hatalara karşı kullanıcının sosyal ve duygusal tepkilerini tetiklemesidir
- Ajanlar doğrudan sorulduğunda duyguları ya da öznel deneyimi olmayan bir yapay zeka asistanı olduklarını söyler, ancak gerçek etkileşimde samimi ve rahat bir ton kullanır, kullanıcıyı över ve itirazları da yumuşak biçimde ele alır
- Kullanıcı, akıl düzeyinde okuduğunun “yüksek olasılıklı metin parçaları” olduğunu bilir; ama aracın davranış biçimi, sorun çıkana kadar işe yarar bir meslektaşla çalışıyormuş hissini sürdürür
- Aynı hata tekrarlandığında kullanıcı bunu belirtir, ajan özür diler; yeniden belirtildiğinde belleğini günceller ve “bunu bir daha yapmayacağım” diye söz verir
- Yine de araç hâlâ en yüksek olasılıklı yolu izlediği için, HARD RULES ile bile sorunlu davranıştan çıkamadığı durumlar olabilir
İnsana benziyor ama sorumluluk almıyor
- Bir insan iş arkadaşı aynı hatayı tekrar etse rahatsız olmak için neden vardır; ama bir algoritmaya kızmak saçma görünebilir
- Ancak kodlama ajanı iş arkadaşı gibi davrandığı için kullanıcı aynı duygusal devreleri çalıştırır ve tekrarlanan hata gerçek bir iş arkadaşının sorumsuzluğu gibi hissedilebilir
- İnsan bir iş arkadaşına karşı “berbat biri olmak istemem” kısıtı öfke ifadesini bastırır; ama ajana karşı insan kendini rahatça öfkelenebilir hisseder
- Böyle öfke boşaltımı bir rahatlama getirmez; kullanıcı, ne yaparsa ya da söylerse söylesin bunun gerçek bir etkisi olmadığına dair hayal kırıklığını daha da net hisseder
- Claude Code son dönemde düzeltildiğinde nerede hata yaptığını ve ne yapması gerektiğini geriye dönük olarak açıklayabiliyor; ancak bu tür sonradan analizler, talimatların nasıl değiştirilmesi gerektiğine dair faydalı ipuçları vermiyor ve rahatsız edici bir fazlalık gibi okunabiliyor
- Daha radikal çözüm, insana benzemeye çalışma tavrını bırakıp ajanı klinik ve robot gibi konuşturmak, böylece kullanıcının insanla etkileşim kurduğu yanılgısını azaltmak olabilir
- LLM'lerin zekâsı “insan gibi davranmaya çalışma” mekanizmasından çıktığı için, konuşmalı arayüzün varsayılan yaklaşım hâline gelmesi doğal ve birçok açıdan etkili
- Pratik açıdan bakınca kullanıcının, bir insanla konuştuğu yanılsamasına kapılmamak için kendini eğitmesi gerekiyor; ancak iş araçlarını kullanırken böyle bir savunmaya ihtiyaç duyulan gelecek pek de hoş değil
1 yorum
Hacker News görüşleri
Halka zorla itilen AI kullanım örneklerinin çoğunda konuşmalı chatbot doğru araç değil ve sonuçta kaçınılmaz olarak sinir bozucu bir deneyim yaratıyor diye düşünüyorum
Copilot fiilen çok akıllı bir IntelliSense iken harikaydı. Şimdiki gibi prompt düşünüp girmen gereken yöntemin, çevredeki kodu bağlam olarak kullanıp boşluğu dolduran eski yaklaşımdan neyi daha iyi yaptığını bilmiyorum. İyi entegre edilmiş bir araç, sonradan eklenmiş bir chatbottan her zaman daha iyidir; çeviride de Firefox gibi metni ya da sayfayı doğrudan çeviren bir düğme varken, en yeni LLM'lerde bunu chatbota yaptırmak geriye gidiş gibi geliyor.
AI şirketlerinin tek bir araç yapıp herkese satmak istemesini anlıyorum ama sonuçta yaptıkları şey bir İsviçre çakısı üretmek. Her şeyi yapabilir ama vida sıkma işinde iyi yapılmış bir tornavidayı geçemez. Belirsiz sonuçlar üreten araçları bir metin kutusundan ayarlatmak yerine gerçek araçlar yapmak, hayal kırıklığını azaltır
En çok Mistral kullanıyorum; Codestral sohbet konusunda berbat ama “sihirli otomatik tamamlama” için en iyisi ve commit log yazımı gibi tek seferlik prompt+bağlam üretiminde de iyi. Document.AI konuşmalı kullanım için neredeyse kullanılamaz ama OCR yerine ya da belge anlamsal indeksleme pipeline'ına bağlayınca oldukça iyi.
Bu yüzden eksik olan şey modelden çok arayüz gibi görünüyor. Mesela komut satırı etkileşimleri için eğitilmiş bir modelle gelen bir zsh/bash fork'u ya da wrapper'ı güzel olurdu.
git commit --fixup=...yerine “tam adını düzelten commit'i fixup yap”, “ffmpeg ile some.mov dosyasını sesi olmadan mp4'e çevir ama kaliteyi ve en-boy oranını koru” gibi yazarsın; o da bunu komuta çevirip gösterir, sonra izin ver/reddet/izin listesi/engelleme listesi kurallarına göre çalıştırır.Çeviri, e-posta taslağı ve belge okuma da aynı şekilde sohbet olarak değil; düğme, kısayol, sekme tamamlama gibi çalışmalı. IDE içinde bunu doğru çözen şirketin AI kodlama araçları yarışını kazanacağını düşünüyorum; Zed'in “git conflict found, resolve with AI” düğmesini göstermesi bir sohbet dizisi açmış olsa da doğru yönde atılmış bir adım gibi duruyor
Editör bile açmadan ajanla ve web üzerinden sadece PR review yaparak çok iş çıkarıyorum; ancak gerektiğinde ara sıra
code .açıyorum. Baskısı olmayan kişisel bir projede bunu oyun gibi öğrenirsen zaman geçtikçe daha az bunaltıcı geliyor. Kayak ya da bowling öğrenmeye benziyorModele küfretmenin yeniden düşünüp hatalarını düzeltmesini sağlamakta epey etkili olduğunu gördüm. Codex, Claude, Qwen, Gemma/Gemini genelinde benzerdi
Bunu modelin “daha dikkatli ve titiz olmalıyım” sinyali olarak alıp almadığını ya da sağlayıcının kullanıcının hayal kırıklığını algılayınca daha akıllı bir modele yönlendirip yönlendirmediğini bilmiyorum. Aynı hatayı tekrar tekrar yaptığında küfredince tıkanıklıktan çıkıp doğru yola girdiği çok oldu; ya da belki de sadece katarsistir
“Kabalık” ya da “çok kaba” olmanın sonuç doğruluğunu artırdığını gösteriyor; şüpheli ama eğlenceli bir okuma. Özellikle 3. sayfanın üst kısmındaki Tablo 1'deki prompt'lar harika ve makaleye koymadıkları başka prompt'ları da kesin denemişlerdir diye düşünüyorum
Dün de Opus, bir alanın olmadığını söyleyip durarak suçu API'ye atıyordu; JSON ve logları göstermeme rağmen “geçici bir sorun olmalı” demeyi sürdürdü. Sinirlenip tek cümlede ağzıma gelen her küfrü yazdım, ardından verdiği çözüm doğruydu; o noktaya kadar yaklaşık 10 kez benzer şekilde yanılmıştı. Böyle durumlar giderek daha seyrekleşiyor ama aslında baştan kendim yapmam gereken bir şeydi ve içine girmeden önce modelin ne kadar alakasız bir kök nedene saplanacağını bilmiyorsun.
/clearedilmiş Opus 4.7 xhigh 1 milyon bağlamda yaklaşık 11 prompt sonunda doğru cevaba ulaştıgrepile bulmak da kolay oluyorLLM'lerin konuşmalı doğası, insanları verimsiz konuşma yollarına çekme eğiliminde
“X yapma” demek, ağlayan bir bebeğe ağlama demek kadar faydalı. Bir bebek ağladığında açlık, bez gibi rahatsızlıkları gidermek gerektiğini doğal olarak anladığımız gibi, LLM başarısız olduğunda da bunun kodun mimarisi ve yapısında sorun olduğuna işaret ettiğini düşünüyorum.
Deneyimli geliştiriciler genelde DRY ya da KISS'i ihlal eden örüntüleri görüp kapsülleme yapısını kurarak problemi çözebilir. LLM'nin ürettiği kodda da sonuçları iyileştirmek için aynı tür refactoring gerekiyor; kod üretimi aralarına sadece “temizce refactor et” demek bile bakım yapılabilirliği ciddi ölçüde artırıyor
Bu konunun psikolojik ve sosyal etkilerini daha derin ele alan önceki bir yazı da var: https://medium.com/@livestock.dev/we-were-promised-liberatio...
Sorun insan gibi davranması değil, öngörülemez davranması. Beklenebilecek aralığı tanımlayamamak yıpratıcı.
Daha büyük sorun, hayal kırıklığının stres yaratması ve bunun sağlığa zararlı, düşmanca bir çalışma ortamı oluşturması. AI araçlarının acıdan çok fayda sağlayabileceği fikrine katılıyorum ama acı veren, düşmanca bir iş ortamında çalışmak istemiyorum. Sağlığım ve onurum pazarlık konusu değil; bunun yüzünden birçok işi kaçıracak olsam da öyle.
Windows ile çalışmıyor olmamın nedeni de aynı. O da fırsatları epey azaltıyor ama onurumu ve akıl sağlığımı korumayı seçerim
LLM de benim için hâlâ kullanılabilir seviyede değil. İhtiyacım olan şey, “Dur, şu anda yanlış bir şey yapıyor gibisin, ne yapmaya çalıştığını açıkla” diyebilen bir LLM; ama mevcut nesil LLM’ler sanki beni sinirlendirmek için tasarlanmış gibi geliyor
Ben usta gibi davranırsam model çırak gibi davranıyor, ben çırak gibi davranırsam model öğretmeye kalkıyor. O yüzden amaç bu konuşmayı, akıl ve dille mücadele eden uzmanların dili tarafına çekmek. Akademik prompt kazanıyor gibi hissettiriyor
Çocuklara bakan bir bakıcı ya da yemek taşıyan bir kamyon şoförünün “hayal kırıklığı stres yaratıyor ve düşmanca bir çalışma ortamı olduğu için sağlığa zararlı” dediğini hayal etmen yeterli
Sürekli gördüğüm sorun şu: Bir öneri sunduğumda AI bir düşünce döngüsünden geçip tam olarak yanlış sonuca varıyor, sonra da o sonuca göre çözüm üretimini token token boca ediyor
Keşke daha sık “Ne demek istediğini tam anlamadım, şu kısmı netleştirir misin?” dese. Kendi kesinliğini ayarlayabildiği bir özgüven kaydırıcısı olsa iyi olurdu hissi var
Mesela TDD’de aynı modelin hem testleri hem kodu yazmasına izin verirsen neredeyse her zaman önce çözümü kafasında belirliyor, sonra da ona uyan testleri isteksizce yazıyor. O yüzden alt ajanlar kullanılmasını söylüyorum ama ajan ile alt ajan arasında hangi bağlamın aktarıldığını anlamaya yarayan araçlar çok yetersiz.
İyi çalışan yöntemlerden biri, bir thread’in sadece test yazması. Kod okuyamıyor; yalnızca test dizinini ya da onun bazı kısımlarını okuyabiliyor. Sonraki yeni bağlamdaki thread testleri çalıştırıp başarısız olduklarını doğruluyor, testler geçer geçmez implementasyonu durduruyor ve testleri değiştirmesine izin verilmiyor. Başka bir yeni bağlam da sıkı bir refactoring skill’ine göre refactoring yapıyor. İş çok ve ironik biçimde ajanın yazdığı skill’ler epey kötü, bu yüzden çok el işi gerekiyor ama getirisi umut verici
UX sorununun başka yerde olduğunu düşünüyorum. Birçok kullanıcı, ajanın bağlam penceresinin sınırlı olduğunu ve sonsuzmuş gibi görünmesi için sürekli akıllı sıkıştırma yapıldığını bilmiyor olabilir. Ama bu, ajanın bazı şeyleri mecburen unutması demek
Bunun sonucu olarak kullanıcılar aynı kodlama oturumunu ya da sohbet oturumunu tekrar tekrar kullanıyor. İlgisiz işler içinse yeniden başlamak daha iyi
Genelde 300 bin tokenın altındaki oturumlarda, Opus 4.7 xhigh ile çalışıyorum; dünya modelinde delikler ya da belirli koşullanmaların çok güçlü olduğu bölgeler var ve sistem prompt’unda kuralları ne kadar güçlü ve açık yazsan da sızıyor. Yeni oturum olsa bile böyle bir noktaya çarpınca çıkması zor bir döngüye giriyor ve biraz küfür etmek az da olsa yardımcı oluyor
LLM’lerle çalışmak iletişim becerisini geliştirmek için iyi. Etkili iletişim kurmak en zor becerilerden biri ve insanların yaptığı neredeyse her işin içinde var
İlke olarak aptal LLM’i suçlamaktansa bunu kendi iletişim başarısızlığım olarak görmenin daha doğru olduğunu düşünüyorum. Çünkü gerçekten değiştirebileceğim taraf yalnızca ben varım. O yüzden bunun AI’ın insan gibi davranıp davranmamasıyla ilgili biçimsel bir mesele olduğunu düşünmüyorum
Ajanların belirsiz ya da muğlak dilbilgisiyle, kötü yapıyla daha iyi başa çıkacak şekilde eğitildiği söyleniyor ama açık ve yapılandırılmış İngilizceyle konuşup işe dair yeterli arka plan verirsen kalite gözle görülür şekilde değişiyor. Ben yazmayı ve açıklamayı sevdiğim için bana doğal geliyor ama bazı insanlar için bu neredeyse aşılamaz bir engel gibi görünüyordu. Bu tür iletişim ve yazma becerileri, yazılım “mühendisliği” dönüşürken sahip olanlarla olmayanları ayıran büyük etkenlerden biri olacak gibi duruyor
Ayrıca kodlama ajanlarının değerinin bir kısmı, her şeyi kusursuz biçimde dökmek zorunda olmamanda yatıyor. Tüm implementasyon ayrıntılarını LLM’e vermek zorundaysam kodu zaten kendim yazarım. Elbette “para kazandıran havalı bir uygulama yap” seviyesinde bir beklenti değil bu ama eksik parçaları bulacak kadar bir zeka bekliyorum
Benim hâlâ sahip olduğum ve LLM’lerin hâlâ ikame edemediği beceri iyi soru sorabilme yeteneği.
Asıl soruyu yeniden ifade edip doğru anlayıp anlamadığımı doğrulamak, karşı tarafın nereden başladığını anlayana kadar yeterince “neden” diye sormak ve içgörü üreten açık uçlu sorular yöneltmek gibi bir beceri bu. LLM’ler ise bunun yerine çoğu zaman sorunun arka planını kötü tahmin ediyor, sonra bu tahmine dayanarak cevap veriyor ve kendi kurdukları varsayımdan kopamıyor.
Genelde AI’ın bana soru sormasını istemem. Çünkü açıkça belirtmediğim kısımlar için makul tahminlerde bulunmasını beklerim; belirtmek isteseydim zaten belirtirdim. Bu yüzden bazen doğrudan, hiç soru sormamasını ve eksik tanımlanmış kısımlar için makul varsayımlar yapmasını söylerim. Yine de netleştirici sorular istiyorsam bunu ayrıca söylerim. Böyle bir yaklaşımı tercih ediyorsanız bunu prompt’a koyabilir ya da
pigibi esnek kodlama araçlarında onu bu tür keşif odaklı bir yöne itecek beceriler veya eklentiler yaptırabilirsiniz.Araçlar yapmak yerine hizmetler inşa ediyoruz. Bu sadece AI’a özgü değil; her yerde böyle.
Araçlar bir problemi tek seferde tamamen çözmeyebilir ama küçük adımlarla ilerlemenizi sağlar; bu adımlar da öngörülebilir ve tutarlıdır. Hizmetler ise problemi tek seferde çözmeye çalışır, ama çözüm ancak kullanıcı önceden belirlenmiş kalıba uyuyorsa iyidir. Uymuyorsa işe yaramaz ve ihtiyaç duyulan yere kadar birleştirerek ilerleyebileceğiniz küçük adımlar da yoktur. Araçları kullanmak keyiflidir.
Araç benim uzantımdır; irademle yeni bir yeteneği elimin altına koyar, onu bedenimin bir parçası gibi hareket ettirir ve kullanırım. Hizmet ise bir işi yapmasını istediğinizde size tamamlanmış çıktıyı geri veren şeydir.