この記事でわかること
- Claude Codeの公式音声入力でできること
- 声だけでアプリを作らせるとどこまで進むのか
- 声でPCを動かすときの安全設計の考え方
- 音声エージェントの運用にかかる費用
「声だけで指示を出したら、ReactのToDoアプリが動くところまで来ました」
AIのモデルはこの1年で驚くほど賢くなりましたが、そのアウトプットを受け取る側はいまだに画面の前に座ったままです。生成された結果を目で追い、キーボードで次の指示を打ち、また待つ。ここが追いついていないという感覚が、ずっとありました。音声でやり取りできるAIに手を出したのは、その詰まりを外したかったからです。
こんにちは、ルーティンラボ(@rutinelabo)です。今回はClaude Codeを声だけで動かすために自作した音声エージェントを紹介します。公式にも音声入力の機能があるので、まずそちらで何ができるのかを確認したうえで、実際に声だけでアプリを1本作らせるところまでやってみました。以前扱ったChatGPTボイスでCodexを動かす話と同じ方向の実験なので、あわせて読むと現在地がつかめると思います。
-
-
ChatGPTボイスが凄い|声だけでCodexがWebアプリを作る使い方
続きを見る

プロンプト配布中
LINE公式アカウントを友達追加していただければ、本記事やYouTubeで使用した使用したプロンプトを配布いたします。メンバーシップ登録で優先サポートも実施中です。
Claude Codeの公式音声入力でできること
先に整理しておきたいのですが、Claude Codeには公式の音声入力があります。CLIで/voiceと打つと有効になり、キーを押しながら話すと、その内容がプロンプト入力欄にそのまま文字起こしされます。
公式ドキュメントの書き出しが、この機能の性格をよく表しています。プロンプトを打ち込む代わりに話しかけられます、という説明で、正式な呼び方も音声ディクテーション、つまり口述筆記です。文字を入力する手段が増えた、と考えるのが正確です。
| 項目 | 仕様 |
|---|---|
| 操作モード | hold(押しっぱなし・既定)と tap(1回で開始・もう1回で送信) |
| 既定キー | Space(keybindings.jsonで再割当可・ただし1キーのみ) |
| 日本語設定 | 応答言語と同じ language 設定を japanese または ja に |
| 未設定のとき | 英語にフォールバックする(対応は20言語) |
| トークン消費 | 消費しない。/usage の上限にもカウントされない |
| 自動停止 | 15秒の無音、または合計2分 |
| 音声の処理 | Anthropicのサーバへ送信して文字起こし(ローカル処理ではない) |
| 使えない環境 | APIキー直・Bedrock・Google Cloud・Microsoft Foundry/SSH・web版・VS Code Remote |
出典:Claude Code公式ドキュメント Voice dictation/Keybindings(2026年8月時点・公式参照)
地味ですが効いてくるのが認識の精度です。コーディングでよく使う語彙に合わせて調整されていて、現在のプロジェクト名とgitのブランチ名が認識のヒントとして自動で足されます。長い指示を口で入れるだけなら、これで十分に足りる方は多いと思います。
逆に注意したいのは、使えない環境がはっきり決まっている点です。マイクがローカルにある必要があるので、SSH越しやブラウザ版のClaude Codeでは動きません。これは弱点というより、そういう設計だと理解したほうが正確です。
公式の音声入力で足りなかったこと
実際に使ってみて分かったのは、入力が音声になっただけでは開発のスタイルは変わらないということでした。理由は3つあります。
| 足りなかったもの | 公式の音声入力では |
|---|---|
| 手 | キーを押さえながら話すので、手はキーボードの上にある |
| 目 | 返事は画面のテキスト。読まないと何が起きたか分からない |
| 許可 | コマンド実行の確認にキーボードで答える必要がある |
とくに3つ目が大きいところです。開発というのは許可の連続なので、そのたびに画面へ引き戻されます。僕が欲しかったのは、画面から目を離しても仕事が前に進む状態でした。手を止めずに開発したい、別の作業をしながら進捗だけ耳で聞きたい、という単純な動機です。
ちょうどGPTのリアルタイム音声モデルが実用に耐える精度になってきたタイミングでもありました。以前は音声モデル側の性能が足りず、何度か作りかけては止めていたのですが、今回は最後まで組み上がりました。
作ったもの|声で会話しながら開発が進むエージェント

仕組みそのものは複雑ではありません。マイクの音声をリアルタイム音声モデルに直接つなぎ、そこがユーザーとの会話を担当します。実際の作業が必要なときだけ、裏でClaude Codeに指示を渡す形です。
- 会話係:リアルタイム音声モデルが雑談と進捗確認をその場で返す
- 作業係:実作業が要るときだけClaude Codeへ指示を渡す
- 報告:進捗をそのまま読み上げず、自分の言葉に直して声で返す
- 認証:Anthropicの追加APIキーは不要(ターミナルでclaudeが動く環境をそのまま使う)
設計で効いたのは、雑談と作業を分けたことです。すべてをClaude Codeに流すと、ちょっとした問いかけにも数秒待たされて会話にならなくなります。前段に会話係を置くと、そこが即答してくれるので、やり取りのテンポが保てます。
もうひとつは、進捗をそのまま読み上げないことです。ターミナルの出力を機械的に音声化すると、聞いていられない実況になります。要点だけを話し言葉に直して返す、という一手間で聞ける情報になりました。この考え方は以前作った音声会話アプリのときにも同じ壁として出てきた部分です。
声だけでToDoアプリを作らせてみた

ここからが本題です。この収録は、人の声で通すのが初めてという状態で回しました。機械的なテストは通してありましたが、実際に喋って動くかどうかは分からないままカメラを回しています。
step
1ダウンロードフォルダにToDoアプリを作るよう声で頼む

話しかけると、フォルダが見つからないので作るかどうかを声で聞かれます。返事をするとフォルダが作られ、そのまま作業に入りました。ただ最初の指示は短すぎて通らず、フレームワークや構成を決めてほしいと聞き返されています。ここは口頭でも具体的に伝える必要がありました。
step
2フレームワークと命名ルールを声で指定する

Reactで作ること、フォルダ名は日付とアプリ名を組み合わせることを声で伝えると、その規則どおりに進み始めました。ここからNode.jsのバージョン確認、テンプレートの生成と、ひとつずつ許可を求めながら進んでいきます。
step
3開発サーバーを起動して動作を確認する

実装が終わると、ビルドの確認と開発サーバーの起動まで声のやり取りだけで進みました。ここまでキーボードには一度も触っていません。
やってみて分かったコツ
口頭の指示ほど曖昧になります。フレームワーク・置き場所・命名規則の3つを最初にまとめて言い切ってしまうと、聞き返しが減って早く進みます。
3分間かみ合わなかった「はい」

うまくいった話だけでは公平ではないので、詰まったところも書いておきます。今回いちばん時間を溶かしたのは、許可の返事が受け付けられない場面でした。
コマンドを実行していいかと聞かれて返事をしても、はっきり答えてほしいと繰り返されます。こちらは答えているのに通らない、というやり取りが3分ほど続きました。原因はおそらく、エージェント自身の読み上げをマイクが拾っていることと、短い相槌を許可として認めない安全側の判定が重なったところにあります。
皮肉なことに、これは誤爆を防ぐために入れた仕組みがそのまま裏目に出た形です。聞き間違いでコマンドが走るのがいちばん怖いので判定を厳しくしたのですが、厳しすぎると今度は正しい返事まで弾いてしまいます。ここは配布前に直すべき部分だと考えています。
それでもアプリは完成した

詰まりはしましたが、最終的にはブラウザでToDoアプリが動きました。買い物やランニングといったタスクを入れてチェックを付け、完了したものを消すという基本の動作はひととおり揃っています。Reactベースなので見た目も素っ気なくはありません。
時間はかかったものの、キーボードに一度も触らずにアプリが1本できたという事実は残りました。指示を出して、進捗を耳で聞いて、許可を声で返す。この一連が成立するかどうかを確かめたかったので、そこは目的を果たしています。
声でPCを動かすときの安全設計

先ほどの詰まりの裏返しになりますが、声で開発をさせるうえで最初に考えたのは安全設計でした。テレビの音や独り言を拾って勝手にコマンドが走る状況だけは避けたかったからです。
声から外しておくもの
削除・公開・課金が絡む操作は声からは実行させない。自動で許可するのは読み取り系だけにして、それ以外はひとつずつ確認する。
実際に組んでみると、この線引きにいちばん時間がかかりました。何でも許可してしまうと怖い一方で、毎回すべてを確認していると、ルーティンの作業では会話が確認だけで終わってしまいます。一連の流れをまとめて提示して、そこだけ許可なしで進めるといった折衷案を入れて調整しています。
安全側に寄せるほど柔軟さは落ちます。これはトレードオフなので、どこかで諦めるしかない部分だと思っています。とはいえ声で操作する以上、権限の付与は丁寧にやっておくのが結局は近道です。
実際にかかるお金

気になるのは費用だと思います。構成が2階建てなので、かかるお金も2種類あります。
| 何に | かかるお金 |
|---|---|
| Claude Code側 | Anthropicのサブスク契約内で動く(追加のAPIキーは不要) |
| 会話係(音声モデル) | 1応答あたり0.02ドル前後(作者環境の実測) |
音声モデルの単価そのものは公式の料金表で確認できます。標準のリアルタイム音声モデルは100万トークンあたり入力32.00ドル・出力64.00ドル、軽量版はその約3分の1で入力10.00ドル・出力20.00ドルです。会話が長くなるほど積み上がるので、軽量版に切り替える余地はここにあります。
出典:OpenAI API Pricing(2026年8月時点・公式参照。単価は100万トークンあたり)。実測値は作者環境のもので、ご自身の請求額を保証するものではありません。
自分でも気になったので、画面に消費トークンと概算費用を表示する項目を付けました。リアルタイムでAPIを叩き続ける以上、使い方を意識しないと積み上がります。雑談や進捗確認だけなら会話係のぶんしかかかりませんが、実作業を頼んだときにClaude Code側の負荷が乗ります。
使ってわかった課題|セッションはすぐ埋まる
作ってみて、いちばん現実的な壁だと感じたのはコンテキストの問題です。声でのやり取りは回数が増えやすく、そのぶんセッションに履歴がたまります。
Claude CodeやCodexを使っている方はご存じのとおり、やり取りが積み上がるほど精度は落ちていきます。音声だと会話のテンポで細かい確認が増えるので、テキストで打つときより早く上限に近づきます。長時間ずっと声だけで開発し続けるというのは、現時点ではまだできません。
いまは上限が近づいたら区切って次のセッションへ引き継ぐ仕組みを部分的に入れていますが、これを会話の流れの中で自然にやらせるところまでは届いていません。ここが次の宿題です。
| やりたいこと | 向いているもの |
|---|---|
| タイプが面倒・長い指示を口で入れたい | 公式の音声入力(まずこれで足りるか試す) |
| 画面の前にはいる。手だけ楽にしたい | 公式の音声入力のtapモード(押しっぱなし不要) |
| 画面から離れたい・進捗を耳で聞きたい | 今回のような自作の音声エージェント |
| SSHやブラウザ版のClaude Codeで使いたい | 公式の音声入力は不可(ローカルのマイクが必要) |
まとめ

公式が出したのは入力の手段で、僕が欲しかったのは会話でした。その差を埋めるために自分で作ってみたわけですが、実際に動かしてみると、うまくいく部分と詰まる部分がはっきり分かれます。
- 公式の音声入力は口述筆記。トークンを消費せず、日本語はlanguage設定が要る
- SSHやブラウザ版では公式の音声入力は使えない(ローカルのマイクが必要)
- 足りないのは手・目・許可の3つで、とくに許可でキーボードに戻される
- 声だけでReactのToDoアプリは完成した。キーボードには触れていない
- 許可の返事が通らないループが3分続いた。判定を厳しくした副作用
- 削除・公開・課金は声から外す。自動許可は読み取り系だけにする
- 会話係は1応答0.02ドル前後。Claude Code側はサブスク内で動く
- セッションのコンテキストがすぐ埋まるため、長時間の連続運用はまだ難しい
この仕組み一式は、メンバーシップで配布しています。声でPCを操作するコードなので、実行の関所や誤爆の防ぎ方といった安全設計ごと渡す形にしました。受け取ってから動かすまでの手順は別の動画で扱っているので、そちらとあわせて使ってみてください。
足りないものを自分で作れる時代になった、というのが今回いちばん言いたかったことです。同じように音声で動く環境を組んでみたい方は、ゼロからではなくこの形をたたき台にしてもらえると早いと思います。
それでは今回は以上になります。最後までお読みいただきありがとうございました。
