Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アレクサアプリを開発してみたら中々大変だった話
Search
maito1201
February 26, 2021
Programming
0
700
アレクサアプリを開発してみたら中々大変だった話
node学園35時限目の発表資料です
maito1201
February 26, 2021
Tweet
Share
More Decks by maito1201
See All by maito1201
Go1.24 Release Party Goのiterを更に使いこなそう
maito1201
0
89
Go1.22 Release Party archiveパッケージの新機能を検証する
maito1201
0
67
Vue.js & Electronデスクトップアプリを作ろう
maito1201
2
1.8k
Other Decks in Programming
See All in Programming
CSC305 Lecture 05
javiergs
PRO
0
220
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
110
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
850
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
230
Le côté obscur des IA génératives
pascallemerrer
0
150
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
200
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
150
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
5.1k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
500
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
180
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
How GitHub (no longer) Works
holman
315
140k
Writing Fast Ruby
sferik
629
62k
Agile that works and the tools we love
rasmusluckow
331
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Navigating Team Friction
lara
190
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Mobile First: as difficult as doing things right
swwweet
225
10k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Transcript
アレクサアプリを開発してみたら中々大変だった話 Node学園 35時限目 オンライントライアル
伊藤真彦 Masahiko Ito フューチャー株式会社 TIG DXチーム所属 担当領域: コンサルタントとしてなんでもやっています 趣味: ギター
資格: @it_guitar 自己紹介
スキルを開発して得た知見の共有 開発やってみるか、と思っていただく Amazon echoユーザーの仲間を増やす 自分が開発したスキルのユーザーが増える プレゼンの目的
ご存じAmazon echo dot、ついに買いました
リモートワーク向けなスキルを開発しました、結構大変でした リモート会議に特化したリマインダーです、 「アレクサ、リモート会議リマインダー」でスキルが起動します。 「〇月〇日、〇時〇分」もしくは「〇時〇分」と会議の時間を指定すると、10分前と1分前の二つのリマインダーを作成します。
課題は2点 ◦ 情報が少ない、古い ◦ 学習障壁がちょっと高い
Alexaスキルのアーキテクチャ
Alexaスキルのアーキテクチャ
Alexaスキルのアーキテクチャ
Alexaスキルのアーキテクチャ 設定する 開発する
Alexaスキルの開発方法
Alexaスキルの開発方法 Alexaスキルは開発者コンソールがあります、開発にあたりAWSに支払う費用はありません
Alexaスキルの開発方法 開発したいスキルを選択するとこのような画面に
Alexaスキルの開発方法 「ビルド」タブで音声認識モデルの設定ができます、AIの知識は不要
インテント、スロットとは インテント 直訳すると「意図・目的」 Alexaが受け取った音声をカテゴライズするもの 組み込みのインテントもあるが、自由に設定できる 「わからない」、「ヘルプ」等と話しかけると AMAZON.HelpIntentにカテゴライズされる 対象の単語は自由に追加、削除できる スロット
インテントに内包できるパラメータのこと 後続のLambdaに自然言語を特定の形式に解釈して渡すこ とができる
Alexaスキルの開発方法 インテント、スロットの設定が完了したら、Lambda関数を開発します、もちろんnodeで... 現在はコードエディタのタブで開発できます
Alexaスキルの開発方法 結構最近のアップデートなので、2019年ごろの記事でもLambdaは通常のLambda関数と同様に開発する方法 が紹介されています、現在はLambdaの設計図からAlexaスキル向けのものは削除されています
Alexaスキルの開発方法 ask-sdk-coreを使って、各種インテントに対応したハンドラを実装していきます
Alexaスキルの開発方法 詳しいコードの書き方は、alexa-cookbookが参考になります
Alexaスキルの開発方法 テストタブで動作検証が可能です、本当に話しかける必要が無いので便利
Alexaスキルの開発方法 残念ながらリマインダーは実機でないと設定できず
Alexaスキルの開発方法 Lambda関数の実行ログはCloudWatchログで確認できます
Alexaスキルの開発方法 ビルドタブからCloudWatchログに遷移できます どのリージョンで動いたのかがわからないのが不便
理解する必要があるもの ◦ Node.js, sdkの使い方 • JavaScriptを書けてもSDKの使い方は学ぶ必要あり • リマインダーを使うためにSDKに設定が必要な点があったりする ◦ 音声認識モデルの設定
• FallbackIntentの使い方など、Lambdaの実装だけでは完結できない 機能がある ◦ Lambda, AWSの概念、使い方 • Lambdaへのデプロイなどはとても簡単だが前提知識は求められる ◦ Alexa実機の挙動、スマホアプリの使い方 • スマホアプリでリマインダーの利用を許可する必要がある • 理解するまで結構苦戦した
これら全て情報が少ない!
困難を乗り越え無事にリリースできると嬉しいですね
Alexaで素敵な開発者ライフを送りましょう
None