Harness engineering, bir AI ajaninin ham model ciktisini dogrudan uretime birakmak yerine, o ajanin çalışma ortamini, yetkilerini ve davranis sinirlarini tasarlayan disiplindir. Geleneksel yazılımda test harness veya CI pipeline benzeri bir rol oynar; fakat LLM tabanli ajanlarda risk profili farklidir cunku çıktı deterministik degildir ve ajan arac cagirarak dis dunyayi degistirebilir.
Harness neden zorunlu hale geldi?
2024 ve sonrasi urunlerinde ajanlar artik sadece metin uretmiyor; veritabanı sorguluyor, ticket aciyor, dosya yaziyor ve API cagiriyor. Tek bir yanlış tool çağrısı müşteri verisini silebilir veya yanlış fiyatlandirma uygulayabilir. Harness engineering bu noktada devreye girer: modelin ne yapabilecegini kod seviyesinde tanimlar, modelin ne yaptigini kaydeder ve sapmalar icin otomatik fren mekanizmalari kurar.
Uretimde en sik gorulen hatalardan biri, ajanin prompt ile sinirlandirilmaya calisilmasidir. Prompt güvenlik katmanı degildir; kullanıcı girdisi veya dolayli prompt injection ile kolayca asilir. Harness ise tool seviyesinde izin kontrolu yapar. Örneğin bir destek ajanina sadece okuma yetkisi verilen bir ticket API'si baglanir; silme endpoint'i harness registry'de hic tanimlanmaz.
Temel harness bilesenleri
- Execution sandbox: Ajan kodu veya tool cagrilari izole bir runtime'da çalışır.
- Policy engine: Her tool çağrısı oncesinde rol, tenant ve işlem tipine gore karar verir.
- Audit trail: Prompt, tool input/output ve karar gerekceleri immutable log'a yazilir.
- Rate limiter: Token, çağrı sayisi ve maliyet tavanlari uygulanir.
- Human gate: Yüksek riskli islemlerde onay kuyrugu devreye girer.
Güvenlik modeli: en az ayricalik ilkesi
Her ajan profili icin ayri bir kimlik (service account) tanimlayin. Bu kimlik yalnizca o ajanin ihtiyaç duydugu kaynaklara erisebilmeli. Monolitik bir admin token vermek, harness'in tüm faydasini sifirlar. Azure, AWS veya GCP ortamlarinda workload identity kullanarak token rotasyonunu otomatiklestirin.
Tool tanimlarinda read_only, write_scoped ve destructive gibi siniflandirmalar yapin. Destructive işlemler icin cift onay veya zaman penceresi kisitlamasi ekleyin. Örneğin gece saatlerinde toplu silme yapilmasini policy ile engelleyebilirsiniz.
interface ToolPolicy {
toolName: string;
allowedRoles: string[];
maxCallsPerMinute: number;
requiresApproval: boolean;
dataScope: "tenant" | "user" | "global";
}
function enforcePolicy(call: ToolCall, ctx: AgentContext): Decision {
const policy = registry.getPolicy(call.toolName);
if (!policy.allowedRoles.includes(ctx.role)) return deny("ROLE_DENIED");
if (ctx.callCount > policy.maxCallsPerMinute) return deny("RATE_LIMIT");
if (policy.requiresApproval) return queueForHuman(call);
return allow(call);
}
Prompt injection ve veri sizintisi
Ajan harici içerik okuyorsa — e-posta, wiki, kullanıcı yuklemesi — injection vektoru vardir. Harness tasarımında veri duzlemi ile kontrol duzlemini ayirin. Kullanıcı içeriği asla sistem talimatlarinin yerine gecmemeli. Bunu sağlamak icin mesaj rollerini katmanli tutun: system sabit, developer sabit, user degisken.
Tool ciktilarini modele geri vermeden once sanitizasyon uygulayin. PII maskeleme, HTML/script temizleme ve maksimum uzunluk kirpma standart olmali. Özellikle web scraping yapan ajanlarda donen sayfa içeriği modele gizli talimat olarak yansiyabilir.
Üretim metrikleri
Harness olmadan ajan kalitesini olcmek zordur. Asagidaki metrikleri dashboard'a tasiyin:
- Tool denial rate: Politika tarafindan reddedilen çağrı orani.
- Human escalation rate: Insan onayina dusen işlem yuzdesi.
- Mean steps to completion: Gorev basina ortalama ajan adimi.
- Cost per successful task: Başarılı gorev basina token ve API maliyeti.
- Rollback count: Yanlış işlem sonrasi geri alma sayisi.
Denial rate ani artarsa genelde prompt injection denemesi veya model davranis degisikligi vardir. Escalation rate cok dusukse politika fazla gevsek, cok yuksekse ajan verimsiz calisiyor demektir.
Hata toleransi ve geri alma
Ajanlar cok adimli planlar üretir; ara adimda hata olursa tüm zincir kirilir. Harness seviyesinde compensating transaction tasarlayin. Örneğin stok dusurulduysa ve odeme başarısız olduysa stok otomatik iade edilmeli. Her write tool icin idempotent anahtar zorunlu tutun; ayni istek tekrar geldiginde cift işlem olusmasin.
Timeout stratejisi kritiktir. Uzun suren tool cagrilari ajan dongusunu kilitler. Her çağrı icin ayri timeout, toplam gorev icin global timeout tanimlayin. Global timeout asildiginda kismi sonucu kaydedip kullanıcıya şeffaf bir hata mesaji donun.
Gozlemlenebilirlik ve debug
Her ajan oturumu icin trace ID uretin. OpenTelemetry ile LLM span'leri, tool span'leri ve policy kararlarini ayni trace altinda birlestirin. Uretimde "ajan neden yanlış cevap verdi?" sorusuna cevap verebilmek icin prompt snapshot'lari ve retrieval sonuclarini da loglayin; ancak hassas veriyi maskeleyin.
Replay mekanizmasi kurun: loglanan bir oturumu staging ortaminda ayni model surumuyle tekrar calistirin. Regresyon analizi icin bu vazgecilmezdir. Model guncellediginizde once replay seti uzerinde harness davranisini dogrulayin.
Organizasyonel olgunluk seviyeleri
Seviye 1: Prompt ile sinirlandirma, temel logging. Seviye 2: Tool registry, rol bazli erişim, rate limit. Seviye 3: Policy engine, human-in-the-loop, otomatik rollback. Seviye 4: Formal threat model, red team, sürekli eval harness entegrasyonu. Çoğu ekip Seviye 2'de takilir; üretim olaylari genelde Seviye 3 gereksinimini aciga cikarir.
Maliyet ve performans dengesi
Her policy kontrolu ve log yazimi gecikme ekler. Senkron policy icin hedef 5 ms alti tutulmali; agir kurallar async onay kuyruguna alinmali. Log hacmi buyudugunde hot storage maliyeti artar; trace ozetlerini ayri, ham prompt'lari sikistirilmis cold storage'da saklayin.
Cache stratejisi: ayni tenant ve ayni sorgu icin read-only tool sonuclarini kisa TTL ile onbellege alin. Ancak cache'in policy bypass araci olmamasina dikkat edin; tenant izolasyonu cache key'de zorunlu olmali.
Pratik devreye alma kontrol listesi
Canliya cikmadan once su senaryolari kasitli olarak test edin: yetkisiz tool çağrısı, asiri hızlı ardisik çağrı, bozuk JSON tool cevabi, injection iceren kullanıcı metni, kismi ag kesintisi. Her senaryo icin beklenen harness davranisini dokumante edin.
Harness engineering bir kerelik proje degil; yeni tool eklendikce threat model güncellenmeli. Her sprintte en az bir "ajan güvenlik incelemesi" yapin. Model degil, çalışma cercevesi güvenliği tanimlar — bu ayrim üretim AI operasyonlarinin temelidir.
Ek derinlemesine notlar
Üretim ortamlarinda bu konunun pratik etkisi çoğu zaman dokumantasyondaki teorik anlatimdan farklı seyler cikar. Ekipler ilk deploy sonrasinda gerçek trafik altinda gecikme dagiliminin staging ortamindaki tahminlerden sapabildigini görür. Bu nedenle metrikleri erken tasmak ve esik degerleri gerçek veriye gore kalibre etmek kritik oneme sahiptir.
Operasyonel olgunluk, hata oranini sifira indirmekten ziyade hatalari hızlı tespit edip sinirli etki alaniyla izole edebilmektir. Canary release, feature flag ve otomatik rollback mekanizmalarini harness ve eval katmanlariyla birlikte düşünmek gerekir. Aksi halde model veya indeks guncellemesi tüm kullanıcıları ayni anda etkiler.
Capraz fonksiyonel sahiplik de başarı icin sarttir. Platform muhendisligi altyapiyi, ML ekibi modeli, ürün ekibi deneyimi, güvenlik ekibi politika ve denetimi sahiplenmelidir. Tek bir "AI ekibi" hepsini tasimaya calistiginda bilgi silolari ve gecikmeler olusur. RFC süreci ile mimari kararlar kayıt altina alinmali; "neden RAG yerine fine-tune sectik" sorusunun cevabi alti ay sonra hala bulunabilmelidir.
Son olarak maliyet ve kalite dengesi statik degildir. Saglayici fiyatlandirmasi, yeni model aileleri ve hardware gelismeleri uc ayda bir dengeyi degistirebilir. Üretim yiginini periyodik olarak yeniden degerlendirmek — gereksiz katmanı kapatmak, cache stratejisini guncellemek, daha küçük ama yeterli modele gecmek — sürdürülebilir operasyonun parcasidir.
Operasyonel sureklilik
Canli sistemde yapılan her değişiklik icin on-ortam replay testi calistirmak regresyon riskini belirgin sekerde azaltir. Özellikle model saglayicisinin arka planda yaptigi guncellemeler, sizin release takviminizden bagimsiz olarak davranis degistirebilir; bu nedenle haftalik otomatik eval kosusu üretim kalitesinin temel guvencesi haline gelmelidir.
Ekip icinde incident post-mortem kulturu kuruldugunda harness ve eval metrikleri somut kok neden analizi sağlar. Soyut model kalitesi tartismalari yerine tool denial spike, faithfulness dususu veya latency SLO ihlali gibi ölçülebilir sinyaller uzerinden iyileştirme yapilir.