AI 時代の伝わる文章力 「プロンプト思考」コミュニケーションエラーあるある「解釈が違ってました」が許されない IT エンジニアのシステムへの伝え方が、日常生活で役立に立ちすぎる?
今回から 2 回に分けて、「プロンプト思考」プロフェッショナルである IT エンジニアの仕事ぶりを紹介します。IT エンジニアの頭の中を覗きながら、読者の皆さんが日常生活や仕事を通じて「プロンプト思考」を手に入れるヒントもお伝えします。
プロフィール
インタビュアー、スタートアップ広報中村優子
目次
IT エンジニアとシステムに「阿吽の呼吸」は存在しない
IT エンジニアというと、一日中パソコンの前に座って仕事をしているイメージがあると思います。そのパソコンの先には、システムがあります。つまり IT エンジニアは、日々の仕事の中で頻繁に、システムとコミュニケーションを取っているのです。
人間とは違ってシステムには柔軟性がありません。だから IT エンジニアは、毎日、一日中ずっと、融通の利かないシステムを相手に自分の意図を明確に伝えることが求められるわけです。つまり、プロンプト思考のできる人が IT エンジニアになるのではなく、IT エンジニアは仕事を通じてプロンプト思考を習得していると言えます。
ITエンジニアの仕事は、ITを駆使してシステムという目に見えない仕組みを作ることです。そして意外かもしれませんが、実は人間同士のコミュニケーションも頻繁かつたくさんあります。システムは一人では作れないので、大抵はチームを組んで分業します。場合によっては、会社が違ったり、国籍が違うメンバーともチームになることがあります。
システムほどではないにせよ、組織が違う、国籍が違うので阿吽の呼吸で・・とはいかないのです。
EC サイトで「プロンプト」を考えてみる
前回の記事で、プロンプト思考で必要な「4つの原則」についてお伝えしましたが、今回は「プログラムの設計」を取り上げます。プログラムの設計の仕方ではなくあくまでプロンプト思考についてですので、ご安心ください。
プログラムというのは、命令の集まりです。つまりプログラムを設計するというのは、どの命令をどんな順番で実行するのかを決めることです。
例えば、よくある EC サイトを例に説明します。
EC サイトでは、選んだ商品をカートに入れてから購入しますよね。ここでは、ユーザーが商品を選択し、「カートに追加」ボタンをクリックすると、その商品をユーザーのカートに追加するまでの一連のプログラムが動いています。
プログラムの設計は「目的からの逆算」
実はこのプログラムを作る IT エンジニアたちは、前回紹介した「プロンプト思考」のための 4 つの原則を駆使しています。頭の中をちょっと覗いてみましょう。
<IT エンジニアの頭の中>
このプログラムの目的は、ユーザーが選んだ商品が「カートに追加」されること、だな。カートに追加するときは価格も必要だから、商品情報を管理するシステムからもってこよう。こんな感じでどうだろう?
- ユーザーが選んだ商品の情報をシステムから取得する
- 選択した商品の現在の価格を特定する
- カートに商品の価格と数量を合わせて登録し、「カートへ追加しました」というメッセージを返す
このようにプログラムの設計という仕事では、目的を達成するために必要な命令(処理)を考えて順番を決めています。そしてこれは「プロンプト思考」のための4つの原則の 1 つ「目的からの逆算」そのものでもあります。
システムは融通が効かないから「前提の設定」
何度か紹介しているように、システムは融通がききません。だから、プログラムを動かす際には、システムが正しく理解できるように命令を伝える必要があります。次に重要になるのが、「プロンプト思考」の4つの原則の 1 つ「前提の設定」です。前提というのは、プログラムを動かすための必須条件です。
先ほどのカートに商品を追加するプログラムを見て、どう感じましたか?さほど難しくないと思われたのではないでしょうか。プログラミングをやったことのない人でも、どんな動きをするのかなんとなくイメージがわいたと思います。
しかし、実際のシステムは「なんとなく理解」はしてくれないので厄介です。システムが正しく理解できるように、条件を「厳密」かつ「全て」伝えなければいけません。
実はこの EC サイトには会員限定価格が設定されていて、ログインせずにユーザーがカートへ商品を追加すると、少し割高なゲスト価格で購入する仕組みだとします。
そうなると、システムに「ユーザーがログイン済かそうでないかによって提示する価格は異なる」という前提条件を伝えておく必要があるのです。
そうしないと、2 種類の価格が存在することに気づかないシステムが意図しない動きをする可能性があるからです。例えば、エラーになったり、ユーザは会員なのにゲスト価格を提示してトラブルになったりするかもしれません。
このような会員限定価格が存在するという前提を踏まえると、先ほどのプログラムは次のように進化します。
- ユーザーが選んだ商品の情報をシステムから取得する
- ユーザーが EC サイトにログインした会員だったら、選択した商品の現在の会員価格を特定する
- 会員ではなくゲストであれば、選択した商品の現在のゲスト価格を特定する
- カートに商品の価格と数量を合わせて登録し、「カートへ追加しました」というメッセージを返す
常に曖昧さをなくそうとするから「制約の明示」
人間同士のコミュニケーションでは、よく認識の齟齬がおきます。そうなると、追加で情報を伝えたり、誤解を解くために説明を加えたりして、あとあと面倒な思いをすることになります。これは、情報が曖昧だと選択肢がいろいろと考えられるので、人によって解釈が変わることが原因です。
こうした問題を防ぐために、誰がどう考えても選択肢が 1 つになるように伝えるのが効率の良いコミュニケーションの鉄則です。
例えば先ほどのプログラムをもう一度よく見てください。もし、在庫が残り 1 個の商品を、ユーザーが 2 個購入しようとしたらどうでしょう? ユーザーは決済の段階になって初めて「在庫がない」という事実を知ることになります。在庫があるのかないのかは早い段階で分かった方がストレスはないですよね。そこで、カートに入れるタイミングで在庫の数を確認する制約を加えたプログラムに進化させます。
- ユーザーが選んだ商品の情報をデータベースから取得する
- ユーザーが EC サイトにログインした会員だったら、選択した商品の現在の会員価格を特定する
- 会員ではなくゲストであれば、選択した商品の現在のゲスト価格を特定する
- カートに追加する数量が在庫として確保できるかどうかを確認する
- 在庫があれば、カートに商品の価格と数量を合わせて登録し、「カートへ追加しました」というメッセージを返す
- 在庫がなければ、「在庫なし」というエラーメッセージを返す
仕事や日常でお願い事をする時に「プロンプト思考」を活用してみよう
今回は IT エンジニアが「目的からの逆算」「前提の設定」「制約の明示」という「プロンプト思考」の原則を使いこなす様子を紹介しました。これを皆さんの日常生活や仕事の中でも使うとしたら、どんなシチュエーションが考えられるでしょうか?
ポイントは、「煩わしいやりとりの数をできるだけ減らすにはどう伝えれば良いか?」を考えることにあります。例えば、部下や家族にお願いごとをするときに使ってみるのはどうでしょう?
もし皆さんが部下に仕事を依頼して、自分が期待したものと違う結果が返ってきたとしたら、そのときはあなたの「プロンプト思考」を鍛えるチャンスだと思ってください。
自分の伝えたいことだけを伝えるのではなく、相手の解釈がどう考えても一つになるような伝え方をするのが「プロンプト思考」です。
次回は、もう一つの原則「言葉の定義」を使いこなす IT エンジニアの仕事ぶりと、IT エンジニア同士のコミュニケーションの中でも使われる「プロンプト思考」について紹介します。
《前回の記事》
関連記事
この記事を書いた人
- (おがさわらのりこ)都内ITベンチャー企業で働くITコンサルタント。20年以上のSEの経験を持つ。立命館大学理工学部情報学科卒。フルタイムの仕事と子育てを両立させながら、KIT虎ノ門大学院でビジネスを学び2016年に修了。2023年より、武蔵野大学で非常勤講師も務める。