Google Asistan ve Amazon Alexa için Ses Becerileri Oluşturma
Yayınlanan: 2022-03-10Son on yılda, konuşma arayüzlerine doğru sismik bir değişim oldu. İnsanlar "en yüksek ekrana" ulaştıkça ve hatta çoğu işletim sistemine eklenen dijital sağlık özellikleriyle cihaz kullanımlarını küçültmeye başladıkça.
Ekran yorgunluğuyla mücadele etmek için, sesli asistanlar, bilgileri hızlı bir şekilde almak için tercih edilen bir seçenek haline gelmek üzere pazara girdi. İyice tekrarlanan bir istatistik, 2020 yılında aramaların %50'sinin sesle yapılacağını belirtiyor. Ayrıca, benimseme arttıkça, araç kemerlerine "Konuşma Arayüzleri" ve "Sesli Asistanlar" eklemek geliştiricilere kalmış.
Görünmezi Tasarlamak
Birçoğu için, bir sesli UI (VUI) projesine başlamak biraz Bilinmeyen'e girmek gibi olabilir. William Merrill'in ses için tasarım yaparken öğrendiği dersler hakkında daha fazla bilgi edinin. İlgili bir makaleyi okuyun →
Konuşma Arayüzü Nedir?
Bir Konuşma Arayüzü (bazen CUI olarak kısaltılır, bir insan dilindeki herhangi bir arayüzdür. Ön uç geliştiricilerin oluşturmaya alışkın olduğu Grafik Kullanıcı Arayüzü GUI'sinden genel halk için daha doğal bir arayüz olduğu söylenir. Bir GUI, insanlara ihtiyaç duyar. arayüzün belirli sözdizimlerini öğrenmek için (düşün butonlar, kaydırıcılar ve açılır menüler).
İnsan dilini kullanmadaki bu önemli fark, CUI'yi insanlar için daha doğal hale getirir; az bilgi gerektirir ve anlama yükünü cihaza yükler.
Genellikle CUI'ler iki şekilde gelir: Chatbot'lar ve Sesli Asistanlar. Her ikisi de, Doğal Dil İşleme'deki (NLP) gelişmeler sayesinde son on yılda alımda büyük bir artış gördü.
Ses Jargonunu Anlamak

anahtar kelime | Anlam |
---|---|
Beceri/Aksiyon | Bir dizi amacı yerine getirebilecek bir ses uygulaması |
niyet | Becerinin yerine getirmesi amaçlanan eylem, kullanıcının söylediklerine yanıt olarak becerinin yapmasını istediği şey. |
söz | Bir kullanıcının söylediği veya söylediği cümle. |
kelimeyi uyandır | Sesli asistanı dinlemeye başlamak için kullanılan kelime veya ifade, örneğin 'Hey google', 'Alexa' veya 'Hey Siri' |
Bağlam | Bir sözce içindeki, becerinin bir amacı yerine getirmesine yardımcı olan bağlamsal bilgi parçaları, örneğin 'bugün', 'şimdi', 'eve geldiğimde'. |
Sesli Asistan Nedir?
Ses asistanı, NLP (Doğal Dil İşleme) yapabilen bir yazılım parçasıdır. Bir sesli komut alır ve ses biçiminde bir yanıt döndürür. Son yıllarda bir asistanla nasıl etkileşim kurabileceğinizin kapsamı genişliyor ve gelişiyor, ancak teknolojinin püf noktası doğal dil içinde, çok sayıda hesaplama, doğal dil dışında.
Biraz daha detay arayanlar için:
- Yazılım, bir kullanıcıdan sesli bir istek alır, sesi dilin yapı taşları olan fonemlere dönüştürür.
- AI'nın büyüsüyle (Specifically Speech-To-Text), bu fonemler, yaklaşık istek dizisine dönüştürülür, bu, kullanıcı, istek ve oturum hakkında ek bilgiler de içeren bir JSON dosyasında tutulur.
- Ardından JSON, isteğin bağlamını ve amacını belirlemek için işlenir (genellikle bulutta).
- Amaca bağlı olarak, yine daha büyük bir JSON yanıtı içinde, bir dize olarak veya SSML olarak bir yanıt döndürülür (daha fazlası için)
- Yanıt, daha sonra kullanıcıya döndürülen AI (doğal olarak tersi - Metin-Konuşma) kullanılarak geri işlenir.
Orada pek çok şey oluyor ve bunların çoğu ikinci kez düşünmeyi gerektirmiyor. Ancak her platform bunu farklı şekilde yapar ve platformun nüansları biraz daha fazla anlayış gerektirir.

Ses Etkin Cihazlar
Bir cihazın sesli asistana sahip olabilmesi için gereksinimler oldukça düşüktür. Bir Mikrofon, internet bağlantısı ve bir Hoparlör gerektirirler. Nest Mini ve Echo Dot gibi Akıllı Hoparlörler, bu tür düşük-fi ses kontrolü sağlar.
Sırada ses + ekran var, bu bir 'Multimodal' cihaz olarak bilinir (daha sonra bunlar hakkında daha fazla bilgi verilir) ve Nest Hub ve Echo Show gibi cihazlardır. Akıllı telefonlar bu işlevselliğe sahip olduğundan, bir tür Multimodal ses etkin cihaz olarak da kabul edilebilirler.
Ses Becerileri
Öncelikle, her platformun 'Ses Becerileri' için farklı bir adı vardır, Amazon, evrensel olarak anlaşılan bir terim olarak bağlı kalacağım becerilerle gider. Google, 'Eylemler'i, Samsung ise 'kapsülleri' seçer.
Her platformun saati sorma, hava durumu ve spor oyunları gibi yerleşik becerileri vardır. Geliştirici tarafından yapılan (üçüncü taraf) beceriler, belirli bir ifadeyle çağrılabilir veya platform beğenirse, anahtar bir ifade olmadan dolaylı olarak çağrılabilir.
Açık Çağrı : ”Ok Google, <uygulama adı> ile konuşun.”
Hangi becerinin istendiği açıkça belirtilmiştir:
Örtülü Çağrı : "Hey Google, bugün hava nasıl?"
Kullanıcının hangi hizmeti istediği, isteğin içeriği tarafından ima edilir.
Hangi Sesli Asistanlar Var?
Batı pazarında, sesli asistanlar çok fazla üç atlı bir yarıştır. Apple, Google ve Amazon'un asistanlarına çok farklı yaklaşımları var ve bu nedenle farklı türde geliştiricilere ve müşterilere hitap ediyor.
Apple'ın Siri'si
Cihaz Adı : ”Siri”
Uyandırma İfadesi : "Hey Siri"
Siri'nin 375 milyondan fazla aktif kullanıcısı var, ancak kısa olması adına Siri için çok fazla ayrıntıya girmiyorum. Küresel olarak iyi bir şekilde benimsenmiş ve çoğu Apple cihazına yerleştirilmiş olsa da, geliştiricilerin Apple platformlarından birinde zaten bir uygulamaya sahip olmasını ve hızlı bir şekilde yazılmasını gerektirir (diğerleri ise herkesin favorisi olan Javascript ile yazılabilir). Uygulamalarının teklifini genişletmek isteyen bir uygulama geliştiricisi değilseniz, onlar platformlarını açana kadar şu anda Apple'ı atlayabilirsiniz.
Google Asistan
Cihaz Adları : ”Google Home, Nest”
Uyandırma İfadesi : "Hey Google"
Google, dünya çapında 1 Milyardan fazla cihazla, büyük üçün en fazla cihazına sahiptir, bu çoğunlukla, Google Asistan'ın yerleşik olduğu Android cihazların kütlesinden kaynaklanmaktadır, özel akıllı hoparlörleriyle ilgili olarak, sayılar biraz daha küçüktür. Google'ın asistanıyla birlikte genel görevi, kullanıcıları memnun etmektir ve onlar her zaman hafif ve sezgisel arayüzler sağlamada çok başarılı olmuştur.
Platformdaki birincil amaçları, müşterilerin günlük rutininin düzenli bir parçası olma fikriyle zamanı kullanmaktır. Bu nedenle, öncelikle fayda, aile eğlencesi ve keyifli deneyimlere odaklanırlar.
Google için geliştirilen beceriler, öncelikle aile dostu eğlenceye odaklanan etkileşim parçaları ve oyunlar olduğunda en iyisidir. Son zamanlarda oyunlar için tuval eklemeleri bu yaklaşımın bir kanıtıdır. Google platformu, becerilerin sunulması için çok daha katıdır ve bu nedenle dizinleri çok daha küçüktür.
amazon alexa
Cihaz Adları : “Amazon Fire, Amazon Echo”
Uyandırma İfadesi : “Alexa”
Amazon, 2019'da 100 milyon cihazı aştı; bu, ağırlıklı olarak akıllı hoparlörlerinin ve akıllı ekranlarının yanı sıra "ateş" menzili veya tabletleri ve akış cihazlarının satışından geliyor.
Amazon için oluşturulan beceriler, beceri satın almaya yönelik olma eğilimindedir. E-ticaretinizi/hizmetinizi genişletmek veya bir abonelik sunmak için bir platform arıyorsanız Amazon tam size göre. Bununla birlikte, ISS, Alexa Skills için bir gereklilik değildir, her türlü kullanımı destekler ve gönderimlere çok daha açıktır.
Diğerleri
Samsung'un Bixby'si, Microsoft'un Cortana'sı ve popüler açık kaynaklı ses yardımcısı Mycroft gibi daha da fazla Ses asistanı var. Üçünün de makul bir takipçisi var, ancak Amazon, Google ve Apple'ın üç Goliath'ına kıyasla hala azınlıktalar.
Amazon Alexa'yı Geliştirmek
Ses için Amazons Ekosistemi, geliştiricilerin tüm becerilerini Alexa konsolunda geliştirmelerine izin verecek şekilde gelişti, bu nedenle basit bir örnek olarak, yerleşik özelliklerini kullanacağım.

Alexa, Doğal Dil İşleme ile ilgilenir ve ardından mantıkla başa çıkmak için Lambda işlevimize iletilen uygun bir Amaç bulur. Bu, bazı konuşma bitlerini (SSML, metin, kartlar vb.) Alexa'ya döndürür ve bu bitleri cihazda gösterilmek üzere ses ve görsellere dönüştürür.
Alexa Developer Console'da becerinizin tüm bölümlerini oluşturmanıza izin verdikleri için Amazon'da çalışmak nispeten basittir. AWS veya HTTPS uç noktası kullanmak için esneklik vardır, ancak basit beceriler için her şeyi Geliştirme konsolunda çalıştırmak yeterli olmalıdır.
Basit Bir Alexa Becerisi Oluşturalım
Amazon Alexa konsoluna gidin, hesabınız yoksa bir hesap oluşturun ve giriş yapın,
Create Skill
tıklayın ve ona bir ad verin,
Modeliniz olarak custom
seçin,
ve arka uç kaynağınız için Alexa-Hosted (Node.js)
seçin.
Sağlama işlemi tamamlandıktan sonra, temel bir Alexa becerisine sahip olacaksınız, amacınız sizin için oluşturulmuş olacak ve başlamanıza yardımcı olacak bazı arka uç kodlarına sahip olacaksınız.
Intents'ta HelloWorldIntent
tıklarsanız, zaten sizin için ayarlanmış bazı örnek ifadeler göreceksiniz, en üste yeni bir tane ekleyelim. Becerimize merhaba dünya denir, bu nedenle örnek bir söz olarak Merhaba Dünya'yı ekleyin. Buradaki fikir, kullanıcının bu amacı tetiklemek için söyleyebileceği her şeyi yakalamaktır. Bu, “Merhaba Dünya”, “Merhaba Dünya” vb. olabilir.
Yerine Getirme JS'de Neler Oluyor?
Peki kod ne yapıyor? İşte varsayılan kod:
const HelloWorldIntentHandler = { canHandle(handlerInput) { return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest' && Alexa.getIntentName(handlerInput.requestEnvelope) === 'HelloWorldIntent'; }, handle(handlerInput) { const speakOutput = 'Hello World!'; return handlerInput.responseBuilder .speak(speakOutput) .getResponse(); } };
Bu, ask-sdk-core
kullanıyor ve esasen bizim için JSON oluşturuyor. canHandle
, ask'ın niyetleri, özellikle 'HelloWorldIntent'i işleyebileceğini bilmesini sağlıyor. handle
girdiyi alır ve yanıtı oluşturur. Bunun ürettiği şey şuna benzer:
{ "body": { "version": "1.0", "response": { "outputSpeech": { "type": "SSML", "ssml": " Hello World! " }, "type": "_DEFAULT_RESPONSE" }, "sessionAttributes": {}, "userAgent": "ask-node/2.3.0 Node/v8.10.0" } }
{ "body": { "version": "1.0", "response": { "outputSpeech": { "type": "SSML", "ssml": " Hello World! " }, "type": "_DEFAULT_RESPONSE" }, "sessionAttributes": {}, "userAgent": "ask-node/2.3.0 Node/v8.10.0" } }
{ "body": { "version": "1.0", "response": { "outputSpeech": { "type": "SSML", "ssml": " Hello World! " }, "type": "_DEFAULT_RESPONSE" }, "sessionAttributes": {}, "userAgent": "ask-node/2.3.0 Node/v8.10.0" } }
Konuşmanın json'umuzda speak
çıktısını görebiliriz, bu da kullanıcının Alexa tarafından konuşulduğunda duyacağı şeydir.

Google Asistan İçin Oluşturma

Actions on Google'ı oluşturmanın en basit yolu, AoG konsollarını Dialogflow ile birlikte kullanmaktır; becerilerinizi firebase ile genişletebilirsiniz, ancak Amazon Alexa eğitiminde olduğu gibi, işleri basit tutalım.
Google Asistan, NLP ile ilgilenen AoG, niyetlerinizi çözen Dialogflow ve isteği yerine getiren ve AoG'ye geri gönderilecek yanıtı üreten Firebase olmak üzere üç ana bölüm kullanır.
Tıpkı Alexa'da olduğu gibi, Dialogflow da işlevlerinizi doğrudan platform içinde oluşturmanıza olanak tanır.
Google'da Bir Eylem Oluşturalım
Üç farklı konsol tarafından erişilen Google'ın çözümüyle aynı anda oynayabileceğiniz üç platform var, o yüzden yukarı çıkın!
Dialogflow'u Ayarlama
Dialogflow konsoluna giriş yaparak başlayalım. Giriş yaptıktan sonra, Dialogflow logosunun hemen altındaki açılır menüden yeni bir aracı oluşturun.
Temsilcinize bir ad verin ve "Yeni bir Google projesi oluştur" seçiliyken "Google Projesi Açılır Listesi"ni ekleyin.
Oluştur düğmesine tıklayın ve sihrini yapmasına izin verin, aracıyı kurmak biraz zaman alacaktır, bu yüzden sabırlı olun.
Firebase İşlevlerini Ayarlama
Pekala, şimdi Yerine Getirme mantığını eklemeye başlayabiliriz.
Gerçekleştirme sekmesine gidin. Satır içi düzenleyiciyi etkinleştirmek için işaretleyin ve aşağıdaki JS parçacıklarını kullanın:
index.js
'use strict'; // So that you have access to the dialogflow and conversation object const { dialogflow } = require('actions-on-google'); // So you have access to the request response stuff >> functions.https.onRequest(app) const functions = require('firebase-functions'); // Create an instance of dialogflow for your app const app = dialogflow({debug: true}); // Build an intent to be fulfilled by firebase, // the name is the name of the intent that dialogflow passes over app.intent('Default Welcome Intent', (conv) => { // Any extra logic goes here for the intent, before returning a response for firebase to deal with return conv.ask(`Welcome to a firebase fulfillment`); }); // Finally we export as dialogflowFirebaseFulfillment so the inline editor knows to use it exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
paket.json
{ "name": "functions", "description": "Cloud Functions for Firebase", "scripts": { "lint": "eslint .", "serve": "firebase serve --only functions", "shell": "firebase functions:shell", "start": "npm run shell", "deploy": "firebase deploy --only functions", "logs": "firebase functions:log" }, "engines": { "node": "10" }, "dependencies": { "actions-on-google": "^2.12.0", "firebase-admin": "~7.0.0", "firebase-functions": "^3.3.0" }, "devDependencies": { "eslint": "^5.12.0", "eslint-plugin-promise": "^4.0.1", "firebase-functions-test": "^0.1.6" }, "private": true }
Şimdi amaçlarınıza geri dönün, Varsayılan Hoş Geldiniz Niyeti'ne gidin ve yerine getirme için aşağı kaydırın, javascript ile yerine getirmek istediğiniz herhangi bir amaç için 'Bu amaç için web kancası çağrısını etkinleştir' seçeneğinin işaretli olduğundan emin olun. Kaydet'e basın.

AoG'yi Ayarlama
Artık bitiş çizgisine yaklaşıyoruz. Entegrasyonlar Sekmesine gidin ve üstteki Google Asistan Seçeneğinde Entegrasyon Ayarları'nı tıklayın. Bu bir modal açacaktır, bu yüzden Dialogflow'unuzu Google ile entegre edecek testi tıklayalım ve Actions on Google'da bir test penceresi açalım.
Test penceresinde, Test uygulamamla konuş'a tıklayabiliriz (Bunu bir saniye içinde değiştireceğiz) ve işte, javascript'imizin bir google asistan testinde gösterilen mesajı var.
En üstteki Geliştirme sekmesinde asistanın adını değiştirebiliriz.
Peki, Yerine Getirme JS'de Neler Oluyor?
İlk olarak, iki npm paketi kullanıyoruz, hem AoG hem de Dialogflow'un ihtiyaç duyduğu tüm gerçekleştirmeyi sağlayan google'da eylemler ve ikincisi, tahmin ettiğiniz gibi firebase işlevleri, firebase için yardımcılar içerir.
Ardından, tüm amaçlarımızı içeren bir nesne olan 'uygulamayı' yaratırız.
Oluşturulan her amaç, Actions On Google'ın gönderdiği konuşma nesnesi olan 'conv' iletilir. Kullanıcıyla önceki etkileşimler hakkındaki bilgileri (kimlikleri ve bizimle oturumları hakkındaki bilgiler gibi) tespit etmek için conv içeriğini kullanabiliriz.
Kullanıcıya başka bir amaçla yanıt vermeye hazır, geri dönüş mesajımızı içeren bir 'conv.ask nesnesi' döndürürüz. Konuşmayı orada bitirmek istiyorsak konuşmayı bitirmek için 'conv.close' kullanabiliriz.
Son olarak, her şeyi bizim için sunucu tarafı istek-yanıt mantığıyla ilgilenen bir firebase HTTPS işlevinde toplarız.
Yine, oluşturulan cevaba bakarsak:
{ "payload": { "google": { "expectUserResponse": true, "richResponse": { "items": [ { "simpleResponse": { "textToSpeech": "Welcome to a firebase fulfillment" } } ] } } } }
conv.ask
metnini textToSpeech
alanına enjekte ettiğini görebiliriz. conv.close
öğesini seçmiş olsaydık, expectUserResponse
false
olarak ayarlanır ve ileti teslim edildikten sonra konuşma kapanır.
Üçüncü Taraf Ses Oluşturucular
Uygulama endüstrisinde olduğu gibi, ses çekiş kazandıkça, geliştiricilerin üzerindeki yükü hafifletmek amacıyla 3. taraf araçlar ortaya çıkmaya başladı ve bir kez kurulumlarını iki kez kurmalarına izin verdi.
Jovo ve Voiceflow, özellikle PullString'in Apple tarafından satın alınmasından bu yana şu anda en popüler ikisi. Her platform farklı bir soyutlama düzeyi sunar, bu yüzden gerçekten sadece arayüzünüz gibi ne kadar basitleştirilmiş olduğunuza bağlıdır.
Becerinizi Geliştirmek
Artık temel bir 'Merhaba Dünya' becerisi oluşturmaya kafa yorduğunuza göre, becerinize eklenebilecek çok sayıda zil ve ıslık var. Bunlar, Sesli Asistanlar pastasının tepesindeki kirazlardır ve kullanıcılarınıza çok fazla ekstra değer vererek, tekrar eden özel ve potansiyel ticari fırsatlara yol açar.
SSML
SSML, konuşma sentezi biçimlendirme dili anlamına gelir ve HTML'ye benzer bir sözdizimi ile çalışır; temel fark, bir web sayfasındaki içerik değil, sözlü bir yanıt oluşturmanızdır.
'SSML' bir terim olarak biraz yanıltıcıdır, konuşma sentezinden çok daha fazlasını yapabilir! Paralel giden sesler olabilir, ortam sesleri, konuşmalar (kendi başlarına dinlemeye değer, ünlü ifadeler için emojiler düşünün) ve müzik dahil edebilirsiniz.
SSML'yi Ne Zaman Kullanmalıyım?
SSML harikadır; kullanıcı için çok daha ilgi çekici bir deneyim sağlar, ancak aynı zamanda ses çıkışının esnekliğini azaltır. Daha statik konuşma alanları için kullanmanızı öneririm. Değişkenleri adlar vb. için kullanabilirsiniz, ancak bir SSML oluşturucu oluşturmayı düşünmüyorsanız, çoğu SSML oldukça statik olacaktır.
Becerinizde basit konuşma ile başlayın ve tamamlandığında, SSML ile daha statik olan alanları geliştirin, ancak zillere ve ıslıklara geçmeden hemen önce özünüzü alın. Bununla birlikte, yakın tarihli bir rapor, kullanıcıların %71'inin sentezlenmiş sese karşı insan (gerçek) sesini tercih ettiğini söylüyor, bu yüzden bunu yapma imkanınız varsa, dışarı çıkın ve yapın!

Beceri Satın Almalarında
Beceri içi satın almalar (veya ISP), uygulama içi satın alma kavramına benzer. Beceriler ücretsiz olma eğilimindedir, ancak bazıları uygulama içinde 'premium' içerik/abonelik satın alınmasına izin verir, bunlar bir kullanıcının deneyimini iyileştirebilir, oyunlarda yeni seviyelerin kilidini açabilir veya ödeme duvarlı içeriğe erişime izin verebilir.
çok modlu
Çok modlu yanıtlar, sesten çok daha fazlasını kapsar; sesli asistanların, onları destekleyen cihazlarda tamamlayıcı görsellerle gerçekten parlayabileceği yer burasıdır. Çok modlu deneyimlerin tanımı çok daha geniştir ve esasen birden çok giriş anlamına gelir (Klavye, Fare, Dokunmatik Ekran, Ses vb.).
Multimodal becerilerin temel ses deneyimini tamamlaması ve UX'i güçlendirmek için ekstra tamamlayıcı bilgiler sağlaması amaçlanmıştır. Çok modlu bir deneyim oluştururken, bilginin birincil taşıyıcısının ses olduğunu unutmayın. Çoğu cihazın ekranı yoktur, bu nedenle becerinizin ekran olmadan da çalışması gerekir, bu nedenle birden fazla cihaz türüyle test ettiğinizden emin olun; ya gerçek ya da simülatörde.

Çok dilli
Çok dilli beceriler, birden çok dilde çalışan ve becerilerinizi birden çok pazara açan becerilerdir.
Becerinizi çok dilli hale getirmenin karmaşıklığı, yanıtlarınızın ne kadar dinamik olduğuna bağlıdır. Nispeten statik yanıtlara sahip beceriler, örneğin her seferinde aynı ifadeyi geri döndürmek veya yalnızca küçük bir kelime grubu kullanmak, çok dilli hale getirmek, dinamik becerileri yaymaktan çok daha kolaydır.
Çok dilli olmanın püf noktası, ister bir ajans aracılığıyla ister Fiverr'daki bir çevirmen aracılığıyla olsun, güvenilir bir çeviri ortağına sahip olmaktır. Özellikle çevrilen dili anlamıyorsanız, sağlanan çevirilere güvenebilmeniz gerekir. Google translate burada hardalı kesmez!
Çözüm
Ses endüstrisine girmek için bir zaman olsaydı, şimdi olurdu. Hem ilk hem de emekleme döneminde, aynı zamanda dokuz büyük, onu büyütmek için milyarlarca para harcıyor ve sesli asistanları herkesin evlerine ve günlük rutinlerine getiriyor.
Hangi platformu kullanacağınızı seçmek zor olabilir, ancak ne inşa etmeyi düşündüğünüze bağlı olarak, kullanılacak platform öne çıkmalı veya başarısız olursa, özellikle beceriniz varsa, bahislerinizi korumak ve birden fazla platformda inşa etmek için üçüncü taraf bir araç kullanmalıdır. daha az hareketli parça ile daha az karmaşıktır.
Ben, her yerde yaygınlaştıkça sesin geleceği konusunda heyecanlıyım; ekran bağımlılığı azalacak ve müşteriler asistanlarıyla doğal bir şekilde etkileşime girebilecek. Ama önce, insanların asistanlarından isteyeceği becerileri geliştirmek bize bağlı.