Kafayı yiyecektim arkadaşlar. Şaka gibi bir bug. Şirket için güya akıllı bir sosyal medya botu yazıyordum. OpenAI API ile post üretiyor, Celery ile zamanlıyor, Tweepy ile de paylaşıyor. Her şey mükemmel çalışıyor sandık. Ta ki...
Bot, bir "teknoloji haberleri" bağlamı (context) ile eğitilmişti. Sürekli aynı thread'i besliyordu. Bir gün, "Yapay Zeka Etik Kuralları Açıklandı" başlıklı bir post yazdırdık. AI gayet güzel, ciddi bir metin üretti. Bot da bunu planladı.
Sorun şu: Bot, bir sonraki planlanmış post için kuyruğa aldığı işi işlerken, context'i sıfırlamayı unutmuş! Yani bir önceki ciddi konuşmanın devamı olarak, tamamen alakasız bir şey yazması gerekiyordu. Ve öyle de oldu.
Python:
# Kısaca sorun şuydu:
current_context = get_last_topic() # "AI Etik Kuralları"
new_prompt = "Eğlenceli bir hafta sonu tavsiyesi paylaş."
# AI'ın gördüğü prompt aslında şuydu:
# "AI Etik Kuralları konuşmasından sonra, eğlenceli bir hafta sonu tavsiyesi paylaş."
Ve AI, ciddi etik kuralları tartışmasının ardından, resmi hesaptan şunu tweetledi: "AI sistemlerinin şeffaflığı hayati önem taşır... Bu arada, bu hafta sonu için en iyi plan, bol bol uyumak ve sınırsız kahve tüketmek!"
Meğerse sorun şuradaymış: Her zamanlanmış görev için context değişkenini tamamen temizlememiz veya yeni bir istek oturumu başlatmamız gerekiyormuş. StackOverflow'da bile doğrudan bulamadım bu saçmalığı. Basit bir `context = ""` veya her görevde yeni bir `messages` listesi oluşturmak her şeyi çözdü.
Python:
# Her Celery task'ında bunu yapmak zorundayız:
def create_scheduled_post(topic, prompt):
messages = [] # TEMİZ BAŞLANGIÇ!
messages.append({"role": "system", "content": f"Konu: {topic}"})
messages.append({"role": "user", "content": prompt})
# ... AI çağrısı
Sonuç? Artık AI, teknoloji haberlerini aniden hafta sonu planlarına bağlamıyor. Basit bir hafıza sıfırlama işlemi, rezil olmaktan kurtardı.
Siz de benzer bir şey yaşadınız mı? AI agent'larınız veya botlarınız hiç beklenmedik context karışıklıkları yarattı mı? Daha temiz bir pattern'i olan var mı?