Özet: Temel WhatsApp bağlantınız 24 saat sonra kopuyorsa prompt mühendisliği işe yaramaz. Codex'i 7/24 otonom olarak çalıştırmak için yerel QR köprülerini ve SQLite oturum dosyalarını terk edin. Kalıcı bulut altyapısı için Whapi.Cloud'un MCP sunucusunu kullanın, webhook'lar aracılığıyla yapay zeka yorumlamanızı uygulama mantığından ayırın ve yanlış Chat ID formatları gibi yaygın LLM halüsinasyonlarını önlemek için Whapi Agent Skill'i yükleyin.
7/24 otonom bir Codex WhatsApp temsilcisi oluşturmak, kırılgan yerel QR köprülerini üretim düzeyinde bulut altyapısıyla değiştirmeyi ve yapay zeka yorumlamasını webhook'lar aracılığıyla uygulama mantığından ayırmayı gerektirir. Ekiplerin ilk otonom temsilcilerini yayına alırken oturum kararlılığı konusunda zorlandıklarını sıkça görüyoruz. İlk prototip terminalde kusursuz çalışır, ancak bir sunucuya taşındığı anda WhatsApp bağlantısı kopar.
Yerel QR köprüleri üretim ortamında neden başarısız olur?
Açık kaynaklı veri kazıma kütüphaneleri yerel testler için çalışır ancak üretim ortamında başarısız olur. WhatsApp Web revizyon değişiklikleri öngörülemeyen oturum düşmelerine neden olur ve dinleyiciler düzgün bir şekilde bağlantıyı kesemediğinde zombi soketler belleği tüketir.
Geliştiriciler sürekli olarak, keep-alive mekanizmaları devrede olsa bile oturumların yaklaşık 24 saat sonra 428 durum kodu hatalarıyla düştüğünü bildirmektedir. Bu durum, açık kaynaklı kütüphanelerin WhatsApp Web'e tersine mühendislik uygulamasına dayanmasından kaynaklanmaktadır. WhatsApp Web revizyon değişiklikleri—özellikle `sw.js` içindeki `client_revision` ve `server_revision`—WhatsApp sürüm değiştirdiğinde bir revizyonla oluşturulan oturumların reddedilmesine neden olur. Bu durum öngörülemeyen bağlantı kopmalarına yol açar.
Bu bağlantı kopmaları meydana geldiğinde, alttaki başsız tarayıcı (genellikle Puppeteer) her zaman temiz bir şekilde kapanmaz. Dahası, zombi soketler, WhatsApp dinleyicileri bağlantıyı düzgün kesemediğinde belleği tüketen terk edilmiş bağlantılardır. Bağlantı koptuğunda, Node.js süreci soketi tutmaya devam eder ve bu da sonunda bellek yetersizliği (out-of-memory) çökmesine yol açar. İşletim sistemi tarafından süreç sonlandırılana kadar sunucunuzun RAM kullanımının `htop` üzerinde yavaşça tırmandığını göreceksiniz.
Yerel SQLite veritabanları ve yerel QR kod köprüleri test için çalışır ancak 7/24 otonom sunucu dağıtımlarında başarısız olur. 7/24 kesintisiz çalışma istiyorsanız, Puppeteer'da çalışan yerel bir tarayıcı örneğine güvenemezsiniz. Bu örnekleri sürekli izlemenin ve yeniden başlatmanın operasyonel yükü, otonom bir temsilci oluşturmanın amacını ortadan kaldırır.
Oturum durumunu yerel SQLite yerine bulutta saklayın
Üretim ortamındaki temsilciler yerel dosya sistemlerine güvenemez. Bulut altyapısı, oturum dosyası bozulmalarını ve yeniden bağlanma sorunlarını ortadan kaldırır.
Standart Docker konteyner yaşam döngüsünü düşünün. Temsilcinizin kodunun yeni bir sürümünü yayına aldığınızda konteyner yeniden başlar. WhatsApp oturum verileriniz bu konteyner içindeki yerel bir SQLite veritabanında saklanıyorsa, veritabanı her dağıtımda silinir. Bir Docker konteyneri yeniden başladığında, yerel SQLite veritabanları bozulur veya aktif oturum token'ını kaybeder. Konuşma geçmişini ve bağlantı durumunu yerel konteynerin dışında kalıcı hale getirmezseniz, WhatsApp botunuz gerçek kullanıcılarla karşılaştığı ilk gün bozulmuş hissi verecektir.
Whapi.Cloud'un resmi MCP sunucusu, üretim düzeyinde bulut altyapısı üzerinden bağlanarak QR tabanlı köprülerle ilişkili yerel oturum dosyalarını ve yeniden bağlanma sorunlarını ortadan kaldırır. Bağlantı yedekli bulut sunucularında sürdürülür, bu nedenle yerel temsilcinizin yalnızca bir API token'ı aracılığıyla kimlik doğrulaması yapması gerekir. Bu, WhatsApp bağlantısını hiç kaybetmeden yeni kod dağıtabileceğiniz, sunucularınızı yeniden başlatabileceğiniz veya işçi düğümlerinizi yatay olarak ölçeklendirebileceğiniz anlamına gelir.
Uygulamada, durumlarını dışsallaştırmayı atlayan projeler, QR kodlarını yeniden taramak için her sabah manuel müdahale gerektirme eğilimindedir. Bağlantı katmanını Whapi.Cloud'a taşıyarak, oturum yönetimini tamamen devretmiş olursunuz. Bu, Codex temsilcinizin yerel sunucu ortamınıza ne olursa olsun bağlı ve duyarlı kalmasını sağlar.
Yapay zeka yorumlamasını uygulama mantığından ayırın
Codex'i WhatsApp'a bağlamak, yapay zeka yorumlamasını webhook'lar aracılığıyla uygulama mantığından ayırmayı gerektirir. LLM çağrınızı mesaj dinleyicinizin içine koymayın.
Bir Twilio WhatsApp Agent Demo mimarisi, üretime hazır bir WhatsApp yapay zeka temsilcisi oluşturmanın, oturum durumu yönetimi ve webhook'lar kullanarak yapay zeka yorumlamasını uygulama mantığından ayırmayı gerektirdiğini göstermektedir. Temsilciniz bir mesaj alır, Codex'i çağırmak için iş parçacığını engeller ve yanıtı beklerse, ani bir 10 mesajlık akış süreci çökertecektir. LLM API çağrılarının tamamlanması genellikle birkaç saniye sürer ve bu da standart HTTP zaman aşımı pencerelerini aşar.
Bunun yerine, gerçek zamanlı WhatsApp mesajlarını almak için webhook'ları kullanın, bunları bir sıraya yerleştirin ve ayrı bir işçinin LLM etkileşimini ele almasına izin verin. Biz buna asenkron webhook sırası modeli diyoruz. Bu model, WhatsApp webhook teslimatını yeniden denese bile her mesajın tam olarak bir kez işlenmesini sağlayan bir eşkuvvetlilik (idempotency) kapısı görevi görür.
// without returning 200 OK immediately, WhatsApp will retry the webhook delivery
app.post('/webhook', async (req, res) => {
const payload = req.body;
// Acknowledge receipt immediately
res.status(200).send('OK');
// Process asynchronously in the async webhook queue
await queue.add('process-message', payload);
});
Asenkron webhook sırasını uygulayarak, WhatsApp sunucularının mesajı anında teslim edildi olarak kaydetmesini sağlarsınız. LLM daha sonra zaman aşımı hatalarını tetiklemeden niyeti işlemek, veritabanınızı sorgulamak ve bir yanıt formüle etmek için zaman ayırabilir. Bu sorumlulukların ayrılması, temsilcinizi yüzlerce eşzamanlı konuşmayı idare edecek şekilde ölçeklendirmek için kritik öneme sahiptir.
Codex, Whapi.Cloud MCP aracılığıyla WhatsApp'a nasıl bağlanır?
Kırılgan yerel betikleri kalıcı, üretime hazır bir WhatsApp bağlantısıyla değiştirmek için Whapi.Cloud MCP'yi dağıtın.
Model Context Protocol (MCP), LLM'lerin harici araçları keşfetmesi ve bunlarla etkileşime girmesi için standartlaştırılmış bir arayüz sağlar. Basit bir yapılandırma dosyası kullanarak temsilcinizi Whapi.Cloud MCP sunucusuna bağlayabilirsiniz. Codex'i bağlamak için, MCP istemcinizi Whapi.Cloud MCP sunucusunu işaret edecek şekilde yapılandırırsınız. Bu, LLM'nin çağırabileceği araçlar olarak tam WhatsApp API'sini ortaya çıkarır.
{
"mcpServers": {
"whapi": {
"command": "npx",
"args": ["-y", "@whapi/mcp-server"],
"env": {
"WHAPI_TOKEN": "your_api_token_here"
}
}
}
}
Bu yapılandırmayla Codex, sarmalayıcı kodu yazmanıza gerek kalmadan yanıt göndermek için uç noktaları otonom olarak çağırabilir. Örneğin, LLM bir mesaj göndermeye karar verdiğinde, `https://gate.whapi.cloud/messages/text` adresine bir HTTP REST çağrısı formüle eder. MCP sunucusu, LLM'nin niyetini doğru API yüküne çevirir.
// The LLM autonomously generates this payload based on the MCP schema
const res = await fetch(`https://gate.whapi.cloud/messages/text`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.WHAPI_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
to: "[email protected]",
body: "Hello from Codex!"
})
});
const result = await res.json();
Whapi Agent Skill ile yapay zeka halüsinasyonlarını önleyin
Whapi Agent Skill, yanlış Chat ID formatları ve yanlış alan adları gibi LLM halüsinasyonlarını önler.
LLM'ler sık sık parametre adlarında halüsinasyon görür, `body` yerine `message` gönderir veya Chat ID'lerini yanlış formatlar (`@s.whatsapp.net` eksikliği). Bir LLM, eğitim verilerine dayanarak yük yapısını tahmin ettiğinde, genellikle belirli API gereksinimleriyle eşleşmeyen genel değişken adlarına varsayılan olarak döner. Whapi Agent Skill, Codex'i doğru API bilgisiyle donatır. Yanlış alan adları ve webhook'lar yerine yoklama (polling) gibi yaygın LLM halüsinasyonlarını önler.
Tek bir komutla kurun: `npx skills add Whapi-Cloud/whapi-whatsapp-api-skill`. Bu yetenek, halüsinasyonla oluşturulmuş parametreleri, yanlış alan adlarını ve var olmayan araç adlarını düzeltir. LLM'ye Whapi.Cloud API'sinin kesin kısıtlamalarını sağlayarak, oluşturulan her isteğin geçerli olmasını garanti eder. Bu, başarısız API çağrılarında hata ayıklamak için harcanan zamanı büyük ölçüde azaltır ve temsilcinin yüksek güvenilirlikle otonom olarak çalışmasına olanak tanır.
E-ticaret ve Gayrimenkulde gerçek dünya ROI'si
WhatsApp temsilcileri aracılığıyla otomatikleştirilmiş potansiyel müşteri nitelendirmesi, rezervasyon oranlarını 1.8 kat artırır ve gelmeme durumlarını azaltır.
Gayrimenkul sektöründe, yanıt süreleri 2-4 saatten 10 saniyeye düştü, bu da rezervasyon oranlarında 1.8 kat artışa ve otomatik hatırlatıcılar aracılığıyla gelmeme durumlarında %70 azalmaya yol açtı. Bu, asla uyumayan ve bağlantısını asla kaybetmeyen bir temsilciye sahip olmanın doğrudan sonucudur. Altyapı kararlı olduğunda, yapay zeka doğrudan takvim planlamasıyla entegre olarak potansiyel müşterileri bütçe, zaman çizelgesi ve satın alma niyetine göre nitelendirmeye odaklanabilir.
Sepet durumunu çalışan bellekte tutmak, E-ticaret botlarının karmaşık sipariş yönetimini otonom olarak ele almasını sağlar. Eksiksiz WhatsApp sipariş botları, menü/sipariş depolaması için Supabase ve doğal dil işleme için LLM'ler ile oluşturulur. Bu sistemler, zombi bir soket nedeniyle hiçbir müşteri siparişinin kaybolmamasını sağlamak için bulut MCP sunucuları tarafından sağlanan 7/24 kesintisiz çalışmaya güvenir.
7/24 otonom bir Codex WhatsApp temsilcisi oluşturmak, kırılgan yerel QR köprülerini üretim düzeyinde bulut altyapısıyla değiştirmeyi ve yapay zeka yorumlamasını webhook'lar aracılığıyla uygulama mantığından ayırmayı gerektirir. Operasyonel altyapıya odaklanın, gerisini yapay zeka halledecektir.









