← Radar

Konu: Ajanlar3 dk okuma

Uber ajanlara nasıl hazırlandı? 800 MCP sunucusu, tek kapı ve arka plan ajanları

Bu neden önemli?

Bir ajanı tek başına çalıştırmak kolay. Zor olan, onu şirketin gerçek servislerine, verisine ve koduna güvenli şekilde bağlamak. Uber bunu binlerce servis ölçeğinde yapıyor ve vardığı çözümler (her şey kapalı başlar, sahibi açar; ajan sadece ihtiyacı olan alanları alır) daha küçük ekiplere de uyarlanabilir.

Ajanlardan önce gelen altyapı

The Pragmatic Engineer’ın bu bölümünde Gergely Orosz, Uber’in en kıdemli mühendislerinden Uday Kiran Medisetty ile konuşuyor. Medisetty şirketin ajan çalışmalarının başında. Bölümün ana fikri şu: Uber ajanlara hazırlıksız yakalanmadı, çünkü yıllar önce kurduğu altyapı zaten işi kolaylaştırıyordu.

Bunun bir örneği Devpod. Uber’in kodu dev monorepo’larda duruyor ve bu kodu dizüstü bilgisayarda derlemek yavaş. Devpod, Kubernetes üzerinde çalışan, depoları önceden klonlanmış ve IDE’si hazır uzak geliştirme ortamı. Bir insan için yazılan bu ortam, bir ajan için de hazır bir çalışma alanı demek. Ayrıca Uber’in on binden fazla iç servisinin arayüzü Protobuf ve Thrift dosyalarıyla tanımlı. Yani her servisin ne alıp ne döndürdüğü makinenin okuyabileceği bir biçimde yazılı.

MCP Gateway: Ajanlar için tek kapı

MCP, ajanlara araç vermenin standart yolu. Uber’de ekipler başta kendi MCP sunucularını ayrı ayrı yazdı. Sonuç dağınıklık oldu: Aynı altyapı tekrar tekrar kuruldu, araçlar bulunamadı, güvenlik her yerde farklıydı. Uber’in 1 Ekim’de yayımladığı yazıya göre çözüm MCP Gateway oldu. Bugün 800’den fazla MCP sunucusunu ve 5.000’den fazla aracı barındırıyor.

Mimari iki parçalı:

  • Kayıt defteri (control plane): Hangi sunucu ve araç var, sahibi kim, açık mı kapalı mı. Tek doğru kaynak burası.
  • Vekil (data plane): Ajanın isteğini alıp servisin konuştuğu protokole (HTTP, gRPC, TChannel) çeviriyor ve Uber’in servis ağı üzerinden iletiyor.

En ilginç kısım araçların nasıl oluştuğu. Bir iş akışı düzenli olarak servis tanımlarını tarıyor. Yeni bir API bulunca bir dil modeli ondan ajanın anlayacağı bir araç açıklaması yazıyor. Ama bulunan her araç kapalı başlıyor. Servisin sahibi ekip inceleyip açana kadar hiçbir ajan onu göremiyor. Açıklama değişirse sahibin onaylaması gereken bir fark çıkıyor, istenirse eski sürüme dönülüyor.

Güvenlik de kapıda çözülüyor. Yetkiyi Uber’in erişim kontrol sistemi veriyor: Çağıran bir insan da olabilir, bir servis ya da ajan da. Yanıtlardaki kişisel veriler otomatik maskeleniyor. Dışarıdaki sunuculara (Jira, Google gibi) giden isteklerde kullanıcının kendi yetkisi aktarılıyor.

Token’ı boşa harcamamak

Binlerce araç ajanın bağlamına sığmaz. Uber bunun için iki yol kullanıyor. Birincisi, ajanın önce sunucuyu ve aracı aradığı, şemasını sonra istediği dört araçlık tek bir giriş. İkincisi, ajanın yanıttan sadece ihtiyacı olan alanları istemesi; kapı gerisini kırpıyor. Yazıya göre kodlama ajanlarında artık varsayılan yol, araçları aifx adlı iç komut satırı aracıyla çağırmak. Ajan sonucu dosyaya yazıp içinde grep ile arayabiliyor. Ajanın araçları kodla çağırması fikrini OpenCode 2.0 yazımızda Code Mode adıyla anlatmıştık.

Arka plan ajanları ve kod incelemesi

Uber’in kendi arka plan kodlama ajanının adı Minions. Mayıs’taki bir konuşmada verilen rakamlara göre haftada yaklaşık 1.800 kod değişikliği üretiyor ve mühendislerin %95’i kullanıyor. Şirket içinde haftada yaklaşık 60.000 ajan çalıştırması yapılıyor.

Bu kadar kodu insanların tek başına incelemesi zor. uReview burada devreye giriyor. Üç ayrı asistan (hata, iç kodlama kuralları, güvenlik) yorum üretiyor. Sonra yorumlar eleniyor: güven puanı düşük olanlar, birbirini tekrarlayanlar ve geçmişte geliştiricilerin işe yaramaz bulduğu türler atılıyor. Uber’e göre mühendisler yorumların %75’ini faydalı buluyor. Aynı soruna Alibaba’nın yaklaşımını Open Code Review yazımızda anlatmıştık.

Bölümde bunların dışında Uber’in ekiplerin ortak kullandığı ajan becerileri (skills) deposu, mühendislik bilgisini birbirine bağlayan bir “bağlam grafiği” ve token maliyetleriyle verimliliğin nasıl ölçüldüğü de konuşuluyor. Agent skill’in ne olduğunu bu yazıda anlatmıştık.

Düşün

  • Ekibinin servisleri bir ajana açılsa, hangi aracın varsayılan olarak kapalı kalmasını isterdin?
  • Yapay zekâ kod incelemesinde en çok neyden rahatsız olursun: kaçırdığı hatalardan mı, gereksiz yorumlardan mı?

Videoyu izle

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (6, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Ajanlar3 dkVideo: Syntax

OpenCode 2.0: Terminal, masaüstü ve web artık aynı ajana bağlanıyor

Açık kaynak kodlama ajanı OpenCode, 2.0 sürümünde baştan yazıldı. Terminal, masaüstü ve web arayüzü artık arka planda çalışan tek bir servise bağlanıyor. Alt ajanlar arka planda çalışırken ana ajanla konuşmaya devam edebiliyorsun, eklentiler yeniden başlatmadan yükleniyor ve aynı çekirdek Cloudflare Durable Objects içinde bile çalışabiliyor.

Konu: Ajanlar3 dkVideo: Better Stack

Universal Modder: Kodlama ajanına oyun mod'lamayı öğreten açık kaynak kit

Universal Modder, Claude Code ve benzeri kodlama ajanlarına sahip olduğun PC oyunlarını mod'lamayı öğreten açık kaynak bir paket. İçinde skill'ler, bir komut satırı aracı ve başka ajanların yazdığı mod notlarından oluşan ortak bir bilgi bankası var. Better Stack, GTA V'in içine Black Ops 3 zombi modu yaptırarak denedi.