<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Maguyva Blog</title><description>MCP kod zekası, AI ajan mimarisi ve çok dilli bir kod arama platformu inşa etmenin dersleri üzerine teknik derinlemesine incelemeler.</description><link>https://maguyva.ai/tr/blog</link><language>tr</language><atom:link href="https://maguyva.ai/tr/rss.xml" rel="self" type="application/rss+xml"/><item><title>Sizinle birlikte seyahat eden bağlam</title><link>https://maguyva.ai/tr/blog/context-that-travels</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/context-that-travels</guid><description>Cursor&apos;ın indeksleyicisi Cursor içinde mükemmel çalışır. Maguyva, aynı ajanın diğer editörlerden, CLI&apos;lerden ve CI&apos;dan sorgulayabileceği barındırılan MCP haritasıdır.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Cursor’ın indeksleyicisi Cursor içinde mükemmel çalışır. Sekme tamamlama, satır içi düzenleme, sohbet ve o penceredeki ajan zaten Cursor’ın açık çalışma alanı için işlettiği bir proje indeksinin üzerinde durur. Cursor yazdığınız tek yüzeyse ve o indeks zaten doğru dosyaları buluyorsa, orada kalın. Bu, dürüst ‘olduğunuz yerde kalın’ durumudur ve bu sayfanın ilk cümlesi olmayı hak eder.&lt;/p&gt;
&lt;p&gt;Bu yazı, sıradan bir haftanın diğer yarısıyla ilgili. Aynı repo Claude Code’da da açılıyor, Codex CLI’dan sorgulanıyor, ikinci bir makinede gözden geçiriliyor veya CI’da çalışan bir ajan tarafından sorgulanıyor. Soru ‘hangi indeksleyici daha iyi’ değil. Soru, ajanın bir pencerede güvendiği haritanın, bir sonrakinde güvendiği haritayla aynı olup olmadığı.&lt;/p&gt;
&lt;p&gt;Maguyva, sizinle birlikte seyahat eden o haritadır. Uzak bir MCP kod tabanı bağlam katmanıdır. Ajan onu, başka herhangi bir MCP aracını sorguladığı gibi sorgular. Sonuçlar, satır numaralarıyla sıralanmış yollar olarak döner. Cursor editör olarak kalır. Hareket eden şey bağlamdır.&lt;/p&gt;
&lt;h2 id=&quot;cursorın-indeksleyicisi-ne-işe-yarar&quot;&gt;Cursor’ın indeksleyicisi ne işe yarar&lt;/h2&gt;
&lt;p&gt;Cursor’ın yerleşik indekslemesi, editör içindeki sohbet, ajan ve arama işlevlerinin, modelin ham bağlam penceresine sığana güvenmek yerine ilgili kodu getirebilmesi için var. Bu, bir IDE için doğru tasarımdır. Bu indeks Cursor’a özgüdür. Bir MCP sunucusu değildir ve başka hiçbir istemciden erişilemez.&lt;/p&gt;
&lt;p&gt;Bu, yazıldığı sırada Cursor’ın herkese açık belgelerinde ve Cursor’ın kendi açıklamasında anlatıldığı şekliyle şöyle çalışır: birincil arama yolu artık bulut tabanlı bir embedding indeksi değil. Cursor ekibi, topluluk forumunda, güncel modellerin canlı bir ağacı zaten kendi başlarına yeterince iyi keşfedebildiği için özel semantik, embedding tabanlı aramanın grep tabanlı getirme lehine kademeli olarak azaltıldığını açıkladı. Onun yerine, n-gramlardan, ters çevrilmiş listelerden ve Bloom filtrelerinden oluşturulan yerel bir arama indeksi olan Instant Grep var; bu indeks bellekte eşlenmiş bir arama tablosunda tutulur, böylece sorgular bir sunucuda değil geliştiricinin kendi makinesinde çözülür.&lt;/p&gt;
&lt;p&gt;İndeksin kendisi, reponun kendi &lt;code&gt;.git/cursor/&lt;/code&gt; dizininde, belirli bir git commit’ine sabitlenmiş şekilde yaşar; o commit’ten bu yana yapılan değişiklikler yeni bir tarama tetiklemek yerine onun üzerine katmanlanır ve indeks yalnızca yerel durum, üzerine inşa edildiği şeyden büyük ölçüde saptığında yeniden oluşturulur. &lt;code&gt;.git&lt;/code&gt; içinde yer aldığı için asla izlenmez ve asla push edilmez — klasörü silin, indeks kaybolur. Yalnızca git tarafından izlenen içerik uygun olduğundan &lt;code&gt;.gitignore&lt;/code&gt; yapı gereği korunur ve &lt;code&gt;.cursorignore&lt;/code&gt; okuma yolunda zorunlu kılınır. O yolda artık sunucu tarafında bir embedding adımı ya da uzak bir vektör veritabanı yok. Daha önceki belgeler, bulut destekli bir tasarımı tanımlıyordu — parça şifreleme, Merkle ağacı üzerinden senkronizasyon, ekip üyeleri arasında indeks yeniden kullanımı — ve Cursor’ın kendi ekibi o zamandan beri bu tasarımın azaltıldığını söyledi, bu yüzden bu yazı onu artık güncel olarak tanımlamıyor.&lt;/p&gt;
&lt;p&gt;Editör içinde öne çıkan bir özellik, Cursor’ın Explore alt ajanıdır. Kendi bağlam penceresinde, daha hızlı bir modelde birden çok paralel arama başlatabilir ve yalnızca ilgili bulguları döndürebilir, böylece ana konuşma arama sonuçlarıyla şişmez. Bu, editör içinde gerçek bir güçtür. Onu koruyun.&lt;/p&gt;
&lt;p&gt;Çoklu kök çalışma alanları destekleniyor: açık her klasörün bağlamı Agent için kullanılabilir. Worktree gibi bazı git’e bağımlı özellikler çoklu kök kurulumlarında devre dışı bırakılır ve Cloud Agents çoklu kök çalışma alanlarını hiç desteklemez.&lt;/p&gt;
&lt;p&gt;Bunların hiçbiri Cursor’ı terk etmek için bir neden değil. Bu, yaşadığı yerde mükemmel olan bir haritanın kesin bir açıklaması.&lt;/p&gt;
&lt;h2 id=&quot;sizinle-birlikte-seyahat-etmek-gerçekte-ne-anlama-gelir&quot;&gt;‘Sizinle birlikte seyahat etmek’ gerçekte ne anlama gelir&lt;/h2&gt;
&lt;p&gt;Bir harita, aynı sorular birden fazla istemciden açabileceğiniz alıntılarla aynı türden yanıtı döndürdüğünde sizinle birlikte seyahat eder.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cursor’da: ‘&lt;code&gt;parseConfig&lt;/code&gt; nerede tanımlanmış ve onu kim çağırıyor?’&lt;/li&gt;
&lt;li&gt;Claude Code’da, aynı repoda: aynı soru.&lt;/li&gt;
&lt;li&gt;Codex CLI’da, Cursor penceresini hiç açmamış bir inceleme makinesinde: aynı soru.&lt;/li&gt;
&lt;li&gt;MCP konuşan bir CI ajanında: aynı barındırılan anlık görüntüye karşı aynı soru.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Her yüzey kendi özel indeksini oluşturuyorsa, tek bir haritanız yok demektir. Birbirinden uzaklaşan birden fazla önbelleğiniz var demektir. Editör indeksi disk üzerindeki ağaç için güncel olabilir. CLI oturumu bir gün geride olabilir. CI işi farklı bir checkout’a bakıyor olabilir. Ve ajan yine de kendinden emin görünmeye devam edecektir.&lt;/p&gt;
&lt;p&gt;Cursor’ın indeksleyicisinin bunu çözmesi beklenmiyor. Editör içinde yaşadığı için, oluşturduğu bağlam o editör içindir. Bir CLI’a, bir CI hattına ya da farklı bir editöre de ihtiyaç duyan bir okuyucunun, bu yüzeyler için ayrı bir araca ihtiyacı vardır. Bu bir kapsam gerçeğidir, bir kusur değil. Maguyva, o ayrı araçtır.&lt;/p&gt;
&lt;p&gt;Cursor’ın indeksleyicisi için yayımlanmış bir dil sayısı, bu yazının kullanabileceği materyallerde belirtilmemiş. Maguyva, 279’dan fazla dil ve metin tabanlı teknoloji için destek yayımlıyor. Cursor’ın fiyatları da burada tekrarlanmıyor; onların fiyat sayfasına bakın. Maguyva koltuk başına değil, çalışma alanı başına ücretlendirir; indekslenen kapsam ve çalışma alanı boyutuna bağlı olarak yayımlanmış 0 $, 19 $, 49 $ ve 149 $ planları vardır.&lt;/p&gt;
&lt;h2 id=&quot;tek-bir-barındırılan-harita-her-mcp-istemcisi&quot;&gt;Tek bir barındırılan harita, her MCP istemcisi&lt;/h2&gt;
&lt;p&gt;Maguyva, uzak bir MCP sunucusudur. GitHub’ı bağlarsınız, repoları seçersiniz ve bulut hattı sembolleri, graf kenarlarını ve sıralanmış bir haritayı oluşturur. Zaten kullandığınız istemcinin MCP yapılandırmasına bir API anahtarı eklersiniz. Maguyva’nın, Cursor da dahil olmak üzere 24 belgelenmiş MCP istemcisi için kurulum kılavuzları vardır ve standart yapılandırmayı destekleyen diğer MCP uyumlu istemcilere bağlanabilir.&lt;/p&gt;
&lt;p&gt;Çalıştığınız yer orasıysa &lt;a href=&quot;https://maguyva.ai/tr/for-cursor&quot;&gt;Cursor kurulum sayfası&lt;/a&gt; editöre özgü yoldur. Aynı sunucu Claude Code, VS Code, Windsurf, Codex CLI ve diğerlerine yanıt verir. Editör değiştirmezsiniz. Her ajana aynı araç yüzeyini verirsiniz: arama, semboller, bağımlılık analizi, dosya getirme, repo bağlamı ve deterministik yardımcı araç iş akışları genelinde 11 müşteriye yönelik MCP aracı. Semantik, yapısal, graf ve metin araması sıralanmış sonuçlarda birleştirilir.&lt;/p&gt;
&lt;p&gt;Taşınabilirlik avantajı budur. Bu sabah Cursor’da kontrol ettiğiniz alıntılar, Codex CLI’ın bu akşam döndüreceği alıntılarla aynı şekle sahiptir. Dosya yolu ve satır numarası. Onları açın. Yanlışlarsa, bunu görürsünüz. Doğrularsa, bir sonraki değişikliğin inebileceği bir yer vardır. Onaylanan iddia daha az halüsinasyon görülen değişikliktir, her değişikliğin doğru olacağı sözü değil.&lt;/p&gt;
&lt;p&gt;Güncellik yayımlanır. Anlık görüntüler zaman damgalıdır, böylece ajan ağacın hangi sürümünü okuduğunu bilir. Yeniden oluşturma sıklığı ücretsiz planda günlük, ücretli planlarda saatliktir. Dürüst sınırlama senkronize edilmemiş yerel çalışmadır: yalnızca bir çalışma ağacında var olan bir değişiklik henüz barındırılan haritada değildir. Bu sınırlama, hangi istemciden sorguladığınızdan bağımsız olarak aynıdır ve tam olarak mesele de budur. İstemciler arasındaki sapma artık ikinci, gizli bir sınırlama değildir.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maguyva.ai/tr/docs&quot;&gt;Belgeler&lt;/a&gt;, her istemciye uygulanan etkinleştirme döngüsünü verir: zaten bildiğiniz bir repoyu indeksleyin, istemciyi bağlayın, doğrulayabileceğiniz bir soru sorun. Bunu Cursor’da bir kez yapın. Gözden geçirme günlerinde gerçekten kullandığınız CLI’dan tekrar yapın. Her iki yanıt da aynı işleyiciyi alıntılıyorsa, harita gerçekten sizinle birlikte seyahat etmiştir.&lt;/p&gt;
&lt;h2 id=&quot;i̇ki-harita-yan-yana-nasıl-var-olur&quot;&gt;İki harita yan yana nasıl var olur&lt;/h2&gt;
&lt;p&gt;İkisini de kullanın. Bunlar bir karşılaştırma sayfası anlamında alternatif değildir.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Disk üzerindeki proje için Cursor’ın indeksleyicisini açık tutun. Explore, Instant Grep ve editör içindeki ajanın onu kullanmasına izin verin. Bu döngü yerel ve hızlıdır.&lt;/li&gt;
&lt;li&gt;Aynı oturumun barındırılan çalışma alanı haritasını da sorgulayabilmesi için Cursor’a Maguyva’yı MCP sunucusu olarak ekleyin. Cursor, belgelenmiş bir Maguyva istemcisidir. Bir indeksi seçip diğerini silmiyorsunuz.&lt;/li&gt;
&lt;li&gt;Aynı Maguyva sunucusunu Claude Code’a, Codex CLI’a veya repoya dokunan başka herhangi bir MCP istemcisine ekleyin. Tek bir API anahtarı biçimi. Tek bir çalışma alanı.&lt;/li&gt;
&lt;li&gt;Bir CI ajanı MCP uyumluysa, onu aynı sunucuya yönlendirin. Dizüstü bilgisayarın okuduğu aynı zaman damgalı anlık görüntüyü okuyacaktır.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Editör indeksi, ‘şu anda bu penceredeki diskte ne var’ sorusu için en iyi araç olmaya devam ediyor. Barındırılan harita, ‘bu çalışma alanı bugün ona dokunacak her ajana nasıl görünüyor’ sorusu için en iyi araçtır. Bu cümleler birbiriyle yarışmaz.&lt;/p&gt;
&lt;p&gt;Çalışma alanı kotaları &lt;a href=&quot;https://maguyva.ai/tr/pricing&quot;&gt;fiyat sayfasında&lt;/a&gt; yayımlanır: repolar, indekslenen satırlar ve kullanıcılar, çalışma alanı başına faturalandırılır. Ajanlar ve insanlar aynı kullanıcı sayısını paylaşır. Zaten değerlendirebileceğiniz bir repoyla ücretsiz başlayın. Alıntılar ağaçla temas ettikten sonra hayatta kaldığında çalışma alanını yükseltin.&lt;/p&gt;
&lt;h2 id=&quot;bu-sayfanın-iddia-etmediği-şeyler&quot;&gt;Bu sayfanın iddia etmediği şeyler&lt;/h2&gt;
&lt;p&gt;Cursor’ın indeksleyicisinin zayıf, eksik ya da editör değiştirmek için bir neden olduğunu iddia etmiyor. Bu yazının ilk cümlesi tam tersini söylüyor.&lt;/p&gt;
&lt;p&gt;Maguyva’nın Instant Grep’in ya da Explore alt ajanının yerini aldığını iddia etmiyor. Bunlar Cursor özellikleridir. Cursor’da kalırlar.&lt;/p&gt;
&lt;p&gt;İki ürün için de bir dil sayısı, bir gecikme rakamı ya da bir token tasarrufu uydurmuyor. Bilinmeyen rakamlar yayımlanmamış olarak kalır.&lt;/p&gt;
&lt;p&gt;Push edilmemiş yerel çalışmanın barındırılan haritada olduğunu iddia etmiyor. Zaman damgalı anlık görüntüler bu sınırlamayı görünür kılar. Onu ortadan kaldırmazlar.&lt;/p&gt;
&lt;p&gt;Test sıradandır. Zaten bildiğiniz bir repoyu indeksleyin. Doğrulayabileceğiniz bir soru sorun, önce Cursor’da, sonra ikinci bir MCP istemcisinde. Sizinle birlikte seyahat eden bağlam, her iki yerdeki aynı alıntıdır.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// same map, wherever you opened it.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Ecosystem</category><category>MCP</category><category>Portability</category></item><item><title>Önce harita, sonra inceleme</title><link>https://maguyva.ai/tr/blog/map-first-review-second</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/map-first-review-second</guid><description>Kodlama ajanını yazmaya başlamadan önce bir repo haritasına dayandırın. Greptile&apos;ın pull request&apos;i sonrasında incelemesine izin verin. Birbirini tamamlayan bir çift, bir değişim değil.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Bir pull request’in her iki tarafında da iki farklı iş oturur. Ajan yazmadan önce, değiştirmek üzere olduğu ağacın bir haritasına ihtiyacı vardır. Ajan bir PR açtıktan sonra, bir şeyin bu değişikliği sistemin geri kalanıyla karşılaştırarak okuması ve bir insanın harekete geçebileceği yorumlar bırakması gerekir.&lt;/p&gt;
&lt;p&gt;Bu işler uzaktan bakıldığında benzer görünür çünkü ikisi de ‘kod tabanını anlamayı’ içerir. Aynı ürün değildirler. Biri ‘bu değişiklik nereye inmeli?’ sorusuna cevap verir. Diğeri ‘satır satır kontrol eden bir linter’ın gözden kaçıracağı şeyi bu diff neyi bozdu?’ sorusuna cevap verir. Onları karıştırmak, daha kötü bir ilk taslak ve daha gürültülü bir inceleme üretir.&lt;/p&gt;
&lt;p&gt;Bu yazı, ortak bir iş akışı kılavuzudur. Maguyva, ajanın önce sorguladığı haritadır. Greptile, PR’ı sonrasında yorumlayan inceleme ajanıdır. Çift, yapı gereği birbirini tamamlar: Maguyva pull request’leri incelemez ve Greptile, ajanın onları yazmak için kullandığı bağlam katmanının yerini almaz.&lt;/p&gt;
&lt;h2 id=&quot;bu-ayrımın-neden-yararlı-olduğu&quot;&gt;Bu ayrımın neden yararlı olduğu&lt;/h2&gt;
&lt;p&gt;Eğitim önyargıları artı birkaç yapıştırılmış dosyadan yola çıkan bir kodlama ajanı, makul bir yol uydurur ve onu düzenler. Bu, ‘yanlış dosya’ başarısızlığıdır ve bir getirme sorunudur. Maguyva, uzak bir MCP kod tabanı bağlam katmanıdır: semantik, yapısal (AST), graf/bağımlılık ve metin getirme sıralanmış sonuçlarda birleştirilir, artı sembol arama ve dosya getirme. Temellendirilmiş yanıtlar &lt;code&gt;path/file.ext:line&lt;/code&gt; olarak döner, böylece bir yama var olmadan önce bir isabetsizliği reddedebilirsiniz. İddia mütevazı kalır: daha az halüsinasyon görülen değişiklik. Model yine de tahmin edebilir. Sadece ilk adım artık bir tahmin olmaktan çıkar.&lt;/p&gt;
&lt;p&gt;Greptile, yapay zeka destekli bir kod inceleme ajanıdır. Kendi ifadeleriyle, kod tabanının tam anlaşılmasıyla her pull request’i otomatik olarak inceler ve bunu, sistemin tamamı yerine dosyaları tek tek kontrol eden geleneksel linter’larla karşılaştırır. Kurulum, GitHub veya GitLab uygulamasını yüklemekten ve repoları seçmekten ibarettir. İşletmeniz gereken yerel bir indeks yoktur. Barındırma Greptile Cloud’dadır (talep üzerine sunulan bir raporla SOC 2 Type II uyumluluğu beyan ederler), işletmelere sunulan kendi kendine barındırma seçeneğiyle birlikte.&lt;/p&gt;
&lt;p&gt;Kendi numaralandırılmış akışları şöyledir: bağlanın ve her fonksiyonun, sınıfın ve bağımlılığın bağımlılık grafını oluşturun; her pull request’te, bu tam repo grafını kullanarak değişikliği analiz edin ve bulguları önerilen düzeltmelerle birlikte yaklaşık üç dakikada PR yorumları olarak yayınlayın; her yorum, sorunu ekibin zaten kullandığı bir kodlama ajanına devredebilir. Ayrıca, bir ekibin kod standartlarını öğrenmek ve gürültülü önerileri azaltmak için zaman içinde önceki insan PR yorumlarını okuduklarını belirtiyorlar. Kendi ifadelerine göre öğrenme sistemlerinin uyum sağlaması 2-3 hafta sürüyor.&lt;/p&gt;
&lt;p&gt;Bu, taslak hazırlama değil incelemedir. Greptile’ın öne çıkan yanı, bir PR’a zaten inmiş olan değişiklik üzerindeki tam repo grafı bağlamıdır, ardından bulguyu Claude Code, Codex, Conductor, Cursor veya Devin’e gönderen kapalı bir döngüdür. Maguyva’nın öne çıkan yanı, o değişiklik yazılmadan önce ajanın sorguladığı sıralanmış haritadır. İkisini de kullanın. Hiçbirinden diğerinin işini yapmasını istemeyin.&lt;/p&gt;
&lt;p&gt;Maguyva–Greptile arasında birinci taraf bir ürün entegrasyonu belirtilmemiştir. Buna ihtiyacınız da yok. Maguyva, ajanla MCP üzerinden konuşur. Greptile, GitHub veya GitLab ile kendi uygulaması üzerinden konuşur. Pull request’te buluşurlar. Ne bir yapıştırma betiği, ne de bir aracı diğerine bağlayan bir cron var. Çift bash’siz idare eder çünkü her ürün zaten kendisine ait olan yüzeyde oturur.&lt;/p&gt;
&lt;h2 id=&quot;bu-ne-değildir&quot;&gt;Bu ne değildir&lt;/h2&gt;
&lt;p&gt;Bu, Greptile’ı yerin dibine sokan bir yazı değildir. ‘İnceleyicinizi değiştirin’ sayfası da değildir. Greptile, 5 Mart 2024’te Y Combinator W24 şirketi olarak Hacker News’te lanse edildi ve o thread, birçok insanın ürünle ilk kez tanıştığı yoldur. Onları böyle bulduysanız, onları kullanmaya devam edin. Bu sayfa, o döngünün eksik ön yarısıdır: Greptile’ın gördüğü PR’ın zaten doğru dosyaları hedeflemesi için ajanı önceden temellendirmek.&lt;/p&gt;
&lt;p&gt;Greptile’ın pazarlama materyalleri, inceleme hızı ve hata yakalama iddialarıyla başlıyor. Bunları bağımsız olarak doğrulanmış rakamlar olarak değil, Greptile’ın kendi iddiaları olarak değerlendirin. Bu yazı onları gerçekmiş gibi tekrar etmiyor.&lt;/p&gt;
&lt;p&gt;Dil kapsamı da aynı türden bir dürüstlüktür. Greptile, desteği numaralandırılmış bir liste yerine tüm programlama dillerini kapsayan bir çerçeve olarak sunar; kesin bir sayı belirtilmemiştir. Maguyva, 279’dan fazla dil ve metin tabanlı teknoloji için destek yayımlar; soru teknik olduğunda sitede teknik bir ayrım (ayrıştırıcı destekli AST’ye karşı yalnızca metin) sunar. Bunlar farklı iddialarda bulunan farklı ürünlerdir. Onları karıştırmayın.&lt;/p&gt;
&lt;p&gt;Greptile’ın fiyatlandırması, bu yazının kullanabileceği materyallerde belirtilmemiştir. Ücretli planlar mevcuttur; onların fiyat sayfasına bakın. Maguyva, koltuk başına değil çalışma alanı başına ücretlendirir. Planlar ücretsiz başlar. Çalışma alanı rakamlarına ihtiyacınız varsa &lt;a href=&quot;https://maguyva.ai/tr/pricing&quot;&gt;fiyat sayfası&lt;/a&gt; yayımlanmış katmanları listeler.&lt;/p&gt;
&lt;h2 id=&quot;i̇ş-akışı&quot;&gt;İş akışı&lt;/h2&gt;
&lt;p&gt;Üç isimlendirilmiş aşama. Bunları bu sırayla uygulayın. Çifti ilk denediğinizde hiçbirini atlamayın.&lt;/p&gt;
&lt;h3 id=&quot;1-maguyva-bağlamı&quot;&gt;1. Maguyva bağlamı&lt;/h3&gt;
&lt;p&gt;Zaten bildiğiniz bir repoyu indeksleyin. Zaten içinde yazdığınız MCP istemcisini bağlayın — Claude Code, Cursor, Codex CLI, VS Code, Windsurf veya başka bir MCP uyumlu istemci. Maguyva’nın 24 belgelenmiş MCP istemcisi için kurulum kılavuzları vardır ve standart MCP yapılandırmasını destekleyen diğer istemcilere bağlanabilir.&lt;/p&gt;
&lt;p&gt;Kimse bir satır yazmadan önce değerlendirebileceğiniz bir soru sorun. ‘Oturum süresi dolması nerede işleniyor ve bunu ne çağırıyor?’ sorusu ‘auth’u düzelt’ demekten daha iyi bir ilk hamledir. Alıntı talep edin. &lt;code&gt;file.ext:line&lt;/code&gt; sonuçlarını açın. Sembolü takip edin. Dokunmak üzere olduğunuz bağımlılığı doğrulayın.&lt;/p&gt;
&lt;p&gt;Maguyva, arama, semboller, bağımlılık analizi, dosya getirme, repo bağlamı ve deterministik yardımcı araç iş akışları genelinde 11 müşteriye yönelik MCP aracı sunar. Dört getirme modu sıralanmış sonuçlarda birleştirilir; adını zaten biliyorsanız &lt;code&gt;find_symbol&lt;/code&gt; ayrı bir araçtır. &lt;a href=&quot;https://maguyva.ai/tr/docs&quot;&gt;Belgeler&lt;/a&gt; en kısa yolu tanımlar: ücretsiz başlayın, zaten bildiğiniz bir repoyu indeksleyin, istemciyi bağlayın, sonra doğrulayabileceğiniz bir soru sorun.&lt;/p&gt;
&lt;p&gt;Anlık görüntüler zaman damgalıdır, böylece ajan ağacın hangi sürümünü okuduğunu söyleyebilir. Dürüst sınırlama, senkronize edilmemiş yerel çalışmadır. Değişiklik yalnızca bir çalışma ağacında varsa ve push edilmemişse, barındırılan harita onu henüz içermez. Talimat dosyaları (&lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;), kurallar ve dokunulmaması gerekenler için burada yerini korumaya devam eder. Bunlar canlı bir harita değildir. Onları davranış için kullanın. Gerçekler için Maguyva’yı kullanın.&lt;/p&gt;
&lt;p&gt;Alıntılar repoyla temas ettikten sonra hayatta kalana kadar ajanın bir PR açmasına izin vermeyin. Bu geçit, bu aşamanın tüm amacıdır.&lt;/p&gt;
&lt;h3 id=&quot;2-ajanın-prı&quot;&gt;2. Ajanın PR’ı&lt;/h3&gt;
&lt;p&gt;Aynı ajan artık değişikliği zaten ödeme yaptığınız istemcide yazar. Maguyva ne bir editör ne de bir inceleyicidir. Ajan yine de diff’i üretir. Siz yine de zaten yaptığınız gibi GitHub veya GitLab’da pull request’i açarsınız.&lt;/p&gt;
&lt;p&gt;Farklı olması gereken şey ilk dosyadır. PR, davranışı gerçekten uygulayan işleyiciyi, bozulacak çağıranı ve değişiklik yanlışsa başarısız olacak testi adlandırmalıdır. Aşama 1 atlandıysa, aşama 3 yorumlarını yanlış pakete inmiş bir değişiklik üzerinde harcayacaktır. Greptile yine de sistemik sorunları bulabilir. Ayrıca bir halüsinasyon yoldan da kurtulmak zorunda kalmamalıdır.&lt;/p&gt;
&lt;p&gt;PR’ı sınırlı tutun. Temellendirilmiş bir ilk dosya, modülü yeniden yazma lisansı değildir. Bu birbirini tamamlayan çift, ajan bir haritayla bir işi yaptığında ve ardından bir inceleyiciden sınırlandırılmış bir diff üzerinde başka bir iş yapmasını istediğinde çalışır.&lt;/p&gt;
&lt;h3 id=&quot;3-greptile-incelemesi&quot;&gt;3. Greptile incelemesi&lt;/h3&gt;
&lt;p&gt;Greptile, GitHub veya GitLab uygulaması aracılığıyla repoya zaten bağlıdır. Yeni pull request’te, oluşturduğu tam repo grafını kullanarak değişikliği analiz eder ve önerilen düzeltmelerle birlikte bulguları yorum olarak yayınlar. Kendi materyalleri bu geçişi yaklaşık üç dakikaya koyar.&lt;/p&gt;
&lt;p&gt;Yorumları dikkatli bir ekip arkadaşını okur gibi okuyun: alıntılanan konumu açın, bulgunun gerçek olup olmadığına karar verin, sonra harekete geçin. Greptile’ın ‘Fix with your Agent’ sunduğu yerde, sorunu — dosya yolları, satır numaraları, önerilen kod — Claude Code, Codex, Conductor, Cursor veya Devin’e gönderir. ‘Fix All’, incelemedeki tüm sorunları bir kerede gönderir. Bu devir için bir Greptile MCP ve bir Claude Code eklentisi de sunuyorlar. Maguyva o isimlendirilmiş hedef listesinde yok; bu yokluk bir sorun değil. Maguyva işini zaten aşama 1’de yaptı. PR’ı yazan kodlama ajanı, düzeltme yükünü almalı olandır.&lt;/p&gt;
&lt;p&gt;Greptile’ın öğrenme sistemi ekibinizin gerçekten bıraktığı yorumlara uyum sağlarken ilk 2-3 hafta gürültü bekleyin. Bu, onların belirttiği zaman çizelgesidir, çiftin bir kusuru değil. İnsan incelemesi döngüde kalır. Greptile, birleştirme düğmesi değil, otomatikleştirilmiş ilk geçiştir.&lt;/p&gt;
&lt;p&gt;Bir Greptile yorumu, ajanın aşama 1’de hiç sorgulamadığı bir dosyaya işaret ediyorsa, bu yararlı bir sinyaldir. Ya harita bir çağıranı kaçırdı ya da ajan bir alıntıyı atladı. Taslağı yoruma göre düzeltin. İnceleyiciyi devre dışı bırakmayın.&lt;/p&gt;
&lt;h2 id=&quot;bu-tamamlayıcılığı-dürüst-tutmanın-yolu&quot;&gt;Bu tamamlayıcılığı dürüst tutmanın yolu&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Maguyva her zaman önce. Yanlış dosyalı bir PR’ın incelenmesi, yine de yanlış dosyanın incelenmesidir.&lt;/li&gt;
&lt;li&gt;Greptile her zaman sonra. İyi alıntılanmış bir taslak, yine de tüm sistem düzeyinde bir diff okumasına ihtiyaç duyar.&lt;/li&gt;
&lt;li&gt;Maguyva’dan PR yorumları yayınlamasını istemeyin. Bunu yapmaz.&lt;/li&gt;
&lt;li&gt;Greptile’dan, hâlâ bir yol seçerken ajanın ilk getirme katmanı olmasını istemeyin. Bu, GitHub veya GitLab uygulamasının bağlı olduğu iş değildir.&lt;/li&gt;
&lt;li&gt;Onları ‘senkronize eden’ bir bash hattı uydurmayın. PR arayüzdür.&lt;/li&gt;
&lt;li&gt;Her iki tarafı da bağımsız olarak doğrulayın. Zaten bildiğiniz bir repoyu indeksleyin. Doğrulayabileceğiniz bir soru sorun. Sonra küçük bir PR açın ve Greptile’ın gerçekte ne yorumladığını okuyun.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bir isim verildiğinde döngü sıradan hale gelir. Önce harita. Sonra ajanın PR’ı. Sonra inceleme. Her ürün, iyi olduğu pull request tarafında kalır.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// map first. review second. in that order.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Ecosystem</category><category>Workflow</category><category>Code Review</category></item><item><title>Yerel bir indeksleyici olmadan bir yapay zeka ajanına büyük bir reponun bağlamını verme</title><link>https://maguyva.ai/tr/blog/large-repo-context-without-a-local-indexer</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/large-repo-context-without-a-local-indexer</guid><description>Dizüstü bilgisayarınızda yerel bir indeksleyici çalıştırmadan, buluttan bir kodlama ajanına büyük bir reponun sorgulanabilir bir haritasını nasıl verirsiniz.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Büyük bir repo bir bağlam penceresine sığmaz ve eğer dizüstü bilgisayar indeksleyicisini gerçek bir monorepoya yönelttiyseniz, oraya da rahatça sığmadığını bilirsiniz — RAM fırlar, ilk indeksleme bir saat sürer ve ajanınız yine de bir sonraki oturuma hangi dosyaların önemli olduğunu tahmin ederek başlar.&lt;/p&gt;
&lt;p&gt;Olağan cevap, editörün yanında bir indeksleyici çalıştırmaktır ve bir makineye rahatça sığan bir repo için bu iyi bir cevaptır. Monoreponuz Cursor’da zaten hızlıca indeksleniyorsa ve haritaya ihtiyaç duyduğunuz tek yer orasıysa, bu yazının ekleyecek bir şeyi yok — atlayın.&lt;/p&gt;
&lt;p&gt;Bu yazı diğer durumla ilgili — bir ajanın büyük bir reponun sorgulanabilir bir haritasına ihtiyaç duyduğu ve bunu elde etmek için yerel bir indeksleyici çalıştırmak istemediğiniz zaman.&lt;/p&gt;
&lt;h2 id=&quot;yerel-bir-indeksleyicinin-yanlış-araç-olduğu-durumlar&quot;&gt;Yerel bir indeksleyicinin yanlış araç olduğu durumlar&lt;/h2&gt;
&lt;p&gt;Yerel bir indeks, kodun onu sorgulayan makinede yaşadığını varsayar ve gerçek monorepo ölçeğinde bu varsayım tek bir editör içinde bile gerilir. Repo, dizüstü bilgisayarda ‘sıcak’ tutmak istediğinizden basitçe daha büyüktür: etki yarıçapı üç dizin ötedeyken bir paket üzerinde çalışıyorsunuzdur ve iki milyon satırlık bir ağacın ilk soğuk indekslemesi iki kez katlanmak isteyeceğiniz bir şey değildir — ne kendi makinenizde, ne de o ağacı daha önce hiç klonlamamış bir CI çalıştırıcısında. Ya da bir takım arkadaşının, kendi makinesinin aynı indeksten geçmesini beklemeden sizinle aynı haritayı sorgulayabilmesi gerekir.&lt;/p&gt;
&lt;p&gt;Bunların hiçbiri iyi bir editör indeksleyicisini çöpe atmak için bir neden değil. Bu, herhangi bir ajanınızın MCP üzerinden sorgulayabileceği barındırılan bir haritaya da sahip olmak için bir neden.&lt;/p&gt;
&lt;p&gt;Ve ölçek sorunu ‘yapıştırmak için çok fazla dosya’ olmasından daha derine iner. Büyük bir ağaçta ilginç soru neredeyse hiçbir zaman ‘bana bu dosyayı göster’ değildir — hangi dosya, hangi sembol, hangi çağıranlar, hangi testler olduğudur. &lt;code&gt;src/&lt;/code&gt;’ı listeleyerek başlayan ve ilk üç sonucu okuyan bir ajan, &lt;code&gt;apps/api&lt;/code&gt;’deki işleyiciyi ve &lt;code&gt;packages/sdk&lt;/code&gt;’deki oluşturulan istemciyi neşeyle gözden kaçıracaktır. İhtiyacınız olan şey, tüm ağaçtan oluşturulmuş, sonra sıralanmış, sonra alıntılanmış bir getirmedir.&lt;/p&gt;
&lt;h2 id=&quot;büyük-bir-reponun-bağlamı-gerçekte-ne-anlama-gelir&quot;&gt;‘Büyük bir reponun bağlamı’ gerçekte ne anlama gelir&lt;/h2&gt;
&lt;p&gt;Dosyaları prompta boşaltmak bağlam değildir — ağacın daha küçük, daha kötü bir kopyasıdır. Ajanınızın gerçekten ihtiyacı olan şey, sorular sormak ve karşılığında alıntılanmış yanıtlar almaktır: bu sembol nerede tanımlanmış ve onu kim çağırıyor, değiştirmek üzere olduğum modüle ne bağlı, hangi test dosyası bu davranışı kapsıyor ve ağaç geçen çeyrek değil, &lt;em&gt;şu anda&lt;/em&gt; nasıl görünüyor.&lt;/p&gt;
&lt;p&gt;Bu yanıtların, modelin başkalarının reposu hakkındaki hafızasından değil, sizin reponuzdan oluşturulmuş bir indeksten gelmesi gerekir ve indeksin ajanın bağlam penceresi dışında bir yerde yaşaması gerekir. Bu sorun için, dizüstü bilgisayarınızın da dışında bir yerde yaşaması gerekir.&lt;/p&gt;
&lt;p&gt;Talimat dosyalarının sizin için yapamayacağı bir şey daha: &lt;code&gt;CLAUDE.md&lt;/code&gt; ve &lt;code&gt;AGENTS.md&lt;/code&gt; kurallar ve davranış için doğru yerdir, ancak iki milyon satırlık bir ağacın canlı, sıralanmış, sorgulanabilir bir haritası değildirler. Davranış için kurallar kullanın; gerçekler için repo zekası kullanın.&lt;/p&gt;
&lt;h2 id=&quot;haritayı-bulutta-inşa-ediyoruz-herhangi-bir-istemciden-sorguluyoruz&quot;&gt;Haritayı bulutta inşa ediyoruz, herhangi bir istemciden sorguluyoruz&lt;/h2&gt;
&lt;p&gt;Maguyva, uzak bir MCP kod tabanı bağlam katmanıdır. GitHub’ı bağlarsınız, repolarınızı seçersiniz ve bulut hatları ağacı ayrıştırırken, sembolleri ve graf kenarlarını oluştururken ve sıralanmış bir haritayı korurken çekip gidebilirsiniz — asla yerel bir indeksleyici olmadan.&lt;/p&gt;
&lt;p&gt;Kod push ettiğinizde, değiştirilen dosyalar artımlı olarak ayrıştırılır ve graf ile sıralama katmanları bir programa göre yeniden oluşturulur: ücretsiz planda günlük, ücretli planlarda saatlik. Her anlık görüntü zaman damgalıdır, böylece ajanınız ağacın hangi sürümünü okuduğunu söyleyebilir. Buradaki dürüst sınırlama, senkronize edilmemiş yerel çalışmadır — yalnızca çalışma ağacında var olan, hiç push edilmemiş bir değişiklik henüz barındırılan haritada değildir.&lt;/p&gt;
&lt;p&gt;Sonra, zaten kullandığınız herhangi bir istemciye MCP yapılandırmasına bir API anahtarı ekleyerek bağlanırsınız. 24 belgelenmiş MCP istemcisi için kurulum kılavuzları vardır ve standart yapılandırmayı destekleyen başka herhangi bir MCP uyumlu istemci de bağlanabilir. Cursor evinizse, &lt;a href=&quot;https://maguyva.ai/tr/for-cursor&quot;&gt;Cursor sayfası&lt;/a&gt; o yolu izler; aynı sunucu Claude Code, VS Code, Windsurf, Codex CLI ve diğerlerine yanıt verir.&lt;/p&gt;
&lt;p&gt;Editör değiştirmezsiniz. Ajanınıza bir araç yüzeyi verirsiniz — arama, semboller, bağımlılık analizi, dosya getirme ve repo bağlamı genelinde 11 MCP aracı — 279’dan fazla dil ve metin tabanlı teknoloji üzerinde kapsama sahip, ki bu, yıllar önce tek bir dil olmaktan çıkmış bir monorepoda sandığınızdan daha çok şey ifade eder.&lt;/p&gt;
&lt;p&gt;Yanıtlar, satır numaralarıyla dosya yolları olarak temellendirilmiş şekilde döner. Semantik, yapısal, graf ve metin araması sıralanmış sonuçlarda birleştirilir, böylece ‘parseConfig’e ne bağlı’ gibi bir soru size ne bir grep dökümü ne de tek bir semantik parça verir, gerçekten önemli olan o bir avuç yeri verir.&lt;/p&gt;
&lt;h2 id=&quot;somut-bir-kılavuz&quot;&gt;Somut bir kılavuz&lt;/h2&gt;
&lt;p&gt;Tüm şirketi indeksleyerek başlamayın. İşe yarayan yol şu:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Zaten iyi bildiğiniz bir repo seçin — elle değerlendirebileceğiniz bir paket, sahip olduğunuz en büyük ağaçtan daha değerlidir.&lt;/li&gt;
&lt;li&gt;Ücretsiz başlayın: 3 repo, 50 bin indekslenen satır, 11 aracın tamamı, aylık sorgu kotası yok. Temsili reponuz bundan büyükse, &lt;a href=&quot;https://maguyva.ai/tr/pricing&quot;&gt;fiyat sayfası&lt;/a&gt; çalışma alanı katmanlarını (0 $, 19 $, 49 $, 149 $) koltuk sayısına göre değil, indekslenen kapsama göre listeler.&lt;/li&gt;
&lt;li&gt;GitHub’ı bağlayın ve ilk indekslemenin bitmesini bekleyin. Yerel olarak hiçbir şey derlemiyorsunuz.&lt;/li&gt;
&lt;li&gt;MCP istemcisini bağlayın — birkaç satır yapılandırma. Maguyva uzak bir MCP sunucusudur, bu yüzden eklenti yok, uzantı yok ve benimsenecek ikinci bir editör yok.&lt;/li&gt;
&lt;li&gt;Doğrulayabileceğiniz bir soru sorun. ‘parseConfig’e ne bağlı?’ veya ‘Oturum açma oturumunun süresi dolması nerede işleniyor?’ Sonra alıntılanan &lt;code&gt;file.ext:line&lt;/code&gt; sonuçlarını açın ve karşınızdaki ağaçla karşılaştırın.&lt;/li&gt;
&lt;li&gt;Alıntılar bu temasta hayatta kaldıktan sonra ajanın düzenlemesine izin verin.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;İlk repo iyi uyuyorsa ve ağacınız büyükse, çalışma alanını indekslenen satırlarınıza ve yeniden oluşturma sıklığına uyacak şekilde yükseltin. İnsanlar ve ajanlar aynı kullanıcı sayısını paylaşır — Maguyva koltuk başına değil, çalışma alanı başına ücretlendirir — bu yüzden döngüye üçüncü bir ajan eklemek size hiçbir şeye mal olmaz.&lt;/p&gt;
&lt;p&gt;Etkinleştirme testi, &lt;a href=&quot;https://maguyva.ai/tr/docs&quot;&gt;belgelerin&lt;/a&gt; her ilk çalıştırma için önerdiğiyle aynıdır: zaten bildiğiniz bir repoyu indeksleyin, doğrulayabileceğiniz bir soru sorun. Büyük bir repo testi değiştirmez; sadece yanlış bir ilk dosyayı daha maliyetli hale getirir.&lt;/p&gt;
&lt;h2 id=&quot;bağlandıktan-sonra-dikkat-edilmesi-gerekenler&quot;&gt;Bağlandıktan sonra dikkat edilmesi gerekenler&lt;/h2&gt;
&lt;p&gt;Üç şeye dikkat edin. Güncellik: ücretli planlar saatlik, ücretsiz planlar günlük yeniden oluşturulur ve push edilmemiş yerel çalışma haritada olmayacaktır — bu, kabul ettiğiniz ödünleşimdir. Kapsam: arşivlenmiş her fork’u değil, temsili bir repo kümesini indeksleyin; ücretsiz katman, yanıtların saklanmaya değip değmediğini öğrenmek için kasıtlı olarak bu boyuttadır. Ve doğrulama: yolları ve satır numaralarını alıntılayamayan büyük bir repo haritası, sadece daha yavaş bir tahmin motorudur, bu yüzden ajanınızın yamayı teslim etmeden önce yeri göstermesini sağlayın.&lt;/p&gt;
&lt;p&gt;Sonra küçük bir repoda çalıştıracağınız aynı testi çalıştırın. Zaten bildiğiniz bir repoyu indeksleyin. Doğrulayabileceğiniz bir soru sorun. Harita gerçekse, ajanınız soğuk bir ağaçtan başlamayı bırakır.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// no laptop got hot building this map.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>AI Agents</category><category>MCP</category><category>Indexing</category><category>Monorepos</category></item><item><title>Yapay zeka kodlama ajanınız neden dosya yollarında halüsinasyon görür</title><link>https://maguyva.ai/tr/blog/why-ai-coding-agents-hallucinate-file-paths</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/why-ai-coding-agents-hallucinate-file-paths</guid><description>Yapay zeka kodlama ajanları, reponun gerçek bir haritasına sahip olmadıklarında dosya yolları uydururlar. İşte bunun neden olduğu ve temellendirmenin nasıl daha az halüsinasyon görülen değişikliğe yol açtığı.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;İşaret, yanlış bir fonksiyon gövdesi değildir. Var olmayan bir dosyada ya da var olan ama davranışı uygulayan dosya olmayan bir dosyada yapılan kendinden emin bir değişikliktir.&lt;/p&gt;
&lt;p&gt;Oturum süresi dolması için bir düzeltme istediniz. Ajan &lt;code&gt;src/auth/session.ts&lt;/code&gt;’ı açtı. Bu yol makul. Aynı zamanda yanlış. Gerçek işleyici, iki refaktör önce yeniden adlandırılan &lt;code&gt;apps/api/src/middleware/expiry.ts&lt;/code&gt;’de yaşıyor. Ajan size yalan söylemedi. Eğitim önyargıları artı bağlam penceresinde zaten olan her şeye dayanarak yol biçiminde bir dizeyi tamamladı.&lt;/p&gt;
&lt;p&gt;Bu, gerçek bir repoda görülen yaygın başarısızlık modelidir. Model kod yazabilir. Hata, onu yazmak için yanlış yeri seçmektir.&lt;/p&gt;
&lt;h2 id=&quot;ajanların-neden-yollar-uydurduğu&quot;&gt;Ajanların neden yollar uydurduğu&lt;/h2&gt;
&lt;p&gt;Kodlama ajanı, araçlara sahip bir sonraki token tahmin modelidir. ‘Oturum süresi dolmasını düzelt’ dediğinizde, bir şey okuyabilmeden veya yamalayabilmeden önce bir dosyayı adlandırmalıdır. Zaten temellendirilmiş bir haritası yoksa, bir yolu şunlardan inşa eder:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Diğer repolarda gördüğü adlandırma kuralları. &lt;code&gt;src/auth/session.ts&lt;/code&gt; sık görülen bir biçimdir.&lt;/li&gt;
&lt;li&gt;Zaten konuşmada olan, şu anda önemli olanlar değil de geçen hafta yapıştırdıklarınıza ait olabilecek dosyalar.&lt;/li&gt;
&lt;li&gt;Rastlantısal olarak çalıştırdığı, büyük bir ağaçta eksik olan dizin listelemeleri.&lt;/li&gt;
&lt;li&gt;Talimat dosyaları. &lt;code&gt;CLAUDE.md&lt;/code&gt; ve &lt;code&gt;AGENTS.md&lt;/code&gt;, ajana nasıl davranması gerektiğini söyler. Bunlar sembollerin, çağıranların veya güncel yolların canlı bir indeksi değildir.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bu kaynakların hiçbiri bugün bu reponun bir haritası değildir. Model, herhangi bir boşluğu doldurduğu şekilde bu boşluğu doldurur: yüksek olasılıklı bir devamla. Bu devam çoğu zaman gerçek bir yol gibi görünür. Bazen dosya vardır ve doğru olanın yanında yer alır. Bazen geçen ay birleştirilmiş bir dalda vardı. Bazen hiç var olmadı.&lt;/p&gt;
&lt;p&gt;Ajan doğru dizeyi hiç aramıyorsa, grep burada sizi kurtarmaz. Ajan bir yol tahmin etti, sonra o yolun döndürdüğünü okudu, sonra onu düzenledi. İlk yanlış adım yoldu, yama değil.&lt;/p&gt;
&lt;p&gt;Dosyaları okumak da doğru olanları bulmakla aynı şey değildir. Claude Code, Cursor, Codex ve benzer araçlar, onları yönelttiğiniz her şeyi açabilir. Soru, düzenlemeden önce doğru dosyaları, önemli sembolleri, bağımlılıkları, testleri ve etki yarıçapını güvenilir bir şekilde bulup bulmadıklarıdır. Bir harita olmadan dosya erişimi yine de bir tahminle başlar.&lt;/p&gt;
&lt;h2 id=&quot;yanlış-dosyanın-düzenlenmesi-bir-getirme-sorunudur&quot;&gt;Yanlış dosyanın düzenlenmesi bir getirme sorunudur&lt;/h2&gt;
&lt;p&gt;Uydurulmuş yola bir karakter kusuru olarak değil, bir getirme isabetsizliği olarak davranın.&lt;/p&gt;
&lt;p&gt;Ajan düzenlemesine izin verilmeden önce &lt;code&gt;path/file.ext:line&lt;/code&gt;’i döndürmek zorunda olsaydı, iki şey olurdu. Birincisi, alıntıyı açıp işi on saniyede reddedebilirdiniz. İkincisi, ajanın ağacı gerçekten bilen bir şeyi sorgulaması gerekirdi.&lt;/p&gt;
&lt;p&gt;Bu, bir kod tabanı bağlam katmanının işidir. Tek başına semantik arama yeterli değildir. ‘Oturum süresi dolması gibi görünen’ bir parça yine de kullanımdan kaldırılmış bir pakette bitebilir. Dizeyi bildiğinizde tam metne, adı bildiğinizde sembol aramasına, şekli bildiğinizde yapısal aramaya ve çağıranlara ile etki yarıçapına ihtiyaç duyduğunuzda bir bağımlılık grafına da ihtiyacınız vardır.&lt;/p&gt;
&lt;p&gt;Maguyva, MCP uyumlu kodlama ajanları için bu katmandır. Bir editör değildir. Claude Code, Cursor, Codex CLI, VS Code, Windsurf ve diğer MCP istemcileri oldukları yerde kalır. Ajan, bir satıra dokunmadan önce sıralanmış bir haritayı sorgular.&lt;/p&gt;
&lt;p&gt;İddia kasıtlı olarak mütevazıdır: daha az halüsinasyon görülen değişiklik. Maguyva, modelden tahmin etme yeteneğini almaz. Varsayılan ilk adımı ’makul bir yol uydur’dan ’sıralanmış, alıntılanmış konumlar iste’ye değiştirir.&lt;/p&gt;
&lt;h2 id=&quot;temellendirilmiş-bir-yanıt-neye-benzer&quot;&gt;Temellendirilmiş bir yanıt neye benzer&lt;/h2&gt;
&lt;p&gt;‘Oturum süresi dolması nerede işleniyor’ sorusuna faydalı bir yanıt bir paragraf değildir. Kısa bir konum listesidir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apps/api/src/middleware/expiry.ts:48&lt;/code&gt; - işleyici&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apps/web/src/lib/auth-client.ts:112&lt;/code&gt; - çağıran&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apps/api/tests/expiry.test.ts:20&lt;/code&gt; - değişiklik yanlışsa başarısız olacak test&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu satırları açabilirsiniz. Yanlışlarsa durursunuz. Doğrularsa, ajan düzenleyebilir. Mesele doğrulamadır, bir slogan değil.&lt;/p&gt;
&lt;p&gt;Maguyva, arama, semboller, bağımlılık analizi, dosya getirme, repo bağlamı ve deterministik yardımcı araç iş akışları genelinde 11 müşteriye yönelik MCP aracı sunar. Dört getirme modu (semantik, yapısal, graf/bağımlılık ve metin) sıralanmış sonuçlarda birleştirilir; sembol arama ayrı bir MCP aracıdır (&lt;code&gt;find_symbol&lt;/code&gt;). Temellendirilmiş yanıtlar dosya yolları ve satır numaralarıyla döner, böylece karşınızdaki ağaca göre onları değerlendirebilirsiniz.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://maguyva.ai/tr/docs&quot;&gt;Belgeler&lt;/a&gt; en kısa yolu tanımlar: ücretsiz başlayın, zaten bildiğiniz bir repoyu indeksleyin, istemciyi bağlayın, sonra doğrulayabileceğiniz bir soru sorun.&lt;/p&gt;
&lt;h2 id=&quot;i̇lk-değişikliği-değiştiren-bir-döngü&quot;&gt;İlk değişikliği değiştiren bir döngü&lt;/h2&gt;
&lt;p&gt;Yeni bir iş akışı dinine ihtiyacınız yok. İlk yazmadan önce bir ek adıma ihtiyacınız var.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Zaten değerlendirebileceğiniz bir soru sorun. ‘Girişi ve oturum süresi dolmasını hangi kod işliyor?’ sorusu ‘auth’u düzelt’ demekten daha iyidir.&lt;/li&gt;
&lt;li&gt;Alıntı talep edin. ’Auth modülü’nün bir özeti değil, dosya yolu ve satır numarası.&lt;/li&gt;
&lt;li&gt;Alıntılanan dosyaları açın. Sembolü takip edin. Dokunmak üzere olduğunuz bağımlılığı doğrulayın.&lt;/li&gt;
&lt;li&gt;Ancak o zaman ajanın yamalamasına izin verin.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Adım 2 faydalı bir şey döndürmezse, ajanın bir yolu doğaçlama yapmaya hakkı yoktur. Ya yeniden arar ya da siz ona yol gösterirsiniz. Tam olarak bu tek geçit, daha az halüsinasyon görülen değişikliği üretir. Model aynı modeldir. Değişen şey haritadır.&lt;/p&gt;
&lt;p&gt;Talimat dosyaları hâlâ önemlidir. Onları koruyun. Kurallar, inceleme kuralları ve dokunulmaması gerekenler için kullanın. Onlardan indeks olmalarını istemeyin. Üç önemli dizini listeleyen bir &lt;code&gt;CLAUDE.md&lt;/code&gt;, bir paket bölünmesinden bir hafta sonra eskimiş olacaktır. Sorgulanabilir bir harita, repo güncellendiğinde güncellenir.&lt;/p&gt;
&lt;p&gt;İlgili bir başarısızlık neredeyse doğru dosyadır: davranış &lt;code&gt;auth-client.ts&lt;/code&gt;’de yaşarken ajan &lt;code&gt;auth.ts&lt;/code&gt;’i açar ya da kaynak yerine oluşturulmuş bir dosyayı yamalar ya da ad eşleştiği için &lt;code&gt;packages/legacy&lt;/code&gt;’teki kopyayı düzenler. Alıntılar bu hataları imkansız kılmaz. Diff inmeden önce onları görünür kılar.&lt;/p&gt;
&lt;h2 id=&quot;bir-haritanın-sizin-için-çözmeyeceği-şeyler&quot;&gt;Bir haritanın sizin için çözmeyeceği şeyler&lt;/h2&gt;
&lt;p&gt;Ne elde ettiğiniz konusunda ayık olun. Temellendirilmiş bir harita her değişikliği doğru yapmaz — ajanınız yine de tam olarak doğru dosyada kötü bir yama yazabilir. Kod tabanınız dinamik gönderime, yansımaya veya monkey-patching’e dayanıyorsa, bazı sembol aramaları istediğinizden daha zayıf dönecektir, çünkü çalışma zamanı dolaylılığı herhangi bir statik indekse bunu yapar. Ve bir yüzde umuyorsanız — ‘halüsinasyon görülen yollar X% azaldı’ — bunu burada bulamazsınız, çünkü sizden başka kimse bu sayıyı reponuz için dürüstçe ölçemez.&lt;/p&gt;
&lt;p&gt;Beklemeniz gereken şey daha dar ve daha faydalıdır: ajan, değişikliklerine tahmin edilmiş bir yolla başlamayı bırakır. Bu ilk adım gerçek bir haritada temellendirilir ve daha az halüsinasyon görülen değişiklikler oradan gelir. Alıntıdan sonraki her şey — diff’i okumak, yamayı yargılamak — hâlâ, her zaman olduğu gibi, sizin işinizdir.&lt;/p&gt;
&lt;p&gt;Bu test size neredeyse hiçbir şeye mal olmaz: zaten bildiğiniz bir repoyu indeksleyin ve doğrulayabileceğiniz bir soru sorun. Daha önce yanmış olduğunuz bir yolla başlayın. Alıntılar yanlışsa, bunu hemen görürsünüz. Doğrularsa, ajanınızın bir sonraki değişikliğinin inecek daha iyi bir yeri olur.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// it doesn&apos;t know the file. it knows how to find it.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>AI Agents</category><category>Hallucination</category><category>Retrieval</category><category>MCP</category></item><item><title>Kod Aramasını voyage-4-large&apos;a Neden Yükselttik</title><link>https://maguyva.ai/tr/blog/upgrading-code-search-to-voyage-4-large</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/upgrading-code-search-to-voyage-4-large</guid><description>Kod gömmelerimizi voyage-4-large&apos;a taşıdık — şu anda herkese açık RTEB kod getirim liderlik tablosunun zirvesinde. Dürüst versiyon: yaptığımız ödünleşim, gerçekte neyi indekslediğimiz ve neden premium gömmelere ödeme yaptığımız.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu yazıdaki kıyaslama sayıları, yayınlandığı tarihteki (Haziran 2026) RTEB liderlik tablolarını yansıtır. Liderlik tabloları değişir; sıralamaları kalıcı bir gerçek değil, bir anlık görüntü olarak ele alın.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Semantik arama, altındaki gömmeler kadar iyidir.&lt;/p&gt;
&lt;p&gt;Bir ajan Maguyva’ya “yeniden denemeleri nerede ele alıyoruz” diye sorduğunda, “retry” kelimesini grep’lemiyordur. &lt;em&gt;Anlamı&lt;/em&gt; soruyordur — geri çekilme (backoff) döngüsünü, devre kesiciyi, kararsız bir çağrıyı sarmalayan şeyi. Bu soru, kodu uzayda bir noktaya dönüştüren ve komşularını bulan bir vektör modeli tarafından yanıtlanır. Daha iyi bir model seçin ve üründeki her semantik sorgu sessizce daha keskinleşir.&lt;/p&gt;
&lt;p&gt;Bu yüzden bizimkini değiştirdik. Haziran 2026 itibarıyla, Maguyva’nın kod gömmeleri &lt;code&gt;voyage-code-3&lt;/code&gt;’in yerini alan &lt;strong&gt;&lt;code&gt;voyage-4-large&lt;/code&gt;&lt;/strong&gt; üzerinde çalışıyor.&lt;/p&gt;
&lt;h2 id=&quot;kıyaslama&quot;&gt;Kıyaslama&lt;/h2&gt;
&lt;p&gt;Bu kararı sezgiyle vermedik. Herkese açık &lt;a href=&quot;https://embedding-benchmark-rteb.hf.space/code&quot;&gt;Retrieval Embedding Benchmark (RTEB)&lt;/a&gt;, gömme modellerini gerçek getirim görevlerinde sıralar ve &lt;strong&gt;Code&lt;/strong&gt; liderlik tablosunda &lt;code&gt;voyage-4-large&lt;/code&gt;, &lt;code&gt;gemini-embedding-2-preview&lt;/code&gt;’ün (90.26) önünde ve dikkat çekici bir şekilde zaten kullandığımız modelin, &lt;code&gt;voyage-code-3&lt;/code&gt;’ün (89.73, #3), önünde &lt;strong&gt;genel sıralamada #1&lt;/strong&gt;’de (90.86) yer alır.&lt;/p&gt;
&lt;p&gt;Bu küçük, mutlak bir farktır. Ama herkese açık bir kıyaslamada, tam olarak önemsediğimiz görevde — kodu anlamıyla getirmek — doğru yönde bir farktır.&lt;/p&gt;
&lt;h2 id=&quot;kabul-ettiğimiz-ödünleşim-i̇kili-nicemleme&quot;&gt;Kabul Ettiğimiz Ödünleşim: İkili Nicemleme&lt;/h2&gt;
&lt;p&gt;İşte çoğu “modelimizi yükselttik” yazısının atladığı kısım.&lt;/p&gt;
&lt;p&gt;Maguyva tam hassasiyetli vektörleri saklamaz. &lt;strong&gt;İkili nicemlenmiş (binary-quantized)&lt;/strong&gt; gömmeleri saklarız: her 2048 boyutlu vektör, 2048 bitlik bir imzaya sıkışır — vektör başına &lt;strong&gt;256 bayt&lt;/strong&gt;. Bu imzalar Hamming mesafesiyle aranır, kiracı başına indekslenir ve bölümlenir.&lt;/p&gt;
&lt;p&gt;Bu kasıtlı bir ödünleşimdir. İkili nicemleme, dramatik derecede daha küçük depolama ve ayrı bir vektör veritabanı işletmeden hızlı, ucuz mesafe matematiği karşılığında bir miktar getirim hassasiyetinden vazgeçer. Çalışma alanı başına tüm repoları indeksleyen bir ürün için, bu ekonomi, kıyaslama puanını son bir kesir kadar daha artırmaktan daha önemlidir.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;voyage-4-large&lt;/code&gt;, depolama katmanının bir geçişini zorlamadan bu tasarıma uyar: &lt;code&gt;voyage-code-3&lt;/code&gt; ile aynı şekilde 2048 boyutlu çıktı üretir, bu yüzden &lt;code&gt;bit(2048)&lt;/code&gt; sütunlarımız ve Hamming arama yolumuz değişmedi. Model daha iyi oldu; şema yerinde kaldı.&lt;/p&gt;
&lt;h2 id=&quot;kod-sadece-başlangıçtı&quot;&gt;Kod Sadece Başlangıçtı&lt;/h2&gt;
&lt;p&gt;Maguyva bir kod zekası aracıdır. Ama biz de sıfırıncı müşteriyiz ve onu başka bir şeye yönlendiriyoruz: repolarımızda kodla birlikte yaşayan markdown. Mimari karar kayıtları, operasyon kılavuzları (runbook), sözleşmeler, finans ve politika belgeleri — hepsi Git’te sürüm kontrollü, hepsi aynı MCP sunucusunun arkasında, sadece kaynak üzerinde değil &lt;em&gt;belgeler&lt;/em&gt; üzerinde semantik bir indeks.&lt;/p&gt;
&lt;p&gt;Voyage-4-large’ın genişliğinin önemli olmasının tam nedeni budur. Aynı RTEB liderlik tabloları ailesinde &lt;strong&gt;finansta #1, sağlıkta #1 ve genel metin getiriminde #1&lt;/strong&gt;’dir — Google’ın Gemini Embedding’inin, Cohere’in Embed v4’ünün ve OpenAI’ın text-embedding-3-large’ının önünde. (Voyage, RTEB’in bir ortak yaratıcısıdır, bu yüzden bunu tamamen tarafsız bir hakem yerine güçlü bir kamusal sinyal olarak okuyoruz — ama özel tutulan (hold-out) veri kümelerinde her büyük ticari modele karşı baş başa kıyaslanmıştır.) Bir ajan için doğru fonksiyonu bulan aynı indeks, bir sözleşmedeki doğru maddeyi veya bir politikadaki doğru satırı da bulur — ve bu alanlarda voyage-4-large bir uzlaşma değildir, liderdir.&lt;/p&gt;
&lt;h2 id=&quot;neden-premium-gömmelere-ödeme-yapıyoruz&quot;&gt;Neden Premium Gömmelere Ödeme Yapıyoruz&lt;/h2&gt;
&lt;p&gt;Arama yapmanın daha ucuz bir yolu var ve bunun çoğu ücretsiz. Sözcüksel arama — BM25 ve benzerleri — anahtar kelimeleri eşleştirir, yerel olarak çalışır ve hiçbir şeye mal olmaz. BGE, Nomic ve embeddinggemma gibi açık kaynaklı gömme modelleri gerçekten &lt;em&gt;makul&lt;/em&gt; semantik getirim sağlar ve bunları bir GPU fiyatına kendiniz barındırabilirsiniz. Maguyva ücretsiz tarafı da kullanır: her sorgu metin, AST, graf ve semantik aramayı birleştirir. Ucuza kaçmadığımız şey semantik katmandır.&lt;/p&gt;
&lt;p&gt;Ücretsiz bir modeli kendimiz barındırmak yerine premium gömmeler için token başına ödeme yapıyoruz — &lt;code&gt;voyage-4-large&lt;/code&gt; — iki nedenden dolayı. Birincisi, kod &lt;code&gt;backoff&lt;/code&gt; ve &lt;code&gt;circuit breaker&lt;/code&gt; dediğinde ve asla “retry” kelimesini söylemediğinde, tek başına anahtar kelime araması “yeniden denemeleri nerede ele alıyoruz” sorusunu yanıtlayamaz — anlam, gömmenin tüm meselesidir ve hizmet ettiğimiz alanlarda açık modeller premium olanların gerisinde kalır: genel metinde birkaç puan geride, kod, sözleşmeler ve finans gibi niş alanlarda daha da geride. İkincisi, deneyimimize göre getirim kalitesi, nihai yanıtı diğer uçtaki modelden daha fazla şekillendirir — yanlış bağlam verilen güçlü bir ajan yine de yanlış yanıt verir ve kendisine hiç verilmemiş bir belgeyi asla görmez.&lt;/p&gt;
&lt;p&gt;Yani premium gömmeler, indekslediğimiz her repo ve belgeyle ölçeklenen token başına bir faturadır — ve bunu kasıtlı olarak ödüyoruz. Kullanıcılarımızın elde ettiği sonuç, doğru fonksiyon veya doğru madde için, bu ödünleşimin buna değdiğini düşünüyoruz.&lt;/p&gt;
&lt;h2 id=&quot;dürüst-kısım&quot;&gt;Dürüst Kısım&lt;/h2&gt;
&lt;p&gt;Voyage’ın kendi dokümantasyonu hâlâ &lt;code&gt;voyage-code-3&lt;/code&gt;’i kod için optimize edilmiş model olarak etiketliyor. Peki neden geçtik?&lt;/p&gt;
&lt;p&gt;Çünkü sadece tedarikçinin model tablosunu değil, herkese açık kıyaslamayı okuduk ve kıyaslama kod getiriminde &lt;code&gt;voyage-4-large&lt;/code&gt;’yi zirveye koydu. Bu ileriye dönük bir karardı: daha yeni, genel olarak daha güçlü modeli alıp önemli görevlerde herkese açık bir liderlik tablosuna karşı doğrulamak. Bu bahsi yapmakta rahatız çünkü kanıt geniş — voyage-4-large sadece kodda kazanmıyor, finansta, sağlıkta ve genel getirimde de öne geçiyor.&lt;/p&gt;
&lt;h2 id=&quot;sessiz-taban&quot;&gt;Sessiz Taban&lt;/h2&gt;
&lt;p&gt;Sunduğumuz her araç — semantik arama, görev bağlamı toplama, temellendirilmiş soru-cevap — sonunda getirime dayanır. Getirici iyileştiğinde, diğer uçtaki ajan daha iyi kanıt alır, daha az yanlış yola sapar ve yanıtlarını doğru koda — ya da doğru maddeye, ya da doğru politikaya — dayandırır. Daha keskin bir gömme modeli gösterişli bir özellik değildir. Her şeyin altındaki tabandır ve biz onu az önce yükselttik. Fark etmeyeceksiniz. Asıl mesele de bu.&lt;/p&gt;
</content:encoded><category>Embeddings</category><category>Search</category><category>Architecture</category></item><item><title>Dilde Özyinelemeli Öz-İyileştirme: ~280 Dilde Kod Zekasını İnceden İnceye Cilalamak</title><link>https://maguyva.ai/tr/blog/autonomous-quality-loops-language-grind</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/autonomous-quality-loops-language-grind</guid><description>~280 dil için kod zekası desteği sunuyoruz. Hiçbir insan bunu elle denetleyemez. Bu yüzden bir dilde özyinelemeli öz-iyileştirme döngüsü kurduk — örneklem denetimi, hakem olarak LLM, tek bir şeyi düzelt, yeniden doğrula — ve çıkarım sadece yeşil değil gerçekten doğru olana kadar bunu izole ajanlardan oluşan bir filoyla çalıştırıyoruz.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu yazıdaki sayılar, yayınlandığı tarihteki (Mayıs 2026) sistemi yansıtır. Güncel rakamlar için &lt;a href=&quot;https://maguyva.ai/tr/team&quot;&gt;ekip sayfamıza&lt;/a&gt; bakın.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Maguyva, yaklaşık 280 dilde kaynak koddan sembolleri, referansları ve bir bağımlılık grafını çıkarır. Her dil özel bir tree-sitter handler’ıdır — sorgular, sezgisel yöntemler, uç durumlar — ve her handler kendine özgü bir şekilde ince bir hata yapabilir. Okuma olarak yayınlanan bir metot çağrısı. Yanlış çevreleyen kapsama atfedilen bir fonksiyon. Sadece orada olmayan bir ilişki.&lt;/p&gt;
&lt;p&gt;Bunu elle denetleyemezsiniz. Hiçbir ekip 280 gramer genelinde çıkarım çıktısını okuyup kötü kenarları (edge) tespit edemez. Bu yüzden ilginç soru “çıkarımımız doğru mu” değildir — “her döngüde bir insan olmadan, bu genişlikte, yanlış olduğunu nasıl &lt;em&gt;anlarsınız&lt;/em&gt;“dır. Bizim yanıtımız dilde özyinelemeli öz-iyileştirmedir: dil ajanları tarafından yürütülen bir kalite döngüsü, hakem görevi gören bir LLM ve sürekli yeniden öğrendiğimiz tek bir kural: yeşil, doğru ile aynı şey değildir.&lt;/p&gt;
&lt;h2 id=&quot;yeşil-doğru-değildir&quot;&gt;Yeşil, doğru değildir&lt;/h2&gt;
&lt;p&gt;Her dilin bir fixture takımı vardır ve bir yayın öncesi doğrulama kontrolü bunu beş boyutta puanlar — doğruluk, yapısal bütünlük, eksiksizlik, kalite ve performans. Bir dil yalnızca fixture’larında kesinlik (precision) ≥ 0.95, duyarlılık (recall) ≥ 0.99 ve F1 ≥ 0.97 olduğunda, istatistiksel güven için en az 20 beklenen kenarla birlikte &lt;strong&gt;YEŞİL&lt;/strong&gt; olur. Bunun altında SARI veya KIRMIZI olur ve yayınlanmaz.&lt;/p&gt;
&lt;p&gt;Bu kontrol gereklidir ama yeterli değildir. Fixture’lar, &lt;em&gt;bizim yazdığımız&lt;/em&gt; fixture’lara karşı doğrulanır. Zaten düşündüğümüz durumları kodlarlar. Bir handler kendi fixture’larında kusursuz olabilir ve yine de yalnızca gerçek kodda ortaya çıkan bir deseni bozabilir — bir makro deyimi, generic sınırlı bir metot, kimsenin fixture yazmadığı bir dil özelliği. YEŞİL, fixture’ların geçtiği anlamına gelir. Gerçek bir reponun temiz bir şekilde çıkarıldığı anlamına gelmez. Bu yüzden döngünün fixture’ları geride bırakıp vahşi doğaya bakması gerekir.&lt;/p&gt;
&lt;h2 id=&quot;i̇ç-döngü-örneklem-denetimi-hakemlik-düzeltme-kanıtlama&quot;&gt;İç döngü: örneklem denetimi, hakemlik, düzeltme, kanıtlama&lt;/h2&gt;
&lt;p&gt;Çekirdek döngü, bir seferde bir dil çalıştırır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ┌──────────────────────────────────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  1. corpus run ── clone real-world repos, extract relationships   │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  2. spot-check 100 edges (seed 42, then seed 123 to cross-check)  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  3. LLM judge classifies every sampled edge:                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        CORRECT · FALSE_POSITIVE · TYPE_ERROR ·                    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        SCOPE_ERROR · METADATA_ERROR                               │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  4. fix ONE thing — handler .py, .scm query, or config           │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  5. re-validate — F1 + re-classify + manifest diff (no regressions)│&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   better? ──no──► revert, try a different fix ────────────────────┤&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │ yes                                                       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                           │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  6. promote the fix into fixtures (a permanent regression guard) ──┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bunun debelenmek yerine işe yaramasını sağlayan birkaç şey var.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hakem bir API çağrısı değil, ajandır.&lt;/strong&gt; “Hakem olarak LLM” dediğimizde, dil ajanının kendisinin örneklenen her kenarı gerçek kaynağa karşı okuduğunu ve sabit beş kategorili bir rubrikle sınıflandırdığını kastediyoruz: bu kenar doğru mu, yanlış pozitif mi, yanlış türle doğru ilişki mi, yanlış kapsama mı bağlı, yoksa yanlış meta veri mi taşıyor? Bu rubrik oyunun tamamıdır — “%23 hata oranı”, bunların gerçek kusurlar mı yoksa hakemin yanlış saymasından mı kaynaklandığını bilene kadar anlamsızdır.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tek bir şeyi düzelt, sonra kanıtla.&lt;/strong&gt; Her yineleme tam olarak bir düzenlenebilir varlığı değiştirir, ardından sabit bir test düzeneğine karşı yeniden çalışır ve değişikliği yalnızca F1 iyileşirse ve yeniden sınıflandırma daha iyi görünürse tutar. Öyle değilse, geri alınır. Spekülatif düzenlemelerden oluşan bir grup yok, “daha iyi olmalı” yok. Bir değişiklik yerini hak eder ya da gider. Ve bir düzeltme kalıcı olduğunda, fixture takımına terfi ettirilir — böylece düzelttiği hata bir daha asla sessizce geri gelemez. Bu terfi adımı, döngüyü sadece tekrarlayıcı değil &lt;em&gt;özyinelemeli&lt;/em&gt; yapan şeydir: her geçiş, bir sonraki geçişin karşı doğrulama yaptığı doğrulama referansını (oracle) güçlendirir.&lt;/p&gt;
&lt;h2 id=&quot;sürekli-yeniden-öğrendiğimiz-ders-metrikler-fazla-raporlar&quot;&gt;Sürekli yeniden öğrendiğimiz ders: metrikler fazla raporlar&lt;/h2&gt;
&lt;p&gt;İşte tuzak, ve biz doğrudan içine düştük. İkincil derlem metrikleri — çıkarılan bir hedefin ne sıklıkla çözülebilir bir sembolü olmadığı, kaç sembolün “öksüz” göründüğü ve benzerleri — sorunları büyük ölçüde fazla raporlar. Bunlar çoğunlukla hata değil, &lt;em&gt;programlama paradigmasının doğal sonuçlarıdır&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;En temiz örnek: &lt;code&gt;llvm&lt;/code&gt; bir keresinde %73’lük bir “sembolsüz kaynak” oranı gösterdi ve felaket olarak damgalandı. Derinlemesine inceledik. Gerçek doğruluk &lt;strong&gt;%98,5&lt;/strong&gt;’ti. “Eksik sembollerin” neredeyse tamamı meşru dış referanslardı — standart kütüphaneye, çerçevelere, repo dışında yaşayan koda yapılan çağrılar. Metrik, handler’daki bir kusuru değil, dilin bir özelliğini ölçüyordu. Zig, COBOL ve Odin gibi diller %65-70 “öksüz” oranı gösterir ve tamamen doğrudur; COBOL’da hiç gerçek hata yoktu.&lt;/p&gt;
&lt;p&gt;Eğer bu sayıların işi yönlendirmesine izin verseydik, haftaları zaten doğru olan handler’ları “düzeltmekle” harcar ve sessiz, gerçek hataları olan dilleri görmezden gelirdik. Sonuç açık: toplu metrikler en iyi ihtimalle kaba bir triyaj sinyalidir. &lt;strong&gt;Gerçek kalite sinyali, kenar sınıflandırmasıyla yapılan örneklem denetimidir&lt;/strong&gt; — gerçek repolardaki gerçek kenarlara bakmak ve onları tek tek yargılamak. Sezgiden çok veri, ama ancak hangi verinin gerçeği söylediğini bildiğinizde.&lt;/p&gt;
&lt;h2 id=&quot;dış-döngü-bir-maraton-değil-bir-filo&quot;&gt;Dış döngü: bir maraton değil, bir filo&lt;/h2&gt;
&lt;p&gt;Bir seferde bir dil, 280 dilin tamamında sonsuza kadar sürerdi, bu yüzden iç döngü, birçoğunu paralel çalıştıran bir dış döngüye sarılır.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   pick a wave of near-GREEN / high-error languages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   fan out 10–15 agents, each ISOLATED in its own git worktree,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   each grinding ONE language, committing to its own branch&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   orchestrator integrates serially: file-scoped apply, then&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   `manifest diff` — any cross-language regression blocks the batch&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   gated push (reviewed and confirmed) ──► rotate to the next wave&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Her ajan, birbirlerinin ayağına basmamaları için tek kullanımlık bir worktree’de çalışır. Orkestratör, düzeltmelerini birer birer, her biri tam manifest regresyon kontrolünün arkasında entegre eder: kendi dilinde yardımcı olan ama sessizce üç diğerini bozan bir değişiklik uygulanmaz. Entegrasyon, herhangi bir şey gönderilmeden önce kontrol edilir ve onaylanır — regresyon kontrolü neyin &lt;em&gt;güvenli&lt;/em&gt; olduğuna karar verir, neyin &lt;em&gt;yayınlanacağına&lt;/em&gt; hâlâ bir insan karar verir. Ardından havuz bir sonraki dil kümesine döner ve her şey yeniden çalışır.&lt;/p&gt;
&lt;h2 id=&quot;hâlâ-kusurlu-olan&quot;&gt;Hâlâ kusurlu olan&lt;/h2&gt;
&lt;p&gt;Hakem yanılabilir ve yanılmanın bir yönü vardır: çok az bağlamla çalışan bir ajan &lt;em&gt;fazla raporlar&lt;/em&gt;. Bir grupta, sekiz dil %5-20 hata ile işaretlendi; incelemede yalnızca biri gerçek bir dile özgü hataydı — geri kalanı dilin kendi anlambilimini kaçırmaktan kaynaklanan hakem hatalarıydı (bir kaynak satırının meşru şekilde birden fazla kenar yayınlaması, atama olarak modellenen parametre bağlamaları, tanımlayıcı başına referans veren diller). Bu yüzden iki tohumla örnekliyor ve çapraz kontrol yapıyoruz ve bu yüzden hakem ile fixture’lar arasındaki bir anlaşmazlık, kesinleşmiş bir hüküm değil &lt;em&gt;en&lt;/em&gt; ilginç sinyal olarak ele alınır — bazen yanlış olan şey fixture’ın kendisidir.&lt;/p&gt;
&lt;p&gt;Hedef konusunda da dürüstüz. Amaç, tam anlamıyla sıfır gerçek hatadır — ama “sıfır”, dil dil inceden inceye cilaladığımız bir yöndür, işaretlenip geçilen bir kutu değil. Her zaman başka bir deyimle başka bir repo vardır.&lt;/p&gt;
&lt;h2 id=&quot;i̇ddia-edilmiş-değil-kazanılmış&quot;&gt;İddia Edilmiş Değil, Kazanılmış&lt;/h2&gt;
&lt;p&gt;Maguyva’nın bir ajan için yaptığı her şey — bir sembol bulmak, bir bağımlılığı izlemek, alıntılanan kodla bir soruyu yanıtlamak — altındaki çıkarımın doğru olmasına dayanır. 280 dil genelinde, “doğru” iddia edilemez; gerçek koda karşı sürekli &lt;em&gt;kazanılması&lt;/em&gt; gerekir. Döngü, bunu kazanma şeklimizdir: kendi metriklerine şüpheyle yaklaşan, her değişikliği kanıtlayan ve her düzeltmeyi bir sonraki regresyona karşı bir koruma haline getiren otonom bir örneklem denetimi ve düzeltme döngüsü. Göz alıcı değil. “Dilinizi destekliyoruz” deyip bunu gerçekten kastetmemizi sağlayan iştir. Yeşil kolaydır. Doğru kazanılır.&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Languages</category><category>Agents</category></item><item><title>Çok Modlu Füzyon Arama: Her Sorgu için Doğru Getiriciyi Seçmek</title><link>https://maguyva.ai/tr/blog/multi-modal-fusion-search</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/multi-modal-fusion-search</guid><description>&apos;parseConfig nerede tanımlanmış&apos; gibi bir sorgu, &apos;kimlik doğrulama nasıl çalışıyor&apos; sorgusundan farklı bir arama ister. Maguyva niyeti sınıflandırır, dört getirim modalitesini buna göre ağırlıklandırır ve sonuçları ağırlıklı Reciprocal Rank Fusion ile birleştirir.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Geçmiş tasarıma ilişkin not: Nisan 2026 tarihli bu makale, o dönemdeki yönlendirme tasarımını açıklar; güncel varsayılan davranışı değil. Aşağıdaki Eylül düzeltmesi yalnızca bir ölçüm iddiasını ele alır. Güncel yönlendirme, hazır ayarlar ve açık modalite kontrolleri için &lt;a href=&quot;https://maguyva.ai/tr/docs/how-it-works&quot;&gt;Nasıl çalışır&lt;/a&gt; sayfasına bakın.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Bir arama sorgusu tek bir şey değildir.&lt;/p&gt;
&lt;p&gt;“&lt;code&gt;parseConfig&lt;/code&gt; nerede tanımlanmış” tam bir sembol ister — tek, kesin bir konum, hızlıca. “kimlik doğrulama nasıl çalışıyor” anlam ister — bir kavramı açıklayan ilgili kodun yayılımı. “bu fonksiyonu değiştirirsem ne bozulur” bağımlılık grafını ister. “&lt;code&gt;ECONNREFUSED&lt;/code&gt; dizesini bul” tam bir eşleşme ister, akıllı bir numara değil.&lt;/p&gt;
&lt;p&gt;Grep, tam eşleşmeler için mükemmeldir ve bazı referans aramaları için yararlıdır, ama bir bağımlılık grafı değildir ve anlamı anlamaz. Gömme (embedding) vektörleri semantik tarafı kapsar, ama tam dizeler ve etki analizi için yanlış araçtır. Çoğu kod arama aracı tek bir motor seçer ve her sorguyu bu seçimle yaşamaya zorlar. Maguyva seçmez. Sorulan sorunun türünü çözer, sonra dört getiriciyi o sorunun hak ettiği oranda harmanlar.&lt;/p&gt;
&lt;h2 id=&quot;dört-modalite&quot;&gt;Dört modalite&lt;/h2&gt;
&lt;p&gt;Kaputun altında kod bulmanın dört bağımsız yolu vardır:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;semantic&lt;/strong&gt; — Voyage ikili gömmeleri üzerinden vektör araması; kodu anlamıyla bulur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;text&lt;/strong&gt; — trigram eşleştirme; tam dizeleri, hata mesajlarını, tam tanımlayıcıları bulur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;structural&lt;/strong&gt; — AST sorguları; tanımları, imzaları ve dil yapılarını bulur.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;graph&lt;/strong&gt; — bağımlılık grafı; çağıranları, çağrılanları ve etki yarıçapını bulur.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Her biri farklı bir soru sınıfında güçlüdür. Zor olan kısım, karşınızdaki sorgu için her birine ne kadar güveneceğinize karar vermektir.&lt;/p&gt;
&lt;h2 id=&quot;niyet-sınıflandırması&quot;&gt;Niyet sınıflandırması&lt;/h2&gt;
&lt;p&gt;Herhangi bir getirim çalışmadan önce, hafif bir sınıflandırıcı sorguyu bir güven puanıyla birlikte altı niyetten birine ayırır. Kasıtlı olarak ucuzdur — sıralı sezgisel yöntemler, ilk eşleşme kazanır — çünkü yoğun yolda çalışır ve sadece bir iki milisaniye ekler:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;def &lt;/code&gt;, &lt;code&gt;class &lt;/code&gt;, &lt;code&gt;func &lt;/code&gt;, &lt;code&gt;import &lt;/code&gt; ile başlar… → &lt;strong&gt;find_definition&lt;/strong&gt; (güven 0.95)&lt;/li&gt;
&lt;li&gt;“who calls”, “usages of”, “references to” → &lt;strong&gt;find_references&lt;/strong&gt; (0.90)&lt;/li&gt;
&lt;li&gt;“impact”, “blast radius”, “what depends on” → &lt;strong&gt;impact_analysis&lt;/strong&gt; (0.90)&lt;/li&gt;
&lt;li&gt;tırnaklı bir &lt;code&gt;&quot;string&quot;&lt;/code&gt; veya &lt;code&gt;traceback&lt;/code&gt; gibi bir hata belirteci → &lt;strong&gt;exact_match&lt;/strong&gt; (0.85–0.90)&lt;/li&gt;
&lt;li&gt;bir &lt;code&gt;CamelCase&lt;/code&gt; veya &lt;code&gt;snake_case&lt;/code&gt; tanımlayıcısı → &lt;strong&gt;find_definition&lt;/strong&gt; (0.60–0.80)&lt;/li&gt;
&lt;li&gt;“how”, “why”, “explain”, “architecture” → &lt;strong&gt;understand_code&lt;/strong&gt; (0.75)&lt;/li&gt;
&lt;li&gt;hiçbiri eşleşmez → &lt;strong&gt;understand_code&lt;/strong&gt;, düşük güven (0.40)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Her niyet, dört modalite genelinde bir ağırlık profili taşır. Bunlar gerçek sayılardır:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Niyet&lt;/th&gt;
&lt;th&gt;semantic&lt;/th&gt;
&lt;th&gt;text&lt;/th&gt;
&lt;th&gt;structural (AST)&lt;/th&gt;
&lt;th&gt;graph&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;find_definition&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;find_references&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.5&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;understand_code&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;find_similar&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.3&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;impact_analysis&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;exact_match&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Yani “&lt;code&gt;parseConfig&lt;/code&gt; nerede tanımlanmış” AST’ye ağır bir şekilde dayanır (0.6). “kimlik doğrulama nasıl çalışıyor” semantik vektörlere dayanır (0.5). “buna ne bağımlı” neredeyse tamamen graf’tır (0.7). “&lt;code&gt;ECONNREFUSED&lt;/code&gt; bul” neredeyse tamamen trigram’dır (0.9), gömme modeli tamamen devre dışı bırakılmış olarak — çünkü semantik benzerlik, tam bir dize için tam olarak yanlış araçtır.&lt;/p&gt;
&lt;h2 id=&quot;hızlı-yol-ve-birleşik-arama-yolu&quot;&gt;Hızlı yol ve birleşik arama yolu&lt;/h2&gt;
&lt;p&gt;Sınıflandırıcı emin olduğunda — puan ≥ 0.85 — ve sorgu normal bir sorguysa, Maguyva füzyonu tamamen atlar ve doğrudan baskın tek modaliteye yönlendirir. “X nerede tanımlanmış”, dört getiriciye ihtiyaç duymaz; şu anda AST indeksine ihtiyaç duyar. Bu doğrudan yol &lt;code&gt;fusion_strategy: &quot;direct&quot;&lt;/code&gt; olarak geri raporlanır.&lt;/p&gt;
&lt;p&gt;Belirsiz olan her şey füzyondan geçer. Dört (veya varsayılan ön ayarda üç) modalite paralel çalışır, her biri kendi sıralı listesini döndürür ve biz bunları birleştiririz.&lt;/p&gt;
&lt;h2 id=&quot;ağırlıklı-reciprocal-rank-fusion&quot;&gt;Ağırlıklı Reciprocal Rank Fusion&lt;/h2&gt;
&lt;p&gt;Heterojen getiricileri birleştirmek göründüğünden zordur: 0,82’lik bir kosinüs benzerliği, 137’lik bir trigram puanı ve 0,004’lük bir graf merkeziliği aynı ölçekte değildir, bu yüzden bunları toplayamazsınız. Reciprocal Rank Fusion, ham puanları atıp yalnızca her motorun atadığı &lt;strong&gt;sıralamayı&lt;/strong&gt; tutarak sorunu bertaraf eder. Bir sonucun tek bir modaliteden gelen katkısı şudur:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;contribution = weight × 1 / (k + rank + 1)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;burada &lt;code&gt;rank&lt;/code&gt; o modalitenin listesindeki konumudur ve &lt;code&gt;k&lt;/code&gt; bir yumuşatma sabitidir. Katkılar, birden fazla motorun bulduğu herhangi bir sonuç için modaliteler arasında toplanır — getiricilerin üzerinde uzlaştığı sonuçlar doğal olarak üst sıralara çıkar. Varsayılan ön ayarda &lt;strong&gt;k = 40&lt;/strong&gt;, &lt;code&gt;thorough&lt;/code&gt;’te ise 60 kullanırız (&lt;code&gt;quick&lt;/code&gt; yalnızca semantik çalışır, bu yüzden füzyon orada hiç devreye girmez). Orijinal RRF çalışması genel amaçlı getirim için k = 60’ta karar kıldı; biz varsayılan olarak biraz daha keskin bir değer kullanırız, bu da modaliteler arasındaki üst sıralardaki ortak sonuçlara biraz daha fazla ağırlık verir — ve bunu elle ayarlamanızı önermiyoruz.&lt;/p&gt;
&lt;p&gt;Bunun üzerine, sonuçlar bir &lt;strong&gt;graf önem artışı&lt;/strong&gt; taşır. Bir merkez (hub) — tüm kod tabanının dayandığı bir fonksiyon — aynı metinsel alaka düzeyinde bile az bilinen bir yaprak düğümünü geride bırakmalıdır, bu yüzden her katkıyı şununla çarparız:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;boost = min(1 + 0.3 × ln(1 + centrality), 1.5)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Merkezilik, hattın önceden hesaplanmış PageRank/derece metriklerinden gelir ve artış 1,5 kat ile sınırlandırılmıştır, böylece popüler bir fonksiyon daha alakalı ama az bilinen bir fonksiyonu tamamen gömemez. Son olarak, vendor, build ve arşiv yollarından gelen sonuçları geriye düşürürüz ve dosya başına en iyi parçaya göre tekilleştiririz.&lt;/p&gt;
&lt;h2 id=&quot;hâlâ-kusurlu-olan&quot;&gt;Hâlâ kusurlu olan&lt;/h2&gt;
&lt;p&gt;Niyet sınıflandırıcı, eğitilmiş bir model değil, bir düzenli ifade yığınıdır. Yaygın sorgu biçimlerini sezgisel yöntemlerle işler; belirsiz bir sorgu ise &lt;code&gt;understand_code&lt;/code&gt; ve semantik ağırlıklı bir karışıma yönelir. Bu yazının önceki bir sürümünde sonuçsuz sorgu oranının yaklaşık %15’ten %5’in altına düşürülmesi gerçekleşmiş bir iyileşme olarak anlatılmıştı. Oysa Aralık 2025 tarihli öneri, tahmini bir başlangıç değeri ve bir hedef içeriyordu; destekleyici bir sorgu kümesi veya ölçüm kaydı sunulmamıştı. İyileşmenin sağlandığına ilişkin bu iddiayı geri çekiyoruz; &lt;a href=&quot;https://maguyva.ai/evidence/search-quality.md&quot;&gt;kaynak kanıtlara ve düzeltmeye (İngilizce)&lt;/a&gt; bakın. Sınıflandırıcıyı eğitilmiş bir modelle değiştirmedik; çünkü düşük maliyetli sürüm, amaçlanan yönlendirme görevi için hızlı ve yeterince iyi, ayrıca yanlış ama kendinden emin bir sınıflandırıcı dürüst bir yedek yöntemden daha kötü. Ağırlıklar, toplamadığımız tıklama verilerinden öğrenilen değerler değil, elle seçilmiş önsel değerlerdir.&lt;/p&gt;
&lt;h2 id=&quot;aracı-değil-soruyu-sorun&quot;&gt;Aracı Değil, Soruyu Sorun&lt;/h2&gt;
&lt;p&gt;Bir ajanın grep’e mi, gömmelere mi, yoksa çağrı grafına mi başvuracağını bilmesi gerekmemeli — sorusunu düz bir dille sormalı ve doğru yanıtı almalı. Çok modlu füzyon, &lt;code&gt;find_symbol&lt;/code&gt;’in, semantik aramanın ve bağımlılık analizinin tek bir sorgu yüzeyinin arkasında oturmasını sağlayan şeydir: sistem sorunun biçimini okur ve sessizce onun için doğru getiriciyi bir araya getirir. Gömmeleri puanlayan model önemlidir, ama onları &lt;em&gt;ne zaman kullanmayacağını&lt;/em&gt; bilmek de önemlidir. Her sorgu için doğru aracı seçmek kendi başına bir kalite türüdür ve bunu çağırana devretmek yerine sahiplenmeyi tercih ederiz.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// you bring the question. it brings the tools.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Search</category><category>Architecture</category></item><item><title>Ajan Gözlemlenebilirliği: Hook&apos;lar, Alloy ve Grafana</title><link>https://maguyva.ai/tr/blog/agent-observability-hooks-alloy-grafana</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/agent-observability-hooks-alloy-grafana</guid><description>Claude Code ve Codex&apos;i OpenTelemetry ve Alloy ile tek bir Grafana yığınına bağladık, ardından ajan davranış sorunlarını kaynağında bulup düzeltmek için izleri (trace) ve günlükleri kullandık.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Ajan sistemleri tuhaf şekillerde başarısız olur.&lt;/p&gt;
&lt;p&gt;Bazen sorun modeldir. Bazen sorun araçtır. Bazen MCP sunucunuz gayet iyidir, ama ajan yanlış uzmanı seçmiştir, ya da oturumun yarısını beklemediğiniz kabuk (shell) işleriyle geçirmiştir, ya da dışarıdan üretken görünen bir döngüde sessizce maliyet yakmıştır.&lt;/p&gt;
&lt;p&gt;Farkı göremiyorsanız, gerçekten bir ajan sistemi işletmiyorsunuzdur. Tahmin yürütüyorsunuzdur.&lt;/p&gt;
&lt;p&gt;Bu yüzden kendi iş akışımız için bir gözlemlenebilirlik yığını kurduk: Claude Code, Codex, Claude hook olayları, Codex notify olayları, yerleşik OpenTelemetry, Grafana Alloy ve diğer uçta Grafana Cloud.&lt;/p&gt;
&lt;p&gt;İlginç kısım “bir gösterge paneli yaptık” değil. İlginç kısım, tek bir akış bize tüm resmi vermediği için telemetriyi iki farklı akışa bölmek zorunda kalmamız.&lt;/p&gt;
&lt;h2 id=&quot;sorun-ajan-telemetrisi-parçalanmış-durumda&quot;&gt;Sorun: Ajan Telemetrisi Parçalanmış Durumda&lt;/h2&gt;
&lt;p&gt;Modern kodlama ajanları zaten biraz telemetri yayınlıyor. Bu yardımcı oluyor, ama yeterli değil.&lt;/p&gt;
&lt;p&gt;Yerleşik OTEL şu tür soruları yanıtlamakta iyidir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kaç istek yaptık?&lt;/li&gt;
&lt;li&gt;Bir oturuma ne kadar maliyet oluştu?&lt;/li&gt;
&lt;li&gt;Span’ler ve trace’ler nerede?&lt;/li&gt;
&lt;li&gt;Gecikme sıçradı mı?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Şu tür soruları yanıtlamakta çok daha kötüdür:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ajan hangi MCP sunucusuna dayandı?&lt;/li&gt;
&lt;li&gt;Bu hata &lt;code&gt;Bash&lt;/code&gt;’da mı, yerleşik bir dosya aracında mı, yoksa bir MCP çağrısında mı oldu?&lt;/li&gt;
&lt;li&gt;Hangi beceri (skill) gerçekten etkinleşti?&lt;/li&gt;
&lt;li&gt;Hangi alt ajan türü görevlendirildi?&lt;/li&gt;
&lt;li&gt;Oturum yararlı bir iş mi yapıyordu, yoksa sadece debelenip mi duruyordu?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu ikinci soru sınıfı, trace’lerden çok hook’lara yakın yaşar.&lt;/p&gt;
&lt;p&gt;Ama tersi de doğrudur: en önemli performans sorularından bazıları hook’lardan çok trace’lere yakın yaşar.&lt;/p&gt;
&lt;p&gt;Gecikmenin gerçekte nerede biriktiğini, hangi span’lerin yavaş olduğunu ya da oturumun zamanı model çağrılarında mı yoksa araç yürütmede mi harcadığını bilmek istiyorsanız, semantik olayların yanı sıra trace verisine de ihtiyacınız var.&lt;/p&gt;
&lt;h2 id=&quot;sonunda-vardığımız-mimari&quot;&gt;Sonunda Vardığımız Mimari&lt;/h2&gt;
&lt;p&gt;İki telemetri yolunu yan yana çalıştırıyoruz.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Claude Code&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  native OTEL -&amp;gt; Alloy -&amp;gt; Grafana Cloud&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  hooks        -&amp;gt; send_event.py -&amp;gt; Grafana Cloud Loki&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Codex&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  native OTEL -&amp;gt; Alloy -&amp;gt; Grafana Cloud&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  notify hook -&amp;gt; codex_notify.py -&amp;gt; shared Loki schema&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu ayrım kasıtlıdır.&lt;/p&gt;
&lt;p&gt;Ayrıca asimetriktir. Claude Code bize çok daha zengin bir yaşam döngüsü hook yüzeyi sağlar. Codex bize yerleşik OTEL artı bir notify yüzeyi sağlar; bu yüzden iki çalışma zamanının aynı kontrolleri sunduğunu varsaymak yerine, daha az ayrıntı içeren tur tamamlama olaylarını aynı günlük şemasına normalize ederiz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yerleşik OTEL&lt;/strong&gt; bize temel akışı verir: çalışma zamanının kendisinden gelen günlükler ve trace’ler, artı çalışma zamanının gerçekten yaydığı metrikler.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hook ve notify olayları&lt;/strong&gt; bize semantik katmanı verir: &lt;code&gt;PreToolUse&lt;/code&gt;, &lt;code&gt;PostToolUse&lt;/code&gt;, &lt;code&gt;PostToolUseFailure&lt;/code&gt;, &lt;code&gt;UserPromptSubmit&lt;/code&gt;, &lt;code&gt;SubagentStop&lt;/code&gt;, &lt;code&gt;SkillActivated&lt;/code&gt; gibi şeyler ve ajan davranışını hata ayıklarken gerçekten önemsediğimiz sınıflandırılmış meta veriler. Claude Code burada daha zengin olay akışına katkıda bulunur. Codex daha az ayrıntılı ama yine de yararlı, normalize edilmiş bir akışa katkıda bulunur.&lt;/p&gt;
&lt;h2 id=&quot;hooklar-neden-var-olsun-ki&quot;&gt;Hook’lar Neden Var Olsun Ki&lt;/h2&gt;
&lt;p&gt;Hook hattımız, olaylar Loki’ye ulaşmadan önce onları zenginleştirir.&lt;/p&gt;
&lt;p&gt;Sadece “bir araç çalıştı” demek yerine, olayı şu tür alanlara sınıflandırırız:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tool_type&lt;/code&gt;: builtin, mcp, skill, agent, bash&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp_server&lt;/code&gt;: hangi MCP arka ucunun çağrıyı işlediği&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bash_cli&lt;/code&gt;: kabuk komut ailesi&lt;/li&gt;
&lt;li&gt;&lt;code&gt;subagent_type&lt;/code&gt;: ne tür bir uzmanın görevlendirildiği&lt;/li&gt;
&lt;li&gt;&lt;code&gt;agent_tool&lt;/code&gt;: kaynağın Claude Code mu yoksa Codex mi olduğu&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu, operasyonel olarak önemli sorular sorabileceğimiz anlamına gelir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | agent_tool=&quot;codex-cli&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | tool_type=&quot;mcp&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | json | bash_cli=&quot;git&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bunlar gösterişlik alanlar değildir. “Ajan yavaş hissettirdi” ile “ajan son on dakikayı yüksek araç başarısızlık oranına sahip, kabuk ağırlıklı git işlemlerinde geçirdi” arasındaki farktır.&lt;/p&gt;
&lt;p&gt;Olduğundan daha garip görünen bir uygulama ayrıntısı: paylaşılan Loki akışı, olay Codex’ten gelse bile etiket olarak hâlâ &lt;code&gt;service_name=&quot;claude-code-hooks&quot;&lt;/code&gt;’yi kullanır. Çalışma zamanları arasındaki gerçek ayrım &lt;code&gt;agent_tool&lt;/code&gt; üzerinde gerçekleşir.&lt;/p&gt;
&lt;h2 id=&quot;alloy-neden-ortada-duruyor&quot;&gt;Alloy Neden Ortada Duruyor&lt;/h2&gt;
&lt;p&gt;Grafana Alloy bu kurulumda sadece bir yönlendirici değildir. Politika sınırıdır.&lt;/p&gt;
&lt;p&gt;Claude Code ve Codex’ten gelen yerleşik OTEL akışını &lt;code&gt;localhost:4318&lt;/code&gt; üzerindeki yerel bir Alloy proxy’sine yönlendiririz, ardından Alloy’un yükü Grafana Cloud’a iletmeden önce temizlemesine izin veririz.&lt;/p&gt;
&lt;p&gt;Bu önemlidir çünkü ham ajan telemetrisi, analiz için yararlı ama indekslenmiş etiketler olarak berbat olan yüksek kardinaliteli alanlarla doludur:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;session_id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prompt_id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;token sayıları&lt;/li&gt;
&lt;li&gt;süreler&lt;/li&gt;
&lt;li&gt;araç parametresi blob’ları&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Her şeyi indekslerseniz, bir etiket patlaması ve kötü bir gün yaşarsınız.&lt;/p&gt;
&lt;p&gt;Bu yüzden Alloy bizim için üç şey yapar:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Çok küçük bir düşük kardinaliteli etiket kümesini indekslenmiş tutar.&lt;/li&gt;
&lt;li&gt;Gürültülü ama yararlı alanları yapılandırılmış meta veriye taşır.&lt;/li&gt;
&lt;li&gt;Saf gürültüyü tamamen düşürür.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Önemli fikir basittir: &lt;strong&gt;daha fazla gözlemle, daha azını indeksle&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&quot;hook-akışı-neden-alloyu-atlıyor&quot;&gt;Hook Akışı Neden Alloy’u Atlıyor&lt;/h2&gt;
&lt;p&gt;Hook akışı zaten Loki için şekillendirilmiştir.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;send_event.py&lt;/code&gt; bir olayı gönderdiğinde, hangi alanların etiket muamelesini hak ettiğine ve hangilerinin yapılandırılmış JSON gövdesine ait olduğuna zaten karar vermişizdir. Bu akış, Alloy’dan tekrar geçmek yerine doğrudan Grafana Cloud’un OTLP ağ geçidine gider.&lt;/p&gt;
&lt;p&gt;Yani sistemin net bir iş bölümü vardır:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Alloy&lt;/strong&gt; ham yerleşik OTEL akışını evcilleştirir.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hook zenginleştirmesi&lt;/strong&gt; semantik olayları sorgulanabilir kılar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu, her şeyi tek bir yoldan geçirmeye zorlamaktan daha basit bir mimari sağlar.&lt;/p&gt;
&lt;h2 id=&quot;gösterge-paneli-gerçekte-neyi-gösteriyor&quot;&gt;Gösterge Paneli Gerçekte Neyi Gösteriyor&lt;/h2&gt;
&lt;p&gt;Aşağıdaki ekran görüntüsü, ajan iş akışımızın arkasındaki gözlemlenebilirlik gösterge panellerinden birine ait. Bu bir kıyaslama değildir ve sayılar sadece belirli bir andaki bir dilimdir. Önemli olan verinin biçimidir: etkinlik akışı, araç çağrıları, başarısızlıklar, istemler ve ajana, yerleşik araçlara, MCP kullanımına, kabuk komutlarına ve becerilere göre dökümler.&lt;/p&gt;
&lt;p&gt;Yararlı olan kısım, bu gösterge panelinin ajan telemetrisinin geri kalanıyla aynı Grafana yığınında yaşamasıdır. Kaynak ajana ve araç ailesine göre filtreleyebilir ve her sistem için farklı bir gözlemlenebilirlik hikayesi icat etmeden çalışma zamanları arasında bakabiliriz.&lt;/p&gt;
&lt;figure class=&quot;feature-figure feature-figure--wide&quot;&gt;
  &lt;a
    href=&quot;https://maguyva.ai/blog/agent-observability-dashboard.png&quot;
    target=&quot;_blank&quot;
    rel=&quot;noreferrer&quot;
    aria-label=&quot;Gözlemlenebilirlik gösterge paneli ekran görüntüsünü tam çözünürlükte aç&quot;
  &gt;
    &lt;img
      src=&quot;https://maguyva.ai/blog/agent-observability-dashboard.png&quot;
      alt=&quot;Bir ajan iş akışı için etkinlik akışını, araç çağrısı sayılarını, başarısızlıkları, istemleri ve ajanlara, yerleşik araçlara, MCP kullanımına, CLI komutlarına ve becerilere göre dökümleri gösteren Grafana gösterge paneli.&quot;
    /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;
    Ajan iş akışımızın arkasındaki canlı gösterge panellerinden biri. Bu ekran görüntüsü, diğer ajan çalışma zamanlarımızdan ve sistemlerimizden de telemetri alan paylaşılan bir Grafana yığınının yalnızca bir dilimidir. Tam çözünürlüklü sürüm için görsele tıklayın.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&quot;traceler-neden-i̇lk-göründüğünden-daha-önemli&quot;&gt;Trace’ler Neden İlk Göründüğünden Daha Önemli&lt;/h2&gt;
&lt;p&gt;Günlükler bize ne kategoride bir iş olduğunu söyler. Trace’ler bize işin zaman içinde nasıl geliştiğini söyler.&lt;/p&gt;
&lt;p&gt;Bu ayrım ajan sistemlerinde önemlidir çünkü “yavaş” yararlı olamayacak kadar kabadır.&lt;/p&gt;
&lt;p&gt;Bir trace, sıkıntının şuradan gelip gelmediğini söyleyebilir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;model gecikmesi&lt;/li&gt;
&lt;li&gt;araç yürütme süresi&lt;/li&gt;
&lt;li&gt;tekrarlanan yeniden denemeler&lt;/li&gt;
&lt;li&gt;özellikle maliyetli tek bir MCP etkileşimi&lt;/li&gt;
&lt;li&gt;tek başına zararsız görünen küçük işlemlerin uzun bir kuyruğu&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pratikte hook akışını ve Tempo trace’lerini birlikte kullanıyoruz.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Hook günlükleri&lt;/strong&gt; şunu yanıtlar: ne tür bir şey oldu?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Trace’ler&lt;/strong&gt; şunu yanıtlar: zaman nereye gitti?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu kombinasyon, gözlemlenebilirliği bir gösterge panelinden bir açıklamaya dönüştüren şeydir.&lt;/p&gt;
&lt;h2 id=&quot;codex-nereye-oturuyor&quot;&gt;Codex Nereye Oturuyor&lt;/h2&gt;
&lt;p&gt;Codex aynı yığının bir parçasıdır, ama Claude Code ile özdeş değildir.&lt;/p&gt;
&lt;p&gt;Codex için iki parçayı bağlarız:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Codex’ten Alloy’a yerleşik OTEL&lt;/li&gt;
&lt;li&gt;Tur tamamlamalarını hook olayları için kullandığımız aynı Loki şemasına eşleyen &lt;code&gt;codex_notify.py&lt;/code&gt;’e bir notify webhook’u&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu bize aynı günlük akışı içinde &lt;code&gt;agent_tool=&quot;codex-cli&quot;&lt;/code&gt; gibi birleşik bir filtre sağlar.&lt;/p&gt;
&lt;p&gt;Dürüst çekince şu: Codex’in notify yükü şu anda Claude Code’un hook yükünden daha az ayrıntı içerir, çünkü aynı türde bir entegrasyon yüzeyi değildir. Bugünkü kurulumumuzda, Codex tur tamamlamaları paylaşılan şemaya normalize edilebilir, ama araç araç zengin çıkarım hâlâ notify köprüsünden çok yerleşik OTEL akışında daha iyidir.&lt;/p&gt;
&lt;p&gt;Bu, yazıyı yazmaktan kaçınmak için bir sebep değildir. Yazının asıl noktası tam da budur. Gerçek gözlemlenebilirlik sistemleri kusurlu sinyallerden bir araya getirilir.&lt;/p&gt;
&lt;h2 id=&quot;mcp-üzerinden-grafana-oyunu-değiştiriyor&quot;&gt;MCP Üzerinden Grafana Oyunu Değiştiriyor&lt;/h2&gt;
&lt;p&gt;Daha büyük değişim, Grafana’nın sadece insanların bir tarayıcıda ziyaret ettiği bir yer olmamasıdır.&lt;/p&gt;
&lt;p&gt;Bu repoda Grafana’yı MCP üzerinden de sunuyoruz. Bu, bir ajanın, bir insanın önce gösterge panellerini manuel olarak incelemesini beklemek yerine Loki’yi, Prometheus’u ve Tempo’yu doğrudan sorgulayabileceği anlamına gelir.&lt;/p&gt;
&lt;p&gt;Bu, gözlemlenebilirliği iş akışına aktif bir girdiye dönüştürür.&lt;/p&gt;
&lt;p&gt;Bir ajan şunu sorabilir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Son bir saatte hangi araç aileleri en çok başarısız oldu?&lt;/li&gt;
&lt;li&gt;Bir oturuma hangi MCP sunucusu hakim oldu?&lt;/li&gt;
&lt;li&gt;Son değişiklikler araç başarısızlıklarını azalttı mı, yoksa işi aynı hatalarla daha kabuk ağırlıklı yollara mı taşıdı?&lt;/li&gt;
&lt;li&gt;Hangi trace’ler en yüksek gecikmeyi veya tekrarlanan yeniden denemeleri gösteriyor?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Buna sahip olduğunuzda, kendi kendini geliştiren bir döngüye çok yaklaşmışsınızdır.&lt;/p&gt;
&lt;h2 id=&quot;gösterge-panelinden-geri-bildirim-döngüsüne&quot;&gt;Gösterge Panelinden Geri Bildirim Döngüsüne&lt;/h2&gt;
&lt;p&gt;En ilginç bulduğumuz kısım bu.&lt;/p&gt;
&lt;p&gt;Gözlemlenebilirlik yığını ajan katmanından sorgulanabilir hale geldiğinde, telemetri pasif bir raporlama yüzeyi olmaktan çıkıp bir kontrol sinyaline dönüşür.&lt;/p&gt;
&lt;p&gt;Döngü şöyle görünür:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ajan etkinliği trace’ler, metrikler ve zenginleştirilmiş hook günlükleri yayınlar.&lt;/li&gt;
&lt;li&gt;Grafana, kanıtı Loki, Tempo ve metriklerin bulunduğu yerde Prometheus’ta saklar.&lt;/li&gt;
&lt;li&gt;Ajanlar bu kanıtı Grafana MCP üzerinden sorgular.&lt;/li&gt;
&lt;li&gt;Sistem, önlenebilir hatalar üretmeye devam eden kötü araç karışımını, kırılgan becerileri, zayıf yönlendirmeyi veya kabuk ağırlıklı iş akışlarını belirler.&lt;/li&gt;
&lt;li&gt;Ajanlar veya operatörler istemleri, ajan yapılandırmalarını, beceri açıklamalarını, yönlendirme kurallarını veya araç erişimini ayarlar.&lt;/li&gt;
&lt;li&gt;Bir sonraki oturum yeni bir telemetri biçimi üretir ve döngü tekrarlanır.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;“İlginç gösterge paneli”nden “ölçülebilir iyileştirme sistemi”ne geçişin yolu budur.&lt;/p&gt;
&lt;p&gt;Amaç bir araç kategorisini maksimize etmek değildir. Amaç, gerçekte yapılan iş için CLI, yerleşik araçlar, MCP çağrıları ve becerilerin doğru karışımına ulaşmaktır.&lt;/p&gt;
&lt;h2 id=&quot;bu-bize-neyi-yanıtlamamızı-sağlıyor&quot;&gt;Bu Bize Neyi Yanıtlamamızı Sağlıyor&lt;/h2&gt;
&lt;p&gt;Her iki çalışma zamanı da aynı Grafana yığınına indiğinde, operasyonel sorulara çok daha hızlı yanıt verebiliyoruz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Başarısızlıklar tek bir araç ailesinde mi yoğunlaşıyor?&lt;/li&gt;
&lt;li&gt;Kabuk ağırlıklı iş akışları, daha üst seviyeli bir aracın var olması gereken yerlerde önlenebilir hatalar mı yaratıyor?&lt;/li&gt;
&lt;li&gt;İş yükünü hangi MCP sunucuları taşıyor?&lt;/li&gt;
&lt;li&gt;Anlamlı ilerleme üretmeyen ajan etkinliği için ödeme mi yapıyoruz?&lt;/li&gt;
&lt;li&gt;Bir oturum model, araçlar veya orkestrasyon katmanı yüzünden mi sağlıksız?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu, “ajan meşguldü”nün size neredeyse hiçbir şey söylemediği çok ajanlı iş akışlarında özellikle yararlıdır.&lt;/p&gt;
&lt;p&gt;Bir uzman sürekli görevlendiriliyor ve yüksek başarısızlık oranları üretiyorsa, bu bir yönlendirme veya istem şekillendirme sorunudur.&lt;/p&gt;
&lt;p&gt;Bir MCP sunucusu tüm çağrılara hakimse, bu iyi bir mimari olabilir ya da geri kalan her şeyin gereksiz yük olduğunun bir işareti olabilir.&lt;/p&gt;
&lt;p&gt;Maliyet yüksek kalırken araç başarısızlıkları sıçrıyorsa, bir kalite sorununuz değil, operasyonel bir sorununuz var demektir.&lt;/p&gt;
&lt;p&gt;Kabuk işi, daha üst seviyeli bir aracın var olması gereken yerlerde tahmin edilebilir, önlenebilir şekillerde başarısız olmaya devam ediyorsa, bu bir ürün sinyalidir.&lt;/p&gt;
&lt;p&gt;Bir beceri sürekli etkinleşiyor ama sonuçları iyileştirmiyorsa, bu bir istem veya yönlendirme sinyalidir.&lt;/p&gt;
&lt;h2 id=&quot;gerçek-ders&quot;&gt;Gerçek Ders&lt;/h2&gt;
&lt;p&gt;Buradaki daha derin ders, ajan gözlemlenebilirliğinin hem &lt;strong&gt;çalışma zamanı telemetrisine&lt;/strong&gt; hem de &lt;strong&gt;iş akışı telemetrisine&lt;/strong&gt; ihtiyaç duymasıdır.&lt;/p&gt;
&lt;p&gt;Çalışma zamanı telemetrisi size sistemin ne yaptığını söyler.&lt;/p&gt;
&lt;p&gt;İş akışı telemetrisi size ajanın ne yaptığını düşündüğünü söyler.&lt;/p&gt;
&lt;p&gt;İkisine de ihtiyacımız var.&lt;/p&gt;
&lt;p&gt;Sadece trace’leri ve sayaçları tutarsanız, semantik katmanı kaçırırsınız. Sadece hook olaylarını tutarsanız, gecikmeyi, span’leri ve daha geniş çalışma zamanı resmini kaçırırsınız.&lt;/p&gt;
&lt;p&gt;Ve ikisini de tutar ama asla ajan katmanına geri beslemezseniz, izleme yaparsınız, adaptasyon değil.&lt;/p&gt;
&lt;p&gt;Kombinasyon, sistemi işletmek için yeterince açıklanabilir ve iyileştirmek için yeterince ayarlanabilir kılan şeydir.&lt;/p&gt;
&lt;h2 id=&quot;hâlâ-kusurlu-olan-neler&quot;&gt;Hâlâ Kusurlu Olan Neler&lt;/h2&gt;
&lt;p&gt;Hâlâ pürüzler var.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Her hook olayı istediğimiz süre ve token verisini içermiyor.&lt;/li&gt;
&lt;li&gt;En iyi zamanlama görünümlerinin bazıları hâlâ hook günlüklerinden değil, Tempo trace’lerinden geliyor.&lt;/li&gt;
&lt;li&gt;Codex bugün, zenginleştirilmiş olay akışında Claude Code’dan daha az semantik zenginliğe sahip.&lt;/li&gt;
&lt;li&gt;Gösterge paneli ekran görüntüsü, özenle hazırlanmış bir pazarlama görseli değil, canlı bir operasyon yüzeyidir.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu son nokta kasıtlıdır. Ajan sistemlerinin sihirli bir şekilde kendi kendini açıkladığını iddia etmek yerine, gerçek gösterge panelini göstermeyi tercih ederiz.&lt;/p&gt;
&lt;h2 id=&quot;bunun-maguyva-i̇çin-neden-önemli-olduğu&quot;&gt;Bunun Maguyva İçin Neden Önemli Olduğu&lt;/h2&gt;
&lt;p&gt;Maguyva, ajanlara daha iyi kod zekası vermekle ilgilidir. Ama ajanlar gerçekten yararlı bir iş yapmaya başladığında, hemen yeni bir gereksinim ortaya çıkar: nasıl davrandıklarını görmeniz gerekir.&lt;/p&gt;
&lt;p&gt;Arama kalitesi, yönlendirme kalitesi, araç seçimi ve bağlam verimliliğinin hepsi gözlemlenebilir sorunlar haline gelir.&lt;/p&gt;
&lt;p&gt;Bu yüzden bunun yazmaya değer olduğunu düşünüyoruz. Geleceğin ajan yığını sadece istemler ve araçlar değildir. İstemler, araçlar ve tüm sistemin çalışıp çalışmadığını size söyleyen enstrümantasyon katmanıdır.&lt;/p&gt;
&lt;p&gt;Ciddi ajan iş akışları inşa ediyorsanız, gözlemlenebilirlik isteğe bağlı bir altyapı değildir. Ürünün bir parçasıdır.&lt;/p&gt;
</content:encoded><category>Observability</category><category>Grafana</category><category>OpenTelemetry</category><category>Architecture</category></item><item><title>Değişikliklerden Bilgi Çıkarmak: Değişiklikler Kurumsal Hafızaya Nasıl Dönüşür</title><link>https://maguyva.ai/tr/blog/mining-workflow-closing-the-loop</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/mining-workflow-closing-the-loop</guid><description>Git commit&apos;leri, yapılandırılmış değişiklik günlüğü girdilerine ve mimari karar kayıtlarına dönüşür, ardından sorgulanabilir kurumsal hafıza olarak yapay zeka ajanlarına geri beslenir.</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu yazıdaki sayılar, yayınlandığı tarihteki (Şubat 2026) sistemi yansıtır. Güncel rakamlar için &lt;a href=&quot;https://maguyva.ai/tr/team&quot;&gt;ekip sayfamıza&lt;/a&gt; bakın.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Her mühendislik ekibi aynı zorlukla karşılaşır: değişiklikler sürekli olur, ama bu değişikliklerin arkasındaki &lt;em&gt;neden&lt;/em&gt; kaybolur gider. Altı ay sonra biri “pipeline aşamaları için neden DuckDB’yi benimsedik?” diye sorar ve yanıt yalnızca o kararı verenin kafasında yaşar — hâlâ ortalardaysa.&lt;/p&gt;
&lt;p&gt;Bu döngüyü kapatan bir madencilik iş akışı kurduk. Değişiklikler git commit’leri üzerinden akar, madencilik hattımız tarafından işlenir, yapılandırılmış değişiklik günlüğü girdilerine ve mimari karar kayıtlarına dönüşür, ardından CLI sorguları üzerinden yapay zeka ajanlarımıza geri beslenir. Sonuç: hem insanların hem de yapay zekanın erişebileceği kurumsal hafıza.&lt;/p&gt;
&lt;h2 id=&quot;sorun-kararlar-buharlaşır&quot;&gt;Sorun: Kararlar Buharlaşır&lt;/h2&gt;
&lt;p&gt;Tipik bir senaryo düşünün. Bir geliştirici şunu commit eder:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;feat(canonical): add DuckDB runtime for pipeline stages&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu commit önemli bir mimari seçimi temsil eder. Ekip seçenekleri değerlendirdi, ödünleşimleri (trade-off) göz önünde bulundurdu ve belirli nedenlerle DuckDB’de karar kıldı. Ama tüm o bağlam şurada yaşar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bir Slack konuşması (muhtemelen silinmiş)&lt;/li&gt;
&lt;li&gt;Birinin hafızası (kesinlikle soluklaşan)&lt;/li&gt;
&lt;li&gt;Koddaki bir yorum (belki, şanslıysanız)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Üç ay sonra, yeni bir ekip üyesi sorar: “Bu yeni aşama için DuckDB mi yoksa SQLite mi kullanmalıyım?” Kurumsal hafıza olmadan, ya tekerleği yeniden icat ederler ya da tutarsız seçimler yaparlar.&lt;/p&gt;
&lt;h2 id=&quot;döngü-commitlerden-bağlama&quot;&gt;Döngü: Commit’lerden Bağlama&lt;/h2&gt;
&lt;p&gt;Madencilik iş akışımız git geçmişini sorgulanabilir bilgiye dönüştürür:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Git Commits&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  mine sync          │  ← Build index from git history&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  mine candidates    │  ← Surface commits for review&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  Classification     │  ← Human or LLM assessment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  (changelog or ADR) │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├──────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼                      ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────┐    ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ Changelog   │    │ Decisions     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ Ledger      │    │ Registry      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ (JSONL)     │    │ (YAML files)  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────┘    └───────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼                      ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────┐    ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ CHANGELOG.md│    │ orkestra CLI  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ per package │    │ queries       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────┘    └───────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    └──────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;              │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;              ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      │ AI Agents     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      │ (via CLI)     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └───────────────┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kilit içgörü: hem değişiklik günlükleri hem de mimari kararlar aynı git geçmişinden, birleşik bir hat üzerinden işlenerek akar. Bu, hiçbir şeyin gözden kaçmamasını sağlar.&lt;/p&gt;
&lt;h2 id=&quot;madencilik-nasıl-çalışır&quot;&gt;Madencilik Nasıl Çalışır&lt;/h2&gt;
&lt;h3 id=&quot;adım-1-i̇ndeksi-senkronize-et&quot;&gt;Adım 1: İndeksi Senkronize Et&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu komut git geçmişini tarar ve tüm commit’lerin bir indeksini oluşturur. Her commit’ten yapılandırılmış sinyaller çıkarır:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conventional Commits türü (&lt;code&gt;feat&lt;/code&gt;, &lt;code&gt;fix&lt;/code&gt;, &lt;code&gt;chore&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Kapsam (hangi paket veya alan)&lt;/li&gt;
&lt;li&gt;Geriye dönük uyumluluğu bozan değişiklik işaretleri&lt;/li&gt;
&lt;li&gt;Dokunulan dosyalar ve karmaşıklık metrikleri&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;adım-2-kapsam-durumunu-kontrol-et&quot;&gt;Adım 2: Kapsam Durumunu Kontrol Et&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; status&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Mevcut durumumuz şöyle görünüyor:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Mining Status&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;=============&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Decisions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;---------&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  Coverage:        100.0%&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Processed:     15637  (of 15637)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Extracted:       476&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Skipped:       15161&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Changelog&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;---------&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  Coverage:        100.0%&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Processed:     15637  (of 15637)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Released:       6799&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Skipped:        8838&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;15.637 commit işlendi. 476’sı mimari karara dönüştü. 6.799’u değişiklik günlüğü girdisine dönüştü. Her commit sınıflandırıldı.&lt;/p&gt;
&lt;h3 id=&quot;adım-3-i̇nceleme-i̇çin-adayları-al&quot;&gt;Adım 3: İnceleme İçin Adayları Al&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; candidates&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --limit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 50&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --full&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, sınıflandırma için tam bağlamla birlikte henüz işlenmemiş commit’leri ortaya çıkarır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;90571786d99166c0039ca2e80e4d9cd96184bd85&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;date&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;subject&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat(canonical): add DuckDB runtime for pipeline stages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;signals&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;commit_type&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;scope&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;canonical&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;breaking&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;is_releasable_type&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;domains_affected&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;pipeline&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;data-architecture&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;body&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Establishes DuckDB as canonical in-process analytical database...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;files_changed&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/canonical/pipelines/stages/duckdb_runtime.py&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;stats&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;files&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;insertions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;450&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;deletions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;120&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sinyaller sınıflandırmaya rehberlik etmeye yardımcı olur: &lt;code&gt;is_releasable_type: true&lt;/code&gt; bunun değişiklik günlüğünde görünmesi gerektiğini önerir. Büyük ekleme sayısı ve altyapı dosyaları, bunun bir mimari karar da olabileceğini önerir.&lt;/p&gt;
&lt;h3 id=&quot;adım-4-commitleri-sınıflandır&quot;&gt;Adım 4: Commit’leri Sınıflandır&lt;/h3&gt;
&lt;p&gt;Burada iki yol ayrılır: değişiklik günlüğü girdileri ve mimari kararlar.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Değişiklik günlüğü girdileri için:&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classify&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; abc123&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --changelog&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; added&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, &lt;code&gt;abc123&lt;/code&gt; commit’inin değişiklik günlüğünde “Added” kategorisi altında görünmesi gerektiğini kaydeder.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mimari kararlar için:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Önce gerçek bir karar kimliği alın:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --domain&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; pipeline&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --dry-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Returns: DEC-PL-143&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ardından karar kimliğiyle sınıflandırın:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classify&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; abc123&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --decision&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-PL-143&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, commit’i oluşturulacak veya güncellenecek bir karar kaydına bağlar.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Toplu işleme için (gerçekte yaptığımız şey):&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Generate classifications file with LLM assistance&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; commit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --input&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classifications.jsonl&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;JSONL biçimi tek bir geçişte her iki alanı da destekler:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;jsonl&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;abc123&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;changelog&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;release&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;category&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;added&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;summary&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Add DuckDB runtime for pipeline stages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;abc123&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;decisions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;extract&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;decision_id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-PL-142&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;def456&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;changelog&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;skip&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;reason&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Chore: dependency update&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;adım-5-çıktıları-render-et&quot;&gt;Adım 5: Çıktıları Render Et&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; changelog&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; render&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --package&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;pk&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;g&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, deftere dayanan pakete özgü &lt;code&gt;CHANGELOG.md&lt;/code&gt; dosyaları üretir. Değişiklik günlükleri kayıtlardan üretilen çıktılardır — onları silin ve kaynak defterden kusursuz bir şekilde yeniden oluşurlar.&lt;/p&gt;
&lt;h2 id=&quot;karar-kaydı-yapısı&quot;&gt;Karar Kaydı Yapısı&lt;/h2&gt;
&lt;p&gt;Çıkarılan kararlar, zengin meta veriye sahip YAML dosyalarına dönüşür:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DEC-PL-142&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Adopt DuckDB as Canonical Processing Runtime for Pipeline Stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;domain&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;active&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;created&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-26&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;summary&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  Establishes DuckDB as the canonical in-process analytical database for pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  stage transformations. Provides a shared runtime module that resolves settings&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  from pipeline defaults with stage-level overrides.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  Pipeline stages performing data transformations each independently configured&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  DuckDB connections. This led to inconsistent settings, duplicated configuration&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  code, and no way to tune DuckDB globally for a pipeline run.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DuckDB provides efficient in-process OLAP with zero configuration deployment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Centralized runtime module eliminates duplicated DuckDB setup across stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Hierarchical settings enable global tuning with stage-level overrides&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Memory limits and thread counts can be adjusted per-pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;impact&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  positive&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Consistent DuckDB configuration across all pipeline stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Single point of control for memory/thread tuning&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Reduced code duplication in conversion and export stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  negative&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Adds dependency on shared runtime module&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Stages must adopt new configuration pattern&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;source_commits&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;sha&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;90571786d99166c0039ca2e80e4d9cd96184bd85&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    message&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;feat(canonical): add DuckDB runtime for pipeline stages&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    date&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-26&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    role&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;primary&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;files&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/stages/duckdb_runtime.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/runner.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/stages/convert_hdx_admin_boundaries_to_geoparquet.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;related&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DEC-DA-014&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Data architecture decisions that influenced this&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Her karar, kaynak commit’lerine geri bağlanır. Her karar hangi dosyaları etkilediğini belirtir. Kararlar arasındaki ilişkiler açıktır.&lt;/p&gt;
&lt;h2 id=&quot;cli-entegrasyonu-kurumsal-hafızayı-sorgulamak&quot;&gt;CLI Entegrasyonu: Kurumsal Hafızayı Sorgulamak&lt;/h2&gt;
&lt;p&gt;Döngünün kapandığı yer burasıdır. Ajanlar CLI üzerinden kararları sorgulayabilir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Search by topic&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --query&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;retry&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Yeniden deneme mantığı, hata işleme, kurtarma desenleri hakkındaki kararları döndürür.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Get full details on a specific decision&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-PL-142&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bağlam, gerekçe ve etkiyle birlikte tam karar kaydını döndürür.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# List recent decisions for context&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --limit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 15&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Son zamanlarda hangi mimari seçimlerin yapıldığını gösterir.&lt;/p&gt;
&lt;h3 id=&quot;ajanlar-bunu-nasıl-kullanıyor&quot;&gt;Ajanlar Bunu Nasıl Kullanıyor&lt;/h3&gt;
&lt;p&gt;Orkestratörümüzün temel talimatları şunları içerir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8;font-weight:bold&quot;&gt;**Essential CLI commands:**&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; `orkestra registry decisions search &quot;X&quot;`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; — Find architectural decisions&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bir ajandan DuckDB ile ilgili bir şey uygulaması istendiğinde, önce şunu kontrol edebilir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --query&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;DuckDB&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ve DEC-PL-142’yi keşfedip şunları öğrenebilir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Neden DuckDB’yi seçtiğimiz (context)&lt;/li&gt;
&lt;li&gt;Nasıl doğru kullanılacağı (agent_guidance)&lt;/li&gt;
&lt;li&gt;Hangi dosyalara bakılacağı (files)&lt;/li&gt;
&lt;li&gt;Hangi ilgili kararların var olduğu (related)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ajan tekerleği yeniden icat etmez. Yerleşik desenler üzerine inşa eder.&lt;/p&gt;
&lt;h2 id=&quot;üç-soru-testi&quot;&gt;Üç Soru Testi&lt;/h2&gt;
&lt;p&gt;Her commit bir karar kaydını hak etmez. Filtrelemek için Üç Soru Testini kullanırız:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Bunu yapmak zor muydu?&lt;/strong&gt; Önemli analiz, ödünleşim değerlendirmesi veya tartışma gerektirdi mi?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Değiştirmesi maliyetli mi?&lt;/strong&gt; Bu kararı tersine çevirmek önemli bir yeniden çalışma gerektirir mi?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sistem geneli bir etkisi var mı?&lt;/strong&gt; Birden fazla paketi etkiliyor mu veya başkalarının izleyeceği desenler oluşturuyor mu?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bir commit bu sorulardan en az birine “evet” yanıtı veriyorsa, karar çıkarımı için bir adaydır. Tipik oranımız: her 100 commit’te 1-4 karar (yaklaşık %1-4).&lt;/p&gt;
&lt;p&gt;Değişiklik günlüğü girdileri için çıta daha düşüktür: kullanıcıya yönelik herhangi bir değişiklik (özellikler, düzeltmeler, iyileştirmeler) kaydedilir. İç işler, dokümantasyon güncellemeleri ve yeniden yapılandırmalar genellikle atlanır. Tipik oranımız: her 100 commit’te 30-50 değişiklik günlüğü girdisi.&lt;/p&gt;
&lt;h2 id=&quot;veri-depolama-yalnızca-ekleme-defterleri&quot;&gt;Veri Depolama: Yalnızca Ekleme Defterleri&lt;/h2&gt;
&lt;p&gt;Madencilik sistemi, çakışmasız çok ajanlı işlem için yalnızca ekleme yapılan (append-only) JSONL defterleri kullanır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;packages/orchestration/ai_assets/reference/changelog/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── commits_processed.jsonl  # Classification ledger (both domains)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── release_notes.jsonl      # Changelog entries&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── commits_index.yaml       # Derived index (gitignored)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;packages/orchestration/ai_assets/reference/decisions/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── registry.yaml            # Decision index&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── records/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├── DEC-AD-001.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├── DEC-AD-002.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    └── ...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;.gitattributes&lt;/code&gt; içindeki &lt;code&gt;merge=union&lt;/code&gt;’a sahip JSONL biçimi, birden fazla ajanın birleştirme çakışması olmadan aynı anda commit’leri sınıflandırabileceği anlamına gelir. Her satır bağımsızdır.&lt;/p&gt;
&lt;h2 id=&quot;doğrulama-kontrolleri&quot;&gt;Doğrulama Kontrolleri&lt;/h2&gt;
&lt;p&gt;Herhangi bir madencilik oturumundan önce doğrulama çalıştırırız:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --quick&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu şunları kontrol eder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SHA biçimi geçerliliği&lt;/li&gt;
&lt;li&gt;Karar kimliği biçimi uyumluluğu&lt;/li&gt;
&lt;li&gt;Aynı SHA için yinelenen girdi olmaması&lt;/li&gt;
&lt;li&gt;Referans verilen kararların gerçekten var olması&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sınıflandırmadan sonra, değişiklikleri commit etmeden önce tekrar doğrularız.&lt;/p&gt;
&lt;h2 id=&quot;bunun-neden-önemli-olduğu&quot;&gt;Bunun Neden Önemli Olduğu&lt;/h2&gt;
&lt;p&gt;Kurduğumuz geri bildirim döngüsü birkaç sorunu çözer:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yeni ekip üyeleri için:&lt;/strong&gt; “Neden X’i yaptık?” diye sormak yerine, karar kayıt defterini arayabilirler. Bağlam korunur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yapay zeka ajanları için:&lt;/strong&gt; Boşlukta çalışmazlar. Öneride bulunmadan önce kurumsal bilgiyi sorgulayabilirler. Yeni bir pipeline aşaması eklemesi istendiğinde, DuckDB desenini keşfedip onu izleyebilirler.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mimari tutarlılık için:&lt;/strong&gt; Kararlar açık ve aranabilirdir. Biri mevcut bir kararla çelişen bir yaklaşım önerdiğinde, sistem çatışmayı gün yüzüne çıkarabilir.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Değişiklik günlüğü üretimi için:&lt;/strong&gt; Yayın notları son dakika telaşı değildir. Geliştirme sırasındaki sürekli sınıflandırmanın bir yan ürünüdür.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yeni ajanların işe alışması için:&lt;/strong&gt; Yeni ajanlar kod tabanının tam bağlamını devralır. Yalnızca kodu görmezler — onu şekillendiren kararları da görürler.&lt;/p&gt;
&lt;h2 id=&quot;mevcut-durum&quot;&gt;Mevcut Durum&lt;/h2&gt;
&lt;p&gt;Bugün itibarıyla:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hat üzerinden &lt;strong&gt;15.637 commit&lt;/strong&gt; işlendi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;476 mimari karar&lt;/strong&gt; çıkarıldı ve belgelendi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6.799 değişiklik günlüğü girdisi&lt;/strong&gt; kaydedildi&lt;/li&gt;
&lt;li&gt;Her iki alanda da &lt;strong&gt;%100 kapsam&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Başladığımızdan beri her commit sınıflandırıldı. Kurumsal hafıza eksiksiz ve sorgulanabilir.&lt;/p&gt;
&lt;h2 id=&quot;başlarken&quot;&gt;Başlarken&lt;/h2&gt;
&lt;p&gt;Benzer bir şey uygulamak isterseniz:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Conventional Commits biçimindeki commit’lerle başlayın.&lt;/strong&gt; Madencilik hattı, commit’ler yapılandırılmış öneklere (&lt;code&gt;feat:&lt;/code&gt;, &lt;code&gt;fix:&lt;/code&gt;, &lt;code&gt;chore:&lt;/code&gt;) sahip olduğunda en iyi şekilde çalışır.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Alanlarınızı tanımlayın.&lt;/strong&gt; &lt;code&gt;pipeline&lt;/code&gt;, &lt;code&gt;agent-design&lt;/code&gt;, &lt;code&gt;observability&lt;/code&gt;, &lt;code&gt;data-modeling&lt;/code&gt; gibi alanlar kullanıyoruz. Bunlar kararları alana göre düzenler.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Sınıflandırma alışkanlığını oluşturun.&lt;/strong&gt; Madencilik, ekipler commit’leri düzenli olarak sınıflandırdığında çalışır. LLM yardımıyla toplu işleme ölçeklenmeye yardımcı olur.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Kararları sorgulanabilir hale getirin.&lt;/strong&gt; Değer, ajanlar kararları CLI üzerinden arayabildiğinde katlanarak artar. Çıktınızı makine tüketimi için yapılandırın.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Döngüyü kapatın.&lt;/strong&gt; Kararlar gelecekteki işi etkilemelidir. Ajan talimatlarına ve kod inceleme kontrol listelerine karar referansları ekleyin.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Amaç kusursuz dokümantasyon değildir. Değişikliklerin arkasındaki &lt;em&gt;nedeni&lt;/em&gt;, bugün ve altı ay sonra, hem insanlar hem de yapay zeka için erişilebilir kılmaktır. Değişiklikler kurumsal hafızaya dönüştüğünde, ekipler onları yeniden icat etmek yerine yerleşik desenler üzerine inşa eder.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Madencilik iş akışı, orkestrasyon motorumuzun bir parçasıdır; özellikle orkestrasyon paketimizdeki bağlam motoru modülüdür.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Workflows</category></item><item><title>Beceri Madenciliği: 3.500 Adaydan 466 Yetkinliğe</title><link>https://maguyva.ai/tr/blog/skill-mining-3500-and-counting</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/skill-mining-3500-and-counting</guid><description>3.500 beceri adayını inceledik ve 466&apos;sını benimsedik. Ölçekte tutarlı bir yapay zeka ajan beceri kütüphanesi inşa etmek için sistematik bir madencilik ve alım döngüsü.</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu yazıdaki sayılar, yayınlandığı tarihteki (Ocak 2026) sistemi yansıtır. Güncel rakamlar için &lt;a href=&quot;https://maguyva.ai/tr/team&quot;&gt;ekip sayfamıza&lt;/a&gt; bakın.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;3500-beceri-sorunu&quot;&gt;3.500 Beceri Sorunu&lt;/h2&gt;
&lt;p&gt;Bir ajan orkestrasyon sistemi inşa etmeye başladığımızda, ilginç bir zorlukla karşılaştık: yapay zeka ekosistemine dağılmış binlerce potansiyel beceri var. GitHub repoları, tedarikçi dokümantasyonu, topluluk projeleri, iç desenler — beceriler her yerde var. Ama hangileri önemli? Hangileri işe yarıyor? Ve ajanların gerçekten kullanabileceği tutarlı bir beceri kütüphanesini nasıl sürdürürsünüz?&lt;/p&gt;
&lt;p&gt;Bizim yanıtımız: sistematik bir madencilik ve alım döngüsü.&lt;/p&gt;
&lt;h2 id=&quot;bugünün-sayıları&quot;&gt;Bugünün Sayıları&lt;/h2&gt;
&lt;p&gt;Anthropic’in Agent Skills’i 16 Ekim 2025’te piyasaya sürmesinden yalnızca üç ay sonra, bu yazı 27 Ocak 2026’da yayınlandığında durumumuz şöyleydi:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Ölçüt&lt;/th&gt;
&lt;th&gt;Sayı&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Belirlenen adaylar&lt;/td&gt;
&lt;td&gt;3.500+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Benimsenen beceriler&lt;/td&gt;
&lt;td&gt;466&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tedarikçi becerileri&lt;/td&gt;
&lt;td&gt;373&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;İç beceriler&lt;/td&gt;
&lt;td&gt;93&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aktif tedarikçiler&lt;/td&gt;
&lt;td&gt;25+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Beceri başına ortalama token&lt;/td&gt;
&lt;td&gt;2.834&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Referans verilen araçlar&lt;/td&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Benzersiz etiketler&lt;/td&gt;
&lt;td&gt;635&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;3.500’den fazla beceri adayını inceledik. 466’sını benimsedik. Bu, %13’lük bir benimseme oranı — ve bu seçicilik tasarım gereğidir.&lt;/p&gt;
&lt;h2 id=&quot;bilgi-katman-sistemi&quot;&gt;Bilgi Katman Sistemi&lt;/h2&gt;
&lt;p&gt;Tüm beceriler eşit yaratılmamıştır. Bunları, her biri farklı bir uygulanabilirlik kapsamını temsil eden beş bilgi katmanına (K0-K4) düzenliyoruz:&lt;/p&gt;
&lt;h3 id=&quot;k0-temeller-evrensel&quot;&gt;K0: Temeller (Evrensel)&lt;/h3&gt;
&lt;p&gt;Her ajanın sahip olması gereken beceriler. Bunlar her yerde işe yarayan “iyi düşünür” yetkinliklerini temsil eder.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;foundations/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── test-first-discipline       # TDD: Red-Green-Refactor&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── evidence-based-completion   # Verify before claiming done&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── systematic-debugging        # Root cause methodology&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── structured-planning         # Break work into tasks&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── context-budget-awareness    # Manage token consumption&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;K0 becerileri herhangi bir projeye, herhangi bir alana, herhangi bir yığına taşınabilir. Evrensel bilişsel desenleri kodlarlar.&lt;/p&gt;
&lt;h3 id=&quot;k1-kimlikler-disiplin&quot;&gt;K1: Kimlikler (Disiplin)&lt;/h3&gt;
&lt;p&gt;Bir disiplin içindeki projeler genelinde geçerli olan “iyi mühendis” veya “iyi araştırmacı” becerileri.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;identities/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── research-workflows          # Multi-source research&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── web-extraction-playbook     # Content extraction&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── code-review                 # PR review patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── cli-interface-standards     # CLI design patterns&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k2-alanlar-konu-uzmanlığı&quot;&gt;K2: Alanlar (Konu Uzmanlığı)&lt;/h3&gt;
&lt;p&gt;Bir alan içinde taşınabilir “iyi veritabanı uzmanı” veya “iyi güvenlik mühendisi” becerileri.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;domains/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── schema-migration-workflow   # Safe migration patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── rpc-validation-checklist    # RPC health checks&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── auth-validation-checklist   # JWT/OAuth patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── secrets-audit-checklist     # Credential scanning&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k3-yığınlar-teknoloji&quot;&gt;K3: Yığınlar (Teknoloji)&lt;/h3&gt;
&lt;p&gt;Belirli teknoloji yığınları için “iyi Supabase kullanıcısı” veya “iyi Cloudflare geliştiricisi” becerileri.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;stacks/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── maguyva-quickstart          # Our semantic search patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── cloudflare-deployment       # Workers/Pages deployment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── mcp-tool-best-practices     # MCP tool selection&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k4-proje-organizasyon&quot;&gt;K4: Proje (Organizasyon)&lt;/h3&gt;
&lt;p&gt;Organizasyonumuza ve iş akışlarımıza özgü beceriler.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;project/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── agent-creation-workflow     # How we build agents&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── skill-authoring-workflow    # How we write skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── mining-session-workflow     # This very process&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── vendor-skill-evaluation     # Evaluation rubrics&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;madencilik-döngüsü&quot;&gt;Madencilik Döngüsü&lt;/h2&gt;
&lt;h3 id=&quot;aşama-1-keşif&quot;&gt;Aşama 1: Keşif&lt;/h3&gt;
&lt;p&gt;Beceriler her yerden gelir:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tedarikçi Repoları&lt;/strong&gt;: AWS, Anthropic, Cloudflare, Supabase ve topluluk katkıda bulunanları beceri koleksiyonları yayınlar. 25’ten fazla tedarikçi kökünü takip ediyoruz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Topluluk Projeleri&lt;/strong&gt;: GitHub, Claude Code şablonları, ajan desenleri ve iş akışı tanımlarıyla doludur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;İç Desenler&lt;/strong&gt;: Ekibimiz sorunları çözdükçe desenler ortaya çıkar. Bunlar becerilere dönüştürülerek resmileştirilir.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dokümantasyon Madenciliği&lt;/strong&gt;: Teknik dokümantasyon genellikle örtük beceriler içerir — prosedürler, kontrol listeleri, karar ağaçları.&lt;/p&gt;
&lt;p&gt;Keşif süreklidir. Resmi değerlendirmeden önce adayları takip etmek için bekleyen beceri adayları listesi kullanırız.&lt;/p&gt;
&lt;h3 id=&quot;aşama-2-değerlendirme&quot;&gt;Aşama 2: Değerlendirme&lt;/h3&gt;
&lt;p&gt;Her aday aynı rubrikten geçer:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;adoption_criteria&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;fills_real_gap&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # We lack this capability&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;well_structured&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Progressive disclosure&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;actively_maintained&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # Commits in last 6 months&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;portable&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;            # Not hyper-specific&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;tested&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;              # Evidence of usage&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beş ürün kriterinin tamamı geçmelidir. Adayların %87’sinin reddedilmesinin nedeni budur.&lt;/p&gt;
&lt;p&gt;Sonra her aday ayrı bir güven incelemesinden geçer. Resmi bir tedarikçi reposunu, iyi bilinen bir topluluk sürdürücüsünü ve rastgele bir GitHub reposunu eşdeğer gerçek kaynaklar olarak ele almayız.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;trust_review&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  vendor_credibility&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;ownership_verified&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Official vendor, known maintainer, or internal source&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;maintenance_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Recent commits, issue response, release history&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adoption_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Evidence of real use, stars alone are not enough&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;provenance_clear&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;         # We can trace where the skill came from&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  prompt_injection_scan&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;hidden_instruction_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # Buried &quot;ignore previous instructions&quot; patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;exfiltration_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Prompts that try to leak files, secrets, or context&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;authority_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Claims of priority over system or developer rules&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  script_audit&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;inspect_scripts&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Read shell/python/js helpers before adoption&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;network_and_exec_review&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # curl|bash, remote downloads, subprocess execution&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;file_and_secret_review&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;   # Env vars, credential access, broad file writes&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;destructive_action_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # rm, reset, overwrite, or unsafe automation&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Güvenilen tedarikçiler daha hafif bir köken incelemesi alır, ama serbest geçiş almazlar. Güvenilmeyen veya bilinmeyen kaynaklar daha derin bir manuel denetimden geçer ve paket içindeki betikleri, okunup kapsamı belirlenip güvenli olarak sınıflandırılana kadar çalıştırmayız.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Boşluk Analizi&lt;/strong&gt;: Benimsemeden önce, kayıt defterimizi ararız:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;&amp;lt;capability&amp;gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Zaten sahipsek, ihtiyacımız yoktur. Yakın bir şeye sahipsek, benimsemek yerine birleştirebiliriz.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Derinlik ve Standartlar Puanlaması&lt;/strong&gt;: Bir adayın ajan-beceri modelini ne kadar tam kullandığını da puanlarız. Tek başına bir &lt;code&gt;SKILL.md&lt;/code&gt; yine de yararlı olabilir, ama daha derin beceriler, &lt;code&gt;agentskills.io&lt;/code&gt;’in teşvik ettiği şekilde talimatları referanslardan, betiklerden ve varlıklardan ayırdığında daha değerlidir.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;skill_depth&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;SKILL.md only&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;                     # Single instruction file&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;SKILL.md + strong description&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Clear triggers and scope&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_3&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds references/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;                  # Load docs only when needed&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_4&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds atomic scripts/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;              # Small, reviewable helpers&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds assets/examples/templates&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;    # Full progressive disclosure&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;depth_signals&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;standards_adherence&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;        # Structure aligns with agentskills.io conventions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;reference_quality&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Curated references, not giant context dumps&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;script_atomicity&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Focused helpers, not opaque monoliths&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tool_boundary_clarity&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # Clear limits on what the skill can execute&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;community_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Stars/forks/users help, but only as a weak boost&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;GitHub yıldızları bir güvenilirlik puanını biraz yükseltebilir, ama yüzeysel veya güvensiz bir beceriyi asla kurtarmazlar. Belirsiz tek bir &lt;code&gt;SKILL.md&lt;/code&gt;’ye ve opak betiklere sahip yüksek yıldızlı bir repo, tam beceri yetkinliğinden gerçekten yararlanan kesin bir açıklamaya, derlenmiş &lt;code&gt;references/&lt;/code&gt;’e ve atomik yardımcılara sahip daha küçük bir reponun altında puan alır.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yapısal Analiz&lt;/strong&gt;: Beceri kalitesini kontrol ederiz:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;wc&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -l&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/SKILL.md&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Size check&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/scripts/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Supporting files&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/references/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Bundled docs&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bir aday betikler içeriyorsa, bu inceleme daha sıkı hâle gelir. İyi bir beceri sadece yararlı olmakla kalmaz; bir ajana teslim edilmesi için okunabilir, sınırlı ve güvenli olması gerekir. Bu güvenlik filtresi tek başına, aksi takdirde ilginç olan adayların anlamlı bir dilimini eler.&lt;/p&gt;
&lt;h3 id=&quot;aşama-3-alım&quot;&gt;Aşama 3: Alım&lt;/h3&gt;
&lt;p&gt;Bir beceri değerlendirmeyi geçtiğinde kayıt defterine girer. Ama beceriler asla değiştirilmeden benimsenmez. Sistemimize uyacak şekilde değiştirilirler.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Benimseme Sırasında Yapılan Değişiklikler&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Meta Veri Normalizasyonu&lt;/strong&gt;: Her beceri, belge başındaki meta veri (frontmatter) şemamızı alır&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;K-Katman Ataması&lt;/strong&gt;: Beceriler uygun bilgi katmanına yerleştirilir&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Etiket Zenginleştirmesi&lt;/strong&gt;: Keşif için etiketler eklenir&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Araç Bildirimi&lt;/strong&gt;: İzin verilen araçlar açıkça bildirilir&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bölüm Hizalaması&lt;/strong&gt;: İçerik, şablonumuza uyacak şekilde yeniden yapılandırılır&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Alımdan sonra tipik bir beceri YAML’ı:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;metadata&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  identifier&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor-skill-evaluation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  name&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor-skill-evaluation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  description&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Systematic evaluation of vendor skills for adoption.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  layer&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;K4&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  semantic_folder&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;project&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  source&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;core&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_updated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-17&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;frontmatter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;agents&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;meta&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skill-adoption&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  allowed_tools&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Bash&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Read&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Write&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Edit&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Grep&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Glob&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Task&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;aşama-4-kapsam-ataması&quot;&gt;Aşama 4: Kapsam Ataması&lt;/h3&gt;
&lt;p&gt;Beceriler kapsamlara atanır — hangi ajanların hangi becerileri yükleyeceğini belirleyen kategoriler:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  database&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;domains/schema-migration-workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;domains/rpc-validation-checklist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase/supabase-database&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase/supabase-auth&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/research-workflows&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/web-extraction-playbook&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/dataset-discovery-quickstart&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ajanlar kapsamlarını bildirir ve beceriler otomatik olarak atanır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Agent definition&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;database&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Gets: all database skills + all research skills + universal skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;aşama-5-somutlaştırma&quot;&gt;Aşama 5: Somutlaştırma&lt;/h3&gt;
&lt;p&gt;Beceriler üretimde YAML olarak yaşamaz. Claude Code’un yükleyebileceği SKILL.md dosyalarına render edilirler:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu komut:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Tüm beceri YAML tanımlarını okur&lt;/li&gt;
&lt;li&gt;Bunları Jinja şablonları üzerinden render eder&lt;/li&gt;
&lt;li&gt;SKILL.md dosyalarını &lt;code&gt;.claude/skills/&lt;/code&gt;’e yazar&lt;/li&gt;
&lt;li&gt;K-katmanına göre düzenler (foundations/, identities/, domains/, stacks/, project/)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Nihai çıktı yapısı:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;.claude/skills/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── foundations/     # K0: Universal&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── identities/      # K1: Discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── domains/         # K2: Subject&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── stacks/          # K3: Technology&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── project/         # K4: Organization&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── vendor/          # External skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;uykuda-kapsam-deseni&quot;&gt;Uykuda Kapsam Deseni&lt;/h2&gt;
&lt;p&gt;En güçlü desenlerimizden biri “benimsenmiş ama yüklenmemiş” becerilerdir. Bunlara uykuda kapsamlar diyoruz.&lt;/p&gt;
&lt;p&gt;k-dense-scientific reposundan bilimsel hesaplama becerilerini düşünün. Biyoinformatik, kimya, kuantum hesaplama ve klinik bilişimi kapsayan 120’den fazla beceri benimsedik. Ama ajanlarımızın çoğunun moleküler yerleştirmeye (docking) veya gen ifadesi analizine ihtiyacı yok.&lt;/p&gt;
&lt;p&gt;120 becerinin tümünü her ajana yüklemek yerine (bağlam pencerelerini şişirmek), şunu yaparız:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Belirli bir kapsamla becerileri &lt;strong&gt;benimseriz&lt;/strong&gt; (örneğin, &lt;code&gt;bioinformatics&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Bunları &lt;strong&gt;uykuda&lt;/strong&gt; tutarız — kayıtlı ama yüklenmemiş&lt;/li&gt;
&lt;li&gt;Yalnızca bir ajan o kapsamı bildirdiğinde &lt;strong&gt;etkinleştiririz&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# In scopes.yaml - dormant scope&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;bioinformatics&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  description&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Bioinformatics and genomics&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: []  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Empty - skills exist but aren&apos;t loaded&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# When an agent needs bioinformatics:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Agent YAML&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;bioinformatics&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Now loads bioinformatics skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu desen, tipik ajanlar yalnızca 40-60 ilgili beceri yüklerken kayıt defterinde 466 beceriye sahip olmamızı sağlar.&lt;/p&gt;
&lt;h2 id=&quot;beceri-türleri&quot;&gt;Beceri Türleri&lt;/h2&gt;
&lt;p&gt;Beceriler üç bilişsel desende gelir:&lt;/p&gt;
&lt;h3 id=&quot;i̇ş-akışı&quot;&gt;İş Akışı&lt;/h3&gt;
&lt;p&gt;Sıralı prosedürel adımlar: “1. X’i yap, 2. Sonra Y’yi yap, 3. Son olarak Z’yi yap”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: schema-migration-workflow, mining-session-workflow&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;disiplin&quot;&gt;Disiplin&lt;/h3&gt;
&lt;p&gt;Davranış kuralları ve sınırları: “Her zaman X yap”, “Asla Y yapma”, “Z’yi tercih et”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: test-first-discipline, evidence-based-completion&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;kontrol-listesi&quot;&gt;Kontrol Listesi&lt;/h3&gt;
&lt;p&gt;Doğrulama kriterleri: “X’i onayla”, “Y’yi doğrula”, “Z’yi kontrol et”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;checklist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: auth-validation-checklist, secrets-audit-checklist&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;kalite-kontrolleri&quot;&gt;Kalite Kontrolleri&lt;/h2&gt;
&lt;p&gt;Her beceri, yayınlanmadan önce doğrulamayı geçmelidir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;validation&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  file_exists&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Skill file at declared path&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  frontmatter_valid&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Frontmatter parses correctly&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  sections_complete&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Expected sections present&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tools_registered&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # Declared tools exist in registry&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Açıklamalar, Claude Code’un ne zaman önereceğini bilmesi için tetikleyici ifadelerle (“Şu durumda kullanın…”, “İhtiyacınız olduğunda…”) birlikte 50-400 karakter olmalıdır.&lt;/p&gt;
&lt;p&gt;Sürekli doğrularız:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --show-warnings&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;tedarikçi-ekosistemi&quot;&gt;Tedarikçi Ekosistemi&lt;/h2&gt;
&lt;p&gt;373 tedarikçi becerimiz şuralardan gelir:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Sağlayıcı&lt;/th&gt;
&lt;th&gt;Beceriler&lt;/th&gt;
&lt;th&gt;Alan&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AWS Agent&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;Bulut hizmetleri&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;Doküman üretimi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloudflare&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;Uç bilişim&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supabase&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Veritabanı&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;k-dense&lt;/td&gt;
&lt;td&gt;100+&lt;/td&gt;
&lt;td&gt;Bilimsel hesaplama&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;silvainfm&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Veri bilimi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Java Developer Kit&lt;/td&gt;
&lt;td&gt;45+&lt;/td&gt;
&lt;td&gt;Spring/Java&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vercel&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Tarayıcı otomasyonu&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Her tedarikçi kökü metadata.yaml’da bildirilir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;vendor_roots&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/aws-agent-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;aws&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/k-dense-scientific/scientific-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;k-dense&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;supabase&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;orkestra sync&lt;/code&gt; çalıştığında, tedarikçi becerileri sağlayıcı ad alanlarıyla birlikte &lt;code&gt;.claude/skills/vendor/&lt;/code&gt;’e sembolik olarak bağlanır.&lt;/p&gt;
&lt;h2 id=&quot;öğrendiklerimiz&quot;&gt;Öğrendiklerimiz&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Seçicilik karşılığını verir.&lt;/strong&gt; Yararlı görünen her şeyi benimsemek caziptir. Ama her beceri token’a mal olur. Beceri başına ortalama 2.834 token ile, şişkinlik hızla zarar verir. %13’lük benimseme oranımız ajanları yalın tutar.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yapı keşfi mümkün kılar.&lt;/strong&gt; K-katman sistemi sadece organizasyon değildir — taşınabilirlikle ilgilidir. K0 becerileri her yerde yeniden kullanılabilir. K4 becerileri kasıtlı olarak projeye özgüdür. Bu netlik, hem insanların hem de ajanların ihtiyaç duydukları şeyi bulmasına yardımcı olur.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Uykuda kapsamlar ölçeklenir.&lt;/strong&gt; Yüzlerce beceriyi hepsini yüklemeden benimseyebilirsiniz. Kapsamlar, bireysel ajan bağlam pencerelerini yönetilebilir tutarken kapsamlı bir kayıt defteri inşa etmenizi sağlar.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Benimseme sırasında değişiklik gereklidir.&lt;/strong&gt; Ham tedarikçi becerileri nadiren sisteminize uyar. Alım süreci — meta veri ekleme, katman atama, etiket zenginleştirme — dış becerilerin dahili olarak çalışmasını sağlar.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Madencilik süreklidir.&lt;/strong&gt; 3.500 sayısı büyümeye devam ediyor. Yeni tedarikçi repoları ortaya çıkıyor. Topluluk desenleri beliriyor. İç iş akışları sağlamlaşıyor. Döngü asla durmuyor.&lt;/p&gt;
&lt;h2 id=&quot;sırada-ne-var&quot;&gt;Sırada Ne Var&lt;/h2&gt;
&lt;p&gt;Birkaç iyileştirme üzerinde çalışıyoruz:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Otomatik boşluk tespiti&lt;/strong&gt;: Yaygın ajan başarısızlıklarının benimsenmemiş bir beceriyle çözülebileceği durumlarda uyarı ver&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beceri kullanımdan kaldırma iş akışları&lt;/strong&gt;: Yerine yenisi gelmiş veya kullanılmayan becerileri emekliye ayırmak için resmi süreç&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beceriler arası bağımlılıklar&lt;/strong&gt;: Beceri ön koşullarının açık bildirimi&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kullanım analitiği&lt;/strong&gt;: Ajanların hangi becerileri gerçekten çağırdığını, hangilerini sadece yüklediğini takip et&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Beceri madencilik döngüsü altyapıdır. Göz alıcı değildir. Ama 41 ajanın, bağlam sınırları içinde kalırken 466 yetkinlikle tutarlı bir şekilde çalışmasını sağlayan şey budur.&lt;/p&gt;
&lt;p&gt;3.500’ün 466’ya nasıl dönüştüğünün hikayesi budur. 3.000’i görmezden gelerek değil — onları sistematik olarak değerlendirip yalnızca işe yarayanı benimseyerek.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Beceri sistemini eylem hâlinde görmek mi istiyorsunuz? Mevcut kayıt defterimizi keşfetmek için &lt;code&gt;uv run orkestra skills list&lt;/code&gt;’e göz atın.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Skills</category></item><item><title>Kademeli Açığa Çıkarma: Ajan Sistemlerine CLI Pencereleri</title><link>https://maguyva.ai/tr/blog/progressive-disclosure-cli-into-agents</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/progressive-disclosure-cli-into-agents</guid><description>Ajan sistemleri varsayılan olarak opaktır. Kademeli açığa çıkarma, operatörlere hızlı durum kontrollerinden tam ajan iç yapısına ve karar izlerine kadar katmanlı CLI görünümleri sağlar.</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu yazıdaki sayılar, yayınlandığı tarihteki (Ocak 2026) sistemi yansıtır. Güncel rakamlar için &lt;a href=&quot;https://maguyva.ai/tr/team&quot;&gt;ekip sayfamıza&lt;/a&gt; bakın.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ajan sistemleri tasarım gereği opaktır. Karar verirler, araçları çağırırlar ve düzinelerce uzman genelinde işi koordine ederler. Ama bir şeyler ters gittiğinde — ya da sadece neler olduğunu anlamak istediğinizde — nereye bakarsınız?&lt;/p&gt;
&lt;p&gt;Yanıt kademeli açığa çıkarmadır: tam olarak ihtiyacınız kadar karmaşıklığı, tam olarak ihtiyaç duyduğunuz anda ortaya çıkaran katmanlı bir arayüz.&lt;/p&gt;
&lt;h2 id=&quot;opaklık-sorunu&quot;&gt;Opaklık Sorunu&lt;/h2&gt;
&lt;p&gt;Modern bir ajan orkestrasyon sistemi şunlara sahip olabilir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Her biri farklı yeteneklere sahip 40’tan fazla uzman ajan&lt;/li&gt;
&lt;li&gt;İç otomasyonu ve tedarikçi entegrasyonlarını kapsayan 700’den fazla beceri&lt;/li&gt;
&lt;li&gt;Davranışı şekillendiren 470’ten fazla mimari karar&lt;/li&gt;
&lt;li&gt;Dış yetenekler sağlayan düzinelerce MCP araç sunucusu&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bu karmaşıklık kasıtlıdır. Ajanların iyi kararlar vermek için zengin bağlama — alan bilgisi, kod zekası, veritabanı şemaları — erişmesi gerekir. Ama aynı zenginlik bir görünürlük sorunu yaratır.&lt;/p&gt;
&lt;p&gt;Hangi ajanın veritabanı geçişlerini ele aldığını nasıl bilirsiniz? Hangi kararlar arama sisteminin sıralama davranışını şekillendirdi? Mimari danışmanının hangi araçlara erişimi var?&lt;/p&gt;
&lt;p&gt;Yapılandırılmış erişim olmadan, ya kaynak kodu okumak zorunda kalırsınız ya da dokümantasyonun güncel olmasını ummak zorunda kalırsınız.&lt;/p&gt;
&lt;h2 id=&quot;mimari-olarak-kademeli-açığa-çıkarma&quot;&gt;Mimari Olarak Kademeli Açığa Çıkarma&lt;/h2&gt;
&lt;p&gt;Kademeli açığa çıkarma sadece bir arayüz deseni değildir. Bir mimari ilkedir: bilgiyi katmanlar hâlinde, her biri bir öncekinden daha derin olacak şekilde düzenleyin, böylece kullanıcılar sorularını yanıtlayan seviyede durabilir.&lt;/p&gt;
&lt;p&gt;Ajan sistemleri için bu, artan derinliklerdeki CLI komutlarına dönüşür:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Seviye&lt;/th&gt;
&lt;th&gt;Komut&lt;/th&gt;
&lt;th&gt;Yanıtlanan Soru&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra system status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Her şey sağlıklı mı?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra agents list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hangi ajanlar var?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra agents info &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bu ajan ne yapıyor?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra decisions search&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Neden bu şekilde çalışıyor?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Maguyva MCP araçları&lt;/td&gt;
&lt;td&gt;Bana kodu göster.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Her seviye doğal bir takip sorusunu yanıtlar. Nadiren doğrudan 5. seviyeye atlamanız gerekir.&lt;/p&gt;
&lt;h2 id=&quot;seviye-1-sistem-sağlığı&quot;&gt;Seviye 1: Sistem Sağlığı&lt;/h2&gt;
&lt;p&gt;İlk soru her zaman şudur: her şey çalışıyor mu?&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; system&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; status&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;agents&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_internal&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;466&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_vendor&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;240&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_total&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;706&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;commands&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;17&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tek bir komut. Dört sayı. Sistemin yapılandırıldığını ve kayıt defterlerinin doldurulduğunu bilmek için yeterli.&lt;/p&gt;
&lt;p&gt;Bir ajan sayısı beklenmedik şekilde düşerse veya beceriler yüklenemezse, bunu önce burada görürsünüz. Günlüklere dalmak gerekmez.&lt;/p&gt;
&lt;h2 id=&quot;seviye-2-ajan-envanteri&quot;&gt;Seviye 2: Ajan Envanteri&lt;/h2&gt;
&lt;p&gt;Sistemin sağlıklı olduğunu bildikten sonra, bir sonraki soru şudur: neler mevcut?&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, yapılandırılmış veri döndürür — ajan adları, açıklamalar, model tercihleri, alan kapsamı. Çıktı varsayılan olarak JSON’dur, bu da filtreleme için &lt;code&gt;jq&lt;/code&gt;’e yönlendirmeyi kolaylaştırır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; jq&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &apos;.agents[] | select(.model == &quot;opus&quot;) | .name&apos;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Veritabanı işini ele alan ajanlar mı istiyorsunuz? Arama komutu bunu daraltır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, adları, açıklamaları ve yetenekleri tarar. 40 ajan tanımını okumadan doğru uzmanı bulursunuz.&lt;/p&gt;
&lt;h2 id=&quot;seviye-3-ajan-derinlemesine-i̇nceleme&quot;&gt;Seviye 3: Ajan Derinlemesine İnceleme&lt;/h2&gt;
&lt;p&gt;İlgili görünen bir ajan mı buldunuz? &lt;code&gt;info&lt;/code&gt; komutu her şeyi ortaya çıkarır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; architecture-advisor&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Çıktı şunları içerir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Meta veri&lt;/strong&gt;: Ad, kategori, model tercihi, açıklama&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alanlar&lt;/strong&gt;: Bu ajanın hangi bilgi alanlarını kapsadığı&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kimlik&lt;/strong&gt;: Karakter özellikleri (mimar, stratejist, bilgi mimarı)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Araç kılavuzları&lt;/strong&gt;: Bağlama hangi araç dokümantasyonunun enjekte edildiği&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Araçlar&lt;/strong&gt;: Bu ajana açık olan MCP araçlarının tam listesi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;İşte gördüklerinizin bir örneği:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;jsonc&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;metadata&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;name&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;architecture-advisor&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;model&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;opus&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;description&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Strategic decision-making and architectural guidance...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;domains&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;product&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;development/architecture&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;meta/strategy&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;tools&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;mcp_tools&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__maguyva__intelligent_search&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__maguyva__analyze_dependencies&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__supabase__execute_sql&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FDAEB7;font-style:italic&quot;&gt;      ...&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, ajanın tam olarak ne yapabileceğini size söyler. Kaynak kod gerekmez.&lt;/p&gt;
&lt;h2 id=&quot;seviye-4-karar-arkeolojisi&quot;&gt;Seviye 4: Karar Arkeolojisi&lt;/h2&gt;
&lt;p&gt;Ajanlar, belgelenmiş kararlara göre davranır. Bir şeyin belirli bir şekilde neden çalıştığını anlamanız gerektiğinde, kararlar kayıt defteri gerçek kaynaktır.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;agent&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, eşleşen mimari kararları döndürür:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;results&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-SR-049&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;title&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;AI-Agent-First Defaults with Graph Intelligence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;search&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;status&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;active&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Her kararın tam bir kökeni vardır — ne zaman alındığı, nedeni, hangi ödünleşimlerin göz önünde bulundurulduğu, hangi commit’lerin onu uyguladığı:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-SR-049&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-SR-049&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;title&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;AI-Agent-First Defaults with Graph Intelligence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;summary&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Changes default values for search tools to AI-agent-optimal behavior...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;rationale&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;AI agents work better with pre-ranked, importance-weighted results&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;Graph metrics already computed by pipeline - leverage them&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;Community context helps agents understand feature scope in single query&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;source_commits&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;156a880d05eae295669ef7c194b039023f245511&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;message&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat(maguyva): enable boost_by_importance...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, commit’lerden çıkarıldığı için güncel kalan, elle sürdürülmeyen mimari dokümantasyondur.&lt;/p&gt;
&lt;h2 id=&quot;seviye-5-doğrudan-kod-zekası&quot;&gt;Seviye 5: Doğrudan Kod Zekası&lt;/h2&gt;
&lt;p&gt;Gerçek uygulamayı — hakkındaki meta veriyi değil — görmeniz gerektiğinde, Maguyva’nın MCP araçları doğrudan erişim sağlar.&lt;/p&gt;
&lt;p&gt;Bir ajan oturumu içinden:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__intelligent_search&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  query: &quot;agent context loading&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, ilgili kodu bulmak için semantik, metin ve AST araması genelinde otomatik yönlendirme yapar. Belirli semboller için:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__find_symbol&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  symbol_name: &quot;load_agent_context&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bağımlılık analizi için:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__analyze_dependencies&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  target: &quot;packages/orchestration/core/agents.py&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bunlar sadece grep yerine geçenler değildir. Graf yapısını dikkate alırlar, semantik olarak indekslenmişlerdir ve ajanların kendisine güç veren aynı kod zekasıyla entegredirler.&lt;/p&gt;
&lt;h2 id=&quot;kayıt-defterleri-genelinde-birleşik-arama&quot;&gt;Kayıt Defterleri Genelinde Birleşik Arama&lt;/h2&gt;
&lt;p&gt;Bazen hangi kayıt defterinin yanıtı tuttuğunu bilmezsiniz. Birleşik arama her şeyi kapsar:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --summary&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;query&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;database&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;total&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;254&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;counts&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;agents&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;skills&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;59&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;decisions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;476&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;truths&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;packages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Beş kayıt defteri genelinde 254 eşleşme. Özet size nereye derinlemesine ineceğinizi söyler. Ayrıntılı sonuçlar için &lt;code&gt;--summary&lt;/code&gt;’yı kaldırın, ya da çıktıyı yönetilebilir tutmak için &lt;code&gt;--limit 5&lt;/code&gt; ekleyin.&lt;/p&gt;
&lt;h2 id=&quot;bunun-neden-önemli-olduğu&quot;&gt;Bunun Neden Önemli Olduğu&lt;/h2&gt;
&lt;p&gt;Kademeli açığa çıkarma sadece kolaylıkla ilgili değildir. Karmaşık sistemlerle nasıl etkileşim kurduğunuzu değiştirir.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hata ayıklama yönetilebilir hâle gelir.&lt;/strong&gt; Bir ajan beklenmedik bir karar verdiğinde, günlüklerde grep yapmazsınız. Hangi araçlara erişimi olduğunu (&lt;code&gt;agents info&lt;/code&gt;), hangi kararların davranışını şekillendirdiğini (&lt;code&gt;decisions search&lt;/code&gt;) kontrol edersiniz ve gerekirse uygulamayı izlersiniz (&lt;code&gt;intelligent_search&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Yeni üyelerin işe alışması hızlanır.&lt;/strong&gt; Yeni ekip üyelerinin tüm kod tabanını okumasına gerek yoktur. &lt;code&gt;system status&lt;/code&gt; ile başlarlar, &lt;code&gt;agents list&lt;/code&gt; ile keşfederler ve yalnızca anlamadıkları bir şeyle karşılaştıklarında daha derine inerler.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dokümantasyon güncel kalır.&lt;/strong&gt; CLI, ajanları yapılandıran aynı kayıt defterlerinden okuduğu için, çıktı her zaman doğrudur. Dokümanların söylediği ile sistemin yaptığı arasında sapma olmaz.&lt;/p&gt;
&lt;h2 id=&quot;arayüz-olarak-cli&quot;&gt;Arayüz Olarak CLI&lt;/h2&gt;
&lt;p&gt;Bir web gösterge paneli inşa edebilirdik. Kapsamlı dokümantasyon yazabilirdik. Bunun yerine, gerçek kaynaktan okuyan bir CLI inşa ettik.&lt;/p&gt;
&lt;p&gt;CLI’nin avantajları vardır:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bileşilebilir&lt;/strong&gt;: Çıktıyı &lt;code&gt;jq&lt;/code&gt; üzerinden aktarın, betiklerle entegre edin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Betiklenebilir&lt;/strong&gt;: Kontrolleri otomatikleştirin, raporlar üretin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hızlı&lt;/strong&gt;: Sayfa yüklemesi yok, kimlik doğrulama akışı yok&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Doğru&lt;/strong&gt;: Önbelleğe alınmış bir temsili değil, gerçek yapılandırmayı okur&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Doğruluğun estetikten daha önemli olduğu sistemler için CLI kazanır.&lt;/p&gt;
&lt;h2 id=&quot;kendi-kademeli-açığa-çıkarmanızı-i̇nşa-etmek&quot;&gt;Kendi Kademeli Açığa Çıkarmanızı İnşa Etmek&lt;/h2&gt;
&lt;p&gt;Ajan sistemleri inşa ediyorsanız, kullanıcıların bunları nasıl inceleyeceğini düşünün:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Sağlık kontrolleriyle başlayın.&lt;/strong&gt; Her şeyin çalışıp çalışmadığını söyleyen tek bir komut.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Envanter görünümleri sağlayın.&lt;/strong&gt; Ne yaptığını açıklamadan önce nelerin var olduğunu listeleyin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hedeflenmiş sorguları etkinleştirin.&lt;/strong&gt; Ölçekte arama, göz atmayı yener.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kökeni açığa çıkarın.&lt;/strong&gt; Kullanıcıların kararları kökenlerine kadar izlemesine izin verin.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kod zekasına bağlanın.&lt;/strong&gt; Sonunda, kullanıcıların uygulamayı görmesi gerekir.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Her katman bir takip sorusunu yanıtlar. Bunları sıklık sırasına göre inşa edin — çoğu kullanıcı 2. veya 3. katmanda durur. Yalnızca ileri düzey kullanıcılar 5. katmana ulaşır.&lt;/p&gt;
&lt;p&gt;Amaç her şeyi açığa çıkarmak değildir. Amaç, tam olarak ihtiyaç duyulanı, tam olarak ihtiyaç duyulduğu anda açığa çıkarmaktır. Ajan mimarisine uygulanan kademeli açığa çıkarma budur.&lt;/p&gt;
</content:encoded><category>Architecture</category><category>CLI</category><category>Tooling</category></item><item><title>Temel Gerçekler: Yapay Zeka Ajanlarını Gerçekliğe Sabitlemek</title><link>https://maguyva.ai/tr/blog/ground-truths-anchoring-ai-to-reality</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/ground-truths-anchoring-ai-to-reality</guid><description>Yapay zeka ajanları kendinden emin bir şekilde halüsinasyon görür. Temel gerçekler, ajan davranışını gerçekliğe sabitleyen sürümlenmiş, kapsamı belirlenmiş gerçeklerdir. İşte onları nasıl inşa edip uyguladığımız.</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu yazıdaki sayılar, yayınlandığı tarihteki (Ocak 2026) sistemi yansıtır. Güncel rakamlar için &lt;a href=&quot;https://maguyva.ai/tr/team&quot;&gt;ekip sayfamıza&lt;/a&gt; bakın.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yapay zeka ajanları dikkat çekici derecede yeteneklidir. Akıl yürütebilir, sentezleyebilir ve üretebilirler. Ama temel bir zayıflıkları vardır: bir şeyler uydururlar. Kötü niyetle değil, ama kendinden eminlikle. Bir ajan var olmayan API parametreleri icat edebilir, hiç tanımlanmamış yapılandırmalara başvurabilir veya eğitim verisinden gerçek mimarinizle çelişen desenler uygulayabilir.&lt;/p&gt;
&lt;p&gt;Standart çözüm “ajana daha fazla bağlam ver”dir. Ama bağlam çelişkili olabilir. Dokümantasyon uygulamadan sapar. Yorumlar yalan söyler. Niyeti anlamadan okunduğunda kod bile yanıltıcı olabilir.&lt;/p&gt;
&lt;p&gt;Daha açık bir şeye ihtiyacımız vardı. Görmezden gelinemeyecek veya yanlış yorumlanamayacak bir şeye. Ajanları doğrulanabilir gerçekliğe sabitleyecek bir şeye.&lt;/p&gt;
&lt;p&gt;Bunlara Temel Gerçekler diyoruz.&lt;/p&gt;
&lt;h2 id=&quot;bir-temel-gerçek-nedir&quot;&gt;Bir Temel Gerçek nedir?&lt;/h2&gt;
&lt;p&gt;Bir temel gerçek, ajanların saygı göstermesi gereken açık, sürümlenmiş bir gerçek ifadesidir. Dokümantasyon değildir. Yorum değildir. Sistemde şunlara sahip birinci sınıf bir varlıktır:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Benzersiz bir tanımlayıcı&lt;/strong&gt; (&lt;code&gt;GT-MAG-015&lt;/code&gt; veya &lt;code&gt;GT-MAG-036&lt;/code&gt; gibi)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bir yaşam döngüsü durumu&lt;/strong&gt; (güncel, geçici veya kullanımdan kaldırılmış)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bir kapsam&lt;/strong&gt; (platform geneli, pakete özgü veya alana bağlı)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kanıt&lt;/strong&gt; (ifadeyi kanıtlayan dosya yolları, URL’ler veya referanslar)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ajan rehberliği&lt;/strong&gt; (açık yap/yapma talimatları)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;İşte Maguyva kod zekası platformumuzdan bir örnek:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-015&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  scope&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;package&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Fuzzy symbol matching is opt-in via `find_similar=true`.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Default behavior returns empty results for non-existent symbols;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    `exact_match=true` enforces strict matching and disables all fuzzy fallbacks.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Deterministic defaults prevent agents from receiving misleading results.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Typos should fail explicitly rather than silently returning unrelated symbols.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  evidence&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/src/maguyva/services/code_analysis_service.py&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/docs/quick_reference/parameters.md&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_verified&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-25&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;product&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;ai_first&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;principle&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu düz yazı değildir. Bir sözleşmedir. Bir ajan bu temel gerçekle karşılaştığında şunu bilir:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Varsayılan deterministiktir (bulanık tahminler değil, boş sonuçlar)&lt;/li&gt;
&lt;li&gt;Tanımlanmış davranışlara sahip belirli parametreler vardır (&lt;code&gt;find_similar&lt;/code&gt;, &lt;code&gt;exact_match&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Doğrulanabilecek belirli dosyalarda kanıt vardır&lt;/li&gt;
&lt;li&gt;İfade belirli bir tarihte doğrulanmıştır&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;bir-temel-gerçek-kayıt-defterinin-anatomisi&quot;&gt;Bir Temel Gerçek Kayıt Defterinin Anatomisi&lt;/h2&gt;
&lt;p&gt;Temel gerçekler, &lt;code&gt;ai_assets/reference/ground_truths.yaml&lt;/code&gt; altındaki YAML kayıt defterlerinde yaşar. Her paket veya alan kendi kayıt defterine sahip olabilir. Yapı şöyledir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;metadata&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Maguyva Ground Truths&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  summary&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Foundational constraints and principles that guide Maguyva.&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_updated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  owner&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;maguyva&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  render&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    include_statuses&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tentative&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    show_deprecated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    groups&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Product Principles&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;        tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;product&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;principle&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;brand&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Architecture &amp;amp; Boundaries&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;        tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;architecture&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;boundaries&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;cqrs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;statements&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-001&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    scope&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;package&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Maguyva is read-only with respect to user repositories...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    ...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kayıt defteri, koleksiyonun kendisi hakkında meta veriler, dokümantasyon üretimi için render yapılandırması ve ifadelerin kendisini içerir. Her ifade, Pydantic modelleri tarafından doğrulanan katı bir şemayı izler:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; GroundTruthStatement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;BaseModel&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    status: GTStatus  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# current, tentative, deprecated&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    source: GTSource &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # claude-code, orkestra, discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    scope: GTScope  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# platform, package, domain&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    statement: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    rationale: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    evidence: list[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    last_verified: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    tags: list[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    agent_guidance: AgentGuidance &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;ajanlar-temel-gerçeklere-nasıl-erişir&quot;&gt;Ajanlar Temel Gerçeklere Nasıl Erişir&lt;/h2&gt;
&lt;p&gt;Temel gerçekler birden fazla kanal üzerinden sunulur:&lt;/p&gt;
&lt;h3 id=&quot;1-render-edilmiş-dokümantasyon&quot;&gt;1. Render Edilmiş Dokümantasyon&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;orkestra sync&lt;/code&gt; komutu, YAML kayıt defterlerini okunabilir markdown’a dönüştürür:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, ajan bağlamına dahil edilen &lt;code&gt;GROUND_TRUTHS.md&lt;/code&gt; dosyaları üretir. Render edilen çıktı, ifadeleri duruma ve kategoriye göre gruplar:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;## Current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;### Product Principles&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Maguyva is read-only with respect to user repositories... (GT-MAG-001)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Design tool responses for AI agents first... (GT-MAG-009)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;### Architecture &amp;amp; Boundaries&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Pipeline and Maguyva boundaries are intentional... (GT-MAG-006)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;2-cli-araması&quot;&gt;2. CLI Araması&lt;/h3&gt;
&lt;p&gt;Kabuk erişimine sahip ajanlar, temel gerçekleri programatik olarak arayabilir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;embedding&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --tag&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; security&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --status&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; current&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Arama fonksiyonu, birden fazla alan genelinde eşleşmeleri ağırlıklı alaka düzeyiyle puanlar:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; truth_fields&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(gt: GroundTruthStatement) -&amp;gt; list[FieldSpec]:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.id]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;statement&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.statement]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;rationale&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.rationale] &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; gt.rationale &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;tags&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;gt.tags &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;evidence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;gt.evidence &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;3-bağlam-kompozisyonu&quot;&gt;3. Bağlam Kompozisyonu&lt;/h3&gt;
&lt;p&gt;Ajanlar YAML tanımlarından render edildiğinde, bağlamları temel gerçek kayıt defterlerine başvurabilir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;context_composition&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  domain_knowledge&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/maguyva/ai_assets/reference/ground_truths.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, ilgili temel gerçeklerin ajan işe başlamadan önce yüklenmesini sağlar.&lt;/p&gt;
&lt;h2 id=&quot;temel-gerçek-kategorileri&quot;&gt;Temel Gerçek Kategorileri&lt;/h2&gt;
&lt;p&gt;Kayıt defterlerimize baktığımızda, temel gerçekler birkaç desende kümelenir:&lt;/p&gt;
&lt;h3 id=&quot;ürün-i̇lkeleri&quot;&gt;Ürün İlkeleri&lt;/h3&gt;
&lt;p&gt;Ürünün ne olduğu ve ne olmadığı konusundaki kısıtlamalar:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Maguyva, kullanıcı repoları açısından salt okunurdur; yeniden oluşturulamayan tek varlık ücretli gömme (embedding) önbelleğidir.” (GT-MAG-001)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;mimari-sınırlar&quot;&gt;Mimari Sınırlar&lt;/h3&gt;
&lt;p&gt;Sorumlulukların nerede yaşadığı ve nedeni:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Pipeline ve Maguyva sınırları kasıtlıdır: pipeline yeniden kullanılabilirdir, Maguyva koda özgü mantığı tutar ve CQRS, aşama yazmalarını sunucu okumalarından ayırır.” (GT-MAG-006)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;halüsinasyon-karşıtı-kurallar&quot;&gt;Halüsinasyon Karşıtı Kurallar&lt;/h3&gt;
&lt;p&gt;Araç sözleşmelerini çıkarımsal yerine deterministik tutan açık zorunluluklar:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Bulanık sembol eşleştirme &lt;code&gt;find_similar=true&lt;/code&gt; üzerinden isteğe bağlıdır. Varsayılan davranış, var olmayan semboller için boş sonuçlar döndürür; &lt;code&gt;exact_match=true&lt;/code&gt; katı eşleştirmeyi zorunlu kılar ve tüm bulanık yedekleri devre dışı bırakır.” (GT-MAG-015)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;kalite-kontrolleri&quot;&gt;Kalite Kontrolleri&lt;/h3&gt;
&lt;p&gt;Korunması gereken standartlar:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Paylaşılan altyapıdaki değişikliklerin (post_filters.py, ilişki çıkarıcıları, paylaşılan handler’lar), commit’ten önce tam manifest üretimi yoluyla DESTEKLENEN TÜM dillere karşı doğrulanması ZORUNLUDUR. Tek dilli bir doğrulama, paylaşılan kod için yetersizdir.” (GT-MAG-036)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;kod-desenleri&quot;&gt;Kod Desenleri&lt;/h3&gt;
&lt;p&gt;Uygulama gereksinimleri:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Asenkron bağlamlarda CPU ağırlıklı işler için &lt;code&gt;asyncio.to_thread()&lt;/code&gt; kullanın; kullanımdan kaldırılan &lt;code&gt;loop.run_in_executor()&lt;/code&gt; deseni yeni kodda kullanılmamalıdır.” (GT-MAG-018)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;bir-temel-gerçeğin-yaşam-döngüsü&quot;&gt;Bir Temel Gerçeğin Yaşam Döngüsü&lt;/h2&gt;
&lt;p&gt;Temel gerçekler statik değildir. Tanımlı bir yaşam döngüsü boyunca evrilirler:&lt;/p&gt;
&lt;h3 id=&quot;geçici&quot;&gt;Geçici&lt;/h3&gt;
&lt;p&gt;Değerlendirme aşamasında önerilen bir gerçek. İfade kayıt altına alınmıştır ama değişebilir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-044&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tentative&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    get_file with include_metadata=false may still return metadata in the&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    response because middleware may re-inject it for AI agent disambiguation.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;güncel&quot;&gt;Güncel&lt;/h3&gt;
&lt;p&gt;Ajanların saygı göstermesi gereken doğrulanmış bir gerçek. Kanıt doğrulanmıştır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-017&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_verified&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  evidence&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/src/maguyva/services/supabase.py&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;kullanımdan-kaldırılmış&quot;&gt;Kullanımdan Kaldırılmış&lt;/h3&gt;
&lt;p&gt;Artık geçerli olmayan bir gerçek. Neyin yerini aldığına dair bir işaretle birlikte tarihsel referans için tutulur:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-099&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;deprecated&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  superseded_by&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-015&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  notes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Replaced when we moved to explicit matching behavior&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;neden-sadece-dokümantasyon-değil&quot;&gt;Neden Sadece Dokümantasyon Değil?&lt;/h2&gt;
&lt;p&gt;Dokümantasyon farklı bir amaca hizmet eder. Açıklar. Öğretir. Belirsiz olabilir, “genellikle” veya “tipik olarak” gibi niteleyiciler kullanabilir.&lt;/p&gt;
&lt;p&gt;Temel gerçekler belirsiz olamaz. Onlar iddialardır. Ya geçerlidirler ya da değildirler.&lt;/p&gt;
&lt;p&gt;Farkı düşünün:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dokümantasyon:&lt;/strong&gt; “API, bir sembol bulunamadığında genellikle boş sonuçlar döndürür, ancak bazı yapılandırmalarda bulanık eşleştirme etkinleştirilmiş olabilir.”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Temel Gerçek:&lt;/strong&gt; “Varsayılan davranış, var olmayan semboller için boş sonuçlar döndürür; &lt;code&gt;exact_match=true&lt;/code&gt; katı eşleştirmeyi zorunlu kılar ve tüm bulanık yedekleri devre dışı bırakır.”&lt;/p&gt;
&lt;p&gt;Birincisi, sistemi öğrenen insanlar için yardımcıdır. İkincisi, karar veren ajanlar için eyleme geçirilebilirdir.&lt;/p&gt;
&lt;h2 id=&quot;ajan-rehberliği-yap-ve-yapma&quot;&gt;Ajan Rehberliği: Yap ve Yapma&lt;/h2&gt;
&lt;p&gt;Bazı temel gerçekler açık ajan rehberliği içerir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-022&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Accuracy fixes must happen at extraction time via production code,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    never via validator filters.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  agent_guidance&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    do&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Fix extraction bugs in YAML config, handlers, or tree-sitter queries&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Add test cases at the layer where the fix lives&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    avoid&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Adding validator filters to mask production bugs&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Creating test-only workarounds for extraction issues&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, belirsizliği ortadan kaldırır. Bunu okuyan bir ajan yalnızca neyin doğru olduğunu değil, o gerçeğin hangi eylemleri ima ettiğini de bilir.&lt;/p&gt;
&lt;h2 id=&quot;doğrulama-ve-bakım&quot;&gt;Doğrulama ve Bakım&lt;/h2&gt;
&lt;p&gt;Temel gerçekler bakım gerektirir. Şunları takip ederiz:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;last_verified&lt;/strong&gt;: Birinin ifadenin hâlâ geçerli olduğunu ne zaman doğruladığı&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;evidence&lt;/strong&gt;: İfadeyi kanıtlayan dosyalar (varlığı kontrol edilebilir)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;source&lt;/strong&gt;: Gerçeğin nereden kaynaklandığı (CLI incelemesi, mimari inceleme, olay sonrası öğrenme)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eskimiş doğrulama tarihlerine veya bozuk kanıt bağlantılarına sahip bir temel gerçek, araştırılması gereken bir sinyaldir. Ya gerçek hâlâ geçerlidir ve yeniden doğrulama gerektirir, ya da gerçeklik değişmiştir ve gerçeğin güncellenmesi gerekir.&lt;/p&gt;
&lt;h2 id=&quot;üretimden-gerçek-örnekler&quot;&gt;Üretimden Gerçek Örnekler&lt;/h2&gt;
&lt;h3 id=&quot;güvenlik-sınırı&quot;&gt;Güvenlik Sınırı&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-014&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Maguyva queries are search patterns, not executable code.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    SQL injection prevention is handled by PostgREST parameterization;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    application-layer SQL keyword blocking must never be added.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Blocking SQL keywords breaks legitimate code search. Users search FOR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    code containing patterns like &apos;DROP TABLE&apos;, they don&apos;t execute them.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu temel gerçek, ürünü bozacak bir sınıf yanlış yönlendirilmiş “güvenlik iyileştirmesini” önler.&lt;/p&gt;
&lt;h3 id=&quot;çıkarım-zamanı-doğruluğu&quot;&gt;Çıkarım Zamanı Doğruluğu&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-022&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Accuracy fixes must happen at extraction time via production code&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (YAML config, handlers, queries), never via validator filters.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Validator filters only run during tests. They can hide extractor bugs&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    while production responses remain wrong.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, acı verici bir deneyimden geldi. Ajanlar, başarısız olan dil paketlerini, test düzeneğini daha yeşil gösteren yalnızca doğrulayıcıya özgü filtreler ekleyerek yamalarken, canlı Maguyva çıkarıcısı hâlâ yanlış kenarlar yayınlıyordu. Kural, düzeltmeleri gerçek yola geri zorlar: YAML yapılandırması, sorgular veya handler’lar.&lt;/p&gt;
&lt;h3 id=&quot;çok-katmanlı-filtreleme&quot;&gt;Çok Katmanlı Filtreleme&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-023&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Language engine uses three-tier filtering: external_method_patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (builtins/stdlib), allowlists (legitimate idioms), and expected_call_targets&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (validation-time deduplication). Each tier serves a distinct purpose.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Conflating filter purposes leads to either over-filtering (missing real&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    relationships) or under-filtering (noise).&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu, ajanların filtreleri yanlış yere eklemesini önler; bu, doğruluk regresyonlarına neden olan yaygın bir hatadır.&lt;/p&gt;
&lt;h2 id=&quot;orkestrasyon-sistemiyle-entegrasyon&quot;&gt;Orkestrasyon Sistemiyle Entegrasyon&lt;/h2&gt;
&lt;p&gt;Temel gerçekler, daha geniş bir bağlam sisteminin bir katmanıdır:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mimari Kararlar (ADR’ler)&lt;/strong&gt; - A yaklaşımını B yerine neden seçtiğimizi kaydeder&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Temel Gerçekler&lt;/strong&gt; - Şu anda kesin olarak doğru olanı belirtir&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alan Desenleri&lt;/strong&gt; - Bir şeylerin doğru şekilde nasıl yapılacağını açıklar&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anti-Desenler&lt;/strong&gt; - Nelerden kaçınılması gerektiğini ve nedenini açıklar&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sistemde çalışan bir ajanın dördüne de erişimi vardır. Temel gerçekler olgusal çapayı sağlar, kararlar geçmişi açıklar, desenler uygulamaya rehberlik eder ve anti-desenler tuzaklara karşı uyarır.&lt;/p&gt;
&lt;h2 id=&quot;etkiyi-ölçmek&quot;&gt;Etkiyi Ölçmek&lt;/h2&gt;
&lt;p&gt;Temel gerçekleri tanıttığımızdan beri şunları gözlemledik:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Daha az “halüsinasyonlu düzeltmeyi düzelt” döngüsü&lt;/li&gt;
&lt;li&gt;Gerçekler net olduğunda daha kendinden emin ajan karar verme&lt;/li&gt;
&lt;li&gt;Beklentiler açık olduğu için daha iyi PR incelemeleri&lt;/li&gt;
&lt;li&gt;Yeni ajanlar (ve insanlar) için kısalan işe alışma süresi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Temel gerçekleri sürdürmeye yapılan yatırım, azalan hata ayıklama ve daha net sistem sınırları olarak geri döner.&lt;/p&gt;
&lt;h2 id=&quot;başlarken&quot;&gt;Başlarken&lt;/h2&gt;
&lt;p&gt;Sisteminize bir temel gerçek eklemek için:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Paketinizin &lt;code&gt;ai_assets/reference/&lt;/code&gt; dizininde bir &lt;code&gt;ground_truths.yaml&lt;/code&gt; oluşturun&lt;/li&gt;
&lt;li&gt;Meta veriyi ve render yapılandırmasını tanımlayın&lt;/li&gt;
&lt;li&gt;Şemayı izleyen ifadeler ekleyin&lt;/li&gt;
&lt;li&gt;Dokümantasyon üretmek için &lt;code&gt;uv run orkestra sync&lt;/code&gt; komutunu çalıştırın&lt;/li&gt;
&lt;li&gt;Kayıt defterini ajan bağlam kompozisyonuna dahil edin&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;En çok kafa karışıklığına neden olan gerçeklerle veya en sık ihlal edilen kısıtlamalarla başlayın. Bunlar en yüksek değere sahip temel gerçeklerinizdir.&lt;/p&gt;
&lt;h2 id=&quot;sonuç&quot;&gt;Sonuç&lt;/h2&gt;
&lt;p&gt;Yapay zeka ajanları halüsinasyon görecektir. Bu onların doğasıdır. Ama halüsinasyonun kısıtlandığı, belirli gerçeklerin pazarlık konusu olmadığı, ajanların varsayımlarını doğrulanmış gerçekliğe karşı kontrol edebildiği ortamlar yaratabiliriz.&lt;/p&gt;
&lt;p&gt;Temel gerçekler eksiksiz bir çözüm değildir. Bakım gerektirirler. Eskiyebilirler. Geliştirme sürecine ek yük getirirler.&lt;/p&gt;
&lt;p&gt;Ama değerli bir şey sağlarlar: hem insanların hem de ajanların güvenebileceği ortak bir gerçekler sözlüğü. Ajanların yazılım geliştirmeye giderek daha fazla katıldığı bir dünyada, bu paylaşılan temel vazgeçilmez hale gelir.&lt;/p&gt;
&lt;p&gt;Alternatif, ajanların kendinden emin hatalar yapmasının ve insanların bunları düzeltmesinin sonsuz döngüleridir. Temel gerçekler, düzeltmeleri açık ve kalıcı hale getirerek bu döngüyü kırar.&lt;/p&gt;
&lt;p&gt;Ajanlarınız neyin doğru olduğunu bilmeyi hak ediyor. Onlara söyleyin.&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Grounding</category></item><item><title>Orkestra: Yapay Zeka Ajanlarını Büyük Ölçekte Koordine Etmek</title><link>https://maguyva.ai/tr/blog/orkestra-agent-orchestration</link><guid isPermaLink="true">https://maguyva.ai/tr/blog/orkestra-agent-orchestration</guid><description>Tek bir orkestratör, her biri farklı becerilere ve hafızaya sahip uzman yapay zeka ajanlarına iş yönlendirir. Orkestra&apos;nın üretimde 46 ajanı ve 466 beceriyi nasıl koordine ettiği.</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Bu yazıdaki sayılar, yayınlandığı tarihteki (Ocak 2026) sistemi yansıtır. Güncel rakamlar için &lt;a href=&quot;https://maguyva.ai/tr/team&quot;&gt;ekip sayfamıza&lt;/a&gt; bakın.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Claude Code ile inşa etmeye başladığımızda, yapay zeka kodlama asistanları kullanan her ekibin er ya da geç karşılaştığı bir sorunla karşılaştık: tek bir ajan her şeyi iyi yapamaz.&lt;/p&gt;
&lt;p&gt;Bir ajana veritabanı uzmanı olmasını söyleyebilirsiniz. Ya da bir güvenlik denetçisi. Ya da bir ön uç mühendisi. Ama ondan aynı anda üçü de olmasını istediğiniz an, kalite düşer. Bağlam sulanır. Talimatlar çelişir. Ajan, her konuda vasat olan bir genelci hâline gelir.&lt;/p&gt;
&lt;p&gt;Bu yüzden Orkestra’yı inşa ettik.&lt;/p&gt;
&lt;h2 id=&quot;orkestra-nedir&quot;&gt;Orkestra nedir?&lt;/h2&gt;
&lt;p&gt;Orkestra, Claude Code ve benzeri yapay zeka kodlama araçları için bir ajan orkestrasyon sistemidir. Her biri farklı uzmanlığa sahip birden fazla uzman ajanı, işi doğru uzmana yönlendiren tek bir orkestratör altında koordine eder.&lt;/p&gt;
&lt;p&gt;Bunu yapay zeka ajanları için bir personel ajansı olarak düşünün. Orkestratör bir görev alır, hangi uzmanın bunu ele alması gerektiğini belirler ve doğru bağlamla görevlendirir. İş bittiğinde, sonuçlar sentez için orkestratöre geri akar.&lt;/p&gt;
&lt;p&gt;Sayılar hikayeyi anlatıyor:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bileşen&lt;/th&gt;
&lt;th&gt;Sayı&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Uzman ajanlar&lt;/td&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Yeniden kullanılabilir beceriler&lt;/td&gt;
&lt;td&gt;466&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kimlik arketipleri&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Zihniyetler&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;İletişim stilleri&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bilgi alanları&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;karakter-sistemi-ajanlar-için-dd&quot;&gt;Karakter Sistemi: Ajanlar için D&amp;amp;D&lt;/h2&gt;
&lt;p&gt;Orkestra’nın arkasındaki temel içgörü, ajan davranışının birleştirilebilen üç temel yapı taşından ortaya çıkmasıdır:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kimlik&lt;/strong&gt;, ajanın &lt;em&gt;ne&lt;/em&gt; olduğunu tanımlar. Bir mimar sistem yapıları tasarlar. Bir hata ayıklayıcı başarısızlıkları kök nedenlere kadar izler. Bir muhafız uyumluluğu ve güvenlik sınırlarını uygular. Karıştırılabilen 27 kimlik arketipimiz var.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Zihniyet&lt;/strong&gt;, ajanın &lt;em&gt;nasıl&lt;/em&gt; düşündüğünü tanımlar. Analitik bir zihniyet, iddiaları kanıta dayandırır ve belirsizliği ölçer. Şüpheci bir zihniyet varsayımları sorgular ve çürütücü kanıt arar. Keşifçi bir zihniyet belirsizliği kucaklar ve birden fazla yaklaşım dener.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stil&lt;/strong&gt;, ajanın &lt;em&gt;nasıl&lt;/em&gt; iletişim kurduğunu tanımlar. Teknik bir stil, tam değerleri içerir ve belirli dosyalara referans verir. Öz bir stil süsü keser ve yanıtla başlar. Diplomatik bir stil dürüstlüğü incelikle dengeler.&lt;/p&gt;
&lt;p&gt;Bir ajan bu yapı taşlarını birleştirir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# architecture-advisor.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;identity&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;knowledge-architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;strategist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;mindset&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;analytical&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;concise&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu kompozisyon, sistemler tasarlayan (mimar), alanlar arasında bilgiyi birbirine bağlayan (bilgi mimarı), stratejik yön belirleyen (stratejist), kanıt ve veri temelli düşünen (analitik) ve süssüz iletişim kuran (öz) bir ajan yaratır.&lt;/p&gt;
&lt;p&gt;Güç, kombinatoryal patlamadadır. 27 kimlik çarpı 11 zihniyet çarpı 10 stil, neredeyse 3.000 olası ajan kişiliği verir. Ama yalnızca işiniz için önemli olan kombinasyonları tanımlarsınız.&lt;/p&gt;
&lt;h2 id=&quot;beceriler-yeniden-kullanılabilir-yetkinlik-modülleri&quot;&gt;Beceriler: Yeniden Kullanılabilir Yetkinlik Modülleri&lt;/h2&gt;
&lt;p&gt;Beceriler, ajanların çağırabileceği bilgi ve iş akışlarıdır. Kapsama dayalı katmanlı bir sistemi izlerler:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Katman&lt;/th&gt;
&lt;th&gt;Ad&lt;/th&gt;
&lt;th&gt;Kapsam&lt;/th&gt;
&lt;th&gt;Örnek&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;K0&lt;/td&gt;
&lt;td&gt;Temeller&lt;/td&gt;
&lt;td&gt;Evrensel metodoloji&lt;/td&gt;
&lt;td&gt;Önce-test disiplini, kanıta dayalı tamamlama&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K1&lt;/td&gt;
&lt;td&gt;Kimlikler&lt;/td&gt;
&lt;td&gt;Rol tabanlı iş akışları&lt;/td&gt;
&lt;td&gt;CLI arayüz standartları, performans uygulama rehberi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K2&lt;/td&gt;
&lt;td&gt;Alanlar&lt;/td&gt;
&lt;td&gt;Alana özgü bilgi&lt;/td&gt;
&lt;td&gt;Veritabanı geçiş desenleri, kimlik doğrulama doğrulaması&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K3&lt;/td&gt;
&lt;td&gt;Yığınlar&lt;/td&gt;
&lt;td&gt;Teknolojiye özgü&lt;/td&gt;
&lt;td&gt;Cloudflare dağıtımı, Supabase operasyonları&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K4&lt;/td&gt;
&lt;td&gt;Proje&lt;/td&gt;
&lt;td&gt;Yalnızca bu kod tabanı&lt;/td&gt;
&lt;td&gt;Projeye özgü iş akışları ve kurallar&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Beceriler yalnızca ihtiyaç duyulduğunda yüklenir (lazy-loaded). Bir ajan başlangıçta beceri adlarını ve açıklamalarını görür, ama tam beceri içeriği yalnızca tetiklendiğinde yüklenir. Bu, yüzlerce beceriyi keşfedilebilir kılarken bağlamı yalın tutar.&lt;/p&gt;
&lt;p&gt;Her beceri şunları içerir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Açık tetikleme koşulları (“Veritabanı şemalarını taşırken kullanın”)&lt;/li&gt;
&lt;li&gt;Adım adım rehberlik&lt;/li&gt;
&lt;li&gt;İş akışı için izin verilen araçlar&lt;/li&gt;
&lt;li&gt;Başarı kriterleri ve hata kurtarma yolları&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kayıt defterimizdeki 466 beceri, git worktree yalıtımından web araştırma iş akışlarına, dağıtım sağlığı doğrulamasına kadar her şeyi kapsar.&lt;/p&gt;
&lt;h2 id=&quot;orkestrasyon-neden-önemli&quot;&gt;Orkestrasyon Neden Önemli&lt;/h2&gt;
&lt;p&gt;Tek ajanlı mimariler hızla duvara çarpar:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bağlam sulanması.&lt;/strong&gt; 200 bin token’lık bir bağlam penceresi, veritabanı şemalarını, API dokümanlarını, test fixture’larını ve alan bilgisini yükleyene kadar büyük görünür. Uzmanlar hedeflenmiş bağlamla çalışabilir.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Talimat çatışmaları.&lt;/strong&gt; Bir ajana “kapsamlı ama hızlı ol” ve “her şeyi doğrula ama aşırı mühendislik yapma” demek gerilim yaratır. Uzmanlar bunu net bir kapsama sahip olarak çözer.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Uzmanlık derinliği.&lt;/strong&gt; Genelci bir ajan her şey hakkında biraz bilgi sahibidir. Doğru kimlik ve becerilerle bileşimlenmiş bir uzman ajan, kendi alanını derinlemesine bilir.&lt;/p&gt;
&lt;p&gt;Orkestra düz orkestrasyonu uygular: bir orkestratör birden fazla uzmanı koordine eder. Uzmanlar alt-uzmanlar oluşturamaz. Bu, paralel çalışmayı mümkün kılarken karmaşıklık patlamasını önler.&lt;/p&gt;
&lt;p&gt;Orkestratör, 2,2 milyon token’lık etkin kapasiteye erişebilir: kendi 200 bin’lik penceresi artı her biri 200 bin’lik 10 eşzamanlı alt ajan. Tek bir ajanı tüketecek iş, filo genelinde rahatlıkla yürütülür.&lt;/p&gt;
&lt;h2 id=&quot;render-hattı&quot;&gt;Render Hattı&lt;/h2&gt;
&lt;p&gt;Ajan tanımları YAML’de yaşar. Claude Code Markdown okur. Orkestra bu boşluğu deterministik bir render hattıyla kapatır:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;YAML Registries → Jinja Templates → .claude/agents/*.md&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Operatörler YAML kaynağını düzenler. &lt;code&gt;orkestra sync&lt;/code&gt; çalıştırılır. Render edilmiş Markdown &lt;code&gt;.claude/agents/&lt;/code&gt;’de görünür. Claude Code değişiklikleri alır.&lt;/p&gt;
&lt;p&gt;Bu ayrım farklı kitlelere hizmet eder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;YAML kaynağı&lt;/strong&gt;, araçlar için yaşam döngüsü meta verisini, etiketleri, doğrulama kurallarını ve kullanımdan kaldırma notlarını içerir&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Render edilmiş Markdown&lt;/strong&gt;, yalnızca modelin ihtiyaç duyduğunu içerir: açıklama, araçlar, beceriler ve davranışsal rehberlik&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hat, kimlikleri, zihniyetleri, stilleri ve becerileri tek, tutarlı bir istemde bileştirir. Bir mimar-analitik-öz ajan, bazı temel becerileri paylaşsalar bile, bir hata ayıklayıcı-şüpheci-teknik ajandan çok farklı bir sistem istemi alır.&lt;/p&gt;
&lt;h2 id=&quot;alan-bilgisi-dört-dosya-deseni&quot;&gt;Alan Bilgisi: Dört Dosya Deseni&lt;/h2&gt;
&lt;p&gt;Her bilgi alanı tutarlı bir yapıyı izler:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;domain-name/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  decisions.md      # Key choices, rationale, consequences&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  patterns.md       # Step-by-step guidance and examples&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  anti-patterns.md  # Failure modes and remediation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  evolution.md      # Dated log of changes&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bu yapı, ajan bağlam yüklemesine hizmet eder. Kimlik doğrulama üzerinde çalışan bir ajan, rehberlik için &lt;code&gt;authentication/patterns.md&lt;/code&gt;’yi ve bilinen tuzaklardan kaçınmak için &lt;code&gt;authentication/anti-patterns.md&lt;/code&gt;’ü yükler. Dosyalar verimli bağlam yüklemesi için boyutlandırılmıştır: yararlı olacak kadar odaklı, yetkili olacak kadar kapsamlı.&lt;/p&gt;
&lt;p&gt;Analitik, kimlik doğrulama, veri bilimi, altyapı, makine öğrenmesi, performans, güvenlik ve daha fazlasını içeren 21 üst düzey alan sürdürüyoruz. Her alan, daha ince ayrıntı için alt alanlara sahip olabilir.&lt;/p&gt;
&lt;h2 id=&quot;değerler-i̇şletim-sistemi&quot;&gt;Değerler: İşletim Sistemi&lt;/h2&gt;
&lt;p&gt;Tüm ajanlar, nasıl çalıştıklarını tanımlayan bir temel değerler katmanını paylaşır:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Önce sadelik.&lt;/strong&gt; İşe yarayan en basit çözümü kullanın. Karmaşıklığı yalnızca gerekçelendirildiğinde ekleyin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kök nedenleri düzeltin.&lt;/strong&gt; Başarısızlıkların etrafını asla yamalamayın. Bir pipeline başarısız olursa, pipeline’ı hata ayıklayın. Bir test başarısız olursa, kodu veya testi düzeltin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kanıta dayalı.&lt;/strong&gt; İddiaları “doğrulanmış” (kıyaslamalarla) veya “tahmin edilmiş” (varsayımlarla) olarak etiketleyin. Desen tespit edildi, sorun doğrulandı anlamına gelmez.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Bağlam ekonomisi.&lt;/strong&gt; MCP araçları bağlamın %0,1’ine mal olur. Dosya okumaları her biri %2’ye mal olur. Kodu keşfetmeden önce alan uzmanlığını uygulayın.&lt;/p&gt;
&lt;p&gt;Bu değerler, render hattı aracılığıyla her uzmana yayılır. Bir ajan bunları kompozisyonla atlayamaz.&lt;/p&gt;
&lt;h2 id=&quot;cli-kontrol-düzlemi&quot;&gt;CLI: Kontrol Düzlemi&lt;/h2&gt;
&lt;p&gt;Orkestra, ajan ekosistemini yönetmek için bir CLI ile birlikte gelir:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Discovery&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; database-architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Validation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --show-warnings&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Rendering&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --dry-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; schema-migration-workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Decisions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;authentication&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;CLI, hangi ajanların var olduğu, hangi becerilere sahip oldukları ve sistemin sağlıklı olup olmadığı konusunda tek gerçek kaynağıdır. Sorunları erken yakalamak için senkronizasyondan önce doğrulama çalıştırır.&lt;/p&gt;
&lt;h2 id=&quot;açık-kaynak-değerlendirmeleri&quot;&gt;Açık Kaynak Değerlendirmeleri&lt;/h2&gt;
&lt;p&gt;Orkestra’yı kendi sorunumuzu çözmek için inşa ettik: karmaşık bir kod tabanı için yapay zeka ajanlarını ölçekte koordine etmek. Keşfettiğimiz desenler kendi alanımıza özgü değil.&lt;/p&gt;
&lt;p&gt;Karakter kompozisyon sistemi (kimlik + zihniyet + stil), ajan kişilikleri tanımlayan herhangi bir ekibe uygulanabilir.&lt;/p&gt;
&lt;p&gt;Beceri katman sistemi (K0-K4), yeniden kullanılabilir yetkinlikleri kapsama göre düzenlemek için zihinsel bir model sağlar.&lt;/p&gt;
&lt;p&gt;Render hattı deseni (YAML kaynağı + şablonlar + üretilmiş çıktılar), araçların ve modellerin farklı kullanım ihtiyaçlarını birbirinden ayırır.&lt;/p&gt;
&lt;p&gt;Düz orkestrasyon modeli (bir koordinatör, birçok uzman), paralelliği mümkün kılarken karmaşıklıktan kaçınır.&lt;/p&gt;
&lt;p&gt;Orkestra’nın açık kaynak olup olmayacağı, bu desenlerin Claude Code ile inşa eden diğer kişiler için değeri olup olmadığına bağlıdır. Anlattığımız duvarlara çarpıyorsanız, bu mimari yardımcı olabilir.&lt;/p&gt;
&lt;h2 id=&quot;öğrendiklerimiz&quot;&gt;Öğrendiklerimiz&lt;/h2&gt;
&lt;p&gt;Orkestra’yı inşa etmek bize orkestrasyonun ajanları daha akıllı yapmakla ilgili olmadığını öğretti. Onları daha odaklı yapmakla ilgilidir.&lt;/p&gt;
&lt;p&gt;Kusursuz talimatlara sahip tek bir ajan yine de bağlamı tüketir. Tüm becerilere sahip tek bir ajan yine de hangisini uygulayacağı konusunda kafası karışır. Her şey olmaya çalışan tek bir ajan her yerde vasat sonuçlar üretir.&lt;/p&gt;
&lt;p&gt;Her biri kendi alanında mükemmel olan kırk uzman, ne zaman görev devredeceğini bilen bir orkestratör tarafından koordine edilir: işte ürünü böyle geliştirip yayınlıyoruz.&lt;/p&gt;
&lt;p&gt;Sayılar mimariden daha az önemlidir. Beş ajana ya da elli ajana ihtiyacınız olabilir. İlke aynı kalır: yetenek yerine kompozisyon, genelleme yerine uzmanlaşma, bireysel kahramanlık yerine koordinasyon.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Orkestra, kod zekası platformumuz Maguyva’nın arkasındaki ajan ekosistemine güç verir. Daha fazla bilgi edinmek mi istiyorsunuz? Ekiple iletişime geçin.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Open Source</category></item></channel></rss>