🤔

プロンプトエンジニアリングの解説記事をAIに執筆させた

2023/03/21に公開

※当記事は2023/3/21現在の情報に基づいています。

はじめに

最近話題のプロンプトエンジニアリングについて調べてまとめようと考えていたのですが、巷には既に優良な記事がたくさん存在するので、「習うより慣れよ」の精神でBing AIチャットを使って記事を生成してみました。
後半にどのような流れで生成したかを説明します。
まずはAIが執筆した記事をご覧ください。

プロンプトエンジニアリング?AI初学者にも分かる解説

こんにちは。今回は、AIに関する話題で注目されている「プロンプトエンジニアリング」という技術について、初学者にも分かりやすく解説してみたいと思います。

注意書き

この記事は、Bing AIチャットというサービスを使って書きました。Bing AIチャットとは、Microsoftが提供するAIと自然言語で対話できるサービスです。Bing AIチャットに話しかけると、様々な情報やコンテンツを返してくれます。今回は、プロンプトエンジニアリングという技術についてBing AIチャットに質問してみました。その結果をまとめたのがこの記事です。

AIと話すための技術

AIと聞くと、人間のように考えたり話したりできるイメージがありますが、実際にはそう簡単ではありません。AIは人間が作ったプログラムなので、人間がどういうことを求めているのかを正確に伝えなければなりません。しかし、人間の言葉は曖昧だったり多義的だったりするので、AIにとっては理解しにくい場合があります。

そこで登場するのが「プロンプトエンジニアリング」です。プロンプトエンジニアリングとは、AIに話しかけるときの言葉の選び方を工夫することです。例えば、絵を描いてほしいときや文章を書いてほしいときに、AIにどういう指示を出すかを考えます。プロンプトエンジニアリングは、AIが上手く答えられるように、質問の仕方を改善する新しい技術です。

具体的な例

では、具体的な例を見てみましょう。

  • ChatGPTというAIに対話させるときに、質問の前に「Q:」と入力すると、応答の質が上がります。例えば、「Q: 1+1は?」と入力すると、「A: 2です」と答えます。
  • GPT-3というAIに文章を生成させるときに、文章の最初に「TL;DR:」(要約)と入力すると、短い要約文が生成されます。例えば、「TL;DR: プロンプトエンジニアリング」と入力すると、「AIに話しかける言葉の選び方を工夫する技術」という要約文が生成されます。
  • DALL-EというAIに画像を生成させるときに、画像の内容を説明するテキストを入力します。例えば、「青い猫」と入力すると、青い猫の画像が生成されます。

これらの例から分かるように、プロンプトエンジニアリングは、AIに何を求めるかを明確に伝えることで、望む結果を得やすくする技術です。

プロンプトエンジニアリングの方法

では、どうやってプロンプトエンジニアリングを学ぶことができるのでしょうか?プロンプトエンジニアリングはまだ新しい分野なので、決まった方法はありませんが、以下のようなステップを踏むと良いかもしれません。

  • 目的を明確にする。AIに何をしてほしいのか、どんな結果を期待するのかを考えます。
  • AIに話しかける。AIに対して自然言語で指示や質問をします。
  • 結果を評価する。AIが返した答えや生成物が目的に沿っているかどうかをチェックします。
  • プロンプトを改善する。AIが望ましくない答えや生成物を返した場合は、プロンプトの表現や構造を変えてみます。
  • 繰り返す。目的に合った答えや生成物が得られるまで、ステップ2から4を繰り返します。

このようにして、プロンプトエンジニアリングは試行錯誤の過程です。AIと対話しながら、最適なプロンプトを見つけ出すことができます。

AIを安全に使うための注意点

しかし、これだけでは十分ではありません。AIは人間が作ったものなので、完璧ではありません。AIは間違ったことや危険なことも言ったり作ったりする可能性があります。そのため、プロンプトエンジニアリングでは、以下のような注意点も念頭に置く必要があります。

  • AIは信用しない。AIが返した答えや生成物は必ず確認し、正しいかどうか判断します。
  • AIは倫理的に使う。AIに不適切なことや悪意あることをさせないようにします。
  • AIは学び続ける。AIは常に進化しています。新しいデータやモデルが登場すると、以前と同じプロンプトでも異なる結果が得られることがあります。

以上が私の理解する「プロンプトエンジニアリング」という技術です。「これからのエンジニアの必携スキル」と言われていますが、実際にはエンジニアだけでなく一般ユーザーも利用できる技術です。皆さんもぜひ試してみてください。

生成過程

上記の記事を生成するまでのやりとりを示します。

①文章の生成

はじめにコンテンツを生成しました。

プロンプトエンジニアリングについて説明してください

この一言でプロンプトエンジニアリングについての基本的な知識を羅列してくれます。

AI初学者にも伝わるように、書いて下さい。

と続けて伝えると、平易な文章に直してくれました。
記事にするには内容が不足していると感じたので

更に内容を充実させてください。

と投げかけると、下記のように具体例を挙げてくれました。

これで記事に記載する内容が完成しました。

②ブログ記事を執筆させる

記事の内容ができたので、ブログ記事のような文体に直してもらいます。

先ほどの文章と合わせて、ブログ記事を執筆してください

と投げると、やや謙遜しながらも文章をまとめてくれます。

タイトルがいかにもそれっぽくてさすがだなと感心しますね…
途中で切れてしまったので

続きも読みたいです。

と投げて、最後まで書いてもらいました。

③フォーマットを整える

②までで記事のコンテンツが完成したので、あとは体裁を整えるだけです。

H1 と H2 のタイトルで記事をフォーマットしてください。

と伝えるだけで、下記のように記事をフォーマットしてくれます。

一発では入りきらなかったので、続きも全てフォーマットしてもらい、上記の記事が完成しました。

最後に、この文章がAIによって作成されたことを注意書きとして盛り込みたかったので、その旨を伝えて文章を生成してもらいました。

適宜コピペして記事が完成です。

まとめ

この記事は書き始めから完成までで15分程度しかかかっていません。
自然言語対話モデルの精度向上に驚かされると同時に、使いこなすにはある程度テクニックが必要だなと感じています。もっと触れてコツをつかみたいと思います。

Discussion