Alice için Beceri: Fikirden Yayına Hızlı Yol
Alice için bir beceri oluşturmak adına, onu Yandex Dialogs konsolunda kaydetmek, bir backend bağlamak (Webhook veya Cloud Functions), işleyicinin doğru bir JSON yanıtı döndürmesini sağlamak ve test/moderasyon süreçlerinden geçirmek yeterlidir. Aşağıda, bir akşamüstü tekrarlayabileceğiniz minimum plan yer almaktadır.
İçindekiler
Hazırlık: Beceri türü ve senaryo
Öncelikle türü belirleyin:
- Normal beceri — oyunlar, bilgi verme, hizmet randevusu alma, quizler, derlemeler. En kolay başlangıç.
- Akıllı ev — cihaz yönetimi; çoğunlukla hesap bağlama (OAuth) ve daha fazla gereksinim gerekir.
Ardından 10 dakika içinde diyalogun "iskeletini" taslak olarak hazırlayın:
- karşılama (1 cümle: ne yapabildiğinizi belirtin),
- 3–5 adet "insanın söyleyeceği şekilde" komut,
- "yardım",
- anlaşılmayan girdilerin işlenmesi,
- çıkış ("dur/çık").
İlk adımlar ne kadar kısa olursa o kadar iyidir: Karşılama mesajında hemen 1–2 örnek cümle verin; bu, başarılı diyalogları noticeably artırır ve moderasyona yardımcı olur.
Yandex Dialogs'ta beceri oluşturma
Geliştirici konsolundaki işlemler:
- Diyalog oluştur → Beceri.
- Ad, etkinleştirme adları, açıklama ve kategoriyi doldurun.
- Backend bağlantı yöntemini seçin: Webhook URL veya Cloud Functions.
- Örnek istekler ekleyin (kullanıcının beceriyi nasıl başlatacağı/kullanacağı).
Reddedilmenin sık görülen nedeni, ad ve etkinleştirme ifadeleridir: Çok genel olması, sistem ifadelerine benzemesi, yasaklı kelimeler içermesi veya yanıltıcı olması. Benzersiz ve amaca uygun (becerinin tam olarak ne yaptığı) olun.
Backend: Webhook veya Cloud Functions ve minimum yanıt
Webhook, zaten bir sunucunuz varsa ve tam kontrol istiyorsanız uygundur.
Cloud Functions, prototip için daha kullanışlıdır: Daha az yapılandırma, daha hızlı başlangıç.
Temel kural: İşleyiciniz hızlı ve doğru JSON formatında yanıt vermelidir.
Becerilerde yanıt penceresi sınırlıdır (birkaç saniye civarı). Eğer backend çok uzun "düşünürse", Alice oturumu "beceri yanıt vermiyor" diye keser. Hızlı yanıt verin ve ilk sürümleri basitleştirin.
Minimum "iskelet" yanıt
{
"response": {
"text": "Merhaba! Komutları öğrenmek için «yardım» de.",
"tts": "Merhaba! Komutları öğrenmek için «yardım» de.",
"end_session": false
},
"version": "1.0"
}
Hemen dahil edilmesi gereken mini mantık
- İlk girişte (
session.new) — kısa bir karşılama + 1–2 ipucu. - "Yardım" komutu — komut listesi.
- Cümle tanınmazsa — "Anlamadım. Şunu deyin…" ve seçenekler sunun.
- "Dur/çık" —
end_session: true.
Test ve yayınlama
- Konsolda test: Cümleleri deneyin, ham JSON'a bakın, "yardım/anlamadım/çık" dallarını kontrol edin.
- Cihazda kontrol: Gizli erişimi açın ve beceriyi aynı hesaptan başlatın (böylece seslendirme, duraksamalar ve ifade sorunlarını yakalarsınız).
- Moderasyondan önce:
- Açıklama gerçek davranışla eşleşiyor,
- Anlaşılır bir "yardım" komutu var,
- Beceri tutarlı yanıt veriyor (çökme yok),
- Metinlerde "her şeyi vaat eden" ifadeler ve gizli işlevler yok.
Backend seçeneklerinin karşılaştırılması (özetle)
| Seçenek | Ne zaman seçilmeli | Dikkat edilmesi gerekenler |
|---|---|---|
| Webhook (kendi sunucunuz) | Altyapı zaten var, karmaşık mantık, entegrasyonlar | HTTPS, kararlılık, loglar, zaman aşımları |
| Cloud Functions | Prototip, eğitim projesi, hızlı başlangıç | Serverless kısıtlamaları, soğuk başlangıç, zaman aşımları |
Sık yapılan hatalar
- Uzun yanıt süresi: Harici API'ler yavaşlıyor, önbellek yok.
Çözüm: Önbellekleme yapın, istek zincirlerini kısaltın, yalnızca limitlere uyuyorsanız "aldım, netleştiriyorum…" gibi yanıt verin. - İpucu yok: Kullanıcı ne söyleyeceğini anlamıyor.
Çözüm: Karşılama + "Şunu deyin: … veya …". - Çok "geniş" konu: Beceri her şeyi yapmaya çalışıyor ve karışıyor.
Çözüm: Tek anlaşılır senaryo, ardından genişletme. - Bozuk JSON:
versionunutulmuş, yanlışresponseyapısı, boş alanlar.
Çözüm: Minimum şablonla başlayın ve öğeleri tek tek değiştirin.
SSS
Programlama olmadan beceri oluşturulabilir mi?
Tamamen — nadiren: Genellikle bir backend (Webhook/fonksiyon) gerekir. Ancak Cloud Functions'ta basit bir şablonla ve minimum "yardım/yankı" mantığıyla başlanabilir.
Neden beceri ada göre bulunmuyor?
Çoğunlukla sorun etkinleştirme adındadır (çok genel/kötü tanınıyor) veya beceri yayınlanmamış/özel ve siz başka bir hesaptan test ediyorsunuz.
Hemen NLP/nietler yapmak gerekir mi?
Başlangıçta senaryo ve ipuçları daha önemlidir. Diyalog kısa ve kontrollü ise, birçok beceride basit kurallar ve anahtar cümleler yeterlidir.