OpenAI veya Anthropic’i ürününüze bağlamak: seçim, prompt, ve kimsenin bütçelemediği bağlam
OpenAI ile Anthropic arasında seçim yapmak, çoğu brief’in düşündürdüğünden daha küçük bir karardır - asıl iş, bir his değil bir spesifikasyon olarak ele alınan bir prompt, regex yerine ayrıştırmayı yapan yapılandırılmış çıktılar ve araç çağırma, ve bir konuşma pencereyi aştığında bağlam yönetimidir. Bir LLM API’sini gerçek bir ürüne bağlamanın gerçekte neyi kapsadığı, multimodal girdinin nereye oturduğu dahil.
“Hangi sağlayıcı - OpenAI mi Anthropic mi” neredeyse her başlangıç görüşmesinde projenin en büyük kararıymış gibi sorulur. Nadiren öyledir. Her iki API de yapılandırılmış çıktılar yapar, her ikisi de araç/fonksiyon çağırma yapar, her ikisi de akış (streaming) yapar, ve gerçekten önemli olan farklar - bağlam penceresi boyutu, token başına fiyat, bir modelin bir şemaya ne kadar sıkı uyduğu, belirsiz talimatlar karşısında nasıl davrandığı - bir benchmark sıralamasıyla değil, gerçek prompt’larınızı gerçek verilerinize karşı test ederek belirlenir.
Yapıyı gerçekten şekillendiren kararlar bundan sonra gelir: prompt’un bir playground’da ayarlanıp unutulmak yerine kod gibi yazılıp sürümlenmesi, bir yanıtın uygulamanız ona güvenmeden önce doğrulanması, ve bir konuşma, belge veya toplu iş bir çağrıya sığandan büyüdüğünde bağlamı nasıl yönettiğiniz.
1. OpenAI’a karşı Anthropic nadiren önemli olan karardır
Marka sadakatine değil işe göre seçerim: şema ağırlıklı bir hat için hangisinin yapılandırılmış çıktı desteği daha sıkı, hangisinin bağlam penceresi söz konusu belgeyi gerçekten sığdırıyor, hangi fiyat kademesinin beklenen çağrı hacmine dayandığı, ve - hafife alınan - hassas bir konuya yakın bir kullanım durumuna hangisinin red davranışının uyduğu. İki farklı sağlayıcı bir demoda ikisi de “çalışabilir” ve gerçek kullanıcılar gerçek uç durumlar gönderdiğinde keskin biçimde ayrışabilir.
Sağlayıcıyı koddaki tek bir ince adaptörün arkasında tutarım, tam olarak bu kararın geri alınabilir kalması için. Bir müşterinin altı ay sonra bir fiyat değişikliği, bir hız sınırı veya bir modelin kullanımdan kaldırılması yüzünden sağlayıcı değiştirmek istemesi, bir yeniden yazım değil, bir yapılandırma değişikliği ve bir tur prompt regresyon testi almalıdır.
2. Prompt mühendisliği bir spesifikasyondur, öyle test edilir
Tek bir geliştiricinin kafasında yaşayan, bir sohbet playground’unda ayarlanan ve üç örnekte “doğru göründüğünde” yayına çıkan bir prompt, trafik o üç örneği aştığı anda bir yüktür. Prompt’ları sürümlenmiş dosyalar olarak yazarım, gerçek girdilerden ve beklenen çıktı biçimlerinden oluşan küçük bir test setiyle, ve onları tıpkı bir fonksiyon gibi regresyon testinden geçiririm - özellikle model veya sağlayıcı değiştirmeden önce.
Yapılandırılmış çıktılar ve araç/fonksiyon çağırma, bir prompt’u zaten test edilebilir kılan şeydir: serbest metni göz kararı değerlendirmek yerine, bir JSON payload’ının bir şemayla eşleştiğini ve içindeki değerlerin iş kurallarını karşıladığını kontrol ederim. Gerçek bir projede “prompt mühendisliği”nin asıl teslimatı budur, zekice bir paragraf değil.
3. Bağlam yönetimi: kimsenin bütçelemediği kısım
Her LLM entegrasyonu er ya da geç bağlam penceresinden büyük bir konuşma, belge veya toplu işle karşılaşır, ve sonra ne olacağı, özelliğin ucuz ve doğru mu kalacağına yoksa yavaşlayıp halüsinasyon görmeye mi başlayacağına karar verir. Her mesajı saf bir şekilde geçmişe eklemek demoda işe yarar ve sonra sessizce bozulur: maliyetler her turda tırmanır, gecikme onunla birlikte tırmanır, ve bir noktadan sonra model eski turların altına gömülü gerçek soruyu takip etmeyi kaybetmeye başlar.
Çözüm, eski turları kırpmanın, öncekini tekrar oynatmak yerine özetlemenin, ve kaynak bir konuşma değil bir belge olduğunda embedding’ler ve bir vektör veritabanı üzerinden yalnızca ilgili dilimi getirmenin bir karışımıdır. Multimodal girdi - bir görüntü veya bir PDF sayfası - aynı şekilde yönetilmesi gereken başka bir bağlam türüdür: aynı pencereye sayılır ve orada gerçekten ne olması gerektiği konusunda aynı disiplini ister.
Sonuç: API çağrısı entegrasyonun en küçük parçasıdır
Bir LLM’i bir ürüne bağlamak çoğunlukla model çağrısıyla ilgili değildir - sağlayıcıyı değiştirilebilir kılan adaptördür, test edilmiş bir spesifikasyon olarak ele alınan prompt’tur, bozuk bir yanıtı bir kullanıcıya ulaşmadan önce yakalayan şemadır, ve ilk kolay demo konuşmasından sonra da çalışmaya devam eden bağlam stratejisidir. Bunların hepsini, OpenAI veya Anthropic’ten işe gerçekten uyanının etrafında inşa ederim. Ürününüzün içinde LLM’in ne yapmasını istediğinizi formdan yazın, entegrasyonun gerçekte neye ihtiyacı olduğunu size söyleyeyim.
Sadece okumak değil, kurmak mı lazım?
İşletmeler için AI çözümleri: RAG, ajanlar, Next.js. Doğrudan yüklenici.
Projenizi konuşalım mı?
React ve Next.js konusunda uzman kıdemli bir web geliştiriciyim - dünya çapında freelance projelere açığım.
E-posta
i.vynnychenko@gmail.comKonum
Kyiv, Ukrayna
Upwork
Profili görüntüleTelegram
Bana yazınViber
Bana yazın