İçeriğe geç
Pathrule

dokümanlar

User Intelligence

User Intelligence, nasıl çalışmayı tercih ettiğinizi komut satırından Pathrule'a öğrettiğiniz tercihler olarak tutar. Neyi saklayıp neyi reddettiği, bir tercihin nerede geçerli olduğu, ajana nasıl ulaştığı, neleri sizin kontrol ettiğiniz ve proje gereksinimlerinin neden yine de öncelikli olduğu.

Bu sayfada

Workspace Intelligence projeyi tutar. User Intelligence ise işin arkasındaki kişiyi tutar.

Aynı depoda çalışan iki mühendis bir ajandan aynı şeyi beklemez ve aradaki fark kozmetik değildir. Fark şudur: ajan kendi başına ne kadar karar vermeli, ne zaman durup uygulamak yerine seçenek sunmalı, ne kadar doğrulama yeterli sayılır ve iki tasarım da savunulabilir olduğunda hangi yöne gidilir.

Bu gerçek bir bilgi birikimidir ve saklanacak bir yeri olmadığında, her yeni oturumda yeniden yazdığınız düzeltmelerin içinde yaşar.

Neyi modeller

Yürütme tercihleri

Kademeli bir refactor mu istiyorsunuz, yoksa baştan yazmaya da açık mısınız? Bir uygulamadan önce seçenekleri görmeyi mi beklersiniz, yoksa belli türdeki değişikliklerde ajanın doğrudan ilerlemesini mi tercih edersiniz? Ne kadar soyutlamayı yerinde bulursunuz? Hangi tür değişikliklerin yapılmadan önce size sorulmasını beklersiniz?

Karar kalıpları

Hangi ödünleşimleri seçme eğilimindesiniz? Performans mı, sürdürülebilirlik mi? Kendiniz geliştirmek mi, hazır olanı benimsemek mi? Geriye dönük uyumluluk konusunda ne kadar katısınız? Bir ürün kararı teknik bir kararın önüne çıktığında önce neyi tartarsınız?

Kalite beklentileri

Ne kadar test beklersiniz? Ne zaman bir argüman yerine benchmark istersiniz? Araştırma ne zaman yeterlidir, ne zaman işi yayına almanın yerine geçmeye başlar? "Bitti" derken neyi kastedersiniz ve buna hangi düzeyde doğrulama eşlik eder?

İş birliği biçimi

Ajan ne kadar özerk olmalı? Ne zaman bir soru beklersiniz? Ne zaman bir seçim beklersiniz? Yapılan işin size nasıl ve ne yoğunlukta açıklamayla raporlanmasını istersiniz?

Neyi modellemez

Kim olduğunuzu değil. Demografi değil, kişilik değil, bir insan olarak sizin hakkınızda çıkarılan hiçbir şey değil. Temel birim, yazılım işinin nasıl yapılması gerektiğine dair bir çalışma tercihidir ve bunların her biri yüksek sesle söyleyebileceğiniz bir şeydir.

Üç tür ifade saklanmaz, doğrudan reddedilir:

  • Kişisel olan her şey. Sağlık, din, siyaset, cinsellik, etnik köken, maddi durum ve özel ilişkiler, cümle ne hakkında olursa olsun, Pathrule'un sakladığı şeylerin dışındadır.
  • Tercih kılığına girmiş bir kural. Tercih, ajana verilen bir tavsiyedir. Yasak olarak ifade edilmiş bir cümle ("asla", "yapılmamalı", "yasak") olmaya yetkisi olmadığı bir proje gereksinimi gibi okunur, bu yüzden saklanmaz. Bir projede bir şey gerçekten asla olmamalıysa, oraya bir kural olarak aittir.
  • Bir projeye dair bilgi. "Bu depoda ortak config yardımcısını kullanıyoruz" ifadesi sizin için değil, tek bir kod tabanı için doğrudur. Sizinmiş gibi saklanırsa, yanlış olduğu bir müşteri deposuna da peşinizden gelir. Bu çalışma alanı bilgisidir ve çalışma alanında kalır.

Nasıl öğrenir

Siz öğretirsiniz. Normalde yeni oturumlara tekrar tekrar yazdığınız cümleyle pathrule me teach komutunu çalıştırın:

pathrule me teach "Show me options before implementing anything that changes a public API"

İsteğe bağlı yerel model cümleyi kendi makinenizde okur ve yapılandırılmış bir çalışma tercihine dönüştürür. Vardığı sonuç sizin kendi sözlerinizde bulunmak zorundadır: size hiç dile getirmediğiniz bir tercihi yükleyemez. Yazdığınız bir şeye dayandıramadığında hiçbir şey saklanmaz ve CLI size nedenini söyler.

What you teach
      |
Checked against your own words
      |
Refused, or stored as a preference
      |
Active, and delivered where it applies

Somut bir örnek: sürekli "her uygulamayı bir araştırma projesine çevirme" gibi bir şey söylüyorsanız, işe yarayan temsil kaydedilmiş bir alıntı değildir. Bir çalışma tercihidir:

Prefer implementation once the primary correctness
questions are resolved.

Source:     you told Pathrule
Applies:    across workspaces

Öğretmek için yerel modelin kurulu olduğu bir Apple Silicon Mac gerekir. Bu sayfadaki diğer her şey, iletim de dahil, onsuz çalışır.

Fikrinizi değiştirmek

Aynı tür iş hakkındaki eski bir tercihle çelişen yeni bir tercih öğrettiğinizde, yenisi eskisinin yerini alır. Eskisi silinmez, kullanımdan kaldırılır ve yerine neyin geçtiğini gösteren bir işaret tutar; böylece "bu neden değişti" sorusunun her zaman bir cevabı olur. Farklı iş türleriyle ilgili iki tercihin ise ikisi de geçerli kalır.

"Kullanıcı" kim

Tercihler sizin hakkınızda yazılır; bu yüzden geliştirdiğiniz şeyi kullanan insanlardan söz ettiğinizde, ifade onları sessizce size dönüştürebilir. "Kullanıcılara hata göstermeden sorunları çöz" cümlesi bir ajana "bana hata gösterme" diye okunur ve bu, kastettiğinizin tam tersidir. Kendi sözleriniz kullanıcılarınız hakkındaysa, tercih "son kullanıcılar" demeye devam eder.

Bir tercih nerede geçerlidir

User Intelligence bir depoya değil size aittir. Her tercihin nerede geçerli olduğu ise ayrı bir sorudur.

  • Öğrettiğiniz şey her yerde geçerlidir. Bir projeden öğrenilmediği için bir projede tutulmaz.
  • Bir tercihi tek bir çalışma alanıyla sınırlayabilirsiniz. Bir depo içinde çalıştırılan pathrule me scope <id>, o tercihi komutu çalıştırdığınız çalışma alanıyla sınırlar. pathrule me scope <id> --everywhere ise tercihin yeniden her çalışma alanında geçerli olmasını sağlar.

Bir tercih ajana nasıl ulaşır

Her turdan önce Pathrule, yapılmak üzere olan işe uyan tercihleri seçer.

  • Yalnızca etkin olanlar. Henüz kullanımda olmayan bir tercih pathrule me list tarafından listelenir ama hiçbir zaman ajana ulaşmaz. Kullanımdan kaldırılmış ve reddedilmiş tercihler de kullanılmaz.
  • Yalnızca kapsamda olanlar, yukarıda anlatıldığı gibi çalışma alanına göre.
  • Yalnızca bu görevle ilgili olanlar. Sizinle nasıl çalışılacağına dair bir tercih her görev için geçerlidir. Mimari veya taşıma gibi belirli bir iş türüne dair bir tercih ise ajana yalnızca görev o konudaysa ulaşır.
  • Her turda az sayıda, en güçlüden başlayarak. Daha fazlası uyuyorsa, dışarıda kalanlar en zayıf olanlardır.
  • Her biri nereden geldiğini söyler, böylece ajan "siz öyle söylediniz" bilgisini gerçek ağırlığıyla değerlendirebilir.

Tercihler prompt hook'u üzerinden gelir; her biri oturum başına bir kez ve ajana çalışma alanının kurallarının ve zorunlu kontrollerinin önce geldiğini söyleyen bir başlık altında. Bugün bu, Claude Code ve Codex oturumları anlamına gelir. Cursor ve GitHub Copilot'ta oturum ve araç hook'ları var ama prompt hook'u yok; Windsurf'te ise hiç hook yok. Bu yüzden tercihler onlara ulaşmaz. Ayrıntılar için hook'lar nasıl çalışır sayfasına bakın.

Yetki: siz ve proje aynı fikirde olmadığınızda ne olur

Bir kullanıcı tercihi proje gerçeğinin önüne geçmez.

User Intelligence
Prefer minimal testing.

Workspace Intelligence
Rule: run migration verification before completion.

Kural uygulanır. Bu, çalışma alanının bir gereksinimidir ve daha az doğrulama tercihi onu atlamak için bir gerekçe değildir.

Genel kural şudur ve açıkça söylemeye değer:

  • Workspace Intelligence proje gerçeğini ve proje gereksinimlerini temsil eder. Kuralları ve zorunlu kontrolleri kesin gereksinimlerdir.
  • User Intelligence iş birliğini şekillendirir: işe nasıl yaklaşılacağını, ne kadarının özerk yapılacağını, nasıl raporlanacağını. Doğrunun ne olduğunu yeniden tanımlamaz.

İkisi yalnızca üslupla ilgili olduğunda tercihiniz geçerli olur. Çalışma alanı bir güvenlik veya doğruluk gereksinimi belirttiğinde ise o gereksinim geçerliliğini korur.

Çalışma alanında bir kural olmasa da durum aynıdır. Daha az doğrulama anlamına gelebilecek bir tercih, iş kimlik doğrulama, ödeme, veri taşıma, kriptografi veya güvenliğe dokunduğunda geri tutulur. Bu alanlardaki hatalar sessiz ve pahalıdır; gündelik kod üzerinde oluşmuş bir tercih, orada güvenli olup olmadığı hakkında hiçbir şey söylemez.

Neleri siz kontrol edersiniz

Her şeyi. User Intelligence örtük değil, incelenebilirdir. Her tercih için şunları görebilirsiniz:

  • Durumu: aday, etkin, kullanımdan kaldırılmış veya reddedilmiş.
  • Nereden geldiği ve ne kadar emin olunduğu.
  • Nerede geçerli olduğu: tüm çalışma alanlarında mı, yalnızca birinde mi.
  • Neden var olduğu: dayandığı sözler, tarihleriyle birlikte.

Ve şunları yapabilirsiniz:

  • Bir tercihi doğrudan öğretmek.
  • Bir tercihi unutturmak. Kullanılmayı bırakır ve aynı ifade onu hemen geri getirmesin diye reddedilmiş olarak tutulur. Tamamen kaldırmak için --delete ekleyin.
  • Bir tercihi bu çalışma alanıyla sınırlamak ya da her yerde geçerli kılmak.
  • Bir göreve başlamadan önce ajanın ne alacağını kontrol etmek.

Hiç görmediğiniz bir çıkarıma itiraz edemezsiniz; her tercihin tek bir komut uzaklıkta olmasının nedeni budur.

Komut satırından

pathrule me list                    # what is in use, and what is not yet
pathrule me teach "I prefer incremental refactors"
pathrule me explain <id>            # the evidence behind one preference
pathrule me scope <id>              # keep it to the workspace you run this in
pathrule me scope <id> --everywhere # let it apply in every workspace
pathrule me forget <id>             # stop using it
pathrule me forget <id> --delete    # remove it entirely
pathrule me context "add a payments webhook"

pathrule me context, ajanın o görev için tam olarak ne alacağını, hangi tercihlerin geri tutulduğunu ve nedenini yazdırır. Bir tercihin kastettiğiniz işe, ve yalnızca o işe, ulaştığını kontrol etmenin en hızlı yolu budur. Her alt komut --json kabul eder.

Projeler arasında geçiş

Farklı bir depo açtığınızda çevrenizdeki proje bilgisi tamamen değişir. Öğrettiğiniz tercihler ise, tek bir çalışma alanıyla sınırladıklarınız dışında, sizinle birlikte gelir.

İkisi bir turda tam burada buluşur: çalışma alanı burada neyin doğru ve zorunlu olduğunu, siz işin nasıl yapılması gerektiğini katarsınız; iletim de projenin gereksinimlerini tercihlerinizin üstünde tutar. Ayrıntılar için Agent IR sayfasına bakın.

Bilinmesi gereken sınırlar

  • Eşleştirme anlama göre değil, kelimelere göre yapılır. Bir tercih, terimlerini paylaşan bir göreve ulaşır. Görevden çok farklı ifade edilmiş bir tercih ona ulaşmayabilir.
  • Öğretmek yerel modeli gerektirir; yerel model yalnızca Apple Silicon Mac'lerde çalışır.
  • Tercihler yalnızca prompt hook'u olan istemcilere ulaşır: Claude Code ve Codex.
  • Tahmin yürütmek yerine geri durur. Kendi sözlerinize dayandıramadığı bir cümle saklanmaz. Bir tercihin kaçması size bir cümleye mal olur; bir tercih uydurmak ise sizi birlikte çalıştığınız her ajana yanlış tanıtmak olur.

Gizlilik

Öğrettiklerinizi yapılandırılmış bir tercihe dönüştüren çıkarım kendi cihazınızda çalışır ve tercihleriniz makinenizdeki özel bir depolama alanında tutulur.

Bir çalışma alanını bir ekiple paylaşıyorsanız, eşitlenen şey sizin kişisel çalışma tercihleriniz değil, çalışma alanının bilgisidir. Claude Code, Codex veya başka bir ajan çalıştırdığınızda ise ona ulaşan her şey için o ajanın kendi sağlayıcı sınırları geçerlidir. Güvenlik sayfası bu sınırları ayrı ayrı ele alır, çünkü hepsini tek bir cümleye sıkıştırmak bir iddianın doğruluğunu yitirmesinin yoludur.