コードエディタ、ターミナル、そしてブラウザ上のAIチャット画面を何度も行き来する作業は、開発者の集中力を削ぐ大きな要因です。macOS向けランチャーであるRaycast AIは、大規模言語モデル(LLM)をOSの操作体系に直接組み込むことで、この摩擦を解消します。テキストをコピーしてブラウザを開き、プロンプトを貼り付けて回答を持ち帰るという一連の往復作業を、キーボードショートカットひとつで完結させることができます。
Raycast AIには、日常的なタスクを自動化するための2つの柱が用意されています:
- カスタムAIコマンド(Custom AI Commands):選択中のテキストやクリップボードに対して1回のアクションで処理を実行し、結果をフローティングウィンドウに表示するか、その場でテキストを直接置換する単発コマンド。
- AIプリセットおよびエージェント(AI Presets / Agents):複数ターンの対話向けに、専用システムプロンプト、指定モデル、推論設定、ツール拡張(AI Extensions)をまとめた永続的なテンプレート。
本記事では、カスタムAIコマンドの作成手順、動的プレースホルダーの活用法、専用エージェント(プリセット)の構築、そしてグローバルショートカットの設定までを体系的に解説します。
1. カスタムAIコマンドの作成手順
カスタムAIコマンドは、コードのリファクタリング、型定義の生成、文章の校正、SQLの解説など、入力と出力が明確な反復タスクに最適です。
作成ステップ
⌥ Space(または設定済みのRaycast起動キー)を押してランチャーを開きます。- 検索バーに Create AI Command と入力して
Enterを押します(または Search AI Commands で既存のコマンドを選択し、⌘Dで複製してカスタマイズすることも可能です)。 - 設定フォームの各項目を入力します:
- Name & Icon(名称とアイコン):用途がひと目でわかる名前(例:
Refactor to TypeScriptやExplain SQL Query)を設定し、アイコンを選択します。 - Prompt(プロンプト):モデルに与える指示文を入力します。
{を入力すると動的プレースホルダーが展開され、@を入力するとツール拡張を呼び出せます。 - Model(モデル):実行するモデル(Claude 3.5 Sonnet、GPT-4o、推論特化型のo1/o3-miniなど)を指定します。未指定の場合は、全体設定(Settings → AI → Models & Providers)のデフォルトモデルが適用されます。
- Creativity(創造性・温度感):
None、Low、Medium、High、Maximumから選択します。コード変換やデータ抽出など確実性が求められる作業にはNoneまたはLowを推奨します。 - Reasoning Effort(推論深度):対応する推論モデルを選択した場合、思考時間を調整できます。
- Output Behavior(出力挙動):
- Open in Raycast:専用のRaycastウィンドウに整形された出力を表示します。そのままコピーできるほか、
⌘Jを押せばチャット履歴を保ったままAI Chatに移行できます。 - Replace Selection:アクティブなアプリケーション上で、選択中の文字列を生成結果で直接上書きします。エディタ内でのインプレースリファクタリングに便利です。
- Open in Raycast:専用のRaycastウィンドウに整形された出力を表示します。そのままコピーできるほか、
- Highlight Editing Changes(変更箇所の強調):テキスト置換時に変更差分をわかりやすくハイライトします。
- Name & Icon(名称とアイコン):用途がひと目でわかる名前(例:
⌘ Enterを押して保存します。保存後すぐにルート検索から呼び出し可能になります。
2. 動的プレースホルダー(Dynamic Placeholders)の活用
Raycastの動的プレースホルダー機能を使用すると、手動でコピー&ペーストすることなく、現在の作業コンテキストをプロンプトへ自動注入できます。
| プレースホルダー構文 | 機能 | 主な用途 |
|---|---|---|
{selection} | 前面のアクティブなアプリで選択中のテキストを取得。 | コードレビュー、リファクタリング、文法修正、翻訳。 |
{clipboard} | システムクリップボードの最新データを取得。 | ターミナルのエラーログ解析、スタックトレースの調査。 |
{argument name="..."} | 実行時に対話型の引数入力ボックスを表示。 | 変換先言語や出力形式など、可変パラメータの指定。 |
{browser-tab} | 最前面のブラウザタブのURLまたはコンテンツを取得(拡張機能が必要)。 | 閲覧中のドキュメントや記事の即時要約。 |
{date} / {time} | 現在日時を自動挿入(オフセットや書式設定に対応)。 | コミットメッセージのヘッダーや日報用テンプレート。 |
パイプ修飾子(Modifiers)
プレースホルダーにはパイプ記号で修飾子を連結し、入力データを加工できます:
{clipboard | trim}:前後の不要な空白や改行を削除。{selection | lowercase}/{selection | uppercase}:大文字・小文字の統一。{selection | json-stringify}:JSON文字列として安全にエスケープ。{clipboard | raw}:システムによる自動引用符の付加を防止。
実践プロンプト例
例1:インプレースTypeScript型定義&JSDoc生成
- Output Behavior:
Replace Selection - Creativity:
Low - Prompt:
Analyze the following code selection:
{selection}
Add strict TypeScript types, explicit interface definitions, and JSDoc documentation. Return only the updated code block without surrounding explanations or markdown wrappers.
例2:対話型Gitコミットメッセージ生成
- Output Behavior:
Open in Raycast - Prompt:
Write a concise, conventional git commit message based on the following diff or staged summary:
{clipboard}
Focus on type: {argument name="Commit Type" default="feat"}.
Format as:
<type>(<scope>): <summary>
- Optional body explaining the why behind the change.
3. AIプリセットとエージェント(Agents)の構築
単発のコマンド実行にとどまらず、プロジェクトのアーキテクチャ設計や長期的なリファクタリングを行う際には、固定された前提知識や厳格なルールを持った対話環境が必要です。
Raycast v1では AI Chat Presets と呼ばれていた機能は、Raycast v2で Agents(エージェント) として強化されました。コミュニティで共有されている Preset Explorer とも完全な互換性があります。
エージェントの新規作成
- Settings → AI → Agents を開きます(または検索バーで
Search Agentsを実行し、Create Agent を選択)。 - エージェントのパラメーターを設定します:
- Name & Icon:役割が明確な名前(例:
PostgreSQL Query OptimizerやSenior Frontend Reviewer)。 - Model:特定のモデルを固定するか、チャットの現在の選択に従う
Inheritを指定。 - Instructions(システム指示):エージェントのペルソナ、遵守すべき設計原則、コードスタイル規約、禁止事項を定義。
- AI Extensions(ツール権限):エージェントが利用できる拡張機能(
@calendar、@githubなど)を限定付与。
- Name & Icon:役割が明確な名前(例:
⌘ Enterで保存します。
エージェントの呼び出し
- AI Chat内での切り替え:入力欄で
/をタイプしてメニューを開くか、⌘K → Change Agentを実行。 - ルート検索からの直接起動:エージェント名を直接検索して
Enterを押すと、そのペルソナが適用された新規チャットが立ち上がります。 - コミュニティプリセットの利用:
presets.ray.soから有用な設定をワンクリックで導入可能。
4. グローバルショートカットとQuick Fixによる高速操作
日常操作の摩擦を極限まで減らすために、作成したツールをキーボードショートカットに割り当てます:
-
専用Hotkeyの割り当て:
- Settings → Extensions → AI を開きます(または各コマンド上で
⌘K → Configure Command)。 - 対象のコマンドやエージェントの Hotkey 欄をクリックし、キーの組み合わせを登録(例: コミット生成に
⌃⌥C、コードリファクタリングに⌃⌥R)。 - これにより、エディタ内でコードを選択して
⌃⌥Rを押すだけで、Raycast本体を検索することなく即座にインプレース書き換えが完了します。
- Settings → Extensions → AI を開きます(または各コマンド上で
-
Quick Fixの活用:
- Raycastにはテキスト校正に特化した Quick Fix が標準搭載されています。
- デフォルトでは 右Shiftキーを2回素早く押す(Double Right Shift) ことで、入力中または選択中のテキストのスペルと文法をその場で修正します。
- Settings → AI → Quick Fix で Preserve Formatting を有効にしておくと、SlackやNotionなどのリッチテキスト環境でも太字やリンク構造を維持したまま修正できます。
5. システム権限、料金体系、モデル運用のポイント
macOSのアクセシビリティ権限
Replace Selection によるインプレース置換や Quick Fix を機能させるには、macOSのアクセシビリティ権限が必要です。
- システム設定 → プライバシーとセキュリティ → アクセシビリティ(新しいmacOSでは「デバイス制御とデータアクセス」)を開き、Raycastへの許可を有効にしてください。
料金プランとBYOK(独自APIキー利用)
- Raycast 無料プラン:ランチャーの基本機能(計算機、スニペット、クリップボード履歴、拡張機能ストア)を利用可能。
- Raycast Pro(月額10ドル、年払い96ドル):Raycast AIがアンロックされ、毎月一定のAIクレジット、クラウド同期、カスタムAIコマンドが利用可能になります。
- Pro+ および Max プラン:より大規模なAIクレジット枠とフロンティアモデルの広範な利用をサポート。
- BYOK(Bring Your Own Key)とサブスクリプション連携:有料プラン加入者は、OpenAI、Anthropic、Google、OpenRouterのAPIキーを接続して利用できるほか、既存のChatGPT PlusやClaude Proのアカウントを連携してモデルを直接呼び出すことも可能です。
単発処理を瞬時にこなすカスタムAIコマンドと、深い文脈を保持するエージェントプリセットを組み合わせることで、画面の切り替えに煩わされることのない洗練されたmacOS環境を構築できます。