BRIDGE

タグ Serenade

タイピングより効率的な音声コーディング「Serenade」の価値ーー病気でもエンジニアとして生きる方法

SHARE:

ピックアップ:Serenade snags $2.1M seed round to turn speech into code ニュースサマリ:音声コーディングアプリを開発する「Serenade」は11月23日、AmplifyPartnersとNeoが主導するシードラウンドで210万ドルの資金調達を公表している。同社は効率を犠牲にすることなく、従来の入力メカニズムに依存しない、よりアクセスしやすい…

Image Credit:serenade

ピックアップ:Serenade snags $2.1M seed round to turn speech into code

ニュースサマリ:音声コーディングアプリを開発する「Serenade」は11月23日、AmplifyPartnersとNeoが主導するシードラウンドで210万ドルの資金調達を公表している。同社は効率を犠牲にすることなく、従来の入力メカニズムに依存しない、よりアクセスしやすい音声によるコード記述方法を提供している。今回の資金はSerenadeチームの強化とプラグインや自動化などの開発強化に使われる予定。

話題のポイント:会話のように自然にOSとしゃべりする。これがSerenadeが生み出す価値です。

Quoraのエンジニアだった共同創業者のMatt Wiethoff氏が同じ動作を繰り返すことで組織損傷や炎症を起こす反復運動過多損傷を発症してコードが書けなくなったことをきっかけに創業されたのが同社だそうです。エンジニアが生産的な開発ができることを前提に作られているため、これまでのディクテーションソフトウェアとは全く異なる新しい音声コーディングアプリと言えます。

ディクテーションソフトウェアはNATOアルファベットを使用して話す必要があったり、単語とキーストロークの独自のマッピングを記憶する必要があったりします。たとえ使いこなせたとしても、ソースコードで発生するすべての文字を口述するのはあまりに面倒です。Pythonで関数を作成するとき「d>e>f>h>e>l>l>o>左括弧>右括弧>コロン>改行>インデント…」と言っていたのでは生産的とは言えません。

Video Credit:serenade

Serenadeの共同創業者Tommy MacWilliam氏はこの音声コーディングアプリが最終的に単なる身体的障害を手助けする救済ツールから飛躍し、コーディングを変えうる発明になるとブログに綴っています。

Ultimately, we don’t think Serenade can be just as fast as typing—we think it can be faster. (Serenadeはタイピングほど開発を速くするとは思いません。もっと速くなると思います)

では具体的に他の音声プログラミングソリューションとはどのように違うのか、特徴をまとめていきます。

コード専用にカスタムモデルした音声テキストエンジン

音声テキスト技術の多くは典型的な会話で訓練されていることがほとんどです。会話の中で「attr」または「enum」と言う頻度を考えれば分かる通り、これはコードには理想的な学習材料とはなりません。一般的なプログラミング構造、変数名、およびプログラミング時に言う他の単語を学習し、編集しているファイルのコンテキストを使用できることさえできます。

たとえば、関数の中に「thebridge」という変数があるとします。コンテキストがない音声テキストエンジンでは一般的な用語でないため「ザブリッジ」という単語を低くランク付けしてしまいます。一方で、コンテキストを使用できるSerenadeでは「ザブリッジ」のように聞こえた言葉が変数である可能性が高いことを知っているため、代替リストのトップにランク付けできます。つまり変数、関数、クラスなどの名前を口にするとき、Serenadeはそれが何を意味するのかを正確に読み取れるのです。

Video Credit:serenade

自然言語でコーディング

たしかに文字ごと単語ごとに口述するのは非効率的で遅いです。それはプログラム言語が自然言語と文法が異なることに起因します。仮に関数の中身を自然言語で構築できるのであれば、口述が日常会話並みの意味伝搬速度を発揮することになるでしょう。

Serenadeは構文や暗記を気にすることなく自然な英語の入力で「create function hello」と言うだけでhello関数を作成できるようになっています。もちろん「クラスの削除」や「パラメータのURLの追加」など既存コードの操作も自然言語に対応しています。

ファイルの上部にある関数を削除したいときには「最初の機能を削除」と言うだけ。関数を書いている最中で、fooという変数を書き忘れていたときには「パラメータfooを追加」と言うだけです。

この機能が改善されていく未来にMacWilliam氏が言う「タイピングを超える効率性」をエンジニアにもたらします。タイピングを完全に置き換える場合でも、キーボードと一緒に使用してワークフローに多様性と柔軟性を導入する場合でも、音声によるコーディングは開発速度の向上に役立つことは間違いなさそうです。