İş yerinde bir arkadaşım bana önemsiz bir soru sordu ve ben de bir ajanın son sohbetlerimi ve belgelerimi araştırmasını sağladım. Doğru cevabı buldu ama bu bana 38$!!!'a mal oldu. Bu kötü bir yatırım getirisine (ROI) işaret ediyordu. Evet, zamanım değerli olabilir ama o zamanı gerçekten harcamazdım ve bu görev pahalı planlama yeteneklerine ihtiyaç duymuyordu.
Daha iyisini yapabiliriz.
Google Cloud'un Gemini Enterprise Agent Platform'u, Google, Anthropic ve hatta xAI'nin önde gelen modelleri dahil olmak üzere birçok üst düzey modele kolay API erişimi sunan Model Garden'ı içeriyor. Aslında Huggingface'deki her model kendi başınıza dağıtmak için kullanılabilir, ancak bu makalede Anthropic'in yeni Claude Fable 5.1'i ve Google'ın yeni Gemini 3.8 Flash'ına odaklanacağız. Geliştiriciler artık aynı kurumsal API yüzeyinin arkasında farklı şekillere sahip iki sınır modeli (frontier model) ile karşı karşıya.
Fable 5.1, Mythos sınıfı otonom planlama, 1 milyon token'lık bağlam penceresi ve derin çok adımlı titizlik getiriyor. Gemini 3.8 Flash ise ayarlanabilir düşünme kontrolleriyle birlikte, Flash ekonomisinde ($0.75 / milyon girdi tokeni, $3.75 / milyon çıktı tokeni) neredeyse sınır seviyesinde akıl yürütme ve inanılmaz token hızı sunuyor.
Birini seçip her şeyi onun üzerinden yönlendirmek kolay görünebilir. Bu bir hatadır.
Sıradan geliştirici işlerini derin bir planlayıcıdan geçirirseniz, git diff'lerini ayrıştırmak için sınır token ücretleri ödemiş olursunuz. Eğer hızlı bir modeli, resmi bir plan olmadan geri dönüşü olmayan bir veritabanı geçişini ele almaya zorlarsanız, kahvenizi bitirmeden önce durumu bozarak ilerlemeye çalışacaktır.
2 model kullanarak ve görevleri yönlendirerek "tokenomics" (token ekonomisi) açısından büyük iyileştirmeler elde etmek oldukça basittir.

Alan Blount tarafından (@zeroasterisk
İşte sizi oraya götürecek tam rehber:
- Her iki modeli de tek bir birleşik yönetim düzlemi arkasında yapılandırın.
- Varsayılan bir model seçmeden önce rutin görevleri kıyaslayın (benchmark).
- Hızlı modeli ön saflardaki koordinatör olarak kullanın; daha fazla güce ihtiyacınız olduğunu bildiğinizde veya hızlı modelin yükseltme (escalation) yapması gerektiğinde derin planlayıcıyı kullanın.
- Görev ROI'si ve tokenlarınızın değeri (sadece maliyeti değil) üzerine zihinsel bir model oluşturun.
1. Her iki modeli de tek bir birleşik yönetim düzlemi arkasında yapılandırın
LLM çıkarım platformunuzu seçmek; maliyet, kapasite, güvenlik, model seçimi, servis özellikleri, geliştirici sürtünmesi ve daha fazla güvenlik (API anahtarları risklidir) gibi birçok tasarım kararı üzerinde düşünmeyi gerektirir. Gemini Enterprise Agent Platform (eski adıyla Vertex AI), benzersiz yeteneklere sahip kapsamlı bir seçenektir ve hem Gemini hem de Anthropic modellerini yönetilen API'ler olarak sunduğu için, tek bir güvenli kimlik doğrulama her iki iş yükünü de kapsar.
Ama dürüst olalım, bazı süreçler benim istediğimden daha fazla sürtünmeye sahip. "İmkansız şeyler kolaydır, ama kolay şeyler zordur" diye şaka yapmayı severim. Bu yazıyı yazmamın bir nedeni de bu.
Modellerle uğraşmadan önce, gcloud'a giriş yapın ve varyasyonlar için dokümanları okuyun.
1gcloud auth application-default login
Claude Fable 5.1'e erişmek için API'yi etkinleştirmeniz, ardından Claude Fable 5.1'i etkinleştirmeniz ve kullanım senaryonuz hakkında çok kısa bir form doldurmanız gerekir. Ama henüz bitmedi.
Şimdi Fable, Google Cloud'un İleri Düzey Yapay Zeka Güvenliği Ek Maddesi kapsamındadır. aiplatform.googleapis.com adresine tek bir prompt bile göndermeden önce, proje düzeyinde prompt-yönt yanıtı paylaşımını açıkça yapılandırmanız ve yayıncı koşullarını kabul etmeniz gerekir.
İşte küresel uç nokta için kesin çalışan talimatlar; varyasyonlar için dokümanları okuyun.
Önce bize yardımcı olacak birkaç değişken tanımlayalım. URL yolundaki model adı noktalar yerine tirelerle claude-fable-5-1 şeklindedir; proje kimliğinizi ve konumunuzu girdiğinizden emin olun, ardından bölgenize bağlı olarak uç noktanızı değiştirebilirsiniz:
1export PROJECT_ID="YOUR_PROJECT_ID"2export LOCATION="global"3export MODEL="claude-fable-5-1"45# Global endpoint: aiplatform.googleapis.com (recommended)6# Multi-Regional endpoints: aiplatform.eu.rep.googleapis.com7# Regional endpoints: us-central1-aiplatform.googleapis.com8export ENDPOINT="https://aiplatform.googleapis.com"
Sonra, dataSharingEnabledProvider değerini ANTHROPIC olarak ayarlayan setPublisherModelConfig API'sini çağırın - bunun tamamen büyük harfler olduğuna dikkat edin:
1curl -X POST \2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \3 -H "Content-Type: application/json; charset=utf-8" \4 -d '{ "publisherModelConfig": { "dataSharingEnabledProvider": "ANTHROPIC" } }' \5"${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL}:setPublisherModelConfig"
İlk çağrı, veri paylaşımının aktif olduğunu onaylayan tamamlanmış bir işlem nesnesi döndürür:
1{2 "name": "projects/YOUR_PROJECT_NUMBER/locations/global/operations/1234567",3 "metadata": {4 "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.SetPublisherModelConfigOperationMetadata",5 "genericMetadata": {6 "createTime": "...",7 "updateTime": "..."8 }9 },10 "done": true,11 "response": {12 "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.PublisherModelConfig",13 "loggingConfig": {},14 "dataSharingEnabledProvider": "ANTHROPIC"15 }16}
Bunu zaten yaptıysanız, bu ayarın zaten mevcut olduğu anlamına gelen HTTP 409 hatası alırsınız:
1409 ALREADY_EXISTS: The same PublisherModelConfig already exists.
Bu 409 hatası hiç sorun değildir.
Modele erişiminizi test edin ve bir yanıt almalısınız:
1curl -X POST \2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \3 -H "Content-Type: application/json; charset=utf-8" \4 -d '{"anthropic_version": "vertex-2023-10-16","messages": [{"role": "user", "content": "Hello world."}], "max_tokens": 1024, "stream": true}' \5"${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL}:streamRawPredict"
Eğer bunu doğru yapmadıysanız, şu şekilde görünen bir HTTP 403 hatası alırsınız:
1403 PERMISSION_DENIED: Access to this model requires data sharing to be enabled for publisher 'anthropic'. Please set `PublisherModelConfig.data_sharing_enabled_provider`2to 'anthropic' via the setPublisherModelConfig API to use this model.
Gemini 3.8 Flash'a erişmek için, onu model kartında etkin olarak gördüğünüzden emin olun ve sadece çalışması gerekir:
1curl -X POST \2 -H "Authorization: Bearer $(gcloud auth print-access-token)" \3 -H "Content-Type: application/json; charset=utf-8" \4 -d '{"contents": [{"role": "user", "parts": [{"text": "Hello world"}]}],"generationConfig": {"thinkingConfig": {"thinkingLevel": "LOW"}}}' \5"${ENDPOINT}/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/gemini-3.8-flash:streamGenerateContent"
… ohoo. Başardık 🎉!
Daha fazla kota mı gerekiyor? Herhangi bir model için kotayı yönetebilirsiniz ve bazı modeller için sağlanmış aktarım hızı satın alabilirsiniz.
2. Kıyaslama Sonuçlarına Güvenmeyin, Kendi Testlerinizi Yapın
Beş mühendise bir ajan kurulumu için hangi modeli kullanmaları gerektiğini sorarsanız, Twitter'daki genel kanılar ve sentetik liderlik tablolarına dayanan beşten fazla çelişkili görüş alırsınız.
Genel kıyaslama sonuçları harika bir kaynak sunar, ancak bunlar izole promptları veya giderek artan şekilde boşlukta (bağlamdan kopuk) test edilen görevleri ölçer. Üretim ortamları veya yerel ajantik SDLC ajanlarınız, genel kıyaslama sonuçlarıyla asla mükemmel bir eşleşme göstermez. İşiniz, bugünkü herhangi bir kıyaslamadan farklı şekillenmiştir.
Yani kendi kıyaslama sonuçlarınızı oluşturabilirsiniz (Agent Ops ve Evals FTW!) ve bunu ölçekli otomatikleştirebilirsiniz ya da sadece kendi basit görevlerinizi yan yana çalıştırabilirsiniz. Görevinizdeki dosyaları değiştirmediğiniz sürece sorun yaşamazsınız ve neredeyse hiç çaba harcamadan görevler hakkında bir fikir edinebilirsiniz.
İşte promptfoo kullanarak opencode'u her modelle aynı 2 görevi yapmak için yönlendiren bir örnek. Bunun çalışması için görev açıklamasını değiştirmeniz ve ortamınızı kurmanız gerekir, ama çok zor olmamalı.

GIF
1# opencode.json2{3 "$schema": "https://opencode.ai/config.json",4 "provider": {5 "google-vertex": {6 "options": { "project": "alanblount-demo", "location": "global" },7 "models": {8 "gemini-3.8-flash": { "id": "gemini-3.8-flash", "name": "Gemini 3.8 Flash" }9 }10 },11 "google-vertex-anthropic": {12 "options": { "project": "alanblount-demo", "location": "global" },13 "models": {14 "claude-fable-5-1": { "id": "claude-fable-5-1", "name": "Claude Fable 5.1" }15 }16 }17 },18...
Promptfoo'yu yalnızca tekil promptları ve modelleri değil, opencode ajan görev yürütmelerini karşılaştıracak şekilde yapılandırın.
1# promptfooconfig.yaml2description: "Benchmarking OpenCode Agent Harness: Gemini 3.8 Flash vs. Claude Fable 5.1"34prompts:5 - "Summarize git branch status in one sentence."6 - "Design a zero-downtime database migration strategy from Postgres to Spanner."78providers:9 - id: "exec:opencode run --auto -m google-vertex/gemini-3.8-flash"10 label: "Gemini 3.8 Flash (OpenCode Agent)"11 - id: "exec:opencode run --auto -m google-vertex-anthropic/claude-fable-5-1"12 label: "Claude Fable 5.1 (OpenCode Agent)"1314defaultTest:15 options:16 timeoutMs: 60000
Promptfoo kullanarak kendi yan yana karşılaştırmanızı çalıştırın:
promptfoo eval -c promptfooconfig.yaml --no-cache
Temiz oda (cleanroom) geliştirme konteynerinde bu değerlendirmeyi çalıştırdığımda aldığım sonuçlar şunlar:

Bir PR dalını kontrol ederken, Claude Fable 5.1, değişmeyen ağaç hash'lerini tekrar tekrar inceleyerek birden fazla tur meta-öz yansıma gerçekleştirdi. Neredeyse 6 saniye sürdü ve 23 kat daha fazla maliyete neden oldu. Gemini 3.8 Flash niyeti anında tanıdı, git araçlarını tetikledi ve onda bir sentten daha az bir maliyetle 1.1 saniyede yanıt verdi.
Karmaşık veritabanı geçişinde tablo tersine döndü. Gemini 3.8 Flash, 3 saniyede sağlam, temiz ve doğrusal bir sıra üretti. Ancak Fable 5.1, 12 saniye harcayarak eksiksiz, resmi bir yönlü çevrimsiz graf (DAG) oluşturdu. Çift yazmalardaki saat kayması risklerini belirledi, idempotens anahtarı gereksinimlerini üretti ve geri alınabilir bir geri alma kapısı tanımladı.
Bu sadece bir gösterim örneğidir, kendi görevlerinizle karşılaştırma yapmalısınız.
3. Günlük Kullanım ve Üretim Ortamında Pratik Kullanım
Hazır kodlama araçlarını mı kullanıyorsunuz yoksa özel ajan hizmetleri mi inşa ediyorsunuz, kazanan desen asimetrik koordinasyondur: Ön saflardaki icra için ucuz hız, mimari kontrol noktaları için ise kasıtlı derinlik. Pahalı tokenları zorlu problemlere veya planlama işlerine harcayın, ancak daha basit görevler için varsayılan olarak daha ucuz tokenları tercih edin.
Kodlama Ajan Iskeletleri (OpenCode, Aider vb.)
Tek bir modeli evrensel varsayılanınız olmaya zorlamayın. Farklı modellere eşlenmiş uzmanlaşmış alt ajanları yapılandırın. Aynı birleşik sağlayıcıyı kullanmak güvenlik ve maliyet avantajları sağlar. Farklı model ailelerini kullanmak, birbirlerini denetlemeleri açısından faydalı olabilir.
Derin düşünür ajanını, bu sorunun kök nedenini belirlemek ve bir çözüm planlamak için kullanın, ardından işçi ajanını her bir görevi ele almak ve durum raporu vermek için kullanın. Derin planlayıcı işlerini kontrol eder ve ya başarıyı onaylar ya da yeniden atama yapar.
1# opencode.json2{3 "$schema": "https://opencode.ai/config.json",4 "model": "google-vertex/gemini-flash-latest",5 "agent": {6 "plan": {7 "model": "google-vertex/gemini-flash-latest"8 },9 "build": {10 "model": "google-vertex/gemini-flash-latest"11 },12 "worker": {13 "model": "google-vertex/gemini-3.8-flash",14 "mode": "primary",15 "description": "General worker agent using gemini-3.8-flash"16 },17 "deep-thinker": {18 "model": "google-vertex-anthropic/claude-fable-5-1@default",19 "mode": "primary",20 "description": "Deep thinking agent using Claude Fable 5.1"21 }22 },23...
Hizmet Olarak Özel Ajanlar (Google ADK, LangGraph, özel kod vb.)
Kendi ajan iskeletlerinizi ve kendi ajan hizmetlerinizi inşa ederken, tam mimari özgürlüğe sahipsiniz.
- İskeleti modele göre yeniden şekillendirin: Gemini 3.8 Flash'a katı JSON şemalarıyla 3 ila 5 odaklı araç verin (read_file, write_file, run_tests). Hızlı modeller odaklı icrada parlar, ancak 50 araçlık bir katalog parametre karışıklığına ve bağlam israfına neden olur. Claude Fable 5.1'e mimari dokümanlar, şemalar ve kılavuzlar verin, ancak doğrudan dosya yazma izinlerini kaldırın.
- Değerlendirmelerde Temellendirin (Ground in Evals): Hangi modelin hangi düğüme uyduğunu tahmin etmeyin. Küçük bir modelin %10 maliyetle %95 kaliteyi nerede sağladığını bulmak için depo görevlerinizde deterministik iddia kontrolleri içeren otomatik değerlendirme paketlerini çalıştırın. Söylemesi kolay ama yapması zor, hangi senaryoları değerlendirmek istediğinizi bilmek güç. Daha fazlası için Kaggle 5 günlük kurslarımıza (ajanlar, videcoding) göz atın.
- "Yardım İste" Yükseltme Deseni: Gelen her isteği hızlı işçide başlatın. İşçiye açık bir araç verin: ask_for_help(reason, failed_attempts, context). İşçi isteklerin %85'inden %90'ını doğrudan ele alır. Yalnızca belirsizlik, geri dönüşü olmayan eylemler veya ardışık iki araç hatası durumunda yükseltme yapar.
Otomatik "Akıllı" Model Yönlendiricileri Gerçeklik Kontrolü
Akıllı yönlendiricilerin tahmine dayalı ML'de (reklam teknolojisi, dolandırıcılık tespiti) uzun bir geçmişi vardır. Çok kollu banditler ve maliyet-kalite yönlendiricileri, özellikler tablosal, girdiler sınırlı ve geri bildirim (tıklamalar, geri çekmeler) hem anlık hem de uzun vadeli ufukta ölçülebilir olduğu için olgunlaşmıştır.
Üretken yapay zekada, çok turlu ajanlar farklı bir hikayedir. Dinamik yönlendiriciler üç üretim gerçeğiyle mücadele edebilir:
- Tek tur bağlamı, seçim yapmak için görev hakkında yeterli sinyal içermeyebilir.
- Başarı metrikleri özelliklere net bir şekilde dışa vurulamaz, bu yüzden yönlendirici hızlı "öğrenemez".
- Yanlış seçimler diğer yolda yeniden çalıştırılır, potansiyel tasarrufları eritir ve gecikme ekler.
Karar: Basit tutun. Ajanlarınızı açıkça besteleyin ve görev sınırına göre yönlendirin. Net roller tanımlayın ve devralmaları somut kod iddiaları veya insan niyeti kontrol etsin.
4. Token ROI Denklemi: Aslında Ne İçin Ödüyorsunuz?
Ham fiyat listeleri ($/1M token), üretim değerinin iyi bir haritası değildir. Maliyetleri hesaplamak denkemin sadece bir parçasıdır. Kodlama, ürün, üretim ve diğer tüm "yapılması gereken işler" (job-to-be-done) arasında her zaman işe yarayacak bir hesaplama vermek imkansızdır.
Başlangıç noktası, elde ettiğiniz iş değeri hakkında düşünmek olabilir.
- İnsan zamanının tasarruf edilmesi, çalışanların daha fazla iş tamamlaması ve angarya ve otomatik görevlere daha az zaman harcaması maliyeti.
- Özellikleri üretime daha hızlı göndermenin değeri, bu özellikler sayesinde müşteri memnuniyeti ve sadakatinin artması.
- İyileştirilmiş koruma mekanizmaları ve mühendislik uygulamaları nedeniyle azaltılan hatalar ve kaçınılan üretim kesintileri.
Token maliyetini ve ekibinizin ajanlarını inşa edip yönetmeleri için yetkinliklerini artırma maliyetini çıkarın ve kabaca bir ROI hesabınız olsun.

Daha az ve daha ucuz token kullanarak bu hesaplamaları etkileyebilirsiniz, ancak muhtemelen en çok daha fazla işi daha hızlı yaparak etkilersiniz. Yüksek kaldıraçlı görevleri seçin. Doğrulanabilen, otomatikleştirmeye değer olan ve genel giderlerde tasarruf veya gelir artışı sağlayan görevleri seçin. Ve bu görevleri parçalarken, belki de süper derin düşünüp planlamak ve daha fazla ödemeye ve beklemeye razı olmak isteyebilirsiniz, ya da belki hızlı ve güvenilir bir şekilde icra etmek istersiniz. İkisine de ihtiyacınız olacak.
Tokenomics şu anda popüler bir konu ve maliyetleri düşürüp değeri maksimize etmek için daha birçok seçenek var. Bu makalenin ana noktası, farklı profillere sahip 2 model üzerinde birkaç farklı ajan kurup görevleri kendiniz yönlendirmenin gerçekten basit olduğudur. Başlamak için en kolay yer burasıdır.
Bu analizin faydalı olduğunu düşünüyorsanız, "Her yapay zeka mühendisinin ajan kum havuzları hakkında bilmesi gereken 5 şey" hakkındaki önceki yazımıza göz atın. İnşa edenlerin çamurdan sıyrılıp geldiği daha derin analizler için @GoogleCloudTech ve @zeroasterisk hesaplarını takip edin.





