プロンプトエンジニアリングから学ぶコミュニケーション術

# はじめに
生成AIの発展に伴ってよく聞くようになった、プロンプトエンジニアリングという言葉...
「プロンプトエンジニアリングの需要が高まる！」「プロンプトエンジニアという職業が生まれる！」と言われ、手法もたくさん紹介されてきています。
しかし、プロンプトエンジニアリングのテクニックを見ていると、これって人とのコミュニケーションでも当たり前にできていて欲しいことだよなあと感じることがたくさんあります。
プロンプトエンジニアリングの手法から普段のコミュニケーションもう一度見直してみましょう。

:::note info
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています！興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=8d1966181df7ddc960c3)まで。
:::

https://www.recruit.nuco.co.jp/?qiita_item_id=8d1966181df7ddc960c3


### プロンプトエンジニアリングとは
ChatGPTなどのAIに対して、適切な指示を与えたり、背景情報を与えたりすることによって、より望ましい回答を得る技術のことです。
つまり、プロンプトエンジニアリングは、AIとのコミュニケーションをより効果的にするためのアプローチであり、AIモデルの制約や限界を補う手段の一つです。

ここで私は思ったのです。
AIとのコミュニケーションをより効果的にするためのアプローチに使えるのであれば、人間と人間のコミュニケーションにおいても参考にできるところがあるのではないか？

### ChatGPTに聞いてみた
私：**「プロンプトエンジニアリングが、AIとのコミュニケーションを向上させる重要な手段だとすると、プロンプトエンジニアリングの手法は"人間と人間"のコミュニケーションにも活用できると考えています。これについてどう考えますか。」** 

ChatGPT: `プロンプトエンジニアリングの基本的な考え方は、情報や要求を明確に提示することで、より適切な応答を引き出すことです。これはAIとの対話だけでなく、人間同士のコミュニケーションでも有用です。`

`例えば、議論や意見交換の場で、明確な質問や指示を与えることで、参加者同士のコミュニケーションを効果的に進めることができます。特定のトピックや視点に基づいた質問や指示を提示することで、より具体的な議論や意見の交換が可能になります。`

`また、コミュニケーションの文脈や目的を明示することも重要です。相手に対して自分の意図や要求を明確に伝えることで、誤解や混乱を避け、円滑なコミュニケーションを促進することができます。`

`さらに、プロンプトエンジニアリングの考え方は、コミュニケーションのガイドとしても役立ちます。具体的なプロンプトやフレーミングを使って、参加者が適切な情報や意見を共有し、コミュニケーションの効果を最大化することができます。`

`つまり、プロンプトエンジニアリングは、人間同士のコミュニケーションにおいても、明確さ、効果性、情報の整合性を促進するための手法として活用できるのです。`

AIとのコミュニケーションと人間同士のコミュニケーションに多少の違いはあるものの、活用できる部分も多いのではないでしょうか。
今回は手法をいくつか選び、コミュニケーションにどのように活かせるか紹介していきます。

# プロンプトエンジニアリングの手法
### Chain-of-Thoughtプロンプティング
Chain-of-Thoughtプロンプティングでは、モデルが一貫性のあるストーリーや議論を生成するように促します。モデルには、前の文脈や応答が与えられ、それに続く文を生成するように指示します。
この手法を人間と人間のコミュニケーションに応用する際は、意見やアイデアを段階的に展開していくことで、相手との対話がより論理的で組織的に進行します。例えば、ディスカッションやブレインストーミングの際に、CoTを使ってアイデアを整理し、具体的な提案や解決策に導くことができます。

#### 改善前
A: 「明日のプロジェクトの進捗会議の準備、どう進めようか？」
B: 「うーん、担当箇所の進捗状況を把握して、課題を洗い出すかな。」
A: 「それに、クライアントの要望も確認しておこう。」
B: 「そうだね。それと、過去の類似プロジェクトの成功要因も考えてみよう。」

#### 改善後
A: 「明日のプロジェクトの進捗会議の準備、どう進めようか？」
B: 「まず、各チームメンバーの担当箇所を整理して、進捗状況を把握しよう。」
A: 「それから、過去の類似プロジェクトの成功要因も振り返りつつ、課題を洗い出してみよう。」
B: 「そうだね。それに加えて、クライアントの要望やフィードバックも確認して、最終目標に合致しているかを確認しよう。」

改善後はアイデアが段階的に発展していっており、論理的に会話が行われていることがわかります。

### Retrieval Augmented Generation
Retrieval Augmented Generationでは、モデルが事前に収集されたデータベースや情報源から情報を検索し、それを元に応答を生成します。モデルは、検索クエリや情報源へのアクセス手段を与えられ、検索結果を生成される応答に統合します。これにより、より正確な情報や裏付けを持つ応答を生成することができます。人間同士のコミュニケーションにおいては、会話や意見交換の中で過去の事例やデータを引用し、より裏付けのある議論や意見の提供ができます。過去の経験や知識を持ち出すことで、相手に対して説得力のある情報提供が可能です。

#### 改善前
A: 「最近、部門間の連携がうまくいってない気がするんだよね。」
B: 「そうなの？じゃあ、何か改善策を考えないといけないね。」
A: 「そうなんだけど、どうやって改善すればいいか分からないんだよね。」
B: 「そうか...とりあえず課題間の確認とヒアリングから行なっていく？」
A:　　「大変だけどそこからしなきゃかな...」

#### 改善後
A: 「最近、部門間の連携がうまくいってない気がするんだよね。」
B: 「そうだね、確かに改善の余地はあるかもしれないね。そうだ、ここに過去の類似問題や成功したプロジェクトのアプローチがまとまったものがあるから調べてみるといいよ。それで他の企業やチームがどう対処していたか参考になるかもしれないし、アイデアのヒントが得られるかもしれないよ。」
A: 「それなら、失敗を繰り返すことなく、効率的な改善策を見つけられるかもしれないね。さっそく試してみるよ。」
(数分後)
A: 「資料を見てみたんだけど、確かに参考になる事例がいくつかあったよ。特に類似の問題に対して効果的な対処法が示されていたから、それを応用することで、部門間の連携が改善される可能性が高いと思う。」
B: 「調査してくれてありがとう。施策を練って上司に相談してみよう。」

改善後は実際に過去の資料等を参考にして、スピーディーに解決策を考えることができています。

### アクティブプロンプト
アクティブプロンプトでは、モデルが自身に対して適切なプロンプトを要求する手法です。モデルは、タスクの要件や指示を明示的に要求し、それに基づいて応答を生成します。これにより、モデルとの対話を通じてより具体的な指示や要求を与えることができます。人間同士のコミュニケーションでは、相手に対して具体的な質問や指示を出すことで、相手の意見やアイデアを引き出すことができます。例えば、ディスカッションの進行を促進するために、アクティブプロンプトを使用して特定の視点や情報を求めることができます。

#### 改善前
A: 「このプロジェクトの進捗についての報告書を書いているんだけど、何かアドバイスある？」
B: 「成果面を強調するといいんじゃない？それで他のチームにも影響を与えられるかもしれないし、成果の共有が進むかもしれないよ。」
A: 「そうか、確かに重要だよね。それで書いてみよう。」
(数日後)
A: 「報告書ができたよ。だけど、成果面以外にもっと具体的なアプローチを盛り込みたいんだよね。」
B: 「そうなの？じゃあ、過去の成功事例を調べてみるのもいいかもしれないね。他の企業がどんなアプローチを取って成功したかを知ることで、自分たちのプロジェクトにも応用できるかもしれないよ。」
A: 「それはいいアイデアだね！もっと具体的なアドバイスが欲しかったな。でも、それで報告書をもう一度見直してみるよ。」


#### 改善後
A: 「このプロジェクトの進捗についての報告書を書いているんだけど、どんな視点を強調すればいいかな？」
B: 「うーん、まずは過去の類似プロジェクトの成功要因を調査してみるのはどうかな？それで成功の鍵を見つけ出すことができるかもしれないし、それに合わせて今後の方針も立てられるよ。」
A: 「そうだね、それは重要なポイントだよね。それと同時に、チームメンバーの意見を集めることも大切だよね。アンケートを取ったり、ミーティングで意見を聞いたりすることで、より多角的な視点を得られるかもしれないね。」
B: 「その通り！そして、結果を可視化するためのグラフやチャートを追加すると、報告書の内容がより分かりやすくなるよ。読み手にとっても理解しやすいように工夫するといいよ。」
A: 「グラフやチャートも重要な要素だよね。それに加えて、過去の失敗事例や課題も踏まえて、改善策を提案したいな。」

改善後は報告書の視点について具体的な指示を求めることで、より多角的な視点を持った報告書を作成することができました。

### ReAct
ReActは、人間のフィードバックを利用して強化学習モデルを改善する手法です。通常の強化学習では、モデルが試行錯誤を通じて学習しますが、ReActでは人間からのフィードバックを受け取り、そのフィードバックを元にモデルを改善します。これにより、より効果的かつ望ましい行動を学習することができます。人間とのコミュニケーションにおいては、相手からのフィードバックを受け取り、そのフィードバックを活用して自分のコミュニケーションスタイルや言葉遣いを改善することができます。相手によって適切な反応や表現を学習し、より良いコミュニケーションを築くことができます。

#### 改善前
A: 「最近、新しいプロジェクトの進捗を報告するためのプレゼンテーションをしたんだけど、どうだったと思う？」
B: 「ああ、そうだったね。うーん、特に問題はなかったと思うよ。」
A: 「そっか、ありがとう。」
(数日後)
A: 「前回のプレゼンテーション、改善点が特定できなかったんだよね。何かアドバイスがあるかな？」
B: 「うーん、前回は良かったと思うけど、具体的な意見が難しいかもしれないな。次回も同じスタイルで良いんじゃない？」

#### 改善後
A: 「最近、新しいプロジェクトの進捗を報告するためのプレゼンテーションをしたんだけど、フィードバックが欲しいんだ。見てくれる？」
B: 「もちろん、見せてくれる？あなたのプレゼンテーションはいつも素晴らしいから、きっと今回も良いはずだよ！」
A: 「ありがとう！でも、改善点も知りたいんだ。具体的な意見を聞かせてほしいんだけど。」
B: 「分かった！スライドの内容が充実していたけど、もう少しグラフや図表を使って視覚的に分かりやすくすると良いかもしれないね。あと、スピーカーノートにも少し情熱を込めるとより説得力が増すよ！」
(数日後)
A: 「前回のプレゼンテーション、フィードバックを活かして改善してみたよ！新しいスライドを追加して視覚的に分かりやすくしたんだ。」
B: 「本当？それは素晴らしいね！次のプレゼンテーションが楽しみだよ。」

改善後はフィードバックを活かして、より良い発表をすることができるようになっています。

### マルチモーダルCoT
マルチモーダルCoTは、複数のモダリティ（音声、画像、テキストなど）を組み合わせたデータに対して、CoT手法を適用する手法です。CoT手法は、連鎖的な思考プロセスを促進し、より洞察に富んだ意見やアイデアを生成するために使用されます。マルチモーダルCoTでは、異なるモダリティの情報を組み合わせることで、より豊かなコンテキストを提供し、より多角的な分析や洞察を得ることができます。間とのコミュニケーションにおいては、複数のコミュニケーション手段を組み合わせることで、より豊かな表現や理解が可能になります。例えば、テキストとジェスチャー、音声と視覚情報を組み合わせて相手との意思疎通を深めることができます。

#### 改善前
A: 「昨日のクライアントとのミーティング、どうだったかな？」
B: 「うーん、特に変わったことはなかったと思うよ。」
A: 「そうなんだ、クライアントからの反応も特になかった？」
B: 「特に言及はなかったね。まぁ、普段通りだったんじゃない？」
(数日後)
A: 「クライアントからプレゼンが文字ばかりでわかりにくいと言われてしまったよ...」
B: 「でも内容はいいし、特に変える必要はないと思うよ。」

#### 改善後
A: 「昨日のクライアントとのミーティング、印象的だったね。特に提案のプレゼンテーションが成功だったと思うよ。」
B: 「そうだね、特にプレゼンテーションの内容が理解しやすかったよね。あのグラフと共に説明があったおかげで、ビジュアル的にも理解しやすかった。」
A: 「そうだった？ありがと。じゃあ、次回のプレゼンテーションでも同じように複数のモダリティを使って説明してみようかな。」
(数日後)
A: 「前回のプレゼンテーションでテキストとグラフを組み合わせたプレゼンを行ったんだ。」
B: 「本当？それは興味深いね！それで、効果はどうだった？」
A: 「グラフが理解しやすかったみたいで、クライアントからも好評だったよ。次回もさらに工夫してみるつもりだよ。」

改善後はビジュアル的にわかりやすく工夫してプレゼンテーションを行えています。

### グラフプロンプト（GraphPrompts）
グラフプロンプトは、グラフ構造を持つデータや知識を利用してAIシステムを指導する手法です。簡単に言い換えると、関係性やネットワークを可視化する手法だと言えます。グラフプロンプトを活用して情報やアイデアの関連性やつながりを視覚的に示すことができます。グラフを使って相手との共通の理解を図ったり、複雑な問題を視覚的に整理したりすることで、より効果的なコミュニケーションが可能になります。例えば、プレゼンテーションや報告の際にグラフを使用して情報を整理し、相手にわかりやすく伝えることができます。

#### 改善前
A: 「新しいプロジェクトの進捗を報告する際、データをただ列挙するだけで伝えるつもりだよ。」
B: 「それでも問題ないと思うけど、グラフを使わないんだね。」
A: 「うん、データ自体は分かりやすいから、グラフを使わなくても大丈夫だと思うんだ。」
(数日後)
A: 「前回のプレゼンテーション、ちょっと情報が多かったかなって思ってるんだよね。」
B: 「たしかに、情報の関連性がよく分からなかったかもしれないね。」

#### 改善後
A: 「新しいプロジェクトの進捗を報告する際に、グラフを使って情報を整理してみようと考えてるんだ。」
B: 「それはいいアイデアだね！グラフを使うことで、情報の関連性やつながりが視覚的に分かりやすくなるよ。」
A: 「そうそう、相手にも共通の理解を持ってもらえると良いな。データや知識を可視化することで、説得力も増すはずだよ。」
(数日後)
A: 「前回のプレゼンテーションでグラフを使ってみたよ！相手には分かりやすかったみたいで、効果的だったよ。」
B: 「本当？それは素晴らしいね！グラフを使って情報を整理することで、相手にも納得感が生まれるんだろうね。」

改善後は情報の整理をすることで、相手にわかりやすく伝えることができました。

# 終わりに
私：**「AIや人間とのコミュニケーションで普段から意識しておくことはありますか？」**
ChatGPT：`AIや人間とより良いコミュニケーションを築くためには、以下の点を普段から意識しておくことが重要です。`

`1. クリアな表現: 言葉や文章を明確にすることが大切です。曖昧な表現や誤解を招く表現を避け、相手に正確な情報や意図を伝えるよう心がけましょう。`

`2. 聴く力: コミュニケーションは双方向のものであり、相手の話に注意深く耳を傾けることが重要です。相手の意見や感情を尊重し、共感することで相手との信頼関係が築かれます。`

`3. エンパシー: 相手の立場や感情を理解しようとする心の持ち方が大切です。自分だけの視点に固執せず、相手の立場に立って考えることで、より深い理解と共感が生まれます。`

`4. コンテキストの把握: コミュニケーションにおいて、会話や文脈の中で何が起こっているのかを把握することが重要です。過去のやり取りや文脈を踏まえて意見を述べることで、より有意義なコミュニケーションができます。`

`5. 論理的思考と整理: 論理的に思考し、自分の意見やアイデアを整理して伝えることがコミュニケーションの効果を高めます。自分の考えを明確にすることで相手との議論や意見交換がスムーズになります。`

`6. ポジティブな姿勢: コミュニケーションにおいて、ポジティブな姿勢を持つことは重要です。建設的なフィードバックを行い、協力的な姿勢を示すことで、より良い関係が築けます。`

`7. 柔軟性と適応性: 状況や相手に応じて、コミュニケーションスタイルを調整する柔軟性が必要です。相手のニーズに合わせたアプローチを取ることで、より円滑なコミュニケーションが実現します。`

`これらの要点を意識することで、AIや人間とのコミュニケーションが向上し、より効果的な情報交換や意見共有が可能になります。相手との信頼関係を築き、良いコミュニケーションを通じて共同の目標を達成することができるでしょう。`

結局大事なのは包括的なコミュニケーション力らしい...