TEMSİLÎ VAKA · ÜRETİM
İş emri açma ajanının araç yetkileri
Bakım talepleri dört ayrı kanaldan geliyordu: hattan gelen çağrı butonu, üretim müdürünün e-postası, tedarikçinin yazışması ve telefonla iletilip elle yazılan notlar. Bakım planlamacısı bu taleplerden iş emri açıyor, ekipmanı eşliyor, önceliği belirliyor ve gerekiyorsa parça sorguluyordu; iş günün önemli bir bölümünü alıyor ve yoğun vardiyada mükerrer iş emirleri birikiyordu. Bu akışı bir ajana devretmek teknik olarak kolay görünüyordu ama ajanın kullanacağı araçların bir kısmı yazma yetkisi taşıyordu ve talebin metni büyük ölçüde dışarıdan geliyordu. Yani ajana verilecek her yazma yetkisi, aynı anda dışarıdan gelen metnin de yetkisi olacaktı.
Beklenen etki
- Kapsam
- Dört kanaldan gelen bakım talebi tek taslak kuyruğunda toplanıyor; yazma yetkisi yalnızca taslak oluşturmayla sınırlı
- Ölçüm
- Planlamacının taslaklarda yaptığı düzeltmeler türüne göre ayrı izleniyor
- Denetim
- Her araç çağrısı tetikleyen kaynak belgesine geri izlenebiliyor
- Sınır
- Ajanın denetim katmanına ve satın alma sürecine hiçbir yetkisi yok; onay kapısı kaldırılabilir bir ayar değil
Temsilî senaryo: buradaki satırlar ölçüm sonucu değil, bu kurulumda hangi büyüklüğün izlenmesi gerektiğini gösterir.
Bu kayıt gerçek bir müşteri işi değildir. Sinaptik Lab'in bu problemde izlediği yaklaşımı, mimari kararları ve ölçüm düzenini göstermek için yazılmış temsilî bir senaryodur: kurum adı taşımaz, içindeki hiçbir değer gerçek ölçüm değildir ve referans olarak gösterilemez. Gerçek projelerden vakalar müşteri onayı alındıkça bu kütüphaneye eklenir.
Problem
Bakım talepleri dört ayrı kanaldan geliyordu: hattan gelen çağrı butonu, üretim müdürünün e-postası, tedarikçinin yazışması ve telefonla iletilip elle yazılan notlar. Bakım planlamacısı bu taleplerden iş emri açıyor, ekipmanı eşliyor, önceliği belirliyor ve gerekiyorsa parça sorguluyordu; iş günün önemli bir bölümünü alıyor ve yoğun vardiyada mükerrer iş emirleri birikiyordu. Bu akışı bir ajana devretmek teknik olarak kolay görünüyordu ama ajanın kullanacağı araçların bir kısmı yazma yetkisi taşıyordu ve talebin metni büyük ölçüde dışarıdan geliyordu. Yani ajana verilecek her yazma yetkisi, aynı anda dışarıdan gelen metnin de yetkisi olacaktı.
Yaklaşım
Tasarımı ajanın yeteneğinden değil, yetki yüzeyinden başlattık: yazma araçlarını dar sözleşmelere indirdik, ajan yalnızca taslak iş emri oluşturabiliyor; durum değiştirme, parça rezervi ve satın alma talebi araç kümesinde hiç yer almıyor. Ajan kullanıcı adına taşınmıyor, kendi servis hesabıyla çalışıyor ve o hesabın bakım sisteminde yalnızca taslak rolü var; kullanıcı kimliğini devralan bir ajan, kullanıcının en yüksek yetkisini de devralıyor. Gelen metin araç çağrısının gerekçesi olabiliyor ama araç seçimini değiştiremiyor: hangi aracın hangi sırayla çağrılacağı istemde değil, kod tarafındaki durum makinesinde tanımlı. Her taslak planlamacı onayından geçtikten sonra gerçek iş emrine dönüyor, parasal sonuç doğuran hiçbir adım ajana bağlı değil. Her araç çağrısı; girdi, seçilen araç, argümanlar ve tetikleyen kaynak belgesiyle birlikte değiştirilemez bir günlüğe yazılıyor.
Kullanılan teknolojiler
- Dar sözleşmeli yazma araçları
- Ayrı servis kimliği ve en az yetki
- Kod tarafında araç seçim durum makinesi
- Taslak ve onay ayrımı
- Değiştirilemez araç çağrısı günlüğü
- İstem enjeksiyonu kırmızı takım kütüphanesi
Bağlam, kurulum ve ölçüm
Problem ve yaklaşım özetin üstünde; burada kararların gerekçesi ve mimarinin ayrıntısı var.
Bağlam ve kısıtlar#
Bakım planlama masası bir metin işleme masasıdır: gelen talebi okur, hangi ekipmandan bahsedildiğini çıkarır, aciliyetini üretim planına göre değerlendirir ve bir kayıt açar. İşin doğası ajana uygun görünüyordu. Sorun, kaydın açıldığı sistemin aynı zamanda bakım bütçesini, parça hareketlerini ve teknisyen atamalarını taşıyan sistem olmasıydı.
Asıl kısıt girdinin kaynağıydı. Taleplerin bir bölümü kurum dışından geliyordu: tedarikçi yazışmaları, servis raporları, ekli belgeler. Bu metinler güvenilmeyen içerik sınıfındadır ve ajanın araç kümesi ne kadar geniş olursa, o metnin dolaylı olarak elde ettiği yetki de o kadar geniş olur. Tasarımın çıkış noktası bu denklem oldu.
Veri ve erişim#
Erişim iki yönde ayrıldı: ajanın okuyabildiği şeyler ile yazabildiği şeyler aynı kümede değil. Okuma tarafı geniş, çünkü doğru ekipmanı eşlemek için varlık hiyerarşisini ve geçmiş iş emirlerini görmesi gerekiyor. Yazma tarafı ise tek bir işleme indirildi. Bu asimetri bilinçli: okuma hatası bir öneri hatasıdır, yazma hatası bir kayıt hatasıdır.
- Gelen talep kanalları: çağrı sistemi, e-posta, yazışma ve elle girilen notlar; hepsi güvenilmeyen içerik olarak etiketli
- Varlık hiyerarşisi ve ekipman kimlikleri: yalnızca okuma, eşleme için kanonik kaynak
- Geçmiş iş emirleri: yalnızca okuma, mükerrerlik kontrolü ve benzer talep tespiti için
- Yedek parça stok durumu: yalnızca sorgu; rezerv ve sipariş araçları ajana hiç tanımlanmadı
- Taslak iş emri oluşturma: ajanın tek yazma yetkisi, dar sözleşmeli ve alan kümesi sabit
- Araç çağrısı günlüğü: değiştirilemez, kaynak belge kimliğiyle birlikte saklanıyor
Mimari kararlar#
Ajan güvenliğinde kararların çoğu modelin davranışını iyileştirmekle değil, yanlış davrandığında yapabileceği en kötü şeyi küçültmekle ilgili. Aşağıdaki tablo bu küçültmenin nerelerden geçtiğini kaydeder.
| Karar | Seçilen yol | Neden |
|---|---|---|
| Araç sınırı | Yalnızca taslak oluşturma; güncelleme, durum değiştirme, rezerv ve sipariş yok | Yetki genişliği doğrudan istem enjeksiyonunun etki alanı |
| Kimlik | Ajan kendi servis hesabıyla, kullanıcı adına taşınmadan | Kullanıcı kimliğini devralan ajan, kullanıcının en yüksek yetkisini de devralıyor |
| Araç seçimi | İstemde değil, kod tarafındaki durum makinesinde | Gelen metin gerekçe olabilir ama hangi aracın çağrılacağını belirlememeli |
| Onay kapısı | Taslak, planlamacı onayı, sonra gerçek iş emri | Parasal ve operasyonel sonuç doğuran adım insan imzasında kalmalı |
| Bütçe | Oturum başına araç çağrısı ve ekipman başına günlük taslak sınırı | Döngüye giren ajan, dar yetkiyle bile kuyruk doldurarak zarar veriyor |
| Denetim | Girdi, seçilen araç, argümanlar ve tetikleyen kaynak belgesi değiştirilemez günlüğe | Enjeksiyon ancak kaynak paragrafa geri izlenerek anlaşılıyor |
Güvenlik ve yetki#
Ölçüm düzeni#
- Düzeltme türü dağılımı: ekipman eşlemesi yanlış, öncelik yanlış, mükerrer veya talep yanlış anlaşılmış
- Yetki reddi sayısı: ajanın tanımsız bir araca ya da sözleşme dışı alana ulaşma denemeleri ayrı izleniyor
- Kırmızı takım kapısı: bilinen enjeksiyon desenlerinden oluşan set her sürümde yeniden koşuyor ve geçmeden yayım yapılmıyor
- Bütçe aşımı olayları: oturum başına çağrı sınırına dayanan ajan oturumları kayda geçiyor
- Mükerrer taslak tespiti: aynı ekipmana kısa aralıkta açılan taslaklar işaretlenip planlamacıya birlikte gösteriliyor
- Günlük incelemesi: araç çağrısı günlüğünün bir örneklemi haftalık olarak kaynak belgeyle birlikte okunuyor
Devreye alma ve işletme#
- 1Yalnızca okuma modu
Ajan hiçbir şey yazmadı; talebi okuyup ekipman eşlemesi ve öncelik önerisini panelde gösterdi.
- 2Kırmızı takım seti
Gelen kanallardan toplanan gerçek metinler ve bilinen enjeksiyon desenleriyle bir sürüm kapısı kuruldu.
- 3Taslak yazma
Tek yazma aracı açıldı; her taslak zorunlu onaydan geçti ve onaylanmayanlar ayrı kuyrukta tutuldu.
- 4Günlük denetimi
Araç çağrısı günlüğü düzenli incelemeye alındı; ilk gerçek enjeksiyon denemesi bu incelemede görüldü.
Nerede yanıldık#
Tehlikeyi yanlış yerde aradık. Silme ve sipariş gibi gürültülü işlemleri baştan kapatmıştık, ama ajanın var olan bir taslağı güncelleme yetkisi duruyordu ve bunu zararsız saymıştık. Gelen bir yazışmanın içindeki talimat benzeri metin, mevcut bir taslağın açıklamasını değiştirdi; kayıt hâlâ oradaydı, alanlar değişmişti, kimse bir şey fark etmedi. Bu olaydan sonra güncelleme yetkisini tamamen kaldırdık ve daha önemlisi, araç seçimini istemden alıp kod tarafındaki durum makinesine taşıdık. İstem içinde kurduğumuz talimat ve veri ayrımının, yetki tasarımının yerini tutmadığını böyle öğrendik.
Bir sonraki projede ne değişir?
Bir vakanın en değerli bölümü sonuç değil, tekrar edilebilir dersidir.
- 01
En tehlikeli yetki silme değil, sessiz güncelleme oldu. Ajanın var olan taslağı güncelleme yetkisi vardı; gelen bir metin mevcut bir kaydın açıklamasını değiştirdi ve kimse fark etmedi. Güncelleme kaldırıldı, ajan yalnızca yeni taslak oluşturuyor.
- 02
İstem içinde "bu bölüm kullanıcı talimatı, bu bölüm veri" demek yeterli bir sınır değil. Araç seçimini istemden alıp kod tarafındaki durum makinesine taşımak, enjeksiyonun etki alanını gerçekten daralttı.
- 03
Ajanı kullanıcı adına çalıştırmak en kolay kimlik çözümü ve en geniş yetki hatası. Ayrı servis hesabı, ajanın yapabileceği en kötü şeyi tek bir rol tanımına indirdi.
- 04
Araç çağrısı bütçesi bir maliyet önlemi değil, güvenlik önlemi. Döngüye giren bir ajan, yetkisi dar olsa bile bakım sistemini çöp taslakla doldurup planlamacının işini bitirebiliyor.
- 05
Enjeksiyon denemesi sonradan ancak kaynak belgeye geri izlenerek anlaşılıyor. Araç çağrısını hangi paragrafın tetiklediğini kaydetmemiş olsaydık, ilk olayı hiç göremezdik.
Vaka kütüphanesinden
- EğitimDers materyali üretiminde telif ve kaynak zinciriBir eğitim içeriği ekibinin slayt, çalışma kâğıdı ve ders notu arşivi yıllar içinde karışık kaynaklardan büyümüştü: internetten alınmış görseller, yabancı kitaplardan çevrilmiş paragraflar, farklı lisanslarla dolaşan açık ders materyalleri. Bir hak sahibi itiraz ettiğinde hangi paragrafın nereden geldiğini kimse söyleyemiyor; arama dosya adına ve ekip hafızasına kalıyordu. Model destekli üretim devreye girdikten sonra bu belirsizlik büyüdü, çünkü üretilen metnin dayandığı kaynak hiçbir yerde yazılı olmuyordu. Ekipte yaygın olan eğitim amaçlı kullanım serbesttir varsayımı da hiç denetlenmemiş bir varsayımdı.
- EğitimÖdeve biçimlendirici geri bildirim üretimiBir özel okul grubunda dil ve sosyal bilimler öğretmenleri her hafta çok sayıda yazılı ödev okuyordu; not zamanında giriliyordu ama öğrenciye dönen şey bir puan ile kısa bir genel yorumdu. Hangi öğrencinin hangi rubrik ölçütünde tekrar tekrar zorlandığı hiçbir yerde toplu olarak durmuyordu; öğretmen bunu kendi defterindeki izlenimden hatırlıyordu. Geri bildirim yazma işi mesai dışına taştığı için dönem başındaki ödevlerde ayrıntılı, dönem sonuna doğru tek cümleye inen bir kalite farkı oluşuyordu. Velinin gördüğü tabloda puan vardı, gerekçe yoktu.
- EğitimÖğrenci risk modelinde etik sınırlarBir yükseköğretim kurumunda akademik danışmanlar, dersi bırakma ya da kayıt yenilememe riski taşıyan öğrencilere ulaşmayı sezgiyle yapıyordu: yokluğu fark edilen öğrenciye yazılıyor, fark edilmeyen kimseye görünmüyordu. Devam bilgisi, ödev teslimleri ve öğrenme yönetim sistemi hareketleri ayrı sistemlerde durduğu için kimse bunları tek bir öğrenci için yan yana koymuyordu. Danışmanın haftada yapabileceği görüşme sayısı sınırlıydı ama bu sınırın kime harcandığı hiçbir kayıtta yoktu. Risk modeli gündeme geldiğinde ilk itiraz teknik değildi: skor öğrenciye yapışan bir etikete dönerse ne olacağı soruldu.
BUILD
Aynı yaklaşımı kurumunuzda kurmak ister misiniz?
Discovery oturumunda mevcut durumunuzu, veri erişiminizi ve başarı tanımınızı birlikte yazıyoruz.
