共有プロンプトの版管理|固定した架空例で変更点と戻し先を確かめる

この記事の要点

  • 利用中の依頼文と修正候補を分け、変更前の全文を残します。
  • 同じ入力を両方へ渡し、回答全文と判定理由を保存してから採用します。
  • 採用時は利用者が開く参照先を更新し、不具合時に戻す手順も残します。

参考資料と確認範囲を見る

チームで使うAIへの依頼文(プロンプト)は、利用中の文面と修正候補を分けて保存します。変更前の全文、同じ入力に対する回答、採用した理由が残っていれば、担当者が交代しても変更の経緯を追えます。共有フォルダーだけでも始められる方法です。

たとえば、場所が「未定」の案内をAIが「会議室Aで開催」と書いたとします。直す条件は「もっと正確に」ではなく、「未定の値を推測で埋めない」です。以下の架空のイベント案内ではその条件を追加する前後のファイルを残します。

共有フォルダーで始める管理方法

用途ごとにフォルダーを分け、利用者が最初に開く案内と、変更前後の依頼文を別に置きます。次の構成はこの記事の運用例です。特定のAIサービスの機能ではありません。

event-prompt/
  current.txt
  versions/
    event-v1.txt
    event-v2-candidate.txt
  tests/
    inputs.json
    results-v1.txt
    results-v2-candidate.txt
  changes.md

current.txtには利用中のファイル名、用途、更新日、問い合わせ先を書きます。たとえば「利用中:versions/event-v1.txt」と明記し、修正中のv2はまだ案内しません。実際に利用する人が開ける共有先を使い、個人の会話履歴だけに依頼文を残さないようにします。

changes.mdには「v2候補:未定の場所を推測せず、日時の項目が欠けている場合は質問する条件を追加」と記録します。「品質を改善した」だけでは何を変えたのか後から分かりません。担当者や確認日も同じ記録へ添えます。

共有フォルダーの編集権限や履歴の保存期間は、利用するサービスの設定で確かめてください。フォルダーを作っただけで履歴が自動保存されるわけではありません。顧客情報をテスト用に複製せず、入力には説明用データを使います。

変更前後のプロンプトを保存する

v1には元の依頼文をそのまま保存します。

入力をもとに、社内向けの案内文を二文で作ってください。
入力:{イベント名、日時、場所}

この文面では、場所が「未定」のときや、日時の項目がないときの扱いを指定していません。v2候補ではその二つを区別し、必須項目も明記します。

イベント名・日時・場所を必須項目とします。
三つの項目がそろっている場合は、社内向けの案内文を二文で作ってください。
各項目は入力にある値だけを使い、「未定」は未定のまま書いてください。
入力にない申込期限や連絡先は追加しません。
いずれかの項目が入力にない場合は案内文を作らず、不足している項目を質問してください。日時がない場合の回答は「日時を教えてください。」です。この場合は二文にする必要はありません。
入力:{イベント名、日時、場所}

「未定」は値が決まっていない状態、「項目がない」は入力が欠けている状態です。この例では、場所が未定ならそのまま案内し、日時の項目がなければ質問を返す方針にしています。自分の業務で別の扱いが必要なら、先にその条件を決めてから文面を調整してください。

OpenAIのChatGPT向けガイドも、依頼を明確にし、必要な文脈を渡し、回答を見て依頼文を調整する方法を案内しています。[1] 採用前に実際に使うAIへ同じ入力を渡し、条件どおりの回答になるか確かめます。

同じ入力で変更前後を比べる

tests/inputs.jsonに固定した入力を保存します。以下は個人情報を含まない説明用データです。

[
  {"id":"P01","イベント名":"資料整理会","日時":"11月5日15時","場所":"会議室A"},
  {"id":"P02","イベント名":"資料整理会","日時":"11月5日15時","場所":"未定"},
  {"id":"P03","イベント名":"資料整理会","場所":"会議室A"}
]

AIへ渡すときは、v1またはv2候補の末尾の「入力」を各ケースの内容に置き換えます。P02なら「入力:イベント名=資料整理会、日時=11月5日15時、場所=未定」です。idは記録用なので、依頼文へ含めません。

P01の合格条件は、イベント名・日時・場所が入力と一致し、申込期限などを付け加えていないことです。P02では場所を作らず、未定のまま書けたかを見ます。P03のv2候補は「日時を教えてください。」と質問し、案内文を作らなければ条件に合います。

ここに示したのは判定基準で、AIの実際の出力結果ではありません。v1とv2候補の両方へ各入力を渡し、得られた回答を全文保存してください。利用するサービス、モデルの表示名、実行日、設定できる生成条件、会話履歴を共有したかも記録します。前のテスト入力を引き継がない新しい会話で試すなど、比較する条件をそろえます。入力やモデルを途中で変えた結果は、同じ条件の比較に混ぜません。

results-v2-candidate.txtは、次の形式で残せます。

入力ID:P02
依頼文:versions/event-v2-candidate.txt
利用サービス・モデル表示名:実際の表示を記入
実行日時:実行した日時を記入
回答全文:実際に返った文章を省略せず保存
判定:合格/不合格
理由:未定を保持したか、入力にない情報を足していないか

候補を採用する前の確認

未実行なら結果欄を「未実行」とし、合格数に含めません。P02が直っていてもP01で日時を変えたなら、候補をそのまま採用せず文面を見直します。問題が出た入力は次回の確認にも残すと、同じ失敗を見落としにくくなります。

Gitで差分を確認する

Gitを使える担当者なら、変更前後の文章を次のコマンドで比較できます。二つのファイルが置かれたevent-promptフォルダーで実行する例です。

git diff --no-index -- versions/event-v1.txt versions/event-v2-candidate.txt

削除された行は「-」、追加された行は「+」で表示されます。--no-indexを付けると、Gitで管理していない二つのファイルも比較できます。[2] このコマンドは内容を比較するだけで、ファイルの書き換えやバージョン履歴の記録はしません。自動判定に使う場合は、差分ありの終了コード1を実行エラーと区別します。

差分で確認するのは、語句を変えた量ではなく、AIへ求める動作がどう変わったかです。「未定をそのまま書く」という条件を足したのか、出力の長さまで変えたのかを分けて読みます。変更を一度に増やしすぎると、回答が変わった理由を追いにくくなります。

API向けの補足:アプリからAIを呼ぶ開発チームには、コードと一緒にプロンプトを管理する方法もあります。OpenAIの現行ガイドはプロンプトをアプリ側のコードへ移し、テストやコードレビューと組み合わせる方針を示しています。[3] Gitへの登録やコミットによる履歴管理は、上の差分コマンドとは別の操作です。

OpenAIに保存した再利用可能なプロンプト(prompt object)とv1/prompts APIは、2026年10月26日時点の公式案内で2026年11月30日に終了予定です。[4] ChatGPTの通常の会話を終了する案内ではありません。保存したプロンプトの識別子(prompt ID)を使うアプリは、公式の移行ガイドで対象と手順を確認してください。[5]

採用後の共有と戻し方

v2を採用するときは、テスト結果と採用理由を残し、versions/event-v2-candidate.txtをversions/event-v2.txtへ改名します。その後、current.txtの参照先をversions/event-v2.txtへ更新し、利用者へ適用日を知らせます。チャットの定型文や手順書に旧版のコピーがあれば、それぞれの利用先も確認します。

問題が出た場合は、保存してあるv1へcurrent.txtの参照先を戻します。アプリで使う場合はファイルの案内だけでなく、実際に読み込むプロンプトも元へ戻したか確かめてください。元の依頼文へ戻しても、v2で既に作った案内文は取り消されません。対象の下書きを特定し、人が読み直します。

最初に整える対象は一つの用途で十分です。使う依頼文の全文、変更前後の回答、採用理由、利用者が開く参照先がそろっていれば、次の更新で何を比較するかが分かります。

[1]は依頼を明確にする方法、[2]はファイルの差分比較、[3]〜[5]はAPI向けのプロンプト管理・終了予定・移行方法の資料です。共有フォルダーの構成や採用手順は、この記事の運用例です。

参考資料

[1] OpenAI:Prompt engineering best practices for ChatGPT

[2] Git:git-diff

[3] OpenAI:Prompting

[4] OpenAI:Deprecations(Reusable prompts)

[5] OpenAI:Migrate from prompt objects

資料確認日:2026年10月26日。フォルダー構成、入力データ、判定の書式はこの記事の説明用です。ファイルの差分確認とJSONの読み込みはローカルで確認しましたが、AIサービスの回答比較や性能測定は行っていません。

著者について

松本大輔

Re-BIRTH株式会社 代表取締役社長。

著書