生成AIを効果的に活用する「プロンプトエンジニアリング」最前線

- プロンプトエンジニアリングの基本的な考え方と重要性
- 最新の研究に基づくSKiCプロンプティングとEchoPromptの概要
- 生成AIの性能を引き出すための具体的なプロンプト設計手法
皆さん、はじめまして。JBCCでAIサービスを担当しているイノベースの山﨑です。
これまでの記事ではイノベースの取り組みやサービスに関する紹介をしてきましたが、今回は少し技術的な内容を共有できればと思います。
この記事ではChatGPTなどのテキスト生成AIを効果的に活用するために欠かせないプロンプトエンジニアリングについて紹介します。一般的に推奨されている内容だけではなく、比較的新しい論文で提案されている一歩踏み込んだテクニックを紹介します。
プロンプトエンジニアリングとは
プロンプトエンジニアリングを簡単に表すと、「ChatGPTなどの生成AIが特定の目的を達成できるように指示を工夫すること」です。
一般的によく言われている内容としては「目的を明確にする」や「出力の要件を詳しく指定する」などがあると思います。プロンプトエンジニアリングに力を入れている方は「Prompt Engineering Guide[1]」やMicrosoft社が公開している「プロンプト エンジニアリングの手法[2]」、OpenAI関係者のブログ記事などで学ばれていると思います。この記事ではそれらの内容を前提としつつ、プロンプトエンジニアリングに関する比較的新しい提案を行っている研究内容を共有します。
プロンプトエンジニアリングの最新テクニック
プロンプトエンジニアリングに関する論文は、プロンプトエンジニアリング全般に通用する汎用的な提案から感情分析などの特定のタスクに特化した提案まで様々あります。今回は汎用的なテクニックを2つ紹介します。
1つ目に紹介するのはSkills-in-Contex(SKiC)プロンプティングです。
この手法は「SKILLS-IN-CONTEXT PROMPTING: UNLOCKING COMPOSITIONALITY IN LARGE LANGUAGE MODELS[3]」というテンセントAIラボが発表した論文で提案されています。SKiCは問題を解くために必要なスキルと、そのスキルを用いた模範解答でプロンプトが構成されています。質問と回答の例示をプロンプトに埋め込むChain-of-Thought (CoT)プロンプティングの拡張と捉えてもよいかもしれません。

SKiCプロンプトを作成する2つのアプローチが提案されています。
1つ目のアプローチは人手でスキルと例題を作成する方法です。
2つ目のアプローチはChatGPTなどを用いて作成する方法です。このアプローチではChatGPTなどでスキルの抽出を行わせ、その結果を人間が調整しながら例題を作成し、SKiCプロンプトを作成します。

論文によるとSKiC プロンプトを用いることで、ChatGPTなどが苦手とする計算問題の正解率が改善した他、質問応答や推論に対しても有効であることが示されています。
2つ目に紹介するのはEchoPromptです。この手法は「EchoPrompt: Instructing the Model to Rephrase Queries for Improved In-context Learning」というカリフォルニア大学アーバイン校が発表した論文で提案されている手法です。EchoPromptは非常にシンプルで、ChatGPTなどが問いに対する回答を作成する前に問いを言い換えるようにプロンプトに指示を盛り込みます。

このテクニックは人間の思考方法に触発されて考え出された手法で、問いを言い換えさせることによって問いの理解度を向上させ、その結果、ChatGPTなどの回答が改善するというものです。単体で用いても良いのですが、CoTなどの既存のテクニックと組み合わせても効果を発揮するそうです。既存のテクニックとEchoPromptを組み合わせることによって、推論や読解などのタスクで有効であることが示されています。
まとめ
今回はプロンプトエンジニアリングの最前線ということで、比較的新しく、かつ、汎用的なテクニックを2つ紹介しました。最近ブームが落ち着きつつある生成AIですが、新しいサービスが登場したり、機能が拡張されたりとまだまだ発展している最中ですので今後も動向を追っていきたいと思います。
よくある質問
- Q1. プロンプトエンジニアリングとは何ですか?
- A. プロンプトエンジニアリングとは、ChatGPTなどの生成AIが目的に沿った出力を行えるように、指示(プロンプト)を工夫する技術です。
目的の明確化や出力形式の指定などが含まれます。
- Q2. SKiCプロンプティングとはどのような手法ですか?
- A. SKiC(Skills-in-Context)プロンプティングは、必要なスキルとその模範解答をプロンプトに含めることで、生成AIの理解力と正答率を高める手法です。
特に計算問題や推論タスクに効果があります。
- Q3. EchoPromptはどのような場面で有効ですか?
- A. EchoPromptは、AIに問いを言い換えさせることで理解度を高め、より正確な回答を導く手法です。
CoT(Chain-of-Thought)などの既存手法と組み合わせることで、読解や推論などの複雑なタスクにも有効です。
執筆者

山﨑 拓己
JBCC株式会社 サービス事業 SI事業部 イノベース システムエンジニア(SE)
食品製造業や塾業界のシステム構築において、複数のプロジェクトに開発者として参画。
その後、AIを活用した製造業向けの検品システムの構築に従事し、AIエンジニアとして活躍中。新規事業「イノベース」立ち上げメンバー。
企業のIT活用をトータルサービスで全国各地よりサポートします。
JBCC株式会社は、クラウド・セキュリティ・超高速開発を中心に、システムの設計から構築・運用までを一貫して手掛けるITサービス企業です。DXを最速で実現させ、変革を支援するために、技術と熱い想いで、お客様と共に挑みます。