İçeriğe geç
Pathrule

dokümanlar

Bir yapay zekâ oturumu neleri kaydeder

Bir yapay zekâ oturumu bir işi bitirdiğinde Pathrule'un neyi sakladığı, neyi asla saklamadığı ve bu kaydın hangi özellikleri beslediği.

Bu sayfada

Pathrule projeniz hakkında öğrendiklerinin çoğunu yazılanlardan değil, yapılan işten öğrenir. Bir yapay zekâ oturumu bir işi bitirdiğinde kısa ve yapılandırılmış bir kayıt bırakır. Diğer pek çok özellik de bu tek kaydın üzerine kuruludur.

Bu sayfa, o kayıtta neler olduğunu, nelerin bilerek dışarıda bırakıldığını ve kaydın neleri beslediğini anlatır.

Neler kaydedilir

Her kayıt, hepsi küçük olan birkaç alandan oluşur:

  • Alan, eylem ve kapsam. Neye dokunulduğu (ui, backend, database, infra, config, test, docs), onunla ne yapıldığı (create, update, fix, refactor, delete, style) ve hangi düzeyde yapıldığı (bir bileşen, bir sayfa, bir API, bir migration, bir servis).
  • Konular. En fazla beş küçük harfli anahtar kelime; işi sohbette nasıl etiketlerseniz öyle.
  • Tek cümlelik bir özet. Neyin, neden değiştiği; tek satırda.
  • Dokunulan yollar, alana göre gruplanmış hâlde.
  • Oturumun hangi yapay zekâ istemcisinde ve ne zaman çalıştığı.
  • Turun nasıl geçtiği: kaç araç çağrısı yapıldığı, kaçının başarısız olduğu ve her hata türü için kısa bir kod (timeout, exit_nonzero, not_found ve benzerleri). Yalnızca sayılar ve kodlar; komutun ya da hata metninin kendisi asla kaydedilmez.

Kaydın tamamı bu kadar. Aylar sonra bile bir bakışta okunabilsin diye tasarlanmıştır; kısa kalmasının sebebi de budur. VS Code için Pathrule'daki Recent Activity görünümü, çalışma alanının en son kayıtlarını listeler.

Cümleyi asistan yazar. Ölçümü Pathrule ekler. Özet, alan ve yollar işi yapan oturumdan gelir; araç çağrısı sayısı, hatalar ve iletilen kayıtlardan hangilerine gerçekten başvurulduğu ise onları ileten katman tarafından gözlemlenir. Bu ayrım önemlidir: Bir asistan dört komutun başarısız olduğunu söylemeyi unutabilir, ama sayı yine de oradadır.

Neler asla kaydedilmez

Kodunuz bu kaydın içinde yoktur. Dosya içeriği, diff, patch, commit mesajı ya da prompt metni saklanmaz. Yollar, sonraki özellikler işin nerede yapıldığını anlayabilsin diye tutulur; değişikliğin kendisi saklanmaz.

Yollar ayrıca saklanmadan önce normalleştirilir. Bir yol, ajanın o makinede gördüğü hâliyle gelir ve çalışma alanına göre göreli biçime dönüştürülür; yani /Users/you/projects/app/src/api.ts yolu src/api.ts olur. Makineye özgü hiçbir şey paylaşılan ekip bilgisine ulaşmaz ve kim dokunmuş olursa olsun aynı dosya aynı dosya olarak kalır.

Tek bir kayıt neleri besler

Bu kaydı saklamaya değer kılan, onu okuyan özelliklerdir:

  • İş bölümleri. Aynı çalışma oturumundaki ilgili kayıtlar, ekibinizin çözdüğü tek bir işi anlatan başlıklı bir kayıtta birleşir; sonraki bir oturum bunu hatırlayabilir.
  • Birlikte değişen dosyalar. Pathrule'a hangi dosyaların çift hâlinde değiştiğini öğreten şey, her kayıttaki yollardır.
  • Arama öğrenmesi. Bir ajanın önüne bilgi konduğunda ve ajan ardından aynı alanda çalıştığında, bu o bilginin ilgili olduğuna dair bir kanıttır. Zamanla önceliklendirmeyi değiştirir; ayrıntılar aramanın nasıl çalıştığı sayfasında.

Bunların hiçbiri sizden ayrı bir adım gerektirmez. Hepsi aynı kısa kayıttan gelir.

Kayıt tutma işi asla engellemez

Bilinçli bir tasarım tercihinin altını çizmek gerekiyor, çünkü aracın davranışında doğrudan görülür. Kayıt tutma boyut yüzünden asla başarısız olmaz. Bir özet uzun tutulduysa ya da bir görev onlarca dosyaya dokunduysa, kayıt reddedilmez; sunucuda kırpılır ve saklanır.

Reddetmek, kırpmaktan daha kötü olurdu. Doğrulama hatası alan bir ajan bunu "argümanları düzelt ve tekrar dene" diye okur ve sonraki birkaç turu görevinizi bitirmek yerine özeti yeniden yazmakla geçirir. Bu yüzden sınırlar giriş sırasında sessizce uygulanır ve yanıt, ajana neyin saklandığını bildirir.

Hata sayıları ne için kullanılır

Araç çağrısı ve hata sayıları, Pathrule'un "bu kod tabanında bir asistan hangi dosyalarda zorlanıyor" sorusunu görüşe değil, gerçek işe dayanarak yanıtlamasını sağlar. Bu sayıları iki şey okur.

Birincisi haftalık bir gruplamadır. Her hata üçlü olarak kaydedilir: aracın türü, üzerinde çalıştığı dosya ve nasıl başarısız olduğunu belirten kısa bir kod. Haftalara göre gruplandığında bu, bir asistanın en sık hata yaptığı dosyaların ve orada ne tür hatayla karşılaştığının sade bir listesine dönüşür. file_not_found altında tekrar tekrar görünen bir dosya genellikle kendi dokümanlarınızdaki eskimiş bir yoldur ya da kimsenin güncellemediği, yeri değişmiş bir modüldür. syntax_error altında görünen bir dosya ise genellikle güvenle düzenlenmesi zor bir dosyadır.

İkincisi arama öğrenmesidir. Bir tur Pathrule'dan bilgi almış ve yine de araç hatalarıyla karşılaşmışsa, bu ona verilen bilginin aleyhine sayılır. Bu sinyal, bilginin önceliğini neyin yükselttiği sayfasında anlatılan aynı öğrenme döngüsüne katılır; böylece kötü giden turlarda sürekli karşınıza çıkan bilgi zamanla seçilmez olur.

Bir hata sayısı neyi görebilir, neyi göremez

Bu, kullandığınız asistana bağlıdır ve dürüst yanıt her asistan için aynı değildir.

Dosya araçları düzgün raporlar. Başarısız bir okuma, düzenleme ya da yazma işlemi mesajıyla birlikte gelir; böylece sınıflandırılır ve doğru dosyaya atfedilir. Asıl değerli olan durum budur, çünkü sayıyı üzerinde işlem yapılabilir kılan şey dosya yoludur.

Shell çıkış durumu ise çoğu zaman raporlanmaz. Bazı asistanlar sıfırdan farklı bir çıkış kodunu hiç bildirmez: Başarısız olan bir komutla başarılı olan bir komut birebir aynı görünerek gelir. Pathrule tahmin yürütmez. Asistanın gerçekte bildirdiğini kaydeder ve geri kalanı uydurma bir hata üretmek yerine bilinmiyor olarak sınıflandırır, çünkü bir dosyaya yanlış atfedilmiş bir hata, eksik bir hatadan daha kötüdür.

Erişim ve kapsam

Kayıtlar, kaydedildikleri çalışma alanında; hafıza kayıtları, kurallar ve becerilerle aynı kullanıcı bazlı erişim denetiminin arkasında tutulur. Bir ekip arkadaşınız yalnızca zaten görebildiği çalışma alanlarının etkinliğini görür, başka hiçbir şeyi görmez. En eski kayıtlar sonsuza kadar birikmek yerine belirli bir takvime göre silinir.