Yapay Zeka Promtlarını Oyun Kartlarına Dönüştürmek: Bir Platform Mühendisliği Deneyimi

Bu proje, yapay zeka promtları kullanarak somut bir ürün yaratma amacını güdüyor. Cardmaker, özel kart desteleri oluşturmanıza yardımcı olan bir araçtır ve eğitim, pazarlama gibi alanlarda kullanılabilir.
Yapay Zeka Promtları Ve Süreç
İlk zorluk, hangi temayı kullanacağımı ve kartlara hangi içeriği koyacağımı seçmekti. Bu önemli çünkü büyük dil modelleri (LLM’ler), kaliteli çıktılar üretmek için bir temele ihtiyaç duyar ve bu nedenle iyi bildiğiniz ve modelin temel alacağı içeriklere sahip olduğunuz bir alan seçmek avantajlıdır. Ben de destenin teması olarak Platform Mühendisliğini seçtim.
Adım 1: Asistanı Temellendirmek
GPT-4 gibi gelişmiş modeller, Platform Mühendisliği gibi kavramlardan tamamen haberdar olsa da, bunlara en genel ve en az özgül şekilde yaklaşır. Alanla ilgili son yenilikler ve fikirler, modelin son eğitim aldığı tarihe göre bilinmeyebilir. Teknoloji gibi hızla değişen bir alanda üretken yapay zekayı kullanabilmek için, ajanlarınızı taze bir bağlamla temellendirmeniz gerekir.

Yüksek kaliteli çıktılar sağlamak için asistanımı Microsoft Platform Mühendisliği Kılavuzu ile temellendirdim. Kılavuz çok uzun olduğu için GPT-4’ün bağlam penceresine sığmaz, bu yüzden kılavuzun ana ilkelerini ve rollerini içeren daha kısa bir belgeye dönüştürdüm. Bu ham verilerle Cardmaker’ı yarattım:
- Platform mühendisliği üzerine ayrıntılı bir kılavuz (sonrasında bir prompt’a dönüştürüldü)
- Azure mimari seti, Azure Architecture Center | Microsoft Learn
- Cardmaker ajanının sistem prompt’ı burada bulunabilir.
İpucu: Promt’ları geliştirmek ve temellendirme belgelerini token bağlam penceresine sığacak şekilde özetlemek için AI Foundry Playground’ı kullanın.
Adım 2: Kartlara Yapı Vermek
Baskı işlemi, verilerin bir şablonla birleştirilmesini gerektirir ve yapılandırılmış içerik gereklidir. Üretken yapay zeka, yapılandırılmış veri oluşturma konusunda oldukça başarılıdır. İşte ajanımı nasıl yönlendirdiğimi ve çalışmasını nasıl kaydedeceğini anlatan bir örnek:
Adım 3: Asistanı Göreve Başlatmak
Cardmaker’ın vizyonu, yapay zekanın süreci yönetmesi ve her kart için içerik yazmasını sağlamak, zaman alıcı bir görevi üretken yapay zekanın üstlenmesini sağlamaktı. Tam anlamıyla otonom olmasa da, ajanımın içerik yazma ve her kartta ne olacağına karar verme konusunda sorumluluk almasını istedim. Kullanıcı, proje yöneticisi olarak fikirleri onaylayacak ve sonraki aşamayı başlatacaktır. Bu, çok hedef odaklı bir prompt gerektirdi. Temellendirmede olduğu gibi, yapay zeka bir sistem prompt’ı oluşturma konusunda yardımcı olabilir. İşte asistanın sistem prompt’ının son hali ve en önemli parçası:

Prompt, ajanın bir göreve odaklanmasını sağlamak için tasarlanmıştır. Bu, Microsoft 365 Copilot veya ChatGPT gibi sohbet arayüzlerinden biraz farklıdır; çünkü narrow (dar) odaklıdır. Eğer kart destesi yaratmak istemiyorsanız, bu ajanla sohbet etmek biraz zorlayıcı olabilir, çünkü her zaman hedefe yönelik bir ilerleme kaydeder. İşte ajanın kullanıcıya birkaç fikir sunduğu bir örnek:
İpucu: En iyi sonuçlar için dar bir odak seçilmiş ajanları tercih edin. Kart destesi oluşturmak çok geniş bir hedef olabilirken, benim ajanim sadece Platform Mühendisliği temalı kartlar yaratır ve yalnızca poker kartları üretir.
Cardmaker Ajanına Özel Yetenekler Verme
Yapay zekayı, bilgi sorgulaması yapabilmesini veya yerel işlevleri çağırabilmesini sağlayacak araçlarla tamamlayabilirsiniz. Cardmaker, birkaç farklı alanda Semantic Kernel ve OpenAI işlev çağrısı teknolojilerini kullanmaktadır.
Alternatif Kişilikler
Başlangıçta, belirli bir yazılım mühendisliği aracının neden kart için seçildiğini açıklayan yapay zeka tarafından üretilen bir açıklama eklemeyi planladım, ancak bu içeriğin soğuk ve eğlencelikten yoksun olduğunu fark ettim. İkinci fikrim, her kartta bir geliştirici alıntısı bulunmasıydı, fakat 52 kart için alıntıları toplamak ve derlemek devasa bir iş olacaktı. Gerçek alıntılar kullanmak yerine, yapay zekanın hayali alıntılar oluşturmasını sağlamaya karar verdim! Bu yaklaşım, birçok sorunu çözmeyi sağladı, örneğin alıntıların doğru şekilde atanması ve her karta uygun olmaları gibi.
Gerçek insanları taklit etmenin yanıltıcı olabileceğini fark ettim ve bunun yerine çok belirgin bir konuşma tarzına sahip hayali bir karakter seçtim: Gandalf. Bu, üretken yapay zeka uygulamalarında genellikle “persona” olarak adlandırılır. Gandalf kişiliği, uygulama içinde “semantik bir işlev” olarak var. Yapay zeka modeli, bu işlevi tanır (bununla ilgili ayrıntılar için Semantic Kernel Plugins | Microsoft Learn’e göz atabilirsiniz) ve gerektiğinde alıntılar üretmek için kullanır. Semantic Kernel, prompt’a bağlam eklemede yardımcı olur, bu durumda kartın takımı ve aracı teması bağlamı eklenir. Bu, Gandalf’ın kendisinin kartı incelediği ve yorum yaptığı izlenimini verir.
Pratik Görev Yetenekleri
Ajana verilen bir diğer yetenek, bir dosya kaydedebilme yeteneğidir. Bu, ajan 13 kartlık bir takım tamamladığında devreye girer. Dosyayı kaydederek, kullanıcı bunu kolayca veri birleştirme işlemi için giriş verisi olarak aktarabilir ve görsel dosyalar oluşturabilir. Bu yeteneği ajana vermek, Semantic Kernel kullanılarak oldukça basittir. Bunu C# kodunuzu uygun şekilde açıklayarak yapabilirsiniz ve ajan gerektiğinde bu işlevi kullanır. İşte bu işlevin uygulanışı:
İşlevler, üretken yapay zeka modelinin gerçekleştirmekte zorlandığı işler için faydalıdır. OpenAI‘nin işlev çağrısı özelliği, geliştiricilere dünya çapında AI sohbet tamamlaması ve kendi C# programlama büyücülerinizi kullanmanın en iyi yönlerini sunar. İşte ajana verdiğim diğer özel yetenekler:
- copy_to_clipboard: Ajana, son tamamlamasını panoya kopyalama imkânı sunan bir yardımcı program
- load_cards: Önceki oturumda oluşturulan kart destesini yükleme ve değişiklik yapma
- create_qr_code: Kart için QR kodu oluşturmak amacıyla popüler bir C# kütüphanesini kullanma
Kart Tasarımı
Cardmaker, bir içerik oluşturma aracıdır ve temalı bir deste oluşturmanın en zorlu ilk adımını otomatikleştirmek için özelleşmiştir. Yapay zeka olmadan bu görevi üstlenmem mümkün olmazdı. 52 kart için içerik yazmak ve ilişkilendirmek çok manuel ve sıkıcıdır. Yapay zeka sayesinde bu görev eğlenceli hale geldi, aynı oturumda birkaç farklı deste oluşturabilmeyi sağladı. İşte veri birleştirme sonrasında bir kart örneği:
Bu deste, kulp için Platform Mühendisliği temalarını kullandı ve “Uygulama Kalitesini İyileştirme” temasını kulplar için belirledi. AI, kulpların As’ı olarak “Application Insights”’ı seçti. AI ayrıca, kartın teması ve aracıyla uyumlu bir hayali alıntı üretti. Bazı yapay zeka dışı varlıklar da mevcuttur, örneğin Application Insights simgesi, Azure Symbols kütüphanesinden alınmıştır. Yapay zeka yine de rol oynar çünkü aracın ve kartın adıyla uyumlu görselleri seçer. Kartlarımı Adobe Illustrator ile tasarladım. Illustrator, iki açıdan faydalı oldu:

- Baskı hizmeti, poker kartı boyutlarında şablonları Illustrator formatında sağladı, bu da şablonumu prova edip ayarlamayı kolaylaştırdı.
- Illustrator, bir CSV dosyası verildiğinde her satırı tekrarlayarak görsel oluşturmayı sağlayan bir veri birleştirme özelliğine sahiptir.

Github Projesi
Cardmaker’ı Github’da şu adreste bulabilirsiniz: https://github.com/tacowan/cardmaker
Mimari yapıda üç ana bileşen bulunmaktadır: GPT-4o modeli AI Foundry’de barındırılmakta, Semantic Kernel framework orkestrasyon için kullanılır ve bir konsol uygulaması yer alır. Uygulamanın çoğu mantığı, prompt’larda yer almaktadır. Uygulama, ajanı semantik kernel eklentileri ile araçlar sunar. Farklı alanlara uyarlamak için tek yapmanız gereken, ajan ve persona prompt’larını değiştirmektir.

İpucu: Farklı bir alanda temalı kartlar oluşturmak için projedeki Agent_Prompt_v2.md dosyasını değiştirin.
Sonuç ve Öğrenilenler
Yapay zeka ile özelleştirilmiş bir kart destesi oluşturmak, aydınlatıcı ve ödüllendirici bir deneyim oldu. Bu proje, modern yapay zekanın yeteneklerini sergiliyor ve teknolojiyi somut, anlamlı bir ürün oluşturmak için kullanıyor. Yapay zekayı uygun bağlamla temellendirip, ona belirli hedefler vererek, hem eğitimsel hem de eğlenceli bir deste üretebildim. Bu kartları günlük olarak kullanıyorum; yapay zeka hakkında bir sohbet başlatmak ya da Platform Mühendisliği’nde araçlar hakkında bir tartışma başlatmak için harika bir yol.
Üretken yapay zeka, bir temada varyasyonlar oluşturma konusunda mükemmeldir ve doğru prompt’lar ve araçlarla, hem yaratıcı hem de doğru yayınlanabilir içerikler üretebilir. Bu proje, yapay zekayı güncel bilgilerle temellendirmenin önemini ve özel kişilikler kullanarak oluşturulan içeriğe benzersiz bir dokunuş eklemenin faydalarını vurgulamaktadır.