インラインAIコマンド
inline AI command は、書いている場所を離れずに AI へ 1 回だけ頼むための仕組みです。行頭で @@ と打つと、その行が指示を書く行に変わります。言い回しの手直し、翻訳、要約のような、1 日に何度も出てくる小さな用事に向いています。
AI Assistant との違い
同じ AI につながっていますが、使いどころが違います。
inline AI command は、エディタの中で完結します。結果はそのまま本文に入れられ、やり取りは残りません。
AI Assistant(AI と何度でもやり取りできる frame)は、前の話を覚えたまま何度でも続けられます。詳しくはAIアシスタントにまとめています。
inline AI command から AI に note を読ませたり探させたりすることはできません。材料になるのは、いま書いている文章だけです。
始めたやり取りを続けたくなったときは、あとから AI Assistant に引き継げます。やり方は後の「パネルで受け取る場合」で説明します。
呼び出し方
呼び出し方は 2 通りあります。
行の先頭で
@@と打ち、続けて空白を 1 つ入れます。その行が指示を書く行になります。Mod+Jを押します。カーソルの前に文字が無ければその場に、あれば 1 行下に、指示を書く行ができます。
指示を書く行になると、行の右端に小さな案内が出ます。Tab で本文に入れる、Mod+Enter でパネルに出す、Escape でやめる、の 3 つです。この案内が出ていれば、AI に届く状態です。
@@は行の先頭にあるときだけ効きます。ここで @@ こうのように文の途中に書いても、ただの文字として扱われます。コードブロックの中では反応しません。書いたコードの例がそのまま残ります。
Mod+Jは Settings → Shortcuts の一覧に出てこないため、ここから別のキーに変えることはできません。
結果の受け取り方
指示を書いたあと、どのキーで送るかで結果の出方が変わります。
その場に流し込む場合
Tab を押すと、返事が指示の行のすぐ下に薄い文字で流れてきます。読んでみて、これでよければもう一度 Tab を押します。@@ の行が返事の中身に置き換わり、本文になります。
置き換えは 1 回の操作として記録されるので、Mod+Z を 1 度押せば元に戻せます。
パネルで受け取る場合
Mod+Enter を押すと、画面の下に Inline AI Command(返事を読んでから決めるための小さなパネル)が開きます。本文には何も書き込まれないので、長めの文章や、うまくいくか分からない頼みごとに向いています。
Insert at cursor — 返事を本文に入れます。
@@の行が置き換わります。Promote to thread — このやり取りを AI Assistant の新しいタブに引き継ぎます。パネルは閉じ、AI Assistant の frame が開きます。
パネルの下の入力欄から、追加の質問を 1 回だけ送れます。それ以上続けたいときは Promote to thread を使います。
閉じるときは右上のバツ印のボタンを押すか、
Escapeを押します。本文は何も変わりません。
パネルは Command Palette(Mod+K で開く、コマンドの検索窓)の Inline AI: open mini panel からも開けます。
選んだ文章を対象にする場合
文章を選んだまま指示を出すと、選んだ範囲も一緒に送られます。「この段落を短く」のような頼み方ができます。
選択の終わり側、つまりカーソルのある側が @@ の行に来ている必要があります。段落を選んでから、その下の @@ の行の末尾までを選択に含める形にします。
skill の使い方
よく使う指示は、skill として名前を付けて保存しておけます。skill は Markdown ファイル 1 つで、そのまま AI への指示文になります。
@@ の行で / を打つと候補が出ます。選ぶと / の形で入り、そのあとに続けて書いた文字が、その回だけの補足として渡されます。
@@ /translate-en/で始まらない文字は、そのまま自由な指示として送られます。存在しない名前を書いても、エラーは出ません。打った文字がそのまま指示として送られます。
skill には既定の出し方(
inlineかpanel)を持たせられますが、これは目安です。実際にどちらで出るかは、TabとMod+Enterのどちらを押したかで決まります。どの skill でも、使われる AI は同じです。skill ごとにモデルを選び分けることはできません。
skill を作る・直す・消すときは、Command Palette の Open Skills Manager を使います。名前、説明、既定の出し方、指示文の本文を入力して Save を押すと、その場で使えるようになります。ここで作った skill は AI Assistant の入力欄からも呼び出せます。
skill の置き場所と信頼の設定
skill の置き場所は 2 つあります。
Workspace — workspace の中の
.zudotext/skills/に置いたファイルです。その workspace で書くときだけ使う指示文をここに置きます。ファイルは workspace と一緒に持ち歩かれます。User — このアプリ自身の設定の中にある置き場所です。どの workspace を開いても使えるので、自分の定番はこちらに置きます。
User の skill はいつでも読み込まれます。Workspace の skill は、既定では読み込まれません。読み込ませるには Settings → Inline AI Command の Trust workspace skills を自分で有効にします。
Caution
skill の本文は、AI への指示としてそのまま使われます。人からもらった workspace や、どこかから持ってきた workspace には、書いた覚えのない skill が入っていることがあります。それを読み込むと、他人が書いた指示で AI が動くことになります。Trust workspace skills を有効にするのは、中のファイルを自分で開いて読んだあとにしてください。
有効にすると、2 つの置き場所の skill が合わさります。同じ名前が両方にあるときは Workspace が優先され、User のほうは隠れます。無効のあいだは Workspace が読まれること自体がないので、そこに置いた skill は候補にも出てきません。心当たりの skill が出てこないときは、まずこの設定を確かめます。
skill のファイルを自分で置きたいときは、Settings → Inline AI Command の Reveal Skills Folder を押します。.zudotext/skills/ がそのまま開きます。Command Palette の Inline AI: reveal skills folder でも同じです。どちらもデスクトップアプリでだけ使えます。
設定
Settings → Inline AI Command に項目がまとまっています。
Enabled — 機能そのものの入り切りです。最初は入っています。切ると
@@もMod+Jも効かなくなります。Command Palette の Inline AI: toggle enabled でも切り替えられます。Trigger sequence — 行頭で見張る文字です。
@@ (double-at)、/、ai (slash- based) off (disable grammar trigger)から選びます。いまのところ、エディタが見張るのは@@だけです。/を選んでもai @@のままで、offを選ぶとこの機能全体が働かなくなります。Default mode — 結果をどこに出すかの既定です。本文に直接入れる Inline と、パネルに出す Panel の 2 つがあります。実際の出し先は、
TabとMod+Enterのどちらを押したかで決まります。Insert on line start only —
Mod+Jを行頭でだけ効かせるための項目です。いまのところMod+Jは行の途中でも働き、その場合は 1 行下に指示の行ができます。Trust workspace skills — 前の節で説明した、Workspace の skill を読み込むかどうかの設定です。
Reveal Skills Folder —
.zudotext/skills/を開くボタンです。
うまく動かないとき
@@ を打っても何も出ないとき
Settings → Inline AI Command の Enabled が切れていないか確かめます。
Trigger sequence が
offになっていないか確かめます。offのあいだはMod+Jも効きません。行の先頭から
@@を打っているか、コードブロックの中でないかを確かめます。日本語を変換している最中は反応しません。変換を確定してから打ちます。
表示は出るのに返事が来ないとき
AI を使うにはサインインが必要です。AI Assistant の frame を開くと、サインインしているかどうかがすぐ分かります。
1 日に頼める回数(AI Assistant と共通で 100 回)を使い切っている場合もエラーになります。回数の数え方はAIアシスタントにまとめています。
直したはずの skill が古いままのとき
ファイルを保存すればすぐ反映されるので、待ってからもう一度試します。それでも変わらないときは、同じ名前の skill が Workspace と User の両方にないかを確かめます。両方にある場合は Workspace のほうが使われます。