Bir ajanın bir hatayı düzeltmeye çalıştığını izlediyseniz, aslında tahmin yürüttüğünü görmüşsünüzdür. Kodu okur, bir teori üretir, bir düzenleme yapar ve umar. Bazen doğru bilir. Çoğu zamansa kendinden emin görünen ama asıl hatayı sessizce gizleyen bir düzeltme elde edersiniz.
Debug Mode tam da bunun için inşa ettiğimiz şey. Ajan oturup kod hakkında akıl yürütmek yerine, kodun çalıştığında ne yaptığına dair kanıt toplamaya gider.
İşleyiş döngüsü şöyle:
- Ajan birden fazla hipotez üretir ve önce en olası olanı üzerinde çalışmaya başlar.
- Ardından, bir hipotezi test etmek için (uygulamaya dokunmadan) loglama eklenir.
- Programınız çalışırken küçük bir hata ayıklama sunucusu, çalışma zamanı çıktısını .cursor/debug.log dosyasına toplar.
- Hatayı siz tekrarlarsınız ve ajan, tahmin yürütmek zorunda kalmak yerine artık logları okuyup ne olduğunu anlayabilir.
- Cursor, loglarda kök nedeni bulur, düzeltmeyi yapar ve eklediği loglamayı kaldırır.
Gerçek bir hatada, yaklaşık bir dakikaya hızlandırılmış haliyle şöyle görünüyor:
Ekibin Kullanım Şekilleri
Debug Mode ile dahili olarak çözdüğümüz bazı ilginç şeyler:
- 20 çalıştırmada 1 kez ortaya çıkan bir yarış durumu (race condition). En iyi-N çalıştırmalarımızda git meta verilerini bozuyordu. Debug Mode bunu bir saatten kısa sürede tespit etti.
- Tek seferde izi sürülen bir bellek sızıntısı. Sebebi, frontend framework'ümüzün yanlış kullanımına dayanıyordu. Düzeltme tek bir satırdı.
- C++'ın derinliklerinde meydana gelen bir native çökme. İnsanların genellikle etrafından dolaştığı bir Electron çökmesi. Loglar sayesinde bulunabilir hale geldi.
- Vazgeçilmiş bir SSR titremesi (flicker). Kimsenin dokunmaya cesaret edemediği bir render hatasıydı; ajan, sayfanın çalışma zamanında ne yaptığını görebildiği anda düzeltildi.
Shift+Tab ile deneyin (CLI'da da /debug ile kullanılabiliyor).
Eminim insanlar bunu benim düşünmediğim şekillerde de kullanıyordur, o yüzden bana bildirin!





