プロンプトエンジニアリング
プロンプトエンジニアリングとは、簡単に言えばAIに良い質問をすることです。プロンプトとは、質問やリクエストを含むあなたの入力のことです。
プロンプトエンジニアリングは、チャット中にAIモデルが適切な回答を出せるように、的確な質問や指示を考えることを意味します。より良いプロンプトを使うことで、より良い結果が得られます。
選択したモデルの仕様とともに、これが回答の質を決定づけます。
プロンプト(質問)の要素
より良い結果を得るために、以下の点を考慮してください:
- 目的:言語モデルに何を正確に求めていますか?
- 役割:言語モデルの役割は何ですか?(例:「マーケティングアナリスト」、「法務アドバイザー」、「プロジェクトマネージャー」)
- コンテキスト:リクエストの背景情報(例:企業目標、プロジェクト詳細、市場情報)
- スタイル:どのようなスタイルを望みますか?(例:フォーマル、説得力のある、簡潔な)
- 出力:どのフォーマットを望みますか?(例:レポート、メール、プレゼンテーションのアウトライン、コードスニペット)
目的
質問の目的を正確に記述することは不可欠で、省略できません。
何を知りたいですか?
- 事実質問は可能ですが、制限(例えば最新の知識がない)を意識してください
- Googleと同様に、同じ質問を繰り返しても全く同じ回答が得られるとは限りません
- 「チャット」機能の利点は、追質問ができることです
明確な目的を持つプロンプトの例:
中規模企業における新しいAIプラットフォーム導入の主な課題について説明してください。
中規模企業に新しいAIプラットフォームを導入する際には、いくつかの重要な課題があります。主な課題は以下の通りです:
- 変化への抵抗:従業員は既存のプロセスやシステムに慣れています。新しいAIプラットフォームは適応を必要とし、特にワークフローへの影響が明確でない場合、抵抗が生じる可能性があります。
- データの質と可用性:AIプラットフォームはデータに大きく依存しています。新しいプラットフォーム用のデータ収集、クレンジング、構造化は複雑で時間がかかることがあります。
- 既存システムとの統合:AIプラットフォームはしばしば他の企業アプリケーション(ERP、データソース、BIツール)と統合する必要があります。これには技術的な課題が伴います。
- コスト:プラットフォームのライセンス費用に加え、導入、トレーニング、データインフラ、専門人材の費用がかかります。
- トレーニングと導入促進:従業員は新しいプラットフォームの使用方法と出力の解釈を学ぶ必要があります。適切なトレーニングと継続的なサポートがなければ、導入率は低くなる可能性があります。
- 適切なプラットフォームとユースケースの選択:多くのAIプラットフォームと技術があります。企業の特定のニーズと戦略目標に合ったプラットフォームと関連ユースケースを選定することが重要です。
- 倫理的配慮とコンプライアンス:AIプラットフォームの用途によっては、倫理的問題やGDPRなどのコンプライアンス要件が慎重に扱われる必要があります。
- プロジェクト管理:成功する導入には、堅実なプロジェクト管理、明確な目標設定、複数部門のステークホルダーの関与が必要です。
役割とコンテキストの追加
役割とコンテキストを追加することで、より良く具体的な回答が得られます。
同じ質問に役割とコンテキストを加えた例:
従業員150名のB2Bサービス企業で、データ分析とプロセス最適化のための新しいAIプラットフォーム導入を担当するプロジェクトマネージャーとして、主な課題と可能な緩和策について説明してください。
従業員150名のB2Bサービス企業でデータ分析とプロセス最適化のための新しいAIプラットフォーム導入を担当するプロジェクトマネージャーとして、以下の主な課題と可能な緩和策を挙げます:
- 変化への抵抗とユーザー導入:
- 課題:特に直接影響を受ける従業員は、慣れ親しんだ作業方法を手放し、新しいAI駆動の洞察を受け入れることに消極的になる可能性があります。
- 緩和策:キーユーザーを早期に巻き込む。利点(効率化、意思決定の向上、新たな洞察)を明確に伝える。役割別の充実したトレーニングと継続的なサポートを提供。部門内に「AIチャンピオン」を任命する。
- データ品質、ガバナンス、移行:
- 課題:AIプラットフォームの効果は高品質で適切に管理されたデータに依存します。既存システムのデータはしばしば不整合、不完全、誤りが含まれます。
- 緩和策:徹底したデータ監査から開始し、データガバナンスフレームワークを定義し、統合・移行前にデータクレンジングを実施。明確なデータモデルとフローを定義。テストと検証を入念に行う。
- 既存ITインフラとの統合:
- 課題:既存のデータソース、ERP、CRM、その他の企業システムとの連携はシームレスかつ安全である必要があります。
- 緩和策:必要な統合を早期に特定。堅牢なAPI機能や標準コネクタを持つAIプラットフォームを選択。統合を徹底的にテスト。
- スコープの拡大と予算超過:
- 課題:プロジェクト中にAI適用の新たな要望が生まれ、スコープが広がりコストが増加する可能性があります。
- 緩和策:明確で限定的なスコープを定義し、最初のフェーズのユースケース(MVP - 最小実用製品)を設定。厳格な変更管理プロセスを適用。現実的なスケジュールと予算計画を立て、バッファを確保。
- 適切な技術と実装パートナーの選定:
- 課題:AI市場は複雑で、不適切な技術選択や経験不足のパートナーはプロジェクト失敗の原因となります。
- 緩和策:定義したユースケースに適したAI技術を徹底的に調査。業界経験と選択技術の実績があるパートナーを選定。リファレンスを確認。
- 組織内のAI知識とスキル不足:
- 課題:AIプラットフォームを効果的に使用、保守、開発するための内部専門知識が不足している可能性があります。
- 緩和策:トレーニングと教育に投資。専門人材の採用や実装パートナーとの密接な協力による知識移転を検討。継続的学習の文化を醸成。
- 倫理的配慮と説明可能性(Explainable AI):
- 課題:AIによる意思決定は透明かつ説明可能である必要があり、特に顧客や従業員に影響を与える場合は重要です。データのバイアスは不公平な結果を招く可能性があります。
- 緩和策:AI利用の倫理ガイドラインを策定。可能な限り解釈可能なモデルを選択。バイアス検出と緩和のプロセスを実装。重要なAI判断には人間の監督を設ける。
これらの課題に積極的に対処することで、企業目標に実際に貢献するAIプラットフォームの成功した導入の可能性を高めます。
テクニック
以下に、より高度なプロンプトで利用できるいくつかのテクニックを説明します。
テクニック1 - 例を示す
言語モデルが望むスタイルを採用するように、1つか2つの例を示します。
この方法は「one & few-shot prompting」と呼ばれます。
顧客向けに予定されているシステムアップデートに関する案内メールの草案を書いてください。社内の顧客コミュニケーション方針(関連ポイントを挿入)を使用してください。スタイルガイドとして最近のニュースレターを使いますが、内容は含めないでください:(ニュースレターのテキストを挿入)
完全なプロンプトは以下の通りです:
社内の顧客コミュニケーション方針:
- 常にプロフェッショナルかつ丁寧であること。
- 重要な変更や障害についてはタイムリーに更新を提供すること。
- 明確かつ簡潔な情報を提供すること。
- 必要に応じて解決策や補償を提供すること。
スタイルにはこのニュースレターを使用しますが、内容は使用しません。 お客様各位、
弊社サービスに影響を及ぼす予定のシステムアップデートについてご案内いたします。
アップデート日時:[日時] 停止予想時間:[期間] 対象サービス:[サービス]
この期間中、一時的にサービスが停止する可能性があります。ご迷惑を最小限に抑え、できるだけ早くサービスを復旧するよう努めます。
以下は例を含む詳細なプロンプトに対する言語モデルの回答です。
お客様各位、
弊社サービスに影響を及ぼす予定のシステムアップデートについてご案内いたします。
アップデート日時:[日時] 停止予想時間:[期間] 対象サービス:[サービス]
この期間中、一時的にサービスが停止する可能性があります。ご迷惑を最小限に抑え、できるだけ早くサービスを復旧するよう努めます。
ご質問がございましたら、お気軽にお問い合わせください。
敬具 [あなたの名前] [あなたの役職] [会社名] [連絡先情報]
テクニック2 - テンプレートを示す
言語モデルに特定のフォーマットを使わせたい場合、テンプレートと例を示します。これにより、言語モデルは回答を特定の方法で形成または構造化します。以下のような様々なフォーマットが考えられ、状況に応じて便利です:
- Excelシートやデータ分析ツールにインポート可能なcsv出力
- API統合や設定ファイル用のjson出力
- プロジェクト会議のアジェンダ構成
例のプロンプト: 中小企業向けの新しいSaaS製品のための3つの潜在的マーケティングチャネルのリストを生成してください。回答は以下のフォーマットで: チャネル: ターゲットリーチ: 潜在的ROI: 必要リソース:
例: チャネル:LinkedIn広告 ターゲットリーチ:特定の職種、業界、企業規模 潜在的ROI:適切にターゲティングすれば高い 必要リソース:広告予算、コンテンツ作成、キャンペーン管理
この方法は「output templates」と呼ばれます。
以下は出力テンプレート付きプロンプトに対する言語モデルの回答です。
チャネル:コンテンツマーケティング(ブログ&SEO) ターゲットリーチ:問題解決を積極的に探す企業、オーガニックトラフィック 潜在的ROI:長期的に高く、権威を築く 必要リソース:コンテンツライター、SEOスペシャリスト、キーワードリサーチとコンテンツプロモーションの時間
チャネル:Google広告(検索) ターゲットリーチ:SaaS製品に関連する特定キーワードを積極的に検索する企業 潜在的ROI:競合とCPCにより中〜高 必要リソース:広告予算、キーワードリサーチ、ランディングページ最適化、キャンペーン管理
チャネル:メールマーケティング(リードナーチャリング) ターゲットリーチ:ウェブサイト、ウェビナー、その他チャネルで収集したリード 潜在的ROI:高く、リードから顧客への転換に効果的 必要リソース:メールマーケティングプラットフォーム、メールシーケンス用コンテンツ、セグメンテーションスキル
テクニック3 - ヒントを与える
言語モデルに特定の書き出しや書き方をさせたい場合、プロンプトの最後にヒントを書きます。
例のプロンプト: この市場調査レポートを要約してください。(関連セクションを貼り付け)回答は以下で始めてください: この市場調査の主な発見は:
- レポートのテキストを貼り付ける
この方法は「cues and hints」と呼ばれます。 この例は架空のレポートを使用しています。
以下はヒント付きプロンプトに対する言語モデルの回答です。
この市場調査の主な発見は:
- 中小企業におけるクラウドベースのプロジェクト管理ソフトウェアの需要は過去2年間で35%増加しました。
- 中小企業の主要な意思決定要因は使いやすさ、既存ツールとの統合可能性、価格設定です。
- 競合Aは市場シェア25%、競合Bは18%です。特定のニッチや優れたユーザー体験を提供する新規参入者にチャンスがあります。
- 中小企業が新しいソフトウェアを採用する際の最大の課題は初期投資と従業員トレーニングに必要な時間です。
- 市場は今後5年間、年15%の成長が見込まれています。
テクニック4 - 指示のコンテンツを分割する
追加コンテンツが多くプロンプトが長くなると、言語モデルが正確に意図を解釈しないことがあります。前の例でも見られたかもしれません。その場合、テキストの先頭と末尾に三重引用符を使ってコンテンツと残りのプロンプトを分割します。
例のプロンプト: この記事を要約してください。 “”” (記事のテキストを貼り付け) “”” 回答は以下で始めてください: この記事の主なポイントは:
この方法は「content splitting」と呼ばれます。 この例は再びインターネットの記事を使用しています:https://www.leraar24.nl/2619420/onderwijs-op-afstand-wat-hebben-we-geleerd/
以下は分割コンテンツ付きプロンプトに対する言語モデルの回答です。三重引用符または三重アスタリスクで質問のコンテキストを区切っています。
この記事の主なポイントは:
- コロナ危機の間、教師は遠隔教育をできるだけ効果的にするための戦略と技術を考案し、親は子供のサポートにより大きな役割を果たしました。
- 成功する遠隔教育の重要な要素は、構造化された日程の設定、教師と生徒間のオープンなコミュニケーションの維持、オンラインまたは紙で行う授業内容の慎重な選択でした。
- 課題は、脆弱な生徒の支援方法の模索と、特に在宅勤務もする親への追加負担に関するものです。
- 学校でのデジタル化が急速に進み、新しいデジタルツールや方法が導入されました。記事は、教育経験が浅いにもかかわらずデジタルスキルで同僚を助けた教師マンディ・デ・フリースの例を挙げています。
- 記事はまた、特別支援教育の生徒を含む生徒への継続的な接触と配慮の重要性を強調し、教師と親の双方に実践的なヒントを提供しています。
- 最後に、パンデミック後も親の遠隔教育への関与が続くことを期待しています。
テクニック5 - 先に追加情報を求める
回答を生成する前に追加質問をするよう指示できます。これにより、言語モデルがリクエストを洗練し、より具体的にするのを助けます。
例のプロンプト: 「社内コミュニケーション用の新しいモバイルアプリ開発のためのプロジェクト提案を作成したいです。アプリにはニュース更新、社員名簿、ダイレクトメッセージ機能が必要です。提案を書く前に、改善のために追加質問をしてもらえますか?」
この方法は「ask before answer prompting」と呼ばれます。
以下は追加情報を求めるプロンプトに対する言語モデルの回答です。
もちろんです!プロジェクト提案を改善するために以下の質問をさせてください: 社内コミュニケーションアプリの主な目的は何ですか?(例:エンゲージメント向上、情報共有の改善、協力促進) 社内の具体的なターゲットユーザーは誰ですか?(例:全従業員、特定部署、フィールドスタッフ) 既存のシステムやプラットフォームと統合する必要はありますか?(例:イントラネット、人事システム、Active Directory) 開発と導入の予算と希望スケジュールは? アプリに求められる特定のセキュリティやコンプライアンス要件はありますか?(例:GDPR、データ保持ポリシー) アプリの成功を測るための主要業績評価指標(KPI)は? デザインやブランディングのアイデアはありますか?企業アイデンティティに合わせる必要がありますか? 開発プラットフォームの希望はありますか?(iOS、Android、クロスプラットフォーム)
これらの追加情報により、スコープと要件をより明確にし、より強力なプロジェクト提案を作成できます。
テクニック6 - 感情的なプロンプト
テキストのトーンを感情に合わせて調整したり、特定の感情的反応を引き出す指示を出せます。これはカスタマーサービス、社内コミュニケーション、マーケティングに有用です。
例のプロンプト: 「最近のサービス停止に不満を持つ顧客へのメールを作成する必要があります。顧客は以下のように書いています:""" …. """(顧客のテキストを貼り付け)メールは共感的で、顧客のフラストレーションを認め、建設的な解決策を提供してください。」
この方法は「emotional prompting」と呼ばれます。 この例は架空のクレームを使用しています。
完全なプロンプトは以下の通りです:
最近のサービス停止に不満を持つ顧客へのメールを作成する必要があります。顧客は以下のように書いています: """拝啓
昨日午後の予期せぬサービス停止に非常に失望しています。これにより業務が大きく妨げられ、生産性が低下しました。御社のサービスを信頼しており、このような事態は容認できません。明確な説明と適切な補償を期待します。"""
メールは共感的で、顧客のフラストレーションを認め、建設的な解決策を提供してください。
以下は言語モデルからの回答です。
[顧客名]様
ご連絡いただき誠にありがとうございます。また、昨日午後にご経験されたサービス停止につきまして、心よりお詫び申し上げます。お客様のご不満と業務への影響を十分に理解しております。弊社のサービス基準に達しておらず、大変申し訳ございません。
停止の原因は[簡潔で明確な原因説明、例:データセンターでの予期せぬ技術的障害]でした。直ちに対応を開始し、技術者が迅速にサービス復旧に努めました。サービスは[時刻]より完全に復旧しております。
この事態を重く受け止め、再発防止のため原因調査を進めております。
ご迷惑をおかけしたお詫びとして、[具体的な提案、例:次回請求書の割引/1ヶ月の無料アップグレード/サービスクレジット]をご提供いたします。担当アカウントマネージャーが24時間以内にご連絡し、詳細をご説明しご質問にお答えいたします。
改めてご不便をおかけしましたことをお詫び申し上げます。今後とも信頼いただけるサービスの提供に努めてまいります。
敬具
[あなたの名前/会社名]
テクニック7 - 複数バージョンを求める
回答の複数バージョンを求めて選択肢を増やします。例えば、新製品のマーケティングスローガンを複数案生成してもらう場合です。多様な視点があり得るため、いくつかのオプションが欲しい場合に有効です。これはモデルの役割設定やシステムプロンプトと組み合わせると効果的です。
役割については関連記事で詳しく説明しています。この複数バージョンの例は記事の最後にありますが、ここでは繰り返しません。
テクニック8 - システムプロンプトとの組み合わせ
システムプロンプトはAIモデルに対する指示で、モデルのタスクや振る舞いを具体的に形作るものです。AIモデルに期待する出力の種類を指定できます。これにより、モデルを制御し、無関係または望ましくない回答を防ぐことができます。
簡単で一般的なシステムプロンプトの例:
「あなたは親切で役に立つアシスタントでいてください。」
「常にプロフェッショナルで敬意ある言葉遣いを保ってください。」
「具体的で要点を押さえた回答を、余計な詳細なしに提供してください。」
システムプロンプトは、特定の会話やタスクのトーンや期待を設定します。
テキストの要約など特定タスク向けにより高度なシステムプロンプトも考えられます: 「与えられたテキストを注意深く分析し、主要なポイントの簡潔かつ情報豊富な要約を提供してください。核心メッセージと重要な詳細を特定してください。」
システムプロンプトはすべてのAIモデルで同じ影響力を持つわけではありません。chatGPTでは非常に強力に働き、Claudeでも効果的ですが、他のモデルでは影響が小さいことがあります。試してみて、どのモデルがあなたの入力に最適かを確認するのは興味深いでしょう。
一般的なシステムプロンプトは設定で指定できますが、最も効果的なのは自動化したいタスクごとにシステムプロンプトを考えることです。これを「役割」と呼びます。
役割については関連記事でさらに読むことができます。
パッセージの注釈
チャットメッセージ内のテキストを選択し、注釈を選びます。ウィンドウに質問や変更指示(例:「この文だけ簡単にしてください」)を書き、保存を選択します。複数のパッセージに注釈を付けることができます。その後送信してください。入力欄に追加のプロンプトは不要ですが、あっても構いません。注釈はコメントとともに保存され、別のウィンドウに移動しても保持されます。送信前に注釈を削除することも可能です。モバイルではテキストを長押しして選択します。