Site icon imageTomoMemo.dev

Memo on programming for Junior SWE. Provided by Tomo with passion.

Geminiの活用方法についてGoogle Cloud Customer Engineerから聞いた使い方をまとめる

ご縁あって、Google関係者からGeminiの活用方法をレクチャーしていただいたので簡単に抽象的な内容をまとめておく。

Google DeepMind Technologies Limited所属?かと思ったけど、Google Cloud合同会社だった。こちらも勉強になった。

指定タスクが得意とする役割を指定する

  • 非常に重要。「あなたはマーケターです」「あなたはデータサイエンティストです」「あなたはカスタマーサポートの専門家です」のように役割を与えることで、Geminiはそのペルソナになりきり、その分野の専門知識や思考パターンを模倣した回答を生成しやすくなる。
    • 回答の質と的確性が格段に向上するので必ず実施。
  • この役割指定は、回答のトーン、スタイル、深さに大きな影響を与える。
    • 「あなたは子供向けの絵本作家です」とすれば平易で創造的な物語を、「あなたは大学教授です」とすれば学術的で詳細な解説を期待できる。

肯定型でプロンプトを作成する

  • 大規模言語モデルは、本質的に「生成」を行うように設計されているため、否定的な指示(例:「~しないでください」)は理解しにくく、無視されるか、意図せずその内容を生成してしまうことがある。
  • 極力、「~してください」という形で、期待する行動を具体的に示すように心がけることが、期待する結果を生成するための方法

否定型は無視されやすいので注意
  • 「否定型は無視されやすいので、"避けてください"という表現がベスト」
    • 完全に「~するな」と禁止するよりも、「~は避けてください」「~は含めないでください」のように、より婉曲的かつ明確に「推奨しないこと」を示す方が、モデルは意図を把握しやすい傾向にある。
    • 否定をポジティブな制約として解釈しようとする特性が存在する。

Chat GPTで使えそうなプロンプト

こちらはオリジナル。Chat GPTは他のチャットややり取りしてきた情報、そしてメモリを参照するため、”他のチャットやメモリを見るのは避けて”というプロンプトは役に立ちそうだ。

これは、ChatGPTなどの過去の対話履歴が、現在のプロンプトに影響を与える可能性がある場合に有効な指示。

Geminiのようなモデルでも、文脈が混濁するのを避けるために、特定の対話セッションの情報を参照させたくない場合に有効な指示となり得る。

一般的には、新しいタスクを開始する際には、新しいチャットセッションを開始することが推奨される。

ハレシネーションの予防策エビデンスを必ず提示(cf. ファクトチェック)

(誤情報生成)の予防策

  • 生成AIをビジネスで活用する上で最も重要な課題の一つ。

エビデンスを必ず提示させる
  • 「この情報の出典を明記してください」「参照した論文のタイトルとURLを教えてください」といった指示は、生成された情報の信頼性を確認するために非常に役立つ。
  • Geminiが生成した内容が本当に正しいのか、自分で検証する足がかりとなるのでやっておいたほうがいい。

参照情報を明示的に定義する

  • 「RAG(Retrieval Augmented Generation)」と呼ばれる技術の考え方にも通じる。
    • 外部の信頼できる情報源(自社のデータベース、特定のドキュメント、最新の統計データなど)をプロンプト内で明示的に与えることで、Geminiはその情報に基づいて回答を生成するため、ハルシネーションのリスクを大幅に減らせる
    • 例: 「以下のドキュメントの内容に基づき、○○について説明してください。## ドキュメント[ここにドキュメントの内容をペーストまたは参照先を明記]」

これらのテクニックを意識してプロンプトを作成することで、

  • 期待通りの高品質なアウトプットが得られやすくなる
  • ハルシネーションなどのリスクを低減できる
  • プロンプト作成の効率が上がる

なお、他の生成AIにおいて、特にClaudeはどのようなプロンプトがベストプラクティスなのかを提示してくれている。

追記:米国在住のSWE@Googleにも聞いてみた
  • 基本は上記と同じ(Google内部の人だからそう言うよね)
Powered by Tomo with passion.