# Tek talimatla, kurallar ve bağlamı geri yükleme sayesinde otonom ajan çalıştırıyorum

> Tarihli denemeler ve eski çalışma biçimleri. Güncel ürün rehberi değildir. Metin, kaynağındaki tarihe aittir; doğrulanmamış yaklaşımlar güncel öneri sayılmaz.

Canonical: https://optionos.app/log/tr/rule-driven-autonomous-agent/
Published: 2026-07-29

![Tek talimattan kuralların yüklenmesine, bağlamın geri getirilmesinden davranış değişiklikleri ve kapalı dosya kapsamına uzanan sekiz özgün ekranlı otonom ajan akışı](https://optionos.app/guide/rule-driven-autonomous-agent-01-prompt-and-rules.png)
*Tek bir talimatın uzun bir özellik geliştirme işinde nasıl denetlenebilir kaldığını ve bağlam sıkıştığında hedefini nasıl koruduğunu özgün ekranlar üzerinde gösteren etkileşimli akış.*
İnteraktif sahne: https://optionos.app/log/tr/rule-driven-autonomous-agent/#rule-driven-autonomous-agent-tour-tr
### 1. Tek talimatla, bağlam kaybolsa bile hedefini unutmayan bir ajan çalıştırıyorum

Bu akışta ajanın neyi değiştireceğini kod yazmadan önce nasıl gösterdiğini, uzun iş boyunca hedefini nasıl koruduğunu ve konuşma sıkışınca kuralları nasıl geri aldığını özgün ekranlarda göreceksin. Konuşurken işaretlediğim alanlar aynı etkileşimli görsel içinde birbirine bağlanıyor; yalnız gerçek bir ayrıntı ilişkisi varsa içeri açılıyor.

Kaynak söz — Yani benim kurallarıma uygun bir şekilde ilerleyeceği tek bir prompt. O yüzden bilgiler kaybolmasın diye ajana bunları yazdırıyorum ki hedef context'i compactlandığında, sıkıştırıldığında ya da özetlendiği zaman bunları tekrar vereyim ki kayıp olmasın. çektiğim fotoğraflar da etiketleme yaptığım resimler zaten. Bunları ajanım sizin izleyeceğiniz interaktif yapılara dönüştürüyor. Yani ilişki yokken anlamsız ilişki kurmuşsun, onu düzeltmen lazım.
### 2. Tek talimat yalnız hedefi donduruyor

Talimat, display: özelliğinin kurallara uygun ilerleyip hedeflenen son hâli göstermesini istiyor. İşin sırası talimata kopyalanmıyor; ayrıntılar tek kural kaynağında kalıyor.

Kaynak söz — Yani benim kurallarıma uygun bir şekilde ilerleyeceği tek bir prompt.
### 3. Kural bağlantıları çalışma sözleşmesini açıyor

Ajan işe başlarken hedefe uyan bağlantıları açıp ilgili kural gövdelerini yüklüyor. Böylece tek talimat, ayrıntılı fakat güncellenebilir bir çalışma sözleşmesine bağlanıyor.

Kaynak söz — Geri kalan her şey zaten kural dosyalarında yazıyor ve ajan şurada o kuralları tek tek okuyor.
### 4. Otonominin bedelini başta ödüyorum

Büyük bir özellikte ajan önce bütün alanı ve karşılaşılabilecek durumları okuyup kapalı bir plan kuruyor. Bağlam beş-altı kez sıkışsa bile hedefi ve kararları geri taşıyor. Bu başlangıçta çok kaynak harcıyor fakat uygulama sırasında benim denetleme yükümü azaltıyor. Başlangıç niyeti yanlışsa aynı güç pahalı biçimde yanlış hedefe gider; bu yüzden yalnız bildiğim alanlarda uzun süreli otonomi kuruyor, bilmediğim durumları önce öğrenip sonra kurallaştırıyorum.

Kaynak söz — Hata yapacağımı başta bedeli ödemeye çalışıyorum. Buradaki sıkıntılı kısım şu: talimat ya da niyet başta yanlışsa hedef de yanlış oluyor, maliyet yüksek oluyor. Ama avantajlı kısım kontrol etme miktarı azalıyor gibi düşünebiliriz. Bu çalışırken tahmini beş altı kere compact atıyor büyük işlerde. Çünkü bilmediğim şeyin kuralını yazamadığım için kendi bilgi havuzumu sürekli yükseltip yeni şeyler öğrenip kurallaştırmaya çalışıyorum.
### 5. Bağlam sıkışıyor, konuşma geri geliyor ve kurallar yeniden seçiliyor

Ekrandaki üç kayıt aynı kurtarma zincirini gösteriyor: bağlam sıkıştırılıyor, önceki konuşma geri veriliyor ve CONTEXT_EPOCH kaydı kuralların yeni bağlam için yeniden seçilmesini başlatıyor.

Kaynak söz — Yani bana hiçbir şey sormadan, kendisi hiçbir kod yazmadan konteksti kompakladı. Sıkıştırma işlemi bittikten hemen sonra ajanın yaptığı ilk hamle kuralları tekrar okumak.
### 6. Önceki konuşma yeni bağlama geri veriliyor

Aktarım kancası, insan mesajlarını ve ajanın karar taşıyan cevaplarını yeni bağlama yeniden veriyor.

Kaynak söz — Previous conversation, yani aslında ajana önceki konuşmalarımı veriyorum.
### 7. Son karar yeni bağlama taşınıyor

İşaretli cevap, “şimdilik hiçbir şeye dokunma” kararını ve onay kapısını taşıyor. Ağır komut ve araç çıktıları konuşma özetine kopyalanmıyor.

Kaynak söz — Çünkü bu terminal olmayan bir response. Compact previous conversation da ajana tekrar veriliyor.
### 8. Soy ve hedef dünya

Bu ekranda ajan, çalışacağı soyu ve kapalı kapsamı baştan görünür kılıyor; hedef dünya soruları yapacağı işi denetlenebilir cevaplara ayırıyor ve kayıt, bağlam sıkıştığında hedefi geri kuruyor.

Kaynak söz — Mesela soy project display: çalıştığı alanı bana şimdiden başta belirtiyor. Mesela bak burada hedef dünya soruları diye bir kısım veriyor. O yüzden bilgiler kaybolmasın diye ajana bunları yazdırıyorum ki hedef context'i compactlandığında, sıkıştırıldığında ya da özetlendiği zaman bunları tekrar vereyim ki kayıp olmasın.
### 9. Soy ve kapalı kapsam baştan görünür

Önizlemenin başındaki soy ve kapsam satırı, ajanın hangi özellik ailesinde ve hangi kapalı dosya ağacında çalışacağını gösteriyor. Özelliği kaldırma sınırı da aynı soydan okunuyor.

Kaynak söz — Mesela soy project display: çalıştığı alanı bana şimdiden başta belirtiyor. Bütün file sistemini soya göre yapıyorum.
### 10. Hedef dünya soruları her cevabın sahibini gösteriyor

Hedef dünya soruları yapılacak değişikliği denetlenebilir parçalara ayırıyor. Her cevap, gerçeğin nereden okunacağı ve onu kimin değiştirebileceğiyle birlikte görünür oluyor.

Kaynak söz — Mesela bak burada hedef dünya soruları diye bir kısım veriyor. Aslında projeyi, yapacağı şeyi bana anlamlandırmaya çalışıyor anlayabilmem için.
### 11. Hedef dünya kaydı, bağlam sıkışınca hedefi geri kuruyor

Bu kayıt ajanın devamlılık yüzeyi. Bağlam sıkıştığında hedefi, değişmez başarı koşullarını ve açık kararları geri kuruyor; bu yüzden sistem kararlı çalışırken ayrıntısını her tur yeniden okumam gerekmiyor.

Kaynak söz — O yüzden bilgiler kaybolmasın diye ajana bunları yazdırıyorum ki hedef context'i compactlandığında, sıkıştırıldığında ya da özetlendiği zaman bunları tekrar vereyim ki kayıp olmasın.
### 12. Ajanın nasıl düşündüğünü değil, hangi davranışın değişeceğini okuyorum

“Nasıl yapacağım” anlatısı yerine “eski davranış → yeni davranış” satırını tarıyor, niyetimin doğru anlaşılıp anlaşılmadığını buradan denetliyorum.

Kaynak söz — Burada ben, benim istediğim şeyi anlamış mı delta'lardan bakıyorum. Hani bana reasoning işte şöyle yapacağım, böyle yapacağım değil de şuydu bu olacak, şuydu bu olacak tarzında vermesi daha çok hoşuma gidiyor çünkü daha iyi anlıyorum.
### 13. 5. dilim: sabit bekleme ve yeniden deneme döngüsü kaldırılıyor

Ekrandaki monotonic generation ifadesi, her değişikliğe bir öncekinden büyük sıra numarası verilmesi demek. Eski düzende ekran değişikliği 250 milisaniye bekletiliyor, ardından 200 ve 500 milisaniye sonra yeniden deneniyordu; işlem sürerken gelen bazı değişiklikler düşebiliyordu. Beşinci dilimde ajan yalnız en güncel değişikliği uyguluyor ve kararını o anki ekran durumunu yeniden okuyarak kapatıyor.

Kaynak söz — Burada zaten bu semantic delta dediğim bir kısım bu. Burada ben, benim istediğim şeyi anlamış mı delta'lardan bakıyorum.
### 14. Açıklamaları Türkçe okuyarak ajanın planını daha hızlı denetliyorum

Dosya ve kural adları ekranda özgün biçimleriyle kalıyor; ne anlama geldikleri Türkçe açıklanıyor. İnsan olarak benim anlam kaybım, modelin İngilizce terimlerden kazanacağı küçük avantajdan daha önemli.

Kaynak söz — Türkçe kullanıyorum ben çünkü Türkçe daha iyi denetleyebiliyorum. Ben denetleyebiliyorsam zaten doğruyu veririm. LLM'de birazcık kayıp olması problem değil, bende kayıp olmasın. Ve bilinçli olarak Türkçe kullanıyorum çünkü Türkçe denetlemesi daha kolay. Ama terimsel şeylerde İngilizce kullanıyorum.
### 15. Dosya ağacı, her dosyanın hangi dilimde değişeceğini baştan gösteriyor

D, “dilim” demek: D3 üçüncü, D4 dördüncü uygulama aşamasıdır. Liste, kod yazılmadan önce hangi dosyanın ne zaman değişeceğini görünür kılıyor. Listede olmayan bir dosya gerekirse plan duruyor ve kapsam yeniden kuruluyor.

Kaynak söz — Ardından ajanın dokunacağı bütün dosyaların raporu burada geliyor. Şu an bütün dokunacağı dosyalar burada mesela.
### 16. action.swift üçüncü ve dördüncü dilimde değişecek

Satırdaki [D3,D4], action.swift dosyasının üçüncü dilimde eylem davranışı kurulurken, dördüncü dilimde işlem sonucu doğrulanırken ele alınacağını gösteriyor. Böylece dosyanın ne zaman ve neden değişeceği baştan belli.

Kaynak söz — D dilim demek. Yani hangi aşamada düzenleyeceğini gösteriyor. Üçüncü aşama. Faz gibi düşün.
### 17. Son yüzey ve kural izleri

Bu ekranda kullanıcıya teslim edilecek son yüzey ile ajanın kararını bağladığı kural izi birlikte görülüyor; görseldeki kural örneği, eski yolun yeni yapıyla yan yana yaşamaması gerektiğini taşıyor.

Kaynak söz — "Kullanıcının son göreceği yüzey" dediği bir kısım var. Rule migration is breaking yazıyor ve resimdeki kısmı doğru ifade eden bir örnek bu
### 18. Son kullanıcı yüzeyi hem olağan hem hata durumunu gösteriyor

“Kullanıcının son göreceği yüzey” bölümü, olağan akış ile hata anında görülecek menüleri yan yana gösteriyor. Uygulama ayrıntısını değil, teslim edilecek gerçek deneyimi denetliyorum.

Kaynak söz — "Kullanıcının son göreceği yüzey" dediği bir kısım var.
### 19. Bu kural, yeni yapı açıldığında eski yolun tamamen kapanmasını istiyor

migration-is-breaking ekrandaki gerçek kural kimliği. Kural, eski alanın takma ad, yedek yol veya uyumluluk katmanıyla yaşamaya devam etmesini engelliyor. Bu alana dokununca kural belgesinin genel görünümüne giriyorsun.

Kaynak söz — Rule migration is breaking yazıyor ve resimdeki kısmı doğru ifade eden bir örnek bu
### 20. Sıkıştırma sonrası kuralları yükleme

Bağlam sıkıştıktan sonra araç, kural dokümanlarını ajana yeniden veriyor; ajan ilk hamlede kuralları tekrar okuyarak aynı çalışma sözleşmesiyle devam ediyor.

Kaynak söz — Sıkıştırma işlemi bittikten hemen sonra ajanın yaptığı ilk hamle kuralları tekrar okumak. Benim tool'um kuralları ona veriyor.
### 21. Bağlam sıkıştıktan sonra kurallar yeniden açılıyor

Sıkıştırma biter bitmez anchor komutu ilgili kural gövdelerini yeniden açıyor. Önceki konuşma hedefi geri taşırken kurallar, yeni bağlam için tek kural kaynağından tekrar seçiliyor.

Kaynak söz — Sıkıştırma işlemi bittikten hemen sonra ajanın yaptığı ilk hamle kuralları tekrar okumak. Benim tool'um kuralları ona veriyor.
### 22. Bu içeriği kendi uygulamama konuşup ekranları işaretleyerek üretiyorum

Kendi uygulamama konuşurken ekranları yakalıyor ve önemli bölgeleri işaretliyorum. display: ajanım bu konuşmayı, özgün ekranları ve işaretleri izleyicinin yalnız görseller üzerinde ilerleyerek tamamlayabileceği tek akışa dönüştürüyor.

Konuşmam + işaretli ekranlar → display: ajanı → etkileşimli görsel akış

Kaynak söz — Ve son olarak dikkat ettiğiniz gibi ben bu konuşmayı da kendi uygulamamı kullanarak yapıyorum. çektiğim fotoğraflar da etiketleme yaptığım resimler zaten. Bunları ajanım sizin izleyeceğiniz interaktif yapılara dönüştürüyor.

display: ajanı — Konuşmayı, ekranları ve işaretleri aynı etkileşimli anlatıda birleştiren ajan.
### 23. anchor-routing kuralı, bağlam her yenilendiğinde kuralları baştan seçiyor

Ekrandaki anchor-routing kuralı; yeni oturum, context compact, clear veya kural authority’si değiştiğinde başlıkları yeniden tarıyor ve yalnız o an gerekli rule closure’ını açıyor.

Kaynak söz — Mesela şurada anchor crawl'larım var. Ama amacım ajandan kayıpsız bir şekilde ulaşmasını sağlamaya çalışmak

anchor-routing — Her context epoch’unda aktif state ve ihtiyaca göre ilgili kuralları yeniden seçen mekanizma.
### 24. EveryAgent denklemi aktör kümesini tek satırda kapatıyor

EveryAgent ana ajan ile provider policy’nin izin verdiği yardımcı ajanları tek bir kapalı ifadede topluyor; belirsiz bir “veya” zincirine ihtiyaç bırakmıyor.

EveryAgent = mainAgent | providerPolicy.legalSubAgent

Kaynak söz — "Veya" gibi kelimeler yerine direkt matematiksel ifadelerle sunmaya çalışıyorum.

EveryAgent — Bu görevde çalışmasına izin verilen bütün ajan rollerini kapsayan kapalı aktör kümesi.
### 25. Bu etkileşimli içeriği kendi uygulamama konuşurken ekranları işaretleyerek üretiyorum

Konuşurken ekranları yakalıyor ve önemli bölgeleri işaretliyorum. Capture Actions bu görüntüleri aynı konuşmada topluyor; display: ajanım konuşmamı, ekranları ve işaretleri izleyicinin ilerleyebileceği tek görsel akışa dönüştürüyor.

Konuşmam + işaretli ekranlar → display: ajanı → etkileşimli görsel akış

Kaynak söz — Ve son olarak dikkat ettiğiniz gibi ben bu konuşmayı da kendi uygulamamı kullanarak yapıyorum. çektiğim fotoğraflar da etiketleme yaptığım resimler zaten. Bunları ajanım sizin izleyeceğiniz interaktif yapılara dönüştürüyor.

Capture Actions — Konuşma sırasında aldığım ekran görüntülerini aynı kaynak oturumunda tutan panel.

display: — Konuştuğum ajanı ve içeriği üreten konuşma oturumunu gösteren etiket.
### 26. display: etiketi, bu içeriği üretirken hangi ajana konuştuğumu gösteriyor

display: etiketi yalnız ekran görüntüsünün kaynağını değil, içeriği üreten konuşmanın display: ajanında sürdüğünü gösteriyor. Bu önemli: görsel, konuşma ve ajan aynı provenance zincirinde kalıyor.

Kaynak söz — Zaten hangi ajana konuştuğumu fotoğraflarda görüyorsunuz. display: ajanına konuştuğum yazıyor ve çektiğim fotoğraflar da etiketleme yaptığım resimler zaten. Bunları ajanım sizin izleyeceğiniz interaktif yapılara dönüştürüyor.

display: — Konuştuğum ajanı ve içeriği üreten konuşma oturumunu gösteren etiket.
