How-to

AI コーディングのための音声入力: タイピングせずに Cursor と Claude Code に音声プロンプト

変更をタイプする代わりに説明できると、vibe コーディングが速くなる。6 つの作例、私たちが収束したプロンプトパターン、そして多言語識別子の扱い方。

TL;DR

Cursor 音声プロンプトの方法、あるいは識別子をいちいち綴らずに Claude Code ディクテーションを正しく行う方法を探しているなら、これが実践ガイドです。AI コーディングのための音声入力が機能するのは、プロンプトの大半が散文だからです。コンテキスト、意図、制約、テスト期待値。Loqua はマルチモーダル画面コンテキスト、構造化プロンプトフォーマット、技術用語の扱い、文中 EN+中混合を加えます。最も報われる vibe コーディング音声ワークフロー: 長い Cursor プロンプト、Claude Code デバッグ、リファクタ仕様、テスト記述。短い「これを直して」プロンプトは音声でも速くないことが多く、勝利は密度の高い指示にあります。

Loqua は Mac 向けのコンテキスト認識型音声入力ツールで、あなたが作業しているものを見て、それに応じて出力を整形します。AI コーディングに特化して言えば、Cursor のチャットパネル、Claude Code のターミナル、ChatGPT のプロンプトボックスを検出し、それらのツールが最もよく扱う構造でプロンプトを生成できるということです。

これは生産性リスティクルのピッチではありません。私たちは自分たちの AI コーディングに毎日音声を使っていて、長い指示ではプロンプト作成時間を約半分に削減しています。そこが最大の勝利です。短いプロンプト(「これを直して」)は引き分け。長く構造化されたプロンプト(リファクタ仕様、複数ファイル変更、デバッグの語り)こそが音声が真価を発揮するところです。

なぜ音声が AI コーディングに合うのか

AI コーディングプロンプトの形はコードの形とは異なります。良いプロンプトには次のものがあります: コンテキストブロック(自分がどこにいるか、何を見ているか、何を試したか)、指示ブロック(何をしてほしいか)、制約(X を変えるな、Y を保持、Z テストに合格しなければならない)。これは散文であって構文ではありません — そして散文こそ音声が得意とするものです。

あなたはタイプするより速く考えます — 散文では簡単に 2 倍速いです。ボトルネックはあなたの思考モデルではなく、キー打鍵のコストです。複雑な状況を LLM に説明するプロンプトでは、この差が効きます。Loqua は基本的なディクテーションに三つを加えます: IDE 状態を見る(コンテキストブロックが自動で書ける)、プロンプトを構造的にフォーマットする(system + user、またはブレットステップリスト)、識別子をあなたに綴らせずに技術用語を扱う。

AI コーディング向けセットアップ

このセクションは Loqua がインストール済みであることを前提とします (Mac でコードをディクテーションするセットアップガイド参照)。AI コーディング固有の設定は一つだけ、Loqua のアクセシビリティ権限を付与することです。これによりアクティブアプリの選択範囲と近接テキストを読めるようになります。macOS アクセシビリティは developer.apple.com に文書化されています。スクリーンリーダーや自動化ツールが使うのと同じ API です。

身につける三つの習慣:

  • ディクテーション前に選択する。 プロンプトに特定のブロックを対象にさせたければ、先に選択してください。Loqua は選択をコンテキストとして渡します。
  • チャットパネルをインラインで開く。 Cursor ではチャットパネルが可視であることが、編集ではなくプロンプト中だと Loqua に伝えます。
  • 構造的区切りのために一時停止。 半秒の停止はプロンプト内の段落区切りとして読まれます — コンテキストを指示から分離するのに有用です。

効くプロンプト構造

何ヶ月もの音声プロンプティングの末に、最もクリーンな LLM 挙動を生む三つの構造に収束しました。Loqua は発話開始のフレーミングを読んで、それに応じて出力を整形します。

最初に言うフレーミング出力形状
「これをリファクタして...」リファクタ: [ゴール]。制約: [選択から暗黙]。出力: [コード]。
「これをデバッグして — X すると Y が起きるが Z を期待していた」ステップ、期待、実際の物語的バグレポート。
「...の仕様を書いて」構造化仕様: Goal / Inputs / Outputs / Edge cases / Tests。
「...のテストを追加して」テスト記述 + 受け入れ基準。
「なぜこのコードが...」平易な散文、技術レジスタ。

6 つの作例

あなたが話す (Cursor、関数を選択した状態で)
「これを新しい auth client を使うようにリファクタして、他で使われていない古いフォールバックは削除して」
Loqua の書き込み (Cursor チャット)
選択された関数を新しい AuthClient を使うようにリファクタしてください。レガシーフォールバック経路を削除してください — コードベースの他では未使用と確認済み。パブリック関数シグネチャを保持してください。
あなたが話す (Claude Code でデバッグ)
「空のクエリで検索エンドポイントを呼ぶと空の配列ではなく 500 が返ってくる、空ケースは優雅に扱われると期待していた」
Loqua の書き込み (Claude Code ターミナル)
デバッグ: 空クエリで検索エンドポイントが 500 を返す。

ステップ:
1. POST /search に { "query": "" } をボディとして送信
2. サーバーが 500 を返す (期待: 空配列で 200)

仮説: 空文字列経路がアーリーリターンをスキップして、無効クエリでインデクサーに到達している。

修正: 空クエリ用のアーリーリターンを追加。
あなたが話す (新機能の仕様を書く)
「保存済み検索機能の仕様、ユーザーは検索を保存して後で再読み込みできる、デバイス間で同期されて名前で検索可能であるべき」
Loqua の書き込み (Cursor、計画ドキュメント)
## 仕様: 保存済み検索

**Goal:** ユーザーが検索クエリを保存して後で再読み込みできる。

**Inputs:** 検索クエリ(文字列)、user id、オプションの名前(文字列、デフォルトはクエリの最初の N 文字)。

**Behavior:**
- ユーザーの saved-searches コレクションに永続化。
- 既存の user-data sync 経由でデバイス間同期。
- 名前で検索可能(大文字小文字無視のサブストリングマッチ)。

**Edge cases:** 名前重複 → インデックスサフィックス、ユーザー削除 → カスケード削除。
あなたが話す (テストを要求)
「レートリミッタが 1 分ウィンドウ内の 11 回目のリクエストをブロックして retry after ヘッダ付きで 429 を返すことを検証するテストを追加して」
Loqua の書き込み (Claude Code)
レートリミッタのテストを追加:
- 60 秒ウィンドウで 10 リクエスト送信 — すべて成功。
- 11 回目のリクエストは 429 を返すべき。
- レスポンスには残り秒数を含む Retry-After ヘッダが含まれるべき。
- 時間制御には既存のテストフィクスチャを使用。
あなたが話す (複数ファイルのリファクタ要求)
「user controller を auth、profile、preferences の別ファイルに分割して、既存のパブリック API を保持してルーターを更新して」
Loqua の書き込み (Cursor チャット)
リファクタ: userController.ts を三つのモジュールに分割 — authControllerprofileControllerpreferencesController。パブリック API 表面は不変に保ってください。新しい場所からインポートするようルーターを更新してください。動作変更なし。これは構造的リファクタのみ。
あなたが話す (タスク途中の方針転換)
「リファクタする前に、後でドリフトを検出できるよう merge 関数の現在の挙動をカバーするリグレッションテストを追加して」
Loqua の書き込み (Claude Code)
リファクタ前に: merge 関数の現在の挙動をカバーするリグレッションテストを追加してください。リファクタが導入する可能性のあるドリフトを検出できるよう、既存の出力をスナップショットするテストにしてください。

Loqua にファイルコンテキストを見せる

選択なしで「これをリファクタして」と言うと、Loqua は指示のみを送信します。テキストを選択していると、Loqua は何が選択されたかを説明する短いコンテキストブロック — ファイル名、行、周辺識別子 — を指示の前に含めます。コンテキストをディクテーションする必要はありません。マルチモーダルレイヤーがそれを読みます。

これは明示的コンテキストから恩恵を受ける AI ツール(特に Claude Code はファイルパスと行番号から恩恵を受ける)にとって重要です。Loqua のオムニモーダルスタックがこれを可能にします — 研究レベルの直観が欲しければ、より深いノート 音声と視覚の出会い: オムニモーダルディクテーション を参照してください。

文中 EN+中

私たちのエンジニアリングチームの議論の多くは、英語の技術用語を混ぜた中国語で行われます。このレジスタで AI ツールに音声プロンプトを送ることは日常活動です。Loqua はコードスイッチングをモード切り替えなしで扱います:

あなたが話す (Cursor チャットで)
「那个 cache invalidation 的逻辑要重构 现在 race condition 太多了 边界 case 经常漏」
Loqua の書き込み (Cursor プロンプトとして)
那个 cache invalidation 的逻辑要重构 —— 现在 race condition 太多了,边界 case 经常漏。请帮我重新设计 invalidation 策略:列出 race-condition 风险点,给出建议的同步原语方案,覆盖典型边界 case。

ツール横断での再利用

同じ音声フレーズを異なる AI ツールにディクテーションすると、適切に異なるプロンプトが生成されます。私たちは再フレーミングしません — Loqua がやります:

ツールLoqua が生成するプロンプト形状
Cursor (チャットパネル)暗黙のファイルコンテキストを持つ会話的指示
Claude Code (ターミナル)明示的ファイルパスと簡単な計画を持つ構造化指示
ChatGPT (Web)セクション付きの Markdown フォーマットプロンプト
Aider (ターミナル)対象パス付きの直接ファイル編集指示

声で一度書く。Loqua が宛先ごとに整形し直します。

落とし穴

  • コードを文字単位でディクテーションしない。 音声はプロンプトの散文部分用です。コードは LLM に生成させてください。コードを文字単位でディクテーションしようとすると、本来の意義が失われます。
  • 選択が重要。 選択コードを Loqua にコンテキストとして含めさせたければ、ディクテーション前に選択してください。そうしなければ指示のみが送信されます。
  • 長い停止はディクテーションを終了させる。 1.5 秒の沈黙は発話終了として読まれます。文中で考えているときは、フィラーワードを使ってください — Loqua はフィラーを出力から取り除きますが、録音を開いたままにするために使います。
  • Cursor のチャットパネル状態が重要。 パネルが可視でないと、Loqua はあなたのディクテーションをプロンプトではなくコード編集として扱う可能性があります。先にパネルを開いてください。
  • 識別子を盲目的にディクテーションしない。 一般的でないカスタムライブラリ名がある場合は、設定の Personal Dictionary に追加するか、一つの単語として発音してください。

総合効果: 長い指示でのプロンプト作成時間が約半分になり、変更を命名するだけでなく意図を説明することを音声形式が促すので、プロンプト自体も良くなります。これが生のスピードよりも重要な部分です。より広い音声 AI コーディングパターン — Cursor 音声プロンプトフロー、Claude Code ディクテーション、長いセッション中にキーボードから手を離し続ける方法 — については、上記のコンパニオンガイドを参照してください。

音声が AI 業務に合う理由のより長い見解については、AI と一緒に考えるためにキーボードがなぜ間違った道具なのかを参照してください。

Frequently asked questions

Loqua は Cursor のチャットパネルで動作しますか?
はい。Loqua は Cursor チャットパネルが開いていることを検出し、あなたのディクテーションをコード編集ではなくプロンプトとして扱います。選択コード(あれば)はコンテキストとして含まれます。先にチャットパネルを開いてください。さもないと Loqua はディクテーションをコードファイル編集として扱う可能性があります。
Loqua は Claude Code で動作しますか?
はい。Claude Code はターミナルで動作し、Loqua はそのプロンプトを構造化指示コンテキストとして扱います — 適切なときは明示的ファイルパスと簡単な計画を含む出力になります。長いリファクタの語りや仕様ドラフト作成こそがこの真価が出るところです。
コードを文字単位でディクテーションできますか?
技術的には可能ですが、すべきではありません。音声はプロンプトの散文部分 — 説明、ゴール、制約 — のためです。コードは LLM に生成させてください。コードを文字単位でディクテーションしようとすると本来の目的が損なわれます。
Loqua はプロンプトとコード編集をどう区別しますか?
アクティブアプリ、フォーカス状態、可視 UI の手がかりを読みます。Cursor のチャットパネルが開いていることはプロンプト信号です。Claude Code のターミナルはプロンプト信号です。Python ファイルの関数本体のカーソルはコード編集信号です。
ブラウザの ChatGPT や Claude.ai はどうですか?
Loqua はあらゆるテキスト入力で動作します — ブラウザのプロンプトボックスを含みます。宛先がチャット AI のときは、セクション付きの markdown フレンドリーなプロンプトとして出力を整形します。
Loqua は私のプロンプトをクラウドサービスに送信しますか?
Loqua の音声認識とマルチモーダルコンテキストレイヤーはオンデバイスで動作します。Cursor や Claude Code にタイプされたテキストは、それらのツールがそれぞれのプロバイダ (Anthropic、OpenAI など) に送信するものです — これは彼らのネットワーク挙動であり、Loqua のものではありません。Loqua が何を送信し、何を送信しないかについては プライバシーノートを参照してください。

Try Loqua today

Free to start. Mac native. Built by algorithm researchers who use it every day.

Download for Mac

More from the Loqua Blog

how-to
Mac でコードをディクテーションする方法: Cursor、VS Code、Claude Code の完全ガイド
productivity
AI と一緒に考えるための音声: なぜキーボードは間違った道具なのか
engineering
強化学習による音声入力: GRPO、DPO、オンポリシー蒸留を Loqua の音声スタックで
compare
Loqua vs Typeless: コンテキスト、コーディング、深さのための Mac ネイティブの Typeless 代替