Mimari kata · K—09
Yönetişimli GenAI Veri Ajanları ve LLM Değerlendirme
Mimari kata · kurgusal bir problem tanımı üzerine tasarım çalışması
- Sektör
- Kurumsal analitik ve yapay zekâ yönetişimi
- Teknolojiler
- LangGraph, LiteLLM, vLLM, OpenMetadata, Open Policy Agent, PostgreSQL, pgvector, Apache Iceberg, Langfuse, Flowable, Apache APISIX, Keycloak

Kısaca
Üç kurumsal ajan yalnızca sertifikalı metriklere, sözleşmeli veriye ve izinli belgelere dokunur; cevaplar izlenir, sürümler kapıdan geçer.
Problem
8.000 ofis çalışanı olan bir perakende ve tüketici ürünleri şirketi, ambarı üzerinde iki pilot sohbet botu çalıştırdı. Biri yönetim kurulu sunumuna yanlış bir ciro rakamı verdi. Diğeri bir tedarikçi sözleşmesinin özetini yanlış ekibe sızdırdı. CIO, ajanlar güvenle yayına alınabilene kadar tüm GenAI sürümlerini dondurdu. Şart: yalnızca yönetilen veri ve izlenebilir cevaplar. Her sürümden önce ölçülebilir bir değerlendirme gerekiyor. Altı ay sonra bir denetçiye cevabın nasıl üretildiği gösterilebilmeli. Kapsamda üç ajan var: bir analitik asistan, bir veri onboarding ajanı ve yeniden sipariş gibi eylemleri taslak olarak hazırlayan bir operasyon ajanı.
Yaklaşım
İki olayın kök nedeni aynı: pilotlar yönetilmeyen tablolara ham SQL yazdı ve belgeleri kendi servis hesabıyla okudu. Tasarım daha iyi bir model seçmek yerine ajanın dokunabildiği yüzeyi daraltıyor. Ajanlar şema doğrulamalı üç araç yüzeyini çağırıyor ve kimlik kullanıcıyla birlikte taşınıyor. İzsiz cevap yayınlanmıyor ve bir sürüm, CI’daki bir politika dosyasıyla kapıdan geçiyor.
Mimari
- Kimlik: APISIX ve Keycloak imzalı bir kullanıcı iddiası üretiyor ve her araç çağrısına iletiyor.
- Ajanlar: ajan başına araç izin listesi olan bir LangGraph çalışma zamanı. LiteLLM geçidi iki ticari sağlayıcıyı ve yerinde bir vLLM modelini tek arayüzde sunuyor.
- Araç yüzeyleri: sertifikalı tanımlar ve kullanıcıya göre politikası olan bir metrik API’si. OpenMetadata’da sözleşmeli veri ürünleri. Sıralamadan önce erişim hakkına göre süzen bir belge deposu.
- Karar noktası: bir Open Policy Agent sidecar’ı her araçta ajan, kullanıcı ve kaynak kararını veriyor.
- Kanıt: cevap, kanıt kümesi, araç çıktısı özetleri ile prompt ve model sürümü, bir outbox satırıyla aynı işlemde PostgreSQL’e yazılıyor; ardından iki yıl Iceberg’de arşivleniyor.
- Onaylar: Flowable her eylemi kimin onayladığını kaydediyor ve geri almayı destekliyor.

Neden bu bileşenler
| İhtiyaç | Seçim | Neden |
|---|---|---|
| API geçidi ve kimlik | Apache APISIX ve Keycloak | OpenID Connect ile giriş, ardından her ajan ve araç çağrısıyla taşınan kısa ömürlü, imzalı bir kullanıcı iddiası. Kullanıcı başına hız sınırı ve denetim günlüğü. Kong OSS açık sürümden özellik çıkardığı için APISIX. |
| Ajan çalışma zamanı | Kubernetes üzerinde LangGraph | Ajan adımları açık bir graf. Araç çağrıları JSON şemayla doğrulanıyor, ajan başına araç izin listesi Git’ten geliyor, her adım bir span üretiyor. Bedrock Agents gibi yönetilen çerçeveler araç yüzeyini ve iz biçimini gizliyor. |
| Model geçidi | LiteLLM | İki sağlayıcı ve vLLM tek, OpenAI uyumlu arayüzde. Sağlayıcı anahtarları yalnızca burada; ekip başına kota, ajan başına yönlendirme, maliyet etiketleri. Kısıtlı belgeler yalnızca vLLM’e gidiyor. MIT çekirdek yeterli. |
| Açık ağırlıklı model servisi | vLLM ve Apache 2.0 lisanslı 32B model | Tensor paralelliği iki olan iki replika, tahmini saniyede yaklaşık 1.760 token’lık tepeyi karşılıyor. Hassas belge sınıfları ve maliyet için yerinde yol. Llama topluluk lisansı OSI onaylı değil. |
| Metrik API’si | Dataform ile üretilen sertifikalı tanımlar ve ince bir servis | Ajan metrik kimliği ve filtre seçiyor; SQL’i katman derliyor, kullanıcının satır ve sütun politikasını uyguluyor. Yanlış ciro rakamının kaynağı serbest text-to-SQL’di; tasarım gereği kapalı. |
| Katalog ve veri ürünleri | OpenMetadata | Ajana yalnızca şema, sahip, SLA ve politika sözleşmesi olan ürünler görünüyor; soy ağacı ve sahip kanıta giriyor. DataHub da Apache 2.0; OpenMetadata’nın sözleşme ve politika modeli daha doğrudan. |
| Erişim için belge deposu | PostgreSQL ve pgvector, OpenSearch | Belge başına erişim listesi ve sınıf etiketi belge yönetim sisteminden geliyor. Yetki süzgeci vektör sıralamasından önce çalışıyor; model yetkisiz parçayı hiç görmüyor. Elasticsearch lisans değişikliği nedeniyle OpenSearch. |
| Politika kararı | Sidecar olarak Open Policy Agent | Her araç servisinde ajan, kullanıcı ve kaynak için karar veriyor. İzin listeleri ve sınıf politikaları Git’te sürümlü paketler; her ret sayılıyor. Politika prompt’ta değil, veride uygulanıyor. |
| Kanıt deposu ve arşiv | Kendi PostgreSQL kanıt depomuz, outbox, Debezium, iki yıl Apache Iceberg | Kanıt satırı ve outbox satırı tek işlemde; cevap ancak commit sonrası serbest kalıyor. Langfuse v3, ClickHouse deposu ve asenkron alımı nedeniyle outbox alamıyor; kanıt bu yüzden ayrı duruyor. |
| LLM gözlemlenebilirliği | Langfuse v3; ClickHouse, Valkey ve blob depolama | Span, gecikme, token ve değerlendirme puanları; yalnızca gözlemlenebilirlik için asenkron alınıyor. Redis 7.4 lisansı nedeniyle Valkey. Arize Phoenix, Elastic 2.0 lisansı nedeniyle elendi. |
| Değerlendirme platformu | Kendi CI koşucularımız, Langfuse değerlendirmeleri, Git’te politika dosyası | Ajan başına altın set, araç sırası puanı, injection ve sızdırma süitleri, sağlayıcı tolerans testi. Eşikler sürümlü bir politika dosyasında. LangSmith gibi ticari değerlendirme servisleri elendi. |
| Onay akışı | Flowable (BPMN) | Yan etkisi olan her eylem bir insan görevi; kim neyi ne zaman onayladı ve geri alma kaydı tutuluyor. Onay hiçbir zaman kendiliğinden yürümüyor. Camunda 8 kaynak-erişimli lisansa geçtiği için elendi. |
| Deterministik üretim | Cloud Composer ve Dataform | Onboarding ajanı tasarım anında kod ve sözleşme taslağı çıkarıyor; bir insan inceleyip birleştiriyor. Composer birleşen kodu LLM’siz çalıştırıyor. Zaten mevcut bir platform bileşeni olduğu için seçildi. |
| Yönetişim kaydı ve maliyet | PostgreSQL ve küçük bir arayüz, LiteLLM etiketleri, Grafana | Ajan, risk sınıfı, sahip, değerlendirme durumu, izinli modeller, olaylar ve AB Yapay Zekâ Yasası yükümlülükleri. Kayıt, sürümün ön koşulu. Ajan ve ekip başına günlük maliyet LiteLLM etiketlerinden. |
Kararlar ve ödünleşimler
- Hiç ham SQL aracı yok. Yönetim kurulu sunumundaki yanlış ciro rakamı, yönetilmeyen bir tabloya sorgu uyduran bir modelden geldi. Artık ajan metrik ve filtre seçiyor, SQL’i katman derliyor. Bilinmeyen metrik şema doğrulamasında düşüyor: ajan “tanımlı değil” diyor ve talebi kaydediyor. Daha iyi bir model yanlış rakamı çözmez; daha dar bir yüzey çözer. Bedeli, sertifikalı metriklerle sınırlı kapsam.
- Ajanın servis hesabı yok. Sözleşme özeti, ajanın sorandan fazla yetkisi olduğu için sızdı. Artık imzalı kullanıcı iddiasını çalışma zamanı, araçlar ve politika kararı doğruluyor. Cevaplar kullanıcılar arasında önbelleklenmiyor. Bedeli: ajan, kullanıcının kendi başına sorgulayamayacağı veride hiçbir zaman yardım edemez.
- Kanıtsız cevap yok. Kanıt satırı ve bir outbox satırı tek PostgreSQL işleminde yazılıyor; cevap ancak commit sonrası serbest kalıyor. Yeniden oynatma cevabı saklanan araç çıktılarından kuruyor, modeli tekrar çağırmıyor. Garanti “aynı kanıt, aynı kurulum”; “model bugün de aynısını söyler” değil. Bedeli, Langfuse’un yanında kendi kanıt depomu işletmek.
- Tasarım anı ile çalışma anı ayrı. LLM boru hattı kodu ve sözleşme taslağı çıkarabiliyor, birleştirmeyi bir insan yapıyor. Üretimdeki boru hatları LLM olmadan çalışıyor; aynı girdi aynı çıktıyı veriyor. Operasyon ajanı yalnızca taslak üretiyor; Flowable insan onayını kaydediyor. Bedeli, her değişiklikte bir inceleme adımı.
- Değerlendirme kapısı. Her ajan 300 soruluk altın set, araç sırası kontrolü, 200 injection vakası, 100 sızdırma vakası ve bir sağlayıcı tolerans testinden geçiyor. Eşikler sürümlü bir dosyada; regresyon boru hattını durduruyor, “bu seferlik” yok. Bedeli, kata tahminine göre koşu başına yaklaşık 20 dakika ve setleri güncel tutmak.
- Tek model geçidi, hedef olarak taşınabilirlik. Sırlar, kotalar ve maliyet etiketleri LiteLLM’de; sağlayıcı değişimi bir yönlendirme değişikliği. Değişim altın doğruluğu 2 puandan ya da araç sırası uyumunu %5’ten fazla düşürürse ajan mevcut modelde kalıyor. Kısıtlı belgeler yalnızca yerindeki modele gidebiliyor. Bedeli, her çağrının geçmek zorunda olduğu bir geçit.

Yeniden ele alacaklarım
- Metrik kapsamı. 400 sertifikalı metrik varsaydım. Soruların ne kadarı bunların dışında kalıyor; talepleri kim, ne kadar sürede işliyor?
- Belge etiketleri. Belge yönetim sistemindeki erişim listeleri ve sınıflar güvenilir mi? Etiketsiz belgeler varsayılan olarak dışarıda kalıyor.
- Sağlayıcı sözleşmeleri. Hangi veri sınıfları dış sağlayıcıya gidebilir; takma adlaştırma etki değerlendirmesi için yeterli mi?
- Tolerans eşikleri. 2 puan ve %5 varsaydım. İş sahipleri bunları kabul ediyor mu, yoksa her ajan kendi eşiğini mi istiyor?
Sonuç notları (tasarım varsayımları, ölçüm değil)
Bu bir tasarım çalışmasıdır, çalışan bir ajan platformu değildir. Çıktı: dört sayfalık diyagram seti, tek sayfalık beyaz tahta sürümü ve 16 sayfalık Türkçe PDF. PDF’te bir yapay zekâ yönetişim kaydı ve AB Yapay Zekâ Yasası eşlemesi var. Tolerans eşikleri (altın doğrulukta 2 puan, trajectory’de %5) iş sahiplerinin onayını bekleyen varsayımlardır.
Kaynaklar
- Mimari PDF (Türkçe, 16 sayfa).
- draw.io diyagramları (İngilizce etiketler): dört sayfalık set ve 30 dakikalık tek sayfa sürüm.
İlgili yazılar
Blog
Olgunluk skorumu neden düşürdüm
ahmetkalafat.com
Blog
GenAI Uygulamasını Canlıya Alma: Demo Çalışıyor, Peki Sonra?
ahmetkalafat.com
Bu konudaki gerçek projeler
P—03
Sürüyor
Öne çıkan
Sözleşme Odaklı Veri Platformu: GenAI Destekli Kaynak Ekleme
Yeni veri kaynakları doğrulanmış YAML sözleşmeleriyle eklenir; LLM ajanları yalnız tasarım aşamasında çalışır, üretim deterministik kalır.
Rol
Mimari ve uygulamalı geliştirme · Veri Çözüm Mimarı
P—04
Tamamlandı
Moda için Rekabet İstihbaratı ve GenAI Trend Platformu
20+ marka ve ~95 pazarda rakip fiyat, stok ve renk verisi, LLM ile normalize ediliyor: fiyatlama ve ürün çeşitliliği kararları 1 haftadan 1 güne indi.
Rol
Tasarım ve geliştirme · Veri Çözüm Mimarı