Fable 5 Kullanarak Agentic OS Nasıl İnşa Edilir (Geliştirici Kılavuzu)

@Av1dlive
İNGILIZCE1 gün önce · 06 Tem 2026
333K
311
41
41
1.1K

TL;DR

Bu teknik kılavuz, deterministik geçitler ve kademeli güven mekanizmalarına odaklanarak Claude Fable 5 ile otonom bir ajan sistemi oluşturmaya yönelik 8 adımlı bir çerçeveyi özetlemektedir.

İşte İngilizce'den Türkçe'ye yapılan çeviri:

Bu, Claude Fable 5'in ne olduğu ve 100x mühendis gibi nasıl kullanılacağına dair eksiksiz bir A'dan Z'ye kılavuzdur.

Bu, Claude ile çalışma şeklinizi tamamen değiştirecek.

Unutmadan önce bu 8 yapıyı (build) kaydedin

Giriş

Şimdiye kadar genel kullanıma sunulmuş en yetenekli modele sahipsiniz ve hâlâ ona tek tek istemler (prompt) yazıyorsunuz. Bu kılavuz bunu düzeltiyor.

Temmuz 2026 itibarıyla durum şu: Fable 5, saatlerce gözetimsiz çalışabilir, kendi alt temsilcilerini (subagent) gönderebilir ve bir haftalık işi bir gecede yapabilir. Ayrıca ölçülüdür (kullanım kredileriyle $10/M giriş, $50/M çıkış), kapsam sınırlandırılmadığında gereğinden fazla teslimat yapar ve hatalarını çoğu insanın doğru cevaplarını savunduğundan daha ikna edici bir şekilde savunur.

Gelişigüzel kullanıldığında, etkileyici yanlış şeyler üretmenin pahalı bir yoludur. Bir sistem içinde kullanıldığında, günde üç dolara kiralayabileceğiniz bir çalışana en yakın şeydir.

Bu kılavuz, işte bu sistemi inşa ediyor. Felsefesini değil: gerçek dosyaları, sırayla, her birinin ardından bir kontrol noktası (checkpoint) ile, bir sonraki parçayı üstüne koymadan önce çalıştığından emin olmanızı sağlar.

Sonunda sahip olacaklarınız:

  • Modelin pazarlık edemeyeceği bir CLAUDE.md (BUILD 1)
  • Fable 5'in her kararı verdiği ancak neredeyse hiç token yazmadığı, ucuz modellerin işi yaptığı, bağımsız bir doğrulayıcının (verifier) not verdiği ve bir bash betiğinin son oyu kullandığı günlük bir döngü (BUILD'ler 2-3)
  • Ölçülen geçme oranlarına göre, beceri başına özerkliği otomatik olarak veren ve geri alan bir güven defteri (trust ledger) (BUILD 4)
  • Tamamladığınız her şeyin, sonsuza kadar, her gün yeniden doğrulanmaya devam ettiği, böylece hiçbir şeyin sessizce çürümediği bir hedefler dizini (goals directory) (BUILD 5)
  • Sizi şaşırtmak yerine kendini uygulayan bir bütçe (BUILD 6)
  • Her biri, ne zaman kurulacağını söyleyen bir koşula sahip dört isteğe bağlı döngü (yeter sayı (quorum), mandal (ratchet), idman (sparring), kompost (compost)) (BUILD 7)
  • Bir cron zamanlaması, sistemin yükseltebileceği her alarm için bir çalışma kitabı (runbook) ve onu denetimli olmaktan kendi kendini genişletmeye götüren 30 günlük bir güven takvimi.

Bu kimler için. Bir repoya, bir terminale ve bir Claude Code aboneliğine veya API anahtarına sahip olan herkes için. Örnekler kod odaklıdır çünkü döngüler kod tabanları etrafında büyümüştür, ancak hedef sistemi ve döngülerin yarısı faturalar, raporlar ve okuma listelerinde de aynı derecede iyi çalışır; yüklemler (predicates) sadece shell komutlarıdır.

Nasıl okunmalı. Sırayla, kontrolleri yaparak. BUILD 0, resmi Anthropic ayarları ve istem dilidir; ondan sonraki her şey, üzerine inşa edilen sistemdir. Her yapı 10 ila 20 dakikadır. Sondaki 30 gün okuma süresi değildir; sistemin sizsiz çalışma hakkını kazandığı kademeli güven takvimidir. Toplam uygulamalı süre: yaklaşık 2 saat.

Her şeyin altında yatan üç ilke, böylece okumadan önce herhangi bir tasarım kararını tahmin edebilirsiniz:

  1. Kurallar (Laws), ipuçları (tips) değil. Her kuralın bir numarası, bir "asla"sı (never) veya onu kontrol eden bir komutu vardır. Bundan daha yumuşak olan her şey optimize edilip atılır.
  2. Hiçbir şey kendi ödevini notlamaz. Planlayıcı, işçi, doğrulayıcı ve geçit (gate) dört farklı taraftır ve sonuncusu deterministiktir.
  3. Bir kez geçen hiçbir şey izlenmeden kalmaz. Tamamlanan iş, yeniden doğrulanan bir değişmeze (invariant) dönüşür. Yalnızca bir kez doğruladığınız bir hedef, zaman damgalı bir varsayımdır.

Buradan itibaren deneme yok. Her biri dosyalar, komutlar ve bir kontrol noktası içeren sekiz yapı.

Ön Koşullar

bash
1claude CLI (Claude Code) Fable 5 erişimi ile # kullanım kredileri etkin, /usage-credits limiti ayarlanmış
2llm CLI + OpenRouter anahtarı # llm install llm-openrouter
3jq, gh, git, make, cron
4test komutu olan bir repo

İnşa ettiğiniz şey

markdown
1your-repo/
2 CLAUDE.md # BUILD 1: anayasa (constitution)
3 loop/
4 loop.sh # BUILD 3: kalp atışı (heartbeat)
5 conductor.md # BUILD 3: yönlendirme istemi (routing prompt)
6 triage.md # BUILD 3: ucuz okuyucu istemi (cheap reader prompt)
7 contract.md # BUILD 2: üç liste
8 workers/implement.md # BUILD 3
9 workers/verify.md # BUILD 3
10 guardrails/verify.sh # BUILD 2: deterministik geçit (deterministic gate)
11 scripts/trust-log.sh # BUILD 4
12 scripts/log-cost.sh # BUILD 6
13 scripts/cost-check.sh # BUILD 6
14 quorum.sh # BUILD 7 (isteğe bağlı)
15 verify-goals.sh # BUILD 5
16 goals/ # BUILD 5: kalıcı hedefler (standing goals)
17 skills/ # BUILD 4: çalışan başına bir dosya
18 memory/
19 STATE.md trust.tsv goal-ledger.tsv dispatch.tsv usage.log
20 Makefile # BUILD 8: tick / queue / trust / audit / dream

BUILD 0: Motoru Yapılandırma (resmi Fable 5 dokümanlarından)

Bu yapıdaki her şey Anthropic'in kendi dokümantasyonundan gelmektedir. Kendi dosyanızdan herhangi birini yazmadan önce bunları ayarlayın.

Teknik Özellik Sayfası:

Ayar

Değer

Kaynak

Model dizesi

claude-fable-5

modellere genel bakış

Bağlam / çıktı

1M token / istek başına 128k'ya kadar çıktı

giriş dokümanları

Fiyat

$10/M giriş, $50/M çıkış

giriş dokümanları

Düşünme (Thinking)

uyarlanabilir, her zaman açık;

thinking: {type:"disabled"}

REDDEDİLDİ; düşünme çıktısı yalnızca özetlenir

giriş + çaba dokümanları

Çaba (Effort)

düşük (low)

orta (medium)

yüksek (high)

çok yüksek (xhigh)

maks (max)

;

yüksek (high)

= varsayılan = parametrenin atlanması

çaba dokümanları

API şekli

output_config: {"effort": "..."}

Messages API'sinde

çaba dokümanları

Nasıl inşa edeceğinizi değiştiren beş resmi gerçek:

  1. max_tokens, düşünme (thinking) ARTı yanıt metni için SERT bir sınırdır. Yüksek (high) ve çok yüksek (xhigh) seviyelerinde, büyük ayarlayın (64k ile başlayın) yoksa Fable'ın düşünce sırasında alanı biter. Bu kılavuzdaki her claude -p çağrısı için geçerlidir.
  2. xhigh, resmi olarak "token bütçeleri milyonlarla ifade edilen uzun süreli temsilci görevleri (30 dakikadan fazla)" içindir. Bu sistemdeki şef (conductor) koltuğu ve başka hiçbir şeydir. Dokümanlar ayrıca Fable 5'te daha düşük çabanın "genellikle önceki modellerdeki xhigh performansını aştığını" söyler, bu nedenle işçileri (workers) yükseltmeye direnin.
  3. Reddetmeler HTTP 200'dür. Fable 5, güvenlik sınıflandırıcılarını (saldırgan siber, biyoloji/yaşam bilimleri, akıl yürütme çıkarma) çalıştırır. Reddedilen bir istek, BAŞARILI bir yanıt olarak stop_reason: "refusal" döndürür. Betikleriniz çıkış kodunu değil, durdurma nedenini kontrol etmelidir. Resmi çözüm: Opus 4.8'e yeniden yönlendirmek için sunucu tarafı yedekleri veya SDK ara yazılımını yapılandırın.
  4. Fable'dan asla akıl yürütmesini yansıtmasını istemeyin. "Düşünceni göster" veya "yanıtta mantığını açıkla" diyen istemler veya beceriler, reasoning_extraction reddetme kategorisini tetikler ve yedekleri yükseltir. Geçiş yaparken bu açıdan her eski beceriyi denetleyin. Bunun yerine yapılandırılmış düşünme bloklarını okuyun.
  5. Sıralar (Turns) tasarım gereği uzundur. Zor görevler, daha yüksek çabada istek başına dakikalarca çalışır; otonom çalıştırmalar saatlerce uzar. İstemci zaman aşımlarını ayarlayın ve çalıştırmaları eşzamansız olarak kontrol edin (zamanlanmış işler, engelleyici beklemeler değil). Kalp atışının (heartbeat) bir engelleyici döngü değil, cron olmasının nedeni budur.

Resmi İstem Paketi. Anthropic, Fable 5'in bilinen davranışları için test edilmiş istem dili gönderir. Bunlar, istemlerinize kelimesi kelimesine girer; onları daha ince bir şekilde başka sözcüklerle ifade etmeyin:

  1. Aşırı planlamayı önleme (şef (conductor) ve herhangi bir etkileşimli oturum için):
markdown
1Harekete geçmek için yeterli bilgiye sahip olduğunuzda harekete geçin. Konuşmada
2zaten oluşturulmuş gerçekleri yeniden türetmeyin, kullanıcının zaten verdiği bir
3kararı yeniden tartışmayın veya izlemeyeceğiniz seçenekleri anlatmayın. Bir seçimi
4değerlendiriyorsanız, kapsamlı bir araştırma değil, bir öneride bulunun.
  1. Aşırı kaliteyi önleme (her işçi istemi için; bu, aşırı teslimatın etrafındaki resmi çittir):
markdown
1Görevin gerektirdiğinin ötesinde özellikler eklemeyin, yeniden düzenleme (refactor)
2yapmayın veya soyutlamalar (abstractions) getirmeyin. Bir hata düzeltmesi, çevresinde
3temizlik gerektirmez. Varsayımsal gelecek gereksinimleri için tasarım yapmayın:
4iyi çalışan en basit şeyi yapın. Gerçekleşemeyecek senaryolar için hata işleme veya
5doğrulama eklemeyin. Yalnızca sistem sınırlarında doğrulama yapın.
  1. Gerçekçi ilerleme iddiaları (herhangi bir uzun çalışma için; Anthropic'in testlerinde bu, neredeyse tamamen uydurma durum raporlarını ortadan kaldırmıştır):
markdown
1İlerlemeyi raporlamadan önce, her iddiayı bu oturumdaki bir araç sonucuna karşı
2denetleyin. Yalnızca kanıt gösterebileceğiniz işleri rapor edin; bir şey henüz
3doğrulanmadıysa, bunu açıkça belirtin. Testler başarısız olursa, çıktıyla birlikte
4söyleyin; bir adım atlandıysa, onu söyleyin.
  1. Otonom iş hattı hatırlatıcısı (her cron tarafından yönlendirilen istem için; "Şimdi X'i çalıştıracağım" erken durdurmasını öldürür):
markdown
1Otonom olarak çalışıyorsunuz. Kullanıcı izlemiyor ve görev sırasında soruları
2yanıtlayamıyor. Orijinal talepten kaynaklanan geri döndürülebilir eylemler için
3sormadan devam edin. Sıranızı bitirmeden önce son paragrafınızı kontrol edin:
4eğer bir plan, bir soru veya yapmadığınız iş hakkında bir söz ise, o işi şimdi
5araç çağrılarıyla yapın. Yalnızca görev tamamlandığında veya yalnızca kullanıcının
6sağlayabileceği girdi nedeniyle engellendiğinizde sonlandırın.
  1. Resmi bellek formatı (hayalperest (dreamer) ve memory/learnings/ için):
markdown
1Dosya başına en üstte tek satırlık bir özetle bir ders saklayın. Neden önemli
2olduklarını da içerecek şekilde düzeltmeleri ve onaylanmış yaklaşımları kaydedin.
3Reponun zaten kaydettiklerini kaydetmeyin; çoğaltmak yerine mevcut notları
4güncelleyin; yanlış olduğu ortaya çıkan notları silin.
  1. Resmi doğrulayıcı talimatı (dokümanlar bunu doğrudan belirtir: "ayrı, yeni bağlamlı doğrulayıcı alt temsilcileri, öz-eleştiriden daha iyi performans gösterme eğilimindedir"):
markdown
1İnşa ederken [X] aralığında kendi çalışmanızı kontrol etmek için bir yöntem
2belirleyin. Bunu her [X aralığı] çalıştırın, çalışmanızı spesifikasyona karşı
3alt temsilcilerle doğrulayın.

Dokümanlardan uyulmaya değer iki iskele (scaffolding) emri: zorluk aralığınızın en üstünden başlayın (Fable'ı yalnızca basit iş yüklerinde test etmek onu küçümser; ona çözülmemiş en zor problemi verin ve kapsamı belirlemesine izin verin) ve eski becerileri yeniden düzenleyin (önceki modeller için yazılmış talimatlar genellikle Fable 5 için çok kuralcıdır ve ÇIKTIYI DÜŞÜRÜR; varsayılan performans bir talimat olmadan daha iyiyse, talimatı silin).

KONTROL 0: Betiklerinizdeki her claude -p çağrısının, desteklendiği yerde açıkça büyük bir max_tokens değeri vardır; betikleriniz stop_reason: "refusal" kontrolü yapar; hiçbir istem veya beceri hiçbir yerde "düşünceni adım adım göster" demez.

BUILD 1: Anayasa (CLAUDE.md)

Neden, tek satırda: Fable yasaları takip eder ve ipuçları etrafında optimize eder, bu nedenle her satırın bir numarası, bir "asla"sı veya onu kontrol eden bir komutu olmalıdır.

Dosya için kurallar: dört blok, 150 satırın altında, "adım adım düşün" yok (akıl yürütme her zaman açıktır; bunlar ücretli tokenlardır), önceden tanımlanmış temsilci kişilikleri yok (Fable, sizin önceden tanımlayabileceğinizden daha iyi ekipler tasarlar), çoğunlukla dur işaretleri.

CLAUDE.md dosyasını oluşturun:

markdown
1# CLAUDE.md
2
3## ASLA (yasalar; istisnalar önce sormayı gerektirir)
4- Bir taahhütte asla 200 değiştirilmiş satırı sormadan aşmayın.
5- src/auth/, src/billing/, migrations/ veya prod yapılandırmasına asla gözetimsiz dokunmayın.
6- İşi asla kendi değerlendirmenizden bitmiş olarak raporlamayın. Bitti = kontrol geçti.
7- Asla bir sır, bir uç nokta veya bir kural icat etmeyin. Durun ve sorun.
8- Asla bir bağımlılık eklemeyin. STATE.md'de önerin ve durun.
9- Herhangi bir döngünün içinde asla çok yüksek (xhigh) çabayı aşmayın. xhigh yalnızca tek seferlik incelemeler içindir.
10- Bir testi geçirmek için asla düzenlemeyin veya silmeyin. Bu her zaman bir başarısızlıktır.
11- Yanıt metninde asla içsel akıl yürütmenizi yansıtmayın, yazıya dökmeyin veya açıklamayın.
12 (Resmi: Fable 5'te reasoning_extraction reddetmelerini tetikler.)
13- Bir /goal koşulu geçtiğinde, başarıyı raporlamadan önce koşulunu yüklem (predicate) olarak içeren goals/<name>.md dosyasını yazın.
14
15## GÖNDER (her görevi yönlendir; ilk eşleşme kazanır; memory/dispatch.tsv'ye kaydet)
16| model | marjinal | iştah | zeka | beğeni |
17|-----------------|----------|-------|------|--------|
18| claude-fable-5 | 2 (kredi)| 3 | 10 | 10 |
19| claude-opus-4-8 | 7 (abone)| 6 | 8 | 9 |
20| claude-sonnet-5 | 9 (abone)| 8 | 7 | 7 |
21| codex (2. abone)| 9 | 10 | 9 | 5 |
221. Karar (planla/incele/yönlendir/çıkmaz) -> fable-5, çaba yüksek (high), salt okunur.
232. >50k token okuma (günlükler/PDF'ler/ekran görüntüleri) -> codex. Asla fable değil.
243. Kullanıcılara gidenler (UI/API/kopya) -> beğeni >= 8 son geçişi alır.
254. Spesifikasyon tamam -> sonnet-5, çaba orta (medium).
265. Aksi halde sonnet-5; bir kaçırma durumunda sormadan bir kademe yükselt.
27
28## KELİMELER
29- "zeka" = gözetimsiz olarak ele alınan en zor problem
30- "beğeni" = UI/UX, kod kalitesi, API tasarımı, kopya
31- "bitti" = yüklem geçer; başka hiçbir şey
32- "küçük" = 50 değiştirilmiş satırın altında; "hızlı" = zamanınızdan 10 dakikanın altında
33- "temizlik" = davranış aynı, verify.sh öncesi ve sonrası yeşil
34
35## BİTTİ
36- Her görevin, iş başlamadan önce makine tarafından kontrol edilebilir bir done_when değeri vardır.
37- Planı veya taslağı görmemiş yeni bağlamlı bir temsilci, buna karşı doğrular.
38- guardrails/verify.sh son oyu kullanır.
39- Sapmalar: muhafazakar seçenek, IMPLEMENTATION.md'ye kaydet, devam et.
40- Yapıcı ve denetçi iki kez anlaşamazsa -> dur, bir insan için sıraya koy.

Rakamları ve yolları kendinizinkilerle değiştirin. İş akışına özel materyaller (PR prosedürü, sürüm kontrol listesi) buraya değil, skills/ dizinine gider.

KONTROL 1: Her satır için şunu sorun: model %80 oranında uyup başarılı olduğunu iddia edebilir mi? Cevap evetse, bir sayı veya "asla" ile yeniden yazın. wc -l CLAUDE.md 150'nin altında

BUILD 2: Duvarlar ve Geçit

Neden: ilk tikten (tick) önce patlama yarıçapı (blast radius) bildirilmelidir ve bir bash betiği son oyu kullanmalıdır.

loop/contract.md dosyasını oluşturun:

markdown
1## yalnız hareket eder
2dallarda taslak PR'lar oluştur; lint/test borcunu düzelt; STATE.md'yi güncelle; sorunları etiketle
3
4## benim için sıraya koyar
5auth, ödemeler, migrasyonlar; "oto" (auto) seviyesinin altındaki herhangi bir beceri; 400 satırdan büyük herhangi bir fark
6
7## beni uyandırır
8doğrulama aynı öğede iki kez başarısız olursa
9güvenlik önlemi yönlendiricisi (safeguard router) modelleri çalışma ortasında değiştirirse
10günlük bütçe aşılırsa
11herhangi bir şey bir sır talep ederse
12kalıcı bir hedef İHLAL EDİLİRSE

loop/guardrails/verify.sh dosyasını oluşturun (kendi yığınınız için düzenleyin):

bash
1#!/usr/bin/env bash
2set -e
3npm run typecheck --if-present
4npm test --if-present
5npm run lint --if-present

KONTROL 2: ./loop/guardrails/verify.sh çalışır ve mevcut reponuzda 0 ile çıkar. Şimdi başarısız olursa, önce bunu düzeltin; tüm sistem bu betiğin üzerinde duruyor.

BUILD 3: Kalp Atışı

Neden, üç satırda: İşçi olarak Fable, dört haneli bir faturadır ($50/M çıkışta 500k-1M token oturumları); Şef olarak Fable, %100 karar verirken tokenların %10-20'sini yayar. $0.01'lık bir model sessiz tikleri okur. Temsilciler, herhangi bir modelin herhangi bir koltuğa uyması için bir JSON şeması aracılığıyla el değiştirir.

loop/triage.md dosyasını oluşturun:

markdown
1Son taahhütleri, açık sorunları ve CI çalıştırmalarını alırsınız. Yalnızca BULGULARI çıktı olarak verin:
2- finding: <tek satır>
3 evidence: <taahhüt/sorun/çalıştırma kimliği>
4 status: eyleme geçirilebilir (actionable) | bilgilendirici (informational)
5Düzeltme yok, fikir yok. Bildirilecek bir şey yok = çıktı olarak tam olarak "status: quiet".
6Auth, ödemeler, migrasyonlar, sırlara dokunan her şey = her zaman eyleme geçirilebilir,
7"sözleşmeye duyarlı (contract-sensitive)" olarak not edilir.

loop/conductor.md dosyasını oluşturun:

markdown
1Siz şefsiniz (conductor). Kod yazmazsınız. Dosyaları düzenlemezsiniz.
21. STATE, TRUST LEDGER, CONTRACT'ı aşağıdan okuyun. Bunların hafızasına güvenmeyin.
32. En YÜKSEK değerli eyleme geçirilebilir TEK öğeyi seçin.
4 sözleşmeye duyarlı, belirsiz veya muhtemelen >400 satırlık fark -> eylem: sıraya koy (queue)
5 yapmaya değer bir şey yok -> eylem: dur (stop)
63. Aksi halde eylem: yürüt (execute), vasat bir modelin takip edebileceği bir spesifikasyonla.
7Yalnızca bu JSON'u çıktı olarak verin:
8{ "action": "execute|queue|stop", "item": "...", "skill": "<kebap-kasa,
9çalıştırmalar arasında kararlı>", "spec": "...", "done_when": ["<doğrulanabilir>", ...] }
10Pahalısınız. Kısa olun. Çıktınız bir karardır, bir deneme değil.

loop/workers/implement.md dosyasını oluşturun:

markdown
1Bir iş emri (JSON) alırsınız. Spesifikasyonu aynen uygulayın.
2done_when'e doğru BİR SONRAKİ adımı yapın. Küçük farklar kazanır.
3Eksik kimlik bilgisi veya belgelenmemiş karar -> DUR, soruyu
4IMPLEMENTATION.md'ye yazın. Asla sırlar veya kurallar icat etmeyin.
5Ne yaptığınızı ve nedenini IMPLEMENTATION.md'ye kaydedin (en fazla 3 satır).

loop/workers/verify.md dosyasını oluşturun:

markdown
1Bir SPESİFİKASYON ve bir FARK (DIFF) alırsınız, başka bir şey değil. Yalnızca önünüzde olanı değerlendirin.
21. Fark, her bir done_when'i karşılıyor mu? Satırları belirtin.
32. Spesifikasyonun kapsamı dışında herhangi bir şey var mı? Anında başarısız. Silinmiş/atlanmış testler? Anında başarısız.
4Çıktı olarak tam olarak bir satır: "PASS: <sebep>" veya "FAIL: <sebep>".
5Yapıcı kendinden emindi. Bu bir kanıt değildir.

loop/loop.sh dosyasını oluşturun:

bash
1#!/usr/bin/env bash
2set -euo pipefail
3cd "$(dirname "$0")"
4MAX_ITERS="${MAX_ITERS:-10}"
5DAILY_BUDGET_USD="${DAILY_BUDGET_USD:-5}"
6CHEAP="${CHEAP:-openrouter/deepseek/deepseek-v4-flash}"
7WORKER="${WORKER:-openrouter/moonshotai/kimi-k2.6}"
8
9./scripts/cost-check.sh --budget "$DAILY_BUDGET_USD" || exit 3
10
11for ((i=1; i<=MAX_ITERS; i++)); do
12 # 1 TRİYAJ: sessiz tik geçidi, ~$0.01
13 { git log --oneline -20; gh issue list --limit 20 2>/dev/null || true; \
14 gh run list --limit 10 2>/dev/null || true; } \
15 | llm -m "$CHEAP" -s "$(cat triage.md)" >> memory/STATE.md
16 ./scripts/log-cost.sh triage 0.01
17 grep -q "status: actionable" memory/STATE.md || { echo quiet; exit 0; }
18
19 # 2 ŞEF: Fable, xhigh, yeni bağlam, salt okunur, JSON çıktısı
20 claude -p "$(cat conductor.md)
21STATE: $(cat memory/STATE.md)
22TRUST: $(./scripts/trust-log.sh --render)
23CONTRACT: $(cat contract.md)" \
24 --model claude-fable-5 --effort xhigh --allowedTools "Read" \
25 --output-format json > /tmp/c.json
26 ./scripts/log-cost.sh conductor 0.35
27
28 # 2a YÖNLENDİRME TOLERANSI: seçmediğiniz bir modelde asla yineleme yapmayın
29 SERVED=$(jq -r '.modelUsage | keys[0] // "claude-fable-5"' /tmp/c.json)
30 [[ "$SERVED" != *fable* ]] && { echo "rerouted" >> memory/STATE.md; exit 2; }
31
32 jq -r '.result' /tmp/c.json > work-order.json
33 SKILL=$(jq -r .skill work-order.json); ACTION=$(jq -r .action work-order.json)
34 [[ "$ACTION" == stop ]] && exit 0
35 [[ "$ACTION" == queue ]] && { echo "queued: $SKILL" >> memory/STATE.md; continue; }
36
37 # 3 YÜRÜT: ucuz işçi, izole çalışma ağacı
38 WT="../wt-$i"; git worktree add "$WT" -b "loop/$SKILL-$i" >/dev/null
39 ( cd "$WT" && llm -m "$WORKER" -s "$(cat "$OLDPWD/workers/implement.md")" \
40 "$(cat "$OLDPWD/work-order.json")" > IMPLEMENTATION.md )
41 ./scripts/log-cost.sh worker 0.10
42
43 # 4 DOĞRULA: yeni Fable, araç yok, yalnızca spesifikasyon + farkı görür
44 V=$(claude -p "$(cat workers/verify.md)
45SPEC: $(jq -r .spec work-order.json)
46DIFF: $(cd "$WT" && git diff)" \
47 --model claude-fable-5 --effort high --allowedTools "" \
48 --output-format json | jq -r .result)
49 ./scripts/log-cost.sh verifier 0.40
50
51 # 5 GEÇİT: deterministik; ardından defter; yalnızca oto seviyesinde gönder
52 if [[ "$V" == PASS* ]] && ( cd "$WT" && "$OLDPWD/guardrails/verify.sh" ); then
53 ./scripts/trust-log.sh "$SKILL" pass
54 if [[ "$(./scripts/trust-log.sh --tier "$SKILL")" == auto ]]; then
55 ( cd "$WT" && git add -A && git commit -qm "loop: $SKILL" && gh pr create --fill || true )
56 echo "- shipped: $SKILL" >> memory/STATE.md
57 else
58 echo "- review: $SKILL in $WT" >> memory/STATE.md
59 fi
60 else
61 ./scripts/trust-log.sh "$SKILL" fail
62 echo "- FAILED: $SKILL in $WT" >> memory/STATE.md
63 fi
64 ./scripts/cost-check.sh --budget "$DAILY_BUDGET_USD" || exit 3
65done
66exit 1 # durmadan yineleme sınırı: STATE.md'yi kontrol edin

Çıkış haritası: 0 sessiz/bitti, 1 sınır, 2 yeniden yönlendirme, 3 bütçe. Hepsi etiketli, bilerek.

KONTROL 3: chmod +x loop.sh guardrails/verify.sh ardından ./loop.sh'yi bir kez elle çalıştırın. Onaylayın: sessiz bir repo yaklaşık bir kuruşa 0 ile çıkar; eyleme geçirilebilir bir repo, beş alanın tümünü ve STATE.md'de bir karar satırını içeren bir work-order.json üretir.

BUILD 4: Güven Defteri (Trust Ledger)

Neden: "güven arttıkça özerkliği artır" bir mekanizma değildir; seviye kuralları olan bir TSV'dir. Özerklik, döngü başına değil, beceri başınadır.

loop/scripts/trust-log.sh dosyasını oluşturun:

bash
1#!/usr/bin/env bash
2# kullanım: trust-log.sh <beceri> <geçti|kaldı> | --render | --tier <beceri>
3set -euo pipefail
4F="$(dirname "$0")/../memory/trust.tsv"; touch "$F"
5tier_of() { awk -v r="$1" -v p="$2" 'BEGIN{
6 oran=(r>0)?p/r:0
7 if (r>=20 && oran>=0.95) print "auto"
8 else if (r<10 || oran<0.90) print "watch"
9 else print "queue"}'; }
10case "${1:-}" in
11 --render)
12 printf "%-20s %5s %5s %6s %s\n" beceri calisma gecme oran seviye
13 while IFS=$'\t' read -r s r p; do [ -z "$s" ] && continue
14 printf "%-20s %5s %5s %5s%% %s\n" "$s" "$r" "$p" \
15 "$(awk -v r="$r" -v p="$p" 'BEGIN{printf "%.0f",(r>0)?p/r*100:0}')" \
16 "$(tier_of "$r" "$p")"; done < "$F";;
17 --tier)
18 line=$(grep -P "^${2}\t" "$F" || echo -e "${2}\t0\t0")
19 tier_of "$(cut -f2 <<<"$line")" "$(cut -f3 <<<"$line")";;
20 *)
21 awk -v s="$1" -v r="$2" -F'\t' 'BEGIN{OFS="\t"; f=0}
22 $1==s {f=1; print s,$2+1,$3+(r=="pass"); next} {print}
23 END{if(!f) print s,1,(r=="pass")?1:0}' "$F" > "$F.t" && mv "$F.t" "$F"
24 if [ "$2" = fail ]; then
25 runs=$(grep -P "^${1}\t" "$F" | cut -f2)
26 [ "$("$0" --tier "$1")" = watch ] && [ "$runs" -ge 10 ] \
27 && echo "UYARI: $1, $runs çalışmadan sonra watch seviyesine düşürüldü" >&2 || true
28 fi;;
29esac
  • Seviye kuralları: auto = 20+ çalışma VE %95+ geçme oranı, gözetimsiz gönderilir. queue = doğrulanmış taslaklar sizi bekler. watch = 10 çalışmanın altında veya %90'ın altında, yalnızca taslak. Düşürme otomatiktir ve cron'un size e-postayla göndereceği stderr'e yazdırılır.
  • Kadroyu oluşturun: her yinelenen görev için loop/skills/<name>/SKILL.md oluşturun (fix-lint-debt, fix-flaky-test, bump-deps, triage-issues standart dörtlüdür). Her dosya: ön yazı (frontmatter) (ad, açıklama, ne zaman), adımlar, bir "asla" listesi, doğrulanabilir bir done-when. Her beceri watch seviyesinde başlar.

KONTROL 4: ./scripts/trust-log.sh demo pass komutunu 21 kez çalıştırın, ardından --tier demo auto yazdırır. 10+ çalışması olan bir beceride bir başarısızlık kaydedin ve stderr'de UYARI'yı görün. Sıfırlama: > memory/trust.tsv.

BUILD 5: Kalıcı Hedefler + Hedef Defteri (Goal Ledger)

Neden, tek satırda: yalnızca bir kez doğruladığınız bir hedef, zaman damgalı bir varsayımdır, bu nedenle tamamlanan hedefler, günlük olarak yeniden doğrulanan ve kaydedilen değişmezlere (invariants) dönüşür.

Bitmiş her şey için bir dosya oluşturun, goals/<name>.md:

markdown
1predicate: cd $REPO && npm test -- tests/auth 2>&1 | tail -1 | grep -q passing
2born: 2026-07-06
3source: /goal session 2026-07-06 (fix auth flake)
4status: satisfied
5last-pass: 2026-07-06
6on-violation: beni uyandır. Otomatik düzeltme yapma.
7retire-when: auth modülü silindi. Emeklilik, kaydedilen bir insan kararıdır.

loop/verify-goals.sh dosyasını oluşturun:

bash
1#!/usr/bin/env bash
2set -uo pipefail
3LEDGER="memory/goal-ledger.tsv"; VIOLATIONS=0
4for g in goals/*.md; do
5 [ -e "$g" ] || continue
6 grep -q '^status: retired' "$g" && continue
7 pred=$(grep '^predicate:' "$g" | cut -d' ' -f2-); name=$(basename "$g" .md)
8 start=$(date +%s%3N)
9 if timeout 60 bash -c "$pred" >/dev/null 2>&1; then r=pass
10 sed -i "s/^status:.*/status: satisfied/; s/^last-pass:.*/last-pass: $(date +%F)/" "$g"
11 else r=FAIL; VIOLATIONS=$((VIOLATIONS+1)); sed -i "s/^status:.*/status: VIOLATED/" "$g"; fi
12 echo -e "$(date -Is)\t$name\t$r\t$(( $(date +%s%3N) - start ))" >> "$LEDGER"
13done
14[ "$VIOLATIONS" -gt 0 ] && { grep -l '^status: VIOLATED' goals/*.md; exit 1; }
15echo "tüm kalıcı hedefler geçerlidir"

Nöbetçiyi başlatın (yalnızca tespit; düzeltmeler normal iş hattından geçer):

bash
1/loop 1d ./verify-goals.sh komutunu çalıştır. Sıfır değilse: ihlal edilen her hedef için
2son geçiş tarihini oku ve o tarihten bu yana birleştirilenleri listele
3(git log --oneline --since=<tarih>). Hedefi, şüphelileri, ihlal politikasını raporla.
4Hiçbir şeyi düzeltme.

Mezuniyet yasası zaten CLAUDE.md'dedir (BUILD 1): geçen her /goal kendi kalıcı hedefini yazar. Bitirmek, kaydolmanın ta kendisidir.

Gerçekten kullanacağınız defter sorguları:

bash
1awk -F'\t' '$3=="FAIL"{n[$2]++} END{for(g in n) print n[g],g}' memory/goal-ledger.tsv | sort -rn | head -5 # en kararsız
2grep <goal> memory/goal-ledger.tsv | awk -F'\t' '$3=="FAIL"' | head -1 # ne zaman bozulduğu

Kararsız yüklem: karantina (durum: emekli, not: "daha iyi bir yüklem gerekiyor"), asla silme.

KONTROL 5: Yüklemi true olan bir hedef ve yüklemi false olan bir hedef ekleyin. ./verify-goals.sh çıkış kodu 1 verir, ikinciyi VIOLATED olarak işaretler ve her ikisi de defterde görünür. Sahte hedefleri silin.

YAPI 6: Bütçe

Neden: günlük maliyet = tik sayısı × triyaj + isabet sayısı × (yönetici + işçi + doğrulayıcı). Gerçek fiyatlarla (triyaj $0.01, yönetici $0.35, işçi $0.10, doğrulayıcı $0.40): günlük bir temizlikçi ~$2.56/gün; triyaj koltuğunda Fable ile 15 dakikalık bir bakıcı aynı sonuç için $34/gün. Sessiz tikleri okuyan model faturayı belirler.

loop/scripts/log-cost.sh dosyasını oluşturun:

bash
1#!/usr/bin/env bash
2echo -e "$(date -Is)\t$1\t$2" >> "$(dirname "$0")/../memory/usage.log"

loop/scripts/cost-check.sh dosyasını oluşturun:

bash
1#!/usr/bin/env bash
2set -euo pipefail
3F="$(dirname "$0")/../memory/usage.log"; touch "$F"; TODAY=$(date +%F)
4case "${1:-}" in
5 --budget)
6 spent=$(awk -F'\t' -v d="$TODAY" '$1 ~ d {s+=$3} END{printf "%.2f",s}' "$F")
7 awk -v s="$spent" -v b="$2" 'BEGIN{exit (s>=b)?1:0}' \
8 || { echo "harcanan \$$spent / \$$2" >&2; exit 1; };;
9 --report)
10 awk -F'\t' -v since="$(date -d '7 days ago' +%F)" \
11 '$1>=since{s[$2]+=$3;t+=$3} END{for(k in s) printf " %-10s $%.2f\n",k,s[k]; printf " TOPLAM $%.2f\n",t}' "$F";;
12esac

Döngüyü düşük tutan kurallar: tempo bir maliyet kararıdır (aralığı yarıya indirmek tabanı ikiye katlar); sessiz tik sentlerle ölçülmelidir; döngülerde çaba asla yüksek seviyenin üzerinde olmamalıdır (çok yüksek, tek seferlik incelemeler içindir; çaba adım başına düşer, çalıştırma başına değil).

KONTROL 6: Bir haftalık tiklerden sonra, ./scripts/cost-check.sh --report çıktısı formülle gürültü payı dahilinde eşleşmelidir. DAILY_BUDGET_USD değerini, israf etmekten çekinmeyeceğiniz bir sayıya ayarlayın.

YAPI 7: İsteğe Bağlı Döngüler (koşulları oluştuğunda kurun)

  • Yeterli Çoğunluk (dağıtım, eylem üreten Fable uyanışlarını gösterdiğinde kurun: dur). Üç ucuz model oylar; Fable 3'te 2 oyla uyanır. Oylar birbirlerinin cevaplarını asla görmez.
bash
1V=0
2for m in deepseek/deepseek-v4-flash qwen/qwen-3.6 moonshotai/kimi-k2.6; do
3 llm -m "openrouter/$m" -s "$(cat triage.md)" < /tmp/signals.txt \
4 | grep -q "status: actionable" && V=$((V+1))
5done
6[ "$V" -ge 2 ] && exec ./conduct.sh || echo "yeterli çoğunluk: sessiz ($V/3)"
  • Mandallama (tek bir sayı önemli olduğunda kurun). Monoton iyileştirme veya kendi kendine geri alma; metrik manipüle edilemez; bitmiş taban kalıcı bir hedef haline gelir.
markdown
1/goal `npm run lint 2>&1 | grep -c warning` çıktısını 0'a düşürün.
2İzinler: src/ dizinini düzenleyin; her düzeltme için commit atın; her değişiklikten sonra yeniden ölçün.
3Sınırlar: sayı ASLA yükselmez; sayıyı yükselten veya bir testi bozan herhangi bir değişikliği geri alın; lint yapılandırmasını düşürmek için asla düzenlemeyin.
4Zaman sınırı: 3 denemede ilerleme olmazsa durun; kalanları raporlayın.
  • Antrenman (her gün kod gönderdiğinizde kurun). Yapıcı ve yıkıcı, karşıt; hiçbiri diğerinin çıktısına dokunmaz; anlaşmazlıklar size gelir.
markdown
1/loop 1d [yıkıcı] Dün birleştirilen farkları okuyun. Gerçek bir zayıflığı ortaya çıkaran BAŞARISIZ bir test yazın. tests/sparring/ altına @sparring etiketiyle commit atın. Hiçbir şeyi düzeltmeyin. Sağlam kod = öyle söyleyin, hiçbir şey yazmayın.
2/loop 1d [yapıcı] Herhangi bir @sparring testi başarısız olursa, geçene kadar KODU düzeltin. Bir antrenman testini asla düzenlemeyin, zayıflatmayın veya silmeyin; anlaşmazlıklar benim için sıraya girer.
  • Kompost (her zaman, haftalık kurun). Başarısızlıklar kural haline gelir; en fazla üç öneri; insan imzası gerekir.
markdown
1/loop 7d Bu haftanın atıklarını okuyun: STATE.md'de BAŞARISIZ, trust.tsv'de başarısızlıklar, goal-ledger.tsv'de BAŞARISIZLIKLAR, birleştirilmeden kapatılan PR'lar. EN FAZLA 3 öneri çıkarın: yeni bir CLAUDE.md kuralı (olayları alıntılayın), bir beceri düzeltmesi (tekrarlayan aynı başarısızlık) veya eksik olduğumuz kalıcı bir hedef. Sadece önerin. Temiz hafta = öyle söyleyin.

KONTROL 7: Her isteğe bağlı döngünün kurulum koşulu notlarınızda yanında yazılıdır. Bunları spekülatif olarak kurmak, sistemlerin şişmesine neden olur.

YAPI 8: Operasyonlar

Makefile dosyasını oluşturun:

text
1tick: ; ./loop/loop.sh
2queue: ; @grep -E "review:|queued:|FAILED:|rerouted" loop/memory/STATE.md || echo boş
3trust: ; @./loop/scripts/trust-log.sh --render
4audit: ; @./loop/scripts/cost-check.sh --report
5goals: ; @./loop/verify-goals.sh
6clean-worktrees: ; @git worktree list | awk '/wt-/{print $$1}' | xargs -rn1 git worktree remove --force

Cron, 2. Hafta başladığında:

markdown
10 7 * * 1-5 cd /path/to/repo/loop && ./loop.sh >> memory/cron.log 2>&1
230 7 * * * cd /path/to/repo/loop && ./verify-goals.sh >> memory/cron.log 2>&1

30 günlük güven programı

Mezuniyetleri atlamayın; her biri bir sonrakini açar.

Hafta

Seviye

Sizin yapacaklarınız

Mezuniyet koşulu

1

L1 rapor

Yapı 1-6;

make tick

elle günlük; her şeyi okuyun

3 ardışık çalıştırma, sizin yapacağınız gibi yönlendirir

2

L2 taslak

cron açık;

make queue

kahveyle; incelemeler defteri besler

2 beceri 20 kayıtlı çalıştırmayı geçer

3

L3 gönder

make audit

formüle karşı; en iyi beceri gözetimsiz kalır

1 hafta, sıfır müdahale

4

L4 büyüt

kompost onayları; 1 önerilen beceriyi onaylayın; silme işlemini çalıştırın

bir şey kaldırdınız ve hiçbir şey bozulmadı

Çalıştırma kılavuzu. Her alarmın anlamı ve yapılması gerekenler:

Sinyal

Anlamı

Yapılacak işlem

exit 2 (yönlendirme)

güvenlik önlemi yönlendiricisi çalışma ortasında modelleri değiştirdi

kontrol noktasını okuyun; öğeyi yarın yeniden çalıştırın; değiştirilen çıktı üzerinde asla yineleme yapmayın

stop_reason: refusal

güvenlik sınıflandırıcısı reddetti (HTTP 200, bir hata değil)

resmi yol: fallbacks veya ara katman yazılımı aracılığıyla Opus 4.8'e geri dönüş; bir beceride tekrarlanırsa, o beceriyi akıl yürütme yankısı veya siber/bio ile ilgili ifadeler açısından denetleyin

exit 3 (bütçe)

günlük harcama sınıra ulaştı

make audit

; hangi aşamanın büyüdüğünü bulun; bütçeyi değil, çaba haritasını düzeltin

ALERT düşürüldü

yerleşik bir beceri %90'ın altına düştü

son 3 başarısızlığını okuyun; genellikle işçi değil, şablon sorunudur

goal VIOLATED

bitmiş bir şey artık doğru değil

nöbetçi şüphelileri verir; düzeltme normal iş akışından geçer

yapıcı/kontrolcü çıkmazı x2

hiçbiri doğru kabul edilmez

siz karar verin veya çıkmaz kırıcıyı çalıştırın (üçüncü yeni incelemeyi yapan, kanıtları değerlendirir, farkı bölemez)

verify-goals zaman aşımı

yüklem çok pahalı

bu bir ihlaldir; yüklemi ucuzlatın

Kurallar (bunu yazdırın)

  1. İpuçları değil, yasalar: bir sayı, bir asla veya onu kontrol eden bir komut.
  2. Yönetici planlar, işçiler yürütür, hiçbiri doğrulamaz. --allowedTools bunu zorunlu kılar.
  3. Ajanlar iş emirleriyle konuşur. done_when = şartname + durma koşulu + gelecekteki değişmez.
  4. Çabayı döngünün dallandığı yere harcayın. Bir döngüde asla yüksek seviyenin üzerinde olmasın.
  5. Sessiz tik bir kuruşa mal olur yoksa döngü bin dolara mal olur.
  6. Bir kabuk betiği kontrol edemiyorsa, bunu hedef olarak yazmayın.
  7. Hedefler mezun olur; kapanmazlar. verify-goals.sh her gün, sonsuza kadar çalışır.
  8. Beceri başına özerklik: 20 çalıştırma, %95, otomatik. Düşürme otomatik ve gürültülüdür.
  9. İki defter: güven (işçiler) ve hedefler (iş). İkisini de kahveyle okuyun.
  10. Cron'a koymadan önce metabolizmayı hesaplayın.
  11. Depodaki sözleşme: tek başına hareket eder / sıraya koyar / beni uyandırır.
  12. Seçmediğiniz bir modelin çıktısı üzerinde asla yineleme yapmayın.
  13. Nöbetçi tespit eder; iş akışı düzeltir.
  14. Fable'ı uyandırmadan önce yeterli çoğunluk. Mandalla, sonra kaynak yap. Günlük antrenman. Haftalık kompost.
  15. Her seferinde bir mezuniyet kriteri. Her ay bir şey silin.
  16. Resmi dokümanlardan: max_tokens düşünme artı metni sınırlar, reddetmeler HTTP 200'dür, asla yankılanan akıl yürütme istemeyin, eski beceriler Fable'ı bozar ve taze bağlamlı doğrulayıcılar öz-eleştiriyi yener. Anthropic böyle söylüyor; sistem bunu zorunlu kılar.

Kapanış

Otuz gün sonra, kontrolleri yaptıysanız: bir döngü gözetimsiz sıkıcı iş gönderir, bir hedefler dizini bitirdiğiniz her şeyi yeniden doğrular, iki defter size işçileriniz ve işiniz hakkında gerçeği söyler ve haftalık bir kompost çalıştırması, sistemin bir sonraki iyileştirmesini imzanız için önerir.

  • Zor kısım asla model değildi. Zor kısım, izlemeyi bıraktığınızda dürüst kalan bir şey inşa etmekti. İşte az önce inşa ettiğiniz şey bu.
  • Bu gece, bunu kanıtlayan yirmi dakikayla başlayın: YAPI 2'nin verify.sh dosyası, YAPI 3'ün elle ilk tiki ve bitirdiğiniz son şey için bir kalıcı hedef.
  • verify-goals.sh'in, bitirdiğinizden emin olduğunuz bir şeyde sessiz bir gerilemeyi ilk yakaladığında, geri kalanı için ikna olmanıza gerek kalmayacak.

Feragatname

Bu makale, kullanıcının notları kullanılarak yazılmış ve Claude Opus 4.8 max tarafından düzenlenmiştir.

YouMind’da yeniden üret

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind
Üreticiler için

Markdown'ınızı temiz bir 𝕏 makalesine dönüştürün

Kendi uzun yazılarınızı yayımlarken görselleri, tabloları ve kod bloklarını 𝕏 için biçimlendirmek zahmetlidir. YouMind, eksiksiz bir Markdown taslağını temiz ve hemen paylaşılabilir bir 𝕏 makalesine dönüştürür.

Markdown'dan 𝕏'e deneyin

Çözülecek daha fazla kalıp

Son viral makaleler

Daha fazla viral makale keşfet