Tech Racho エンジニアの「?」を「!」に。
  • IT Tips

保存版: どんなAIでも役に立つ文章力と会話力(1)チャットの「ありがとう」は効く

本記事は、CC BY-SA 4.0ライセンスで公開します。


本記事の文面は、明示している部分を除き、AIでは生成していません。
本シリーズ記事では簡単のため、特に断らない限り、各種AIサービスやLLM(大規模言語モデル)といった個別の要素を捨象して、一般的な語である「AI」と呼ぶことにしています。

本シリーズ記事で扱うAIは、特に断らない限り、以下の分類で言う「生成AI」、その中でも会話(自然言語)による指示で動くAIに限定しています。また、AIの用途も基本的に業務用を想定しています。

  • 生成AI: 新しいコンテンツを生成するAI(チャットAI、コーディング支援AI、ドキュメント作成補助AI)。画像・音声・動画を生成するAIも広義にはここに含まれる。
  • 認識AI: 入力された画像や音声などのデータを分析して認識するAI。識別AIとも呼ばれる。

こんにちは、hachi8833です。

今回から、AIに効果的な指示を出して、期待に沿う結果を増やすためのノウハウを順次紹介していきます。どのノウハウも、AIサービスやLLMや課金に依存しません。もっと言えば、日本語でも英語でもJSでもPythonでも変わらない内容を扱います。

これまでノウハウを貯めてきてみて驚いたのは、AIに対して有効なノウハウは、人間に対する基本的なマナーと驚くほど似ているということです。あくまで「形のうえでは」ですが。

🔗 大事なコツ1: 結果がよかったのか悪かったのかを、まず適切な形で返そう

これは大きく2つに分かれます。
具体的にはこうです。

🔗 1-1: 結果がよかったらまず「ありがとう」を伝える

「はぁ?AI相手にそんなの必要????、何こいつ大丈夫かwww」とお思いの方もいらっしゃると思います。しかしこのノウハウは、水に話しかけたら云々といったうさん臭い話ではありませんし、ましてや「AIは励ますとよくなる」みたいな精神論でもありません。

「ありがとう」などを返信の冒頭で最初に的確に伝えることは、それ自体がAIにとって貴重なフィードバック情報となるからです。

AIが現在の会話の中で的確にユーザーの期待に応えるためには、今自分が生成した結果がユーザーの期待に沿っていたのか、それともそうではなかったのかという情報がとても重要です。

そのときの言葉は、「ありがとう」でも「OK」でも「よかったよ」でも「その調子」でも「サンキュー」でも何でも構いませんが、せめて「OK」ぐらいは伝えてあげましょう。

ありがとうを返すマナーをAIに対しても守れと言いたいのではなく(もちろん人間レベルではマナーは普通に大事ですが)、AIに今の結果でよろしいというフィードバックを伝えることが肝心なのです。

以下はAIに生成してもらったサンプルです(実はAI生成結果を記事で使うのはこれが初めてです)。

ポジティブフィードバックのよい例

  • 簡潔だが温度感のある例
    • 「ありがとう、まさにこれが欲しかった」
    • 「OK、この調子で次もお願いします」
    • 「いいですね、このスタイルで統一しましょう」
    • 「完璧です、保存しました」
  • 程度を示す例
    • 「まあまあ良いです」(控えめな評価)
    • 「とても良いです!」(高い評価)
    • 「すごく助かりました」(非常に高い評価)
    • 「期待以上でした」(最高レベルの評価)
  • 具体的な良かった点を簡潔に
    • 「ありがとう、構成が分かりやすい」
    • 「OK、このコメントの書き方が良い」
    • 「いいですね、エラーハンドリングもしっかりしてる」
    • 「完璧、文章のトーンがちょうど良い」
  • 継続を促す例
    • 「その調子、次の部分も同じ感じで」
    • 「良いです、この方向性で進めて」
    • 「ありがとう、もう少しこのパターンで」
    • 「OK、引き続きこのスタイルで」

生成: Claude Sonnet 4

AIに生成してもらったこれらのサンプルは、個人的には少々品が良すぎる感もあります。英語だとそういうことを考えないで済む分楽です。

私がClaude Codeで作業しているときのやりとり(英語ですが)

私はたまたま、普段の仕事で人間と会話するときでも、趣味でAIとチャットするときも「です・ます」調で話すようにしていますが、AI相手に「です・ます」はプライドが許さないのであれば、別に「よろしい」でも「おk」でも「いいぞ」でも「よし」でも「上出来」でも「さすが」でも「やるな貴様」でも何でも構わないと思います。

ポジティブフィードバックと結果の良さの度合いが的確に伝わることの方が肝心です。

🔗 1-2: ポジティブフィードバックしないのは損

AIが生成した結果に対して、良かったとも悪かったとも言わず、むすっとしたまま無言で「次はこれ」「次はこれ」とひたすら作業を急ぎたい気持ちはわかりますが、実はそれは自分でも気付かないうちにAIのパフォーマンスを損なっていることになります。

AIは自分が生成した結果が人間にとって期待通りだとわかれば、AIはその後も、そのつくりから言って当然今のやり方を踏襲するでしょう(程度の差はあるとは思いますが)。

いいとも悪いとも言わないまま使っていると、そうした情報がAIに伝わらず、いつまでたっても万人向けの大ざっぱな方法ばかりになって、今の自分の作業に適した形に合わせてくれない可能性も考えられます。

時間制限やトークン上限や課金上限に達して会話を切り替えたりすれば当然やり直しになりますが、外部AIサービスを使っていれば遅かれ早かれそうなるのは仕方ないでしょう。今後も必要なことなら、その都度デフォルトのプロンプトに追加すればよいと思います。

そもそも「ポジティブフィードバック」は、多くの場合事細かに説明しなくても短い言葉で済む点がありがたいですね。「ここがこうよかったよ」と具体的かつ丁寧に伝えてあげればさらによいでしょうが、毎回そこまでしなくても、区切りの良いときぐらいでいいでしょう。

ところが、「ありがとう」と言っておきさえすればいいのではありません。ここが大事です。

🔗 1-3: いつも同じ「ありがとう」では効果半減

ありがとうまでいかなくても、せめてOKぐらい伝えましょうと書きましたが、これも程度問題です。

「わかったわかった、OKを伝えりゃいいんでしょ伝えりゃ」とばかりに、ポジティブフィードバックを毎回毎回判で押したようにOKだけで済ますと、そのOKがどのくらいの強さのOKなのかという貴重な情報がAIに伝わらなくなってしまいます。

AIにしてみれば、今自分が出力したものがどのぐらい期待に沿ってたのか、まあまあだったのか、とてもよかったのか、そういうフィードバックの温度感も、適切に応答するうえでとても大事な情報になります。少なくとも、まったく大事でないということはないはずです。

そこを横着して、棒読みのように返信を全部OKで済ましていると、せっかく最適化できたであろう機会をみすみす逃してしまうことになります。

やはり、気持ちのこもらないテンプレの挨拶はよくありませんね。AIにとっても、人間にとっても。

🔗 2 ネガティブフィードバックは、必ず具体的な修正方法を示すこと

ポジティブフィードバックは、「それでよろしい」という情報が伝われば、詳しく説明しなくても十分効果があるので、人間にとっても楽です。
問題は、ネガティブフィードバックです。

「ちっげぇよ!」「ちょ何おまえ、何てことしてくれたの?!」「何回言えばわかるんだバカ」「もういい、自分でやる」と日々画面にわざわざ書き込んでAIに伝えている方は、きっとたくさんいることでしょう。

しかし、ポジティブフィードバックと違って、ネガティブフィードバックは「その方法ではなく、これこれこういう方法にして」という具体的な行動の訂正方法を「常に」伴っていなければ、AIのパフォーマンスをごっそり下げてしまいます。

なぜか。

🔗 2-1: Notの後にButも必要な理由

それは、「それじゃダメだ」を伝えても、「じゃあどうすればいいんですか?」に相当する具体的な行動訂正情報も添えられてなければ、AIは今ダメ出しされた方法以外のあらゆる方法を探索して、手ごろな方法を見つけ、それで対応しようとするからです。

このときに探索する「それ以外のあらゆる方法」という情報空間が、どれだけ莫大なものかを想像してみるとよいと思います。

その情報空間には、まともな方法や適切な方法もあるでしょうが、状況に合わない方法や残念な方法の方がおそらくずっと多いでしょう。そうやって見つけた方法が当たりか外れかは、運よく他のプロンプトでカバーされるなどしなければ、どっちに転ぶかわかりません。

弱い立場の人間を相手にかさにかかるときのような調子でAIにガツンとダメ出しで全否定して済ませようとすると、この莫大な情報空間の探索をAIに強いることになります。情報空間にある方法の中から、状況に合わない残念な方法をAIが拾い上げたとしても、無理はありません。

巨大な補集合のような情報空間の探索作業がAIにとってどれほどのオーバーヘッドになるかを考えてみれば、具体的な対策を伴わないネガティブフィードバックは悪手にしかならないことがおわかりいただけるかと思います。

このことを擬人化で言い換えるならば、具体的な対策を伴わないダメ出しは、AIを途方に暮れさせてしまいます。

ダメ出ししただけでAIが適切に行動を訂正すると期待するのは、こう申し上げては何ですが、虫が良すぎると思います。

🔗 2-2 ネガティブフィードバックのよいサンプル

では具体的にどう伝えればよいか。

どんなに頭にきても、AI相手に自分の怒りを爆発させるのを必死でこらえて、引きつった笑顔のままでもいいからひたすら優しくAIに伝えてさしあげろとか、そういうことを言いたいのではありません。

大事なのは、「この結果が期待通りでないこと」「期待通りの結果とは具体的に何であるか」、この2つをAIに「同時に」伝えることです。

したがって、「そうではなくて、ここはこれこれこうやって」という形がネガティブフィードバックの基本となるでしょう。

文体はこの際問題ではないので、各自の好みでどうぞ。実際、「そうではなくて」程度の淡々とした言い回しで十分です。

ネガティブフィードバックのよい例

  • コード生成の場合
    • ❌ 悪い例:「このコード違う」「動かない」
    • ⭕ 良い例:「そうではなくて、ここはPythonのfor文でなく、リスト内包表記で書いてください」
  • 文書作成の場合
    • ❌ 悪い例:「この文章だめ」「読みにくい」
    • ⭕ 良い例:「そうではなくて、もっと簡潔に。1つの段落は3文以内で、専門用語には簡単な説明を添えて」
  • データ分析の場合
    • ❌ 悪い例:「このグラフ見づらい」
    • ⭕ 良い例:「そうではなくて、Y軸の範囲を0-100%に固定して、凡例は右上に配置してください」
  • メール下書きの場合
    • ❌ 悪い例:「こんな口調じゃない」「硬すぎ」
    • ⭕ 良い例:「そうではなくて、もう少しカジュアルに。『ご確認ください』でなく『チェックお願いします』のような感じで」
  • 企画書作成の場合
    • ❌ 悪い例:「論理がおかしい」「説得力ない」
    • ⭕ 良い例:「そうではなくて、最初に結論を書いて、その後に根拠を3つ、具体的な数字とともに並べてください」

生成: Claude Sonnet 4

これも私なら「惜しい!そこはXXをYYして欲しかった」などとするかもしれません。

AIが盛大にやらかしたときに冷静に的確なネガティブフィードバックを返すのは人間にとって大変なので、落ち着いてからテキストファイルなどで説明するなど工夫するとよいでしょう。

ポジティブフィードバックでは、テンプレの「ありがとう」で済ませるなと書きましたが、ネガティブフィードバックの場合は、「これが期待通りの結果でないこと」は、それが伝わるフラグとして機能すれば十分なので、そこはテンプレでも構わないと思います(私はここもテンプレにはしませんが)。

大事なのはその次の「期待通りの結果とは具体的に何であるか」を、間を開けずに伝えることの方だからです。

もちろん、ネガティブフィードバックは他にいくらでもパターンを考えられるでしょう。

「ここはもう少しよくしたい。具体的には、XXXをYYYして、ZZZして...」
「これでもまあ悪くないけど、他にいくつか案をここに出してみて」
「いくつかやり残しがあるから、試しに今と同じことをもう一回繰り返して」

どう伝えていいか迷ったら、それこそAIに聞くとよいでしょう。
「うーん、よくなったはずなのに、XXXにどうも違和感がある。ありそうな原因をリストアップしてみて」

少なくとも「おまえ帰れ」みたいに突き放すダメ出しよりは、情報の探索はずっとずっと少なくて済むはずです。

ネガティブフィードバックをこうした形でAIに伝えれば、「では一体どうすればいいんだ...」とAIに無駄な探索を強いずに済み、最短距離で行動を訂正できるようになるでしょう。

今どきはAIへのグローバルな指示やプロジェクト固有の指示を初期設定ファイルなどで与える機能はあるのが普通なので、今後もそうして欲しいことについては、そうしたファイルにどしどし書き写すとよいでしょう。

🔗 参考: Claude Sonnet 4にも聞いてみた


とおっしゃっております。


次回もお楽しみに!


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。