Kendi sunucusu olmayan uygulamalarda yapay zeka: Kendi anahtarınız

Yapay zeka işlevleri iyi bir uygulamayı çok daha iyi hâle getirebilir. Sesle söylenen bir düşünce, düzgün yazılmış görevlere; fotoğrafı çekilen bir fiş ise doldurulmuş bir forma dönüşür. Bunun için alışılmış mimari şöyledir: Uygulama verileri kendi sunucusuna gönderir, sunucu dil modelini çağırır ve bunun bedelini öder. Avantido ve ContoTrip uygulamalarımızda bu sunucuyu bilinçli olarak devreden çıkardık. Bu yaklaşımın adı „Bring your own key“, yani kendi anahtarınızı getirin.

Temel ilke

Kullanıcılar, uygulamanın ayarlarına seçtikleri bir yapay zeka sağlayıcısından aldıkları kendi API anahtarlarını girer: Google Gemini, OpenAI ya da Anthropic Claude. Uygulama, isteği doğrudan cihazdan bu sağlayıcıya gönderir. Üretici olarak bunun için sunucu, veritabanı ya da kullanıcı hesabı işletmiyoruz. Yapay zeka kullanımının ücretini sağlayıcı doğrudan kullanıcıya fatura eder; bu ücret uygulamanın satın alma bedeline dahil değildir.

Bu yaklaşımın bizim için birçok avantajı var. İşletilmesi, güvenliğinin sağlanması ve ölçeklendirilmesi gereken bir altyapı yoktur. Sürekli yapay zeka maliyetlerini aboneliklerle finanse etmemiz gerekmez. Üstelik kullanıcıların gönderdiği içerikleri hiçbir zaman görmeyiz.

Üç sağlayıcı için tek servis

Teknik tarafta tek bir AIService bulunur. Bu servis, OpenAI uyumlu Chat Completions arayüzüyle konuşur. Gemini, OpenAI ve Claude aynı kod üzerinden çalışır; sağlayıcıya göre yalnızca temel URL ve model değişir. Bu sayede uygulama sade kalır ve sağlayıcı değiştirmek bir yeniden yapılanma değil, yalnızca bir ayar meselesi olur.

Anahtarın yeri Keychain’dir

API anahtarı bir ödeme aracıdır. Anahtara sahip olan, başkasının hesabına masraf çıkarabilir. Bu nedenle anahtarı yalnızca cihazın anahtar zincirinde, yani Keychain’de saklıyoruz; asla UserDefaults içinde ya da bir dosyada değil. Anahtar cihazdan yalnızca seçilen sağlayıcıya giderken çıkar.

Tahmin yerine bağlantı testi

En sık karşılaşılan hata, yanlış kopyalanmış bir anahtardır. Bu yüzden ayarlarda bir bağlantı testi bulunur. Test, sağlayıcı, model ve anahtarın birbiriyle uyumlu olup olmadığını ilk gerçek istek başarısız olmadan önce hemen gösterir.

Kullanıcının onayladığı yapılandırılmış sonuçlar

Bir dil modeli metin üretir; bir uygulamanın ise alanlara ihtiyacı vardır. Bu nedenle modelden açıkça tanımlanmış, yapılandırılmış bir yanıt istiyoruz: Avantido’da başlık ve önceliği olan görevler, ContoTrip’te ise satıcı, tarih, tutar, para birimi, kategori ve tek tek kalemler gibi fiş alanları.

Asıl önemli olan bir sonraki adımdır: Hiçbir şey kontrol edilmeden kaydedilmez. Kullanıcılar önerileri görür, başlıkları ve öncelikleri düzenleyebilir ya da tek tek kayıtları çıkarabilir ve ancak ondan sonra onay verir. Uygulamalarımızda yapay zeka öneri sunar, kendi başına karar vermez.

Sonuna kadar düşünülmüş gizlilik

Kendi sunucunuz olmadığında birçok şey kolaylaşır, ama her konu kendiliğinden çözülmez. Gizlilik politikalarımızda üç noktayı açıkça belirtiyoruz:

  • Yapılandırma yoksa aktarım da yok. Bir sağlayıcı ayarlanmadığı sürece hiçbir metin ya da görsel cihazdan çıkmaz.
  • İçeriğin tamamı aktarılır. Fiş tanımada fişin görüntüsü eksiksiz olarak sağlayıcıya gider. Bu görüntü, uygulamanın kendisinin ne değerlendirdiği ne de sakladığı bilgiler içerebilir; örneğin kısaltılmış bir kart numarası. Bunu istemeyen kullanıcılar bu tür fişleri elle girebilir.
  • Sağlayıcının koşulları geçerlidir. Verilerin yapay zeka sağlayıcısında nasıl işlendiğini, sağlayıcının kendi gizlilik politikası belirler. Bunu açıkça söylüyor ve kontrolümüzde olmayan hiçbir şeyi vaat etmiyoruz.

App Store’daki gizlilik etiketinde de daha dürüst olan seçeneği tercih ettik: Yapay zeka sağlayıcısına yapılan aktarım, üçüncü bir tarafça toplanan, kullanıcıyla ilişkilendirilmeyen ve takip amacıyla kullanılmayan veri olarak beyan ediliyor.

Yaklaşımın sınırları

„Bring your own key“ her ürün için doğru yol değildir. En büyük engel anahtarın kendisidir. Birçok kişi daha önce hiçbir yapay zeka sağlayıcısında hesap açmamıştır. Bu yüzden böyle bir uygulamanın anlaşılır, adım adım bir rehbere ihtiyacı vardır; yapay zekaya dayanmayan tüm işlevler de anahtar olmadan eksiksiz kullanılabilmelidir.

İkinci engel App Store incelemesidir. Tanıtılan işlevler bir anahtar gerektiriyorsa, Apple’ın inceleme ekibinin de bu işlevleri deneyebilmesi gerekir; aksi hâlde Guideline 2.1 kapsamında ret almak olasıdır. Bu nedenle inceleme notlarına adım adım açıklamayla birlikte çalışan bir test anahtarı ekliyor ve onaydan sonra bu anahtarı siliyoruz.

Sonuç

Yapay zeka işlevleri için kendi sunucunuza ihtiyacınız yoktur. Özenle kapsüllenmiş bir servis, Keychain’de saklanan bir anahtar ve kullanıcının onay adımıyla ses, metin ve fotoğraflar güvenilir biçimde yapılandırılmış verilere dönüştürülebilir; üstelik üretici içerikleri hiçbir zaman görmeden. Bu yolun ürününüze uyup uymadığını ya da kendi sunucunuzun daha mantıklı olup olmadığını sizinle birlikte memnuniyetle değerlendiririz.

Yukarı çık