AIに気軽に質問するとき、私は箇条書きをよく使う。
中黒「・」で並べる
プロンプトを日本語で入力していて、最も手軽に入力できる記号が中黒「・」である。
Slackにおいて、下記の機能の特徴と、実務での活用術を教えてください。
・キャンバス
・ワークフロー
・Slackbot
AIは「中黒で始まって、用語が書かれていて、改行されている」というパターンを読み取る。
そしてこれが関連項目を独立に並べたもの、すなわち箇条書き(リスト)だと認識する。
AIにとって重要なのはパターンに当てはまっていることなので、中黒でなくても、例えばアスタリスク「*」でも同様に認識する。
AIとの日常会話や、スマホからサクッと指示を送る時は、入力しやすい「・」を使って全く問題ない。
文中の中黒は箇条書きではない
イタリアの国旗が赤・白・緑の3色なのはなぜですか?
上記のプロンプトにも中黒「・」が含まれているが、改行されることなく単語が並んでいて、なおかつ「なぜですか?」という文末になっている。
よってAIは「単語を区切るための中黒(・)」だと正しく認識する。
逆に言えば、箇条書きだと認識させたいときは、しっかり改行することが重要である。
マークダウン記法のリスト「- 」も良い
Slackにおいて、下記の機能の特徴と、実務での活用術を教えてください。
- キャンバス
- ワークフロー
- Slackbot
中黒と同様、AIは箇条書きだとしっかり認識する。
マークダウン記法は世界標準であるため、AIにとっては中黒よりも馴染み深いかもしれない。
また、人間側がマークダウン記法を使うことで、AIは「この人はマークダウン記法を知っている」「マークダウン記法を使って返事しても大丈夫だ」と理解する。我々エンジニアにとって解釈しやすい回答を得られる可能性が高まる。
ただしハイフンは紛らわしいことも
ハイフン「-」はマイナス(負の数・引き算)としての役割も持っている記号である。
下記の引き算は正しいですか?
- 10 - 7 = 3
- -5 - 1 = -6
- -1 - (-1) - 1 = -1
これだと読みにくく、AIは符号の有無を見間違えたり、ネスト(階層)だと勘違いする恐れがある。意図的に「・」や「*」に変えるべきである。
ネスト(階層)
マークダウン記法に従って先頭のハイフン「-」の前に半角スペースを2個または4個置くことで、ツリー構造を伝えることができる。
下記の分類が正しいかどうかチェックをお願いします。
- 関数型プログラミング言語
- Haskell
- Elixir
- スクリプト型プログラミング言語
- JavaScript
- Python
日本語入力のまま「全角スペース」でインデントを付けても、AIは賢いので問題なく解釈してくれるとは思うが、やはり世界標準であるインデントのほうが誤解されにくい。
番号付きリストが適しているケース
コマンドの実行手順のように、順序が重要ならば番号付きリストの出番である。
今、redis-cli を立ち上げた段階です。
データの中身を確認したうえで、不要と思われるものを削除する作業をします。
1. scan 0
2. del <キー名>
3. hgetall <キー名>
上記の手順で作業するつもりです。コマンドは正しいですか?
ただし全データがhash型であることが事前に判明しているものとします。
余談だが上記のコマンド手順は間違っている(データの中身を見る前に削除しようとしている)。
番号付きリストを使い、順序が大切な文脈であることをAIに気づかせることで、適切な指導を受けることができる。
文の途中に箇条書きを割り込ませないこと!
エンジニアと非エンジニアで異なる意味に捉えられそうな言葉として
- 走らせる
- たたく
- 落とす
があります。それぞれ意味を教えてください。
上記のプロンプトは、文中にいきなり箇条書きが割り込んできている。
エンジニアと非エンジニアで異なる意味に捉えられそうな言葉として、下記があります。
- 走らせる
- たたく
- 落とす
それぞれ意味を教えてください。
上記は「案内文⇒箇条書き⇒質問文」の流れとなっている。
このほうが、もし箇条書きが何十行も並んでいたとしても、AIは理解しやすい。
人間にとっても理解しやすいので、普段のビジネスにおけるメールやSlackの文章でも、箇条書きの割り込みは避けるのが賢明である。
今回は以上。良い箇条書きライフを!