過去の応答を踏まえて発展させる
複数ターンの会話で、フォローアッププロンプトから以前の出力を参照する方法を学びます。
「過去の応答を踏まえて発展させる」はCoddyKit上の無料AI Prompt Engineeringレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAI Prompt Engineering学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 AI Prompt Engineeringコースには全4レッスンが含まれています。
マルチターンの会話
AIモデルとのマルチターンの会話は共同で作り上げるプロセスです。やり取りのたびに、以前の内容を置き換えるのではなく、新しい要素を加えていきます。
これは、誤りを修正するための追加プロンプトとは異なります。以前の回答を土台に発展させるとは、モデルの過去の出力を素材として使い、内容を広げたり、そこから選んだり、組み合わせ直したり、新しい視点を適用したりすることです。
このパターンを身につけると、1つのプロンプトだけでは作成できないような、複雑で多層的な出力を生み出せるようになります。
以前の出力を参照する
最も簡単な構築パターンは、モデルが直前に書いた内容を参照することです。
- 「上で書いた内容に基づいて、最大のリスクを3つ挙げてください。」
- 「説明したフレームワークを使って、医療分野に適用してください。」
- 「直前の回答のトーンを使って、この新しい段落を書き直してください。」
- 「作成したリストの中で、最初に優先すべき項目はどれですか。その理由も説明してください。」
このように参照すると、モデル自身の以前の作業を基準にできるため、ターンをまたいだ一貫性が生まれます。
選択して発展させる
モデルが選択肢のリストや集合を生成した場合は、その中から1つを選んで詳しく説明するよう依頼できます。
- 「リストの2番目の選択肢を取り上げ、完全な計画に発展させてください。」
- 「3番目のアプローチが最もよいと思います。これを実装するための300語のガイドを書いてください。」
- 「必要としているものに最も近いのは選択肢Bです。具体的な手順とスケジュールを加えて、さらに発展させてください。」
このパターンは、アイデア創出のワークフローで特に有効です。1つのターンで選択肢を生成し、次のターンで選択して発展させます。
以前の回答の構成を使う
ある回答の構成を新しい内容に適用するよう、モデルに依頼できます。
- 「直前の回答と同じ構成を使って、競合他社Bを分析してください。」
- 「同じ5セクション形式を、この新しい製品に適用してください。」
- 「上で作成したアウトラインに従い、B2CではなくB2B向けの内容にしてください。」
これは、レポート、比較資料、分析など、複数の対象について同じテンプレートに沿った一貫性のある文書を作成するときに非常に役立ちます。
段階的に深掘りする:ターンごとに詳しくする
マルチターンの会話では、内容の深さを段階的に増やせます。
- ターン1:「機械学習パイプラインの概要を、高いレベルで説明してください。」
- ターン2:「データ前処理の工程について、さらに詳しく説明してください。」
- ターン3:「その前処理工程で欠損値を処理するPythonコードの例を示してください。」
- ターン4:「そのコード例にエラーハンドリングとログ出力を追加してください。」
各ターンで、1段階ずつ焦点を絞っていきます。これは、1つの複雑なプロンプトですべてを一度に依頼するよりも、制御しやすい方法です。
複数の過去ターンを相互参照する
長い会話では、複数の過去のターンで扱った要素をまとめることができます。
- 「ターン2のユーザーペルソナとターン4の製品機能を組み合わせて、各ペルソナを対象にしたセールストークを書いてください。」
- 「以前特定したリスクと、直前の回答にある軽減策を取り上げて、リスクマトリクスを作成してください。」
この方法は、それぞれの過去のターンで、明確なラベルの付いた独立した内容を生成している場合に最も効果的です。過去のターンが整理されていないと、あなたにとってもモデルにとっても相互参照が難しくなります。
コンテキストウィンドウの制限
マルチターンの会話には、モデルのコンテキストウィンドウという実用上の制限があります。あなたのメッセージもモデルのメッセージも、すべてAPIに送信されるコンテキストに含まれます。会話が長くなると、古いメッセージが切り詰められることがあります。
実用的な対策:
- 以前のターンが詳細まで必要でなくなったら、要約して短くまとめる
- 話題が根本的に変わったら、新しい会話を始める
- 個々の回答を簡潔に保ち、モデルが参照できる過去の範囲を広げる
コードでマルチターンのコンテキストを管理する
Pythonでは、各メッセージのペアを会話履歴のリストに追加することで、マルチターンのコンテキストを維持します。
import openai
client = openai.OpenAI(api_key='sk-...')
conversation = []
def chat(user_message):
conversation.append({'role': 'user', 'content': user_message})
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=conversation
)
reply = response.choices[0].message.content
conversation.append({'role': 'assistant', 'content': reply})
return reply
# Turn 1: Generate options
print(chat('Give me 3 app name ideas for a meditation app.'))
# Turn 2: Select and expand
print(chat('Take the second option and write a tagline and a 50-word app description for it.'))
# Turn 3: Apply structure to another item
print(chat('Now do the same for the first option: tagline and 50-word description.'))参照先を明確に指定する
以前の出力を参照するときは、何を指しているのかを正確に示してください。曖昧な参照では、モデルが推測しなければならなくなります。
- 曖昧な例:「先ほど言ったことを詳しく説明してください。」
- 明確な例:「以前の回答の3番目の箇条書き、つまりオンボーディングの障壁について述べた箇所を詳しく説明してください。」
以前の回答に複数のセクションがある場合は、セクション名を示してください。リストの場合は、項目番号を指定してください。参照先を正確に示すほど、モデルはその指示に確実に従えるようになります。
段階的にドキュメントを作成する
マルチターンでの構築は、レポート、計画書、提案書などの構造化されたドキュメントの作成に適しています。
- ターン1:アウトラインを生成する
- ターン2:セクション1を書く
- ターン3:セクション1のトーンを維持しながら、セクション2を書く
- ターン4:セクション1と2に基づいてエグゼクティブサマリーを書く
この段階的なアプローチでは、次に進む前に各セクションを確認でき、文書の途中で方向性を調整しても、それまでの内容を失わずに済みます。
構築がうまくいかないとき:話の筋を見失う
モデルが以前のコンテキストを見失うと、マルチターンでの構築がうまくいかないことがあります。話の筋を見失っている兆候には、次のようなものがあります。
- 2つ前のターンで自分が述べた内容と矛盾する
- 会話の早い段階で設定した制約を無視する
- 構築してきた具体的なフレームワークではなく、一般的なアドバイスに戻る
対策:モデルが覚えていると決めつけず、次のメッセージで重要なコンテキストを明示的に再提示してください。「これまでに確認したとおり、対象読者は技術に詳しくない経営幹部です。その点を踏まえて……」
知識チェック:マルチターンでの構築
3ターンの会話を行っています。ターン1では、ビジネスレポート用に5セクションのアウトラインを作成しました。ターン2では、セクション1(市場分析)の全文を作成しました。ここで、セクション2(競争環境)をセクション1と同じ構成とトーンで作成したいとします。
最も効果的なターン3のプロンプトはどれですか。
振り返り:以前の回答を土台に構築する
マルチターンの会話は、複雑な出力を段階的に構築するための強力な方法です。重要なテクニックは、以前の出力を名前や番号で参照すること、特定の項目を選択して発展させること、ある回答の構成を新しい内容に適用すること、そしてターンごとに深掘りしていくことです。
参照先を正確に指定し、コンテキストウィンドウの制限を意識することが、マルチターンの会話の一貫性を保つ主なポイントです。
次のレッスンでは、構築を続けるのではなく、会話を打ち切って新しく始めるべきタイミングについて学びます。
よくある質問
「過去の応答を踏まえて発展させる」レッスンは無料ですか?
はい。「過去の応答を踏まえて発展させる」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、AI Prompt Engineeringコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 AI Prompt Engineeringコースには全4レッスンが含まれています。
「過去の応答を踏まえて発展させる」で何を学びますか?
複数ターンの会話で、フォローアッププロンプトから以前の出力を参照する方法を学びます。 ブラウザで直接実行するハンズオンコードでAI Prompt Engineeringを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
AI Prompt Engineeringを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのAI Prompt Engineeringは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「過去の応答を踏まえて発展させる」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このAI Prompt Engineeringレッスンでコードを書いて実行できますか?
はい。すべてのAI Prompt Engineeringレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- AI の出力を読み、評価する
- 効果的なフォローアッププロンプトを書く
- 過去の応答を踏まえて発展させる
- 改善を続けるか、新しく始めるか