Sürekli Öğrenme v2.1 - Instinct Tabanlı Mimari
Claude Code oturumlarınızı güven skorlaması ile atomik "instinct'ler" - küçük öğrenilmiş davranışlar - aracılığıyla yeniden kullanılabilir bilgiye dönüştüren gelişmiş bir öğrenme sistemi.
v2.1 proje kapsamlı instinct'ler ekler — React kalıpları React projenizde kalır, Python kuralları Python projenizde kalır ve evrensel kalıplar (örneğin "her zaman input'u doğrula") global olarak paylaşılır.
Ne Zaman Aktifleştirmelisiniz
- Claude Code oturumlarından otomatik öğrenme ayarlarken
- Hook'lar aracılığıyla instinct tabanlı davranış çıkarmayı yapılandırırken
- Öğrenilmiş davranışlar için güven eşiklerini ayarlarken
- Instinct kütüphanelerini incelerken, dışa veya içe aktarırken
- Instinct'leri tam skill'lere, command'lara veya agent'lara evriltirken
- Proje kapsamlı vs global instinct'leri yönetirken
- Instinct'leri projeden global kapsamına yükseltirken
v2.1'deki Yenilikler
| Özellik | v2.0 | v2.1 | |---------|------|------| | Depolama | Global (~/.claude/homunculus/) | Proje kapsamlı (projects/<hash>/) | | Kapsam | Tüm instinct'ler her yerde geçerli | Proje kapsamlı + global | | Tespit | Yok | git remote URL / repo path | | Yükseltme | Yok | Proje → 2+ projede görülünce global | | Komutlar | 4 (status/evolve/export/import) | 6 (+promote/projects) | | Çapraz proje | Kontaminasyon riski | Varsayılan olarak izole |
v2'deki Yenilikler (vs v1)
| Özellik | v1 | v2 | |---------|----|----| | Gözlem | Stop hook (oturum sonu) | PreToolUse/PostToolUse (%100 güvenilir) | | Analiz | Ana bağlam | Arka plan agent'ı (Haiku) | | Granülerlik | Tam skill'ler | Atomik "instinct'ler" | | Güven | Yok | 0.3-0.9 ağırlıklı | | Evrim | Doğrudan skill'e | Instinct'ler -> kümeleme -> skill/command/agent | | Paylaşım | Yok | Instinct'leri dışa/içe aktar |
Instinct Modeli
Instinct küçük öğrenilmiş bir davranıştır:
---
id: prefer-functional-style
trigger: "yeni fonksiyonlar yazarken"
confidence: 0.7
domain: "code-style"
source: "session-observation"
scope: project
project_id: "a1b2c3d4e5f6"
project_name: "my-react-app"
---
# Fonksiyonel Stili Tercih Et
## Aksiyon
Uygun olduğunda sınıflar yerine fonksiyonel kalıpları kullan.
## Kanıt
- 5 fonksiyonel kalıp tercihinin gözlemlenmesi
- Kullanıcı 2025-01-15'te sınıf tabanlı yaklaşımı fonksiyonele düzeltti
Özellikler:
- Atomik -- bir tetikleyici, bir aksiyon
- Güven ağırlıklı -- 0.3 = geçici, 0.9 = neredeyse kesin
- Alan etiketli -- code-style, testing, git, debugging, workflow, vb.
- Kanıt destekli -- hangi gözlemlerin oluşturduğunu takip eder
- Kapsam farkında --
project(varsayılan) veyaglobal
Nasıl Çalışır
Oturum Aktivitesi (bir git repo'sunda)
|
| Hook'lar prompt'ları + tool kullanımını yakalar (%100 güvenilir)
| + proje bağlamını tespit eder (git remote / repo path)
v
+---------------------------------------------+
| projects/<project-hash>/observations.jsonl |
| (prompt'lar, tool çağrıları, sonuçlar, proje) |
+---------------------------------------------+
|
| Gözlemci agent okur (arka plan, Haiku)
v
+---------------------------------------------+
| KALIP TESPİTİ |
| * Kullanıcı düzeltmeleri -> instinct |
| * Hata çözümleri -> instinct |
| * Tekrarlanan iş akışları -> instinct |
| * Kapsam kararı: project mi global mi? |
+---------------------------------------------+
|
| Oluşturur/günceller
v
+---------------------------------------------+
| projects/<project-hash>/instincts/personal/ |
| * prefer-functional.yaml (0.7) [project] |
| * use-react-hooks.yaml (0.9) [project] |
+---------------------------------------------+
| instincts/personal/ (GLOBAL) |
| * always-validate-input.yaml (0.85) [global]|
| * grep-before-edit.yaml (0.6) [global] |
+---------------------------------------------+
|
| /evolve kümeleme + /promote
v
+---------------------------------------------+
| projects/<hash>/evolved/ (proje kapsamlı) |
| evolved/ (global) |
| * commands/new-feature.md |
| * skills/testing-workflow.md |
| * agents/refactor-specialist.md |
+---------------------------------------------+
Proje Tespiti
Sistem mevcut projenizi otomatik olarak tespit eder:
CLAUDE_PROJECT_DIRenv var (en yüksek öncelik)git remote get-url origin-- taşınabilir proje ID'si oluşturmak için hash'lenir (farklı makinelerde aynı repo aynı ID'yi alır)git rev-parse --show-toplevel-- repo path kullanan yedek (makineye özgü)- Global yedek -- proje tespit edilemezse, instinct'ler global kapsamına gider
Her proje 12 karakterlik bir hash ID alır (örn. a1b2c3d4e5f6). ~/.claude/homunculus/projects.json dosyasındaki kayıt dosyası ID'leri insanların okuyabileceği isimlerle eşler.
Hızlı Başlangıç
1. Gözlem Hook'larını Aktifleştirin
~/.claude/settings.json dosyanıza ekleyin.
Plugin olarak kuruluysa (önerilen):
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh"
}]
}]
}
}
~/.claude/skills dizinine manuel kuruluysa:
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
}]
}]
}
}
2. Dizin Yapısını Başlatın
Sistem ilk kullanımda dizinleri otomatik oluşturur, ancak manuel olarak da oluşturabilirsiniz:
# Global dizinler
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}
# Proje dizinleri hook bir git repo'sunda ilk çalıştığında otomatik oluşturulur
3. Instinct Komutlarını Kullanın
/instinct-status # Öğrenilmiş instinct'leri göster (proje + global)
/evolve # İlgili instinct'leri skill/command'lara kümele
/instinct-export # Instinct'leri dosyaya aktar
/instinct-import # Başkalarından instinct'leri içe aktar
/promote # Proje instinct'lerini global kapsamına yükselt
/projects # Tüm bilinen projeleri ve instinct sayılarını listele
Komutlar
| Komut | Açıklama |
|---------|-------------|
| /instinct-status | Tüm instinct'leri göster (proje kapsamlı + global) güvenle |
| /evolve | İlgili instinct'leri skill/command'lara kümele, yükseltme öner |
| /instinct-export | Instinct'leri dışa aktar (kapsam/alana göre filtrelenebilir) |
| /instinct-import <file> | Kapsam kontrolü ile instinct'leri içe aktar |
| /promote [id] | Proje instinct'lerini global kapsamına yükselt |
| /projects | Tüm bilinen projeleri ve instinct sayılarını listele |
Konfigürasyon
Arka plan gözlemcisini kontrol etmek için config.json dosyasını düzenleyin:
{
"version": "2.1",
"observer": {
"enabled": false,
"run_interval_minutes": 5,
"min_observations_to_analyze": 20
}
}
| Anahtar | Varsayılan | Açıklama |
|-----|---------|-------------|
| observer.enabled | false | Arka plan gözlemci agent'ını aktifleştir |
| observer.run_interval_minutes | 5 | Gözlemcinin gözlemleri ne sıklıkla analiz ettiği |
| observer.min_observations_to_analyze | 20 | Analiz çalışmadan önce minimum gözlem |
Diğer davranışlar (gözlem yakalama, instinct eşikleri, proje kapsamı, yükseltme kriterleri) instinct-cli.py ve observe.sh içindeki kod varsayılanları aracılığıyla yapılandırılır.
Dosya Yapısı
~/.claude/homunculus/
+-- identity.json # Profiliniz, teknik seviye
+-- projects.json # Kayıt: proje hash -> isim/path/remote
+-- observations.jsonl # Global gözlemler (yedek)
+-- instincts/
| +-- personal/ # Global otomatik öğrenilmiş instinct'ler
| +-- inherited/ # Global içe aktarılan instinct'ler
+-- evolved/
| +-- agents/ # Global oluşturulan agent'lar
| +-- skills/ # Global oluşturulan skill'ler
| +-- commands/ # Global oluşturulan komutlar
+-- projects/
+-- a1b2c3d4e5f6/ # Proje hash (git remote URL'den)
| +-- project.json # Proje başına metadata yansıması (id/name/root/remote)
| +-- observations.jsonl
| +-- observations.archive/
| +-- instincts/
| | +-- personal/ # Projeye özgü otomatik öğrenilmiş
| | +-- inherited/ # Projeye özgü içe aktarılan
| +-- evolved/
| +-- skills/
| +-- commands/
| +-- agents/
+-- f6e5d4c3b2a1/ # Başka bir proje
+-- ...
Kapsam Karar Kılavuzu
| Kalıp Tipi | Kapsam | Örnekler |
|-------------|-------|---------|
| Dil/framework kuralları | project | "React hook'ları kullan", "Django REST kalıplarını takip et" |
| Dosya yapısı tercihleri | project | "Testler __tests__/ içinde", "Bileşenler src/components/ içinde" |
| Kod stili | project | "Fonksiyonel stil kullan", "Dataclass'ları tercih et" |
| Hata işleme stratejileri | project | "Hatalar için Result tipi kullan" |
| Güvenlik uygulamaları | global | "Kullanıcı input'unu doğrula", "SQL'i sanitize et" |
| Genel en iyi uygulamalar | global | "Önce testleri yaz", "Her zaman hataları işle" |
| Tool iş akışı tercihleri | global | "Edit'ten önce Grep", "Write'tan önce Read" |
| Git uygulamaları | global | "Conventional commit'ler", "Küçük odaklı commit'ler" |
Instinct Yükseltme (Project -> Global)
Aynı instinct birden fazla projede yüksek güvenle göründüğünde, global kapsamına yükseltme adayıdır.
Otomatik yükseltme kriterleri:
- 2+ projede aynı instinct ID
- Ortalama güven >= 0.8
Nasıl yükseltilir:
# Belirli bir instinct'i yükselt
python3 instinct-cli.py promote prefer-explicit-errors
# Tüm uygun instinct'leri otomatik yükselt
python3 instinct-cli.py promote
# Değişiklik yapmadan önizle
python3 instinct-cli.py promote --dry-run
/evolve komutu ayrıca yükseltme adaylarını önerir.
Güven Skorlaması
Güven zamanla evrimleşir:
| Skor | Anlamı | Davranış | |-------|---------|----------| | 0.3 | Geçici | Önerilir ama zorunlu değil | | 0.5 | Orta | İlgili olduğunda uygulanır | | 0.7 | Güçlü | Uygulama için otomatik onaylanır | | 0.9 | Neredeyse kesin | Temel davranış |
Güven artar şu durumlarda:
- Kalıp tekrar tekrar gözlemlenir
- Kullanıcı önerilen davranışı düzeltmez
- Diğer kaynaklardan benzer instinct'ler hemfikirdir
Güven azalır şu durumlarda:
- Kullanıcı davranışı açıkça düzeltir
- Kalıp uzun süre gözlemlenmez
- Çelişkili kanıt ortaya çıkar
Neden Gözlem için Skill'ler Yerine Hook'lar?
"v1 gözlem için skill'lere güveniyordu. Skill'ler olasılıksaldır -- Claude'un yargısına göre zamanın ~%50-80'inde tetiklenirler."
Hook'lar %100 deterministik olarak tetiklenir. Bu şu anlama gelir:
- Her tool çağrısı gözlemlenir
- Hiçbir kalıp kaçırılmaz
- Öğrenme kapsamlıdır
Geriye Dönük Uyumluluk
v2.1, v2.0 ve v1 ile tamamen uyumludur:
~/.claude/homunculus/instincts/içindeki mevcut global instinct'ler hala global instinct olarak çalışır- v1'den
~/.claude/skills/learned/skill'leri hala çalışır - Stop hook hala çalışır (ama şimdi v2'ye de beslenir)
- Kademeli geçiş: her ikisini de paralel çalıştırın
Gizlilik
- Gözlemler makinenizde yerel kalır
- Proje kapsamlı instinct'ler proje başına izoledir
- Sadece instinct'ler (kalıplar) dışa aktarılabilir — ham gözlemler değil
- Gerçek kod veya konuşma içeriği paylaşılmaz
- Neyin dışa aktarılacağını ve yükseltileceğini siz kontrol edersiniz
İlgili
- ECC-Tools GitHub App - Repo geçmişinden instinct'ler oluştur
- Homunculus - v2 instinct tabanlı mimariye ilham veren topluluk projesi (atomik gözlemler, güven skorlaması, instinct evrim hattı)
- The Longform Guide - Sürekli öğrenme bölümü
Instinct tabanlı öğrenme: Claude'a kalıplarınızı öğretmek, her seferinde bir proje.