マルチステップ・プロンプト

OpenAI API で学ぶプロンプトエンジニアリング

Fouad Trad

Machine Learning Engineer

マルチステップ・プロンプト

  • 最終目標を一連の手順に分解
  • モデルは各手順を踏んで最終出力を生成
  • マルチステップは次で有効:
    • 逐次タスク
    • 認知タスク

マルチステップ・プロンプトが連続した手順を与える図

OpenAI API で学ぶプロンプトエンジニアリング

宝の地図としてのマルチステップ・プロンプト

宝の地図と手がかりを表す画像

OpenAI API で学ぶプロンプトエンジニアリング

単一ステップのプロンプト: ブログ作成

prompt = "Compose a travel blog"
print(get_response(prompt))
Title: アイスランドの幻想的な景観を巡って

Introduction: 私の旅行ブログへようこそ。本日は、アイスランドでの忘れがたい旅をご紹介します。
Day 1: レイキャビク — 魅力的な首都 [...]

Day 2: ゴールデンサークル — 自然の驚異 [...]
Day 3: 南海岸 — 氷と火の旅 [...]
Day 4: 氷河湖 — 凍てつくワンダーランド [...]
Day 5: ブルーラグーン — しめくくりの癒やし [...]
OpenAI API で学ぶプロンプトエンジニアリング

マルチステップのプロンプト: ブログ記事作成

prompt = """Compose a travel blog as follows:
Step 1: Introduce the destination.
Step 2: Share personal adventures during the trip.
Step 3: Summarize the journey.
"""
print(get_response(prompt))
OpenAI API で学ぶプロンプトエンジニアリング

旅行ブログ記事を書く

Title: バルセロナの魅力的な街並みを巡って

Step 1: 目的地を紹介する。 バルセロナへようこそ。スペインの地中海沿岸にある活気あふれる街です [...]
Step 2: 旅の体験を共有する。 ゴシック地区の細く曲がりくねった路地を歩き、曲がるたびに隠れた名所を見つけました。 [...]
Step 3: 旅を要約する。 旅の終わりに、数々の素晴らしい体験と思い出に心から感謝しました [...]
OpenAI API で学ぶプロンプトエンジニアリング

解答の正しさを分析する

  • 解答の正しさの確認は複数ステップが必要
  • 例:
    • 計算関数のPythonコード

電卓の画像

OpenAI API で学ぶプロンプトエンジニアリング

解答の正しさを分析する

確認対象の典型的な解答

calculator = """
def add(a, b):
    return a + b
def subtract(a, b):
    return a - b
def multiply(a, b):
    return a * b
def divide(a, b):
    return a / b
"""
単一ステップのプロンプト:
prompt = f"""Determine if the code delimited 
by triple backticks is correct or not.
Answer by yes or no.
```{calculator}```"""

print(get_response(prompt))
Yes
OpenAI API で学ぶプロンプトエンジニアリング

マルチステップで解答の正しさを分析する

マルチステップのプロンプト:
prompt = f"""Determine the correctness of the code delimited by triple backticks 
as follows: 
Step 1: Check the code correctness in each function. 
Step 2: Verify if the divide function handles the case when dividing by 0. 
Code: ```{calculator}```"""

print(get_response(prompt))
コードは概ね正しいです。add、subtract、multiply、divide の4関数を定義し、対応する演算を行い結果を返します。ただし、0で割る場合の扱いがなく、ZeroDivisionError になる可能性があります。
OpenAI API で学ぶプロンプトエンジニアリング

マルチステップ vs. フューショット・プロンプト

ステップ

  • モデルにやることを明示する

マルチステップ・プロンプトが指示を一連の手順に分解し、モデルが順に確認する図

OpenAI API で学ぶプロンプトエンジニアリング

マルチステップ vs. フューショット・プロンプト

ステップ

  • モデルにやることを明示する

マルチステップ・プロンプトが指示を一連の手順に分解し、モデルが順に確認する図

ショット

  • モデルが学ぶQ&A事例

フューショット・プロンプトの仕組み(例のQ&Aと本問を入力)を示す図

OpenAI API で学ぶプロンプトエンジニアリング

Ayo berlatih!

OpenAI API で学ぶプロンプトエンジニアリング

Preparing Video For Download...