Claude Code + AssemblyAI:あなたが作れる最も簡単な音声エージェント!

Google・DeepMind・Alphabet
この記事は約11分で読めます。

Claude CodeとAssemblyAIのVoice Agent APIを使い、ブラウザ上で動く音声エージェントを短時間で構築する手順を解説する内容である。音声認識、言語モデル、音声合成、ターン検出を1つのAPIで扱える利点を示し、システムプロンプトの活用、APIキー設定、Cal.com連携、実際の予約テスト、運用コスト比較まで具体的に紹介している。

Claude Code + AssemblyAI: The Easiest Voice Agent You Can Build!
This video is sponsored by AssemblyAI. Get a free account and in credits to build your own:🔑 Code + AssemblyAI =...

音声エージェント構築が簡単になった理由

音声エージェントを作るには、以前ならチームと1か月が必要でした。私はそれを、たった1つのAPIを使って、Claude Codeで午後のうちに作りました。音声を聞き取り、返事をし、私が何もしなくても実際に私のカレンダーへミーティングを予約してくれます。では、実際に使ったプロンプト、ワークフロー、そして運用にいくらかかるのかをそのまま見せていきます。さっそく始めましょう。

まずは、なぜ音声エージェントの構築がこれまで面倒だったのかから始めます。通常のやり方では、3つのものをつなぎ合わせる必要があります。音声をテキストに変換するもの、話された内容について考える言語モデル、そしてその回答をもう一度音声に戻すものです。3つのサービス、3組のドキュメント、そして3つの請求が発生します。

AssemblyAIがやったのは、そのすべてを1つの接続の裏側にまとめることです。音声を入れて、音声が出てくる。その間で、音声認識、モデル、音声、そしてターン検出まで処理してくれます。だからこの構築は短く済みます。自分で何かをつなぎ合わせているわけではないので、壊したり間違えたりする部分が少なくなるんです。

AssemblyAIのシステムプロンプトをClaude Codeに渡す

このプロセス全体を簡単にしているのは、今回のAPIプロバイダーであり、今日の動画のスポンサーでもあるAssemblyAIが、AIコーディングエージェントをAPIに直接かんたんに接続できるようなシステムプロンプトを実際に用意していることです。

これは、Claude Codeが本来なら間違って推測してしまうような部分です。APIが求める正確な音声フォーマット、ブラウザで具体的に何が壊れるのか、ツール呼び出しをどう構造化する必要があるのか、人間らしく感じられるターン検出のデフォルト設定などです。

なので、Claude Codeに何かを作らせる前に、そのプロンプト全体をシステムプロンプトとして貼り付けます。ここをクリックすると、この部分に移動します。ここに統合プロンプトをコピーする場所があり、ワンショットのエージェントセッションに役立つことがわかります。そして完全な統合プロンプトがここにあります。やることは、これをクリップボードにコピーするだけです。

これが、Claude Codeが一発で動くコードを書くか、あるいは一見自信たっぷりだけれど微妙に間違ったコードを書くかの違いになります。APIのルールを覚えていることを期待するのではなく、最初からそのルールを渡しているわけです。

この動画から1つだけ持ち帰るなら、AssemblyAIのようなツール提供者がプロンプトを用意してくれている場合は、必ずそれを自分のコーディングアシスタントに貼り付けてください。

では、APIドキュメントからそのシステムプロンプトを取ってきたので、今度はそのプロンプトをClaude Codeに貼り付けて、セットアップを手伝ってもらいます。とてもシンプルです。やったことはコピーしただけで、ここでペーストを押します。では貼り付けて、Enterを押します。

すると、このシステムプロンプトがClaude Codeに対して、API統合を手伝うためにここにいると伝えているのがわかります。そしてディレクトリが空であることに気づいています。なので、まっさらな状態から始めます。

コードを書く前に、Claude Codeは私が何を使って作ろうとしているのかを理解し、適切なアプローチをすすめられるようにします。そこで、AssemblyAIのVoice Agent APIを使ってブラウザベースの音声エージェントを作っている、と伝えます。これはインテークアシスタントになります。私のコンサルティングビジネス用です。発信者に挨拶し、何を作ろうとしているのかを聞き、いくつかの適格性確認の質問をして、もし条件に合えば、という流れです。ここでEnterを押します。

すると、私のリクエストを理解し、それに基づいて実際のAPIドキュメントにある公式クイックスタートをフォークしようとしているのがわかります。この手順は必ずしも必要ではありません。システムプロンプトも渡しているからです。ただ、これは良いバックアップになります。

そして、APIのブラウザ統合にアクセスしてよいかと聞いてきます。ここで許可を押します。APIドキュメントから必要なほかの情報についても、許可を押します。

これでClaude Codeは、API側に関して基本的に何が必要なのかを理解しました。今度は、APIキーの扱いをどう構成するかを考えています。3つの選択肢を提示してくれました。実行時にトークンを貼り付ける方法があります。これならHTMLファイル1つで済みます。次に、curlのワンライナーでトークンを発行する方法があります。あるいは、HTMLファイル1つに小さなトークンサーバーを組み合わせる方法です。私はこの選択肢にします。Enterを押します。

ツール呼び出しとカレンダー予約の設定

これでClaude Codeは、2つ目の部分であるツール呼び出しに対応しようとしています。エージェントが、話している相手は実際に私のビジネスに合っていて、通話を予約したいと判断したとき、実際に何が起きるべきなのか、という部分です。

このツール呼び出し機能は、実際にはシステムプロンプトからの指示です。なので、Claude Codeは、なるほど、これはツール呼び出しになる。音声AIエージェントを壊さないようにしよう、と理解しています。

次にClaude Codeは、ツール呼び出しに何が必要かを判断しようとしています。カレンダー連携なしで収集と確認だけをする方法もあります。実際のカレンダーリンクを使う方法もあります。あるいは、実際のカレンダーAPIを使う方法もありますよね。私はこれを選んで、Enterを押します。

次に、どのデータリージョンまたはベースURLを使うべきかを判断しようとしています。デフォルトの米国か、EUデータレジデンシーかです。EUにいる場合は、これを使う必要があります。もちろん私はそうではないので、こちらを使います。

するとAPIキーを求められます。私は持っているので、それをクリックして送信を押します。

次に、どのカレンダーに通話を予約するかを聞いてきます。私はいちばん上のものを選びます。それがシンプルだからです。クリックします。Cal.comです。

これで基本的に最終プランが完成しました。AssemblyAIから得たシステムプロンプトの指示に基づいて、このプランが作成されました。ブラウザベースの音声エージェントです。リージョンを選択しました。そしてモデルは選択しません。Voice Agent APIによって管理されます。ここでAssemblyAIが関わってきます。そしてAssemblyAIの機能であるデフォルト音声のIvyがそれを担当します。もっと温かい声がよければ、JamesやWinterに切り替えられます。音声IDは正確な文字列です。これらはすべて、貼り付けたシステムプロンプトから来ている指示です。

というわけで、これでほぼ全体のプランです。あとは、続行する準備はできていますか、と聞かれているので、Enterを押すだけです。やるべきことはそれだけでした。システムプロンプトを貼り付け、いくつかの質問に答えただけです。全体のプランができあがり、これからClaude Codeが実行してくれます。

APIキーとCal.com連携を準備する

Claude Codeに渡す必要があるものの1つは、当然APIキーです。AssemblyAIのダッシュボードへ行き、APIキーのところへ行くと、ここに1つあります。それをコピーして貼り付けます。

また、予約管理にはCal.comを使っています。これにより、音声エージェントはまず私のカレンダーを読み取ることができ、さらに書き込むこともできます。クライアントが希望する内容に基づいて、どの日程が空いているかを判断し、実際に私の本物のカレンダーへ書き込めます。

そのためには、app.cal.com、Cal.comに行き、設定へ進み、開発者セクションへ行って、APIキーに進みます。そして、すでに持っているAPIキーをコピーするか、新しいものを作成します。それによって、Claude Codeが通信できるようになります。

そして、これがClaude Codeが生成したものです。完全に透明性を持って言うと、私はデザイン面の更新もいくつか指示しました。最初の機能はとても簡素なものでしたが、私はUniverse of AIなので、それに合うようにして、と伝えました。なので、ある程度そうしてくれました。そして、自分自身にNovaという名前を付けているのがわかります。

では、AIエージェントと会話を始めて、本当にミーティングを予約できるのか見てみましょう。通話を開始します。

実際に音声エージェントと会話して予約する

こんにちは、Universe of AIのNovaです。AIを使って何を構築、または自動化したいとお考えですか?

こんにちは、Nova。私は自分のガーデニング事業向けに、シンプルなワークフロー自動化を作ろうとしています。たとえば芝刈りなどの予約を受け付けられるようにしたいんです。手伝ってもらえますか?

それは時間を節約するうえで、とても良い取り組みですね。私たちが適しているか確認するために、具体的なスケジュール感はありますか?また、予算や、私たちがやり取りすべき技術担当者はいますか?

はい、たぶん6月末までには何か動くものを用意したいです。技術担当者は、たぶん私自身になると思います。

とても良いプロジェクトですね。間違いなく私たちがお手伝いできる内容だと思います。詳細を確認するために、30分の相談を予約しますか?

ええ、お願いします。そうしましょう。

承知しました。お名前、メールアドレス、そしてご都合のよい日付と時間を教えていただけますか?

名前はJoeです。メールアドレスはjoe@gmail.comです。6月17日なら、たぶん空きがあります。

6月17日ですね。いいと思います。その日は何時がよろしいですか?

午後4時ならこちらは大丈夫です。

わかりました、Joe。6月17日午後4時、アメリカ・トロント時間で30分の相談として登録しました。これはUTCでは6月17日午後8時です。joe@gmail.comへ確認メールを送ります。

ありがとうございます。

どういたしまして、Joe。近いうちにお話しできるのを楽しみにしています。

実際にカレンダー予約が成功したか確認する

ということで、かなり悪くないセッションでした。私は音声エージェントと2分間話すことができました。ここで本当のテストは、実際に私のカレンダーへ何かを予約できたのかどうかです。

予約画面へ行くと、ここに私が行ったテスト予約がいくつかあります。そして、これがたった今予約したものです。6月17日午後4時の、Universe of AIとの30分ミーティングです。

さらに本当にすごいのは、これが私のGoogleカレンダーと同期されていることです。なので通話ビデオに参加できますし、実際にjoe@gmail.comへ確認メールも送っています。もし本当にjoe@gmail.comが存在するなら、おそらく確認メールを受け取っているでしょう。きっと何が起きているのか混乱しているはずです。ごめんなさい、Joe。

でも、見てのとおり、Claude Codeの力とAssemblyAIのAPIを使えば、AI音声エージェントを作るのはこれほどシンプルです。

運用コストと他サービスとの比較

では、気になっているかもしれない部分に行きましょう。これを動かすのにいくらかかるのか、という話です。

AssemblyAIのVoice Agent APIは、1時間あたり一律4.50ドルです。そして、これは1つの接続上にあるスタック全体の料金です。音声認識、モデル、音声、そのすべてです。支払うのは、実際に通話が行われている秒数に対してだけで、それ以外はありません。

比較すると、OpenAIのリアルタイムAPIは1時間あたり18ドルで、価格は4倍です。さらに、音声のトークンごとに課金されます。つまりコストが変動し、実際に請求が届くまで正確な数字はあまりわかりません。

Deepgramは同じ4.50ドルあたりに収まりますが、コンポーネントごとに構築する形です。なので、また計算が必要になります。AssemblyAIのシンプルな料金モデルはとてもわかりやすく、1,000件の通話がいくらかかるべきかを正確に把握できます。そして、1件も実行する前にそれを計算できます。

価格だけではわからないのは、同じ料金で実際に何が得られるのかです。OpenAIと同じ1秒の応答時間、音声を理解したターン検出、そしてほかのプロバイダーにはない機能がいくつかあります。たとえば、接続が切れた場合に通話中に再接続できること、セッションを終了せずにプロンプトや音声を変更できることなどです。

ただ、制限についても正直に話しておきます。1時間あたり4.50ドルというのは、着信があったときに動くような、バースト的に稼働するエージェントにはすばらしい価格です。ですが、常時稼働で非常に大規模なものを計画しているなら、使用量ベースのツールと同じように、まず座って時間あたりの計算をしてください。

それでも、構築、テスト、そして多くのワークロードにおいて、AssemblyAIはできることに対して安価です。

全体のまとめと次に試すこと

これで構築全体は完了です。Claude Code、1つのAPI、数分、そして実際に何かをこなす音声エージェントです。運用コストは1時間あたり約4.50ドルです。

自分でも試したい場合は、必要なものはすべて下の説明欄にリンクされています。APIキー、ドキュメント、そして私が使ったClaude Codeのシステムプロンプトです。そのプロンプトから始められますし、そこがこのプロセス全体を簡単にしている部分です。なので、そこは見逃さないようにしてください。

何かを作ったら、皆さんが何を作ったのか、何に取り組んでいるのかをコメントで教えてください。

今日の動画は以上です。チャンネル登録を忘れないでください。新しいニュースレターもuniverseai.behive.comでフォローしてください。また、メインチャンネルのWorld of AIにも登録し、XでUniverse of AIZをフォローして応援してください。それでは、次の動画でお会いしましょう。

コメント

タイトルとURLをコピーしました