IT技術ブログ

ChatGPTなどの業務プロンプトを社内テンプレートにする方法。置き場所と版の管理、評価用の質問セット、出力のチェックまで

中小企業が生成AIを業務で使うとき、うまくいったプロンプトを社内テンプレートにして、品質を確かめながら使い続ける方法を実装寄りにまとめます。変数と版の持ち方、評価用の質問セット、機械と人の採点の分け方、出力のチェックまで。

この記事の結論:ChatGPTをはじめとする生成AIを業務で使う中小企業が、うまくいったプロンプトを社内テンプレートにするなら、文章の「型」を配るだけで終わらせず、①変数を持つテンプレートとして版を付けて一か所で管理し、②テンプレートごとに評価用の質問セットを用意し、③出力を機械で確かめる部分と人が確かめる部分に分けることまでを一組で作ります。モデルやテンプレートを変えたら、同じ質問セットで回し直し、前の版より悪くなっていないかを確かめてから切り替えます。品質は、使う人の注意力ではなく、この仕組みで保ちます。

社内でAIの使い方を取りまとめる担当者と、業務の仕組みにAIを組み込むエンジニアに向けて書きました。使ってよい道具や入れてはいけない情報といった社内ルールそのものの決め方や、社員への教え方は扱いません。ルールが決まったあと、テンプレートを運用する段階の話です。

プロンプトの社内テンプレートは、部品と変数と版で作る

社内テンプレートは、毎回変わる部分を変数として抜き出し、変わらない部分を部品として固定した形で作ります。完成した依頼文をそのまま配ると、使う人が自分の案件に合わせて書き換えるたびに、指示の大事な部分が消えたり、ずれたりするからです。

テンプレートを形にすると、たとえば次のようになります。

yaml
id: reply-inquiry-draft
version: 3
owner: 営業部(担当:役職名で記載)
purpose: お客様からの問い合わせメールへの返信の下書き
model: 使ってよいモデルの名前と版
inputs:
  - name: inquiry_text      # お客様のメール本文(個人名・連絡先は伏せる)
  - name: product_facts     # 社内の製品資料から貼る事実(価格・納期など)
  - name: tone              # ていねい / 簡潔
prompt: |
  あなたは当社の営業担当の下書きを手伝います。
  次の「製品の事実」に書かれていることだけを根拠に、返信の下書きを作ってください。
  事実に書かれていない数字や約束は書かず、「確認して折り返します」と書いてください。
  出力は「件名」「本文」「確認が必要な点」の3つの見出しで返してください。
  ## 製品の事実
  {{product_facts}}
  ## お客様のメール
  {{inquiry_text}}
  ## 口調
  {{tone}}
changelog:
  - version: 3
    change: 根拠にない数字を書かせない指示を追加
部品 役割 決めておくこと
目的 何の業務の、どの場面で使うか 対象外の使い方も一行で書く
変数 毎回入れ替える材料 変数ごとに、入れてよい情報と伏せる情報
根拠の指定 AIが頼ってよい材料の範囲 材料にないことを書かせない指示
出力の形 見出しや項目の並び 後で機械が確かめられる形にする
持ち主と版 誰が直し、今どの版か 変更の理由を一行で残す

出力の形を決めておくのは、読みやすさのためだけではありません。見出しや項目が決まっていれば、次の節以降で説明する機械のチェックがかけられるようになります。

テンプレートの置き場所は一か所にし、版と持ち主を付ける

テンプレートは置き場所を一か所に決め、どれにも版の番号と持ち主を付けます。同じテンプレートの写しが部署ごとのドキュメントやチャットに散らばると、どれが最新か分からなくなり、直した内容が全員に届きません。

置き場所 向いている段階 版の管理 気をつけること
共有のドキュメント 数人が社内の文書づくりに使う 版の番号と変更の記録を手で付ける 写しを作らず、リンクで参照する
コードのリポジトリ システムに組み込む、社外に出す文章に使う 変更の差分、レビュー、テストで管理する 変更のたびに質問セットを回す
社内ツールの中 社員が画面から選んで使う ツールの側で版を持ち、元はリポジトリに置く 画面で直接書き換えられないようにする

OpenAIの開発者向けドキュメントは、本番で使うプロンプトをアプリケーションのコードの中に置くよう勧めており、そうすることで入力の型やコードのレビュー、テスト、通常のデプロイの手順でモデルの振る舞いを変えられると説明しています。同じドキュメントには、API上で再利用できるプロンプトの仕組みの提供を縮小していく予定も書かれています。特定のサービスの機能に置き場所を預けるより、自社で管理する場所に元を置いておくほうが、サービスの変更に振り回されません。

評価用の質問セットは、普段の依頼と困る依頼を混ぜて作る

テンプレートごとに、決まった入力と「満たすべきこと」を組にした評価用の質問セットを作ります。テンプレートの良し悪しを、その日たまたま試した1、2件の印象で決めないためです。

質問の種類 入れる例 満たすべきこと
普段の依頼 よくある問い合わせ、いつもの議事メモ 決めた見出しで、材料どおりに書けている
情報が足りない依頼 材料に納期が書かれていない問い合わせ 推測で埋めず、「確認が必要な点」に挙げている
断るべき依頼 値引きの約束を求める問い合わせ 約束をせず、人の判断に回す書き方になっている
紛らわしい材料 似た製品の事実が混ざった材料 対象の製品の事実だけを使っている
個人情報が混ざった入力 伏せ忘れた電話番号が入ったメール 出力に電話番号を写していない
長い入力 長いメールのやり取り 出力の形が崩れていない

一件ごとに、「入力」「満たすべきこと」「不合格とする条件」の3つを書いておきます。満たすべきことを先に決めずに出力を眺めると、読みやすい文章に引っ張られて、根拠のない一文を見落とします。

OpenAIの評価についてのドキュメントでも、評価の目的を決め、データを集め、測り方を決め、比べ、継続して評価する、という流れが示されています。質問セットの元になる入力は、実際の業務の依頼から、個人情報を伏せたうえで集めるのがいちばんです。業務で失敗した例が見つかったら、その入力を質問セットに足していきます。

採点は、機械で測れることと人が見ることに分ける

出力の採点は、プログラムで判定できることを先に機械で確かめ、残った判断の要る部分だけを人が見ます。すべてを人が読むと続かず、すべてを機械に任せると、文章の妥当さが確かめられません。

確かめること 方法
決めた見出しや項目がそろっているか プログラムで見出しの有無を確かめる
長さが範囲に収まっているか 文字数を数える
使ってはいけない語が入っていないか 語の一覧と照らし合わせる
電話番号やメールアドレスの形の文字列がないか 決まった形の文字列を探す
材料にない数字が出ていないか 出力の数字が、入力の中にあるかを照らし合わせる
内容が妥当か、口調が合っているか 人が採点する。AIに採点させるなら、人の採点との一致を確かめてから

材料にない数字を見つけるチェックは、短いプログラムで書けます。

python
import re

def numbers(text: str) -> set[str]:
    # 半角・全角の数字の並びを拾う(桁区切りのカンマは外す)
    t = text.translate(str.maketrans("0123456789", "0123456789"))
    return {n.replace(",", "") for n in re.findall(r"\d[\d,]*", t)}

def unsupported_numbers(output: str, inputs: list[str]) -> set[str]:
    seen = set().union(*(numbers(s) for s in inputs))
    return numbers(output) - seen   # 入力に無い数字だけが残る

# 残った数字があれば、人の確認に回す

AIに採点させる方法について、OpenAIのドキュメントは、人による採点を何度か重ねて採点の基準を固めること、AIの採点が人の採点と一致するかを確かめてから広げることを勧めています。最初のうちは、AIの採点は人の採点を早くする補助として使い、合否の決め手にはしないのが安全です。

モデルやテンプレートを変えたら、同じ質問セットで回し直す

テンプレートを直したとき、使うモデルの版が変わったときは、必ず同じ質問セットで回し直し、前の版の結果と比べてから切り替えます。ある質問で良くなった変更が、別の質問で悪くなることはよくあるからです。

OpenAIのドキュメントは、本番のアプリケーションを特定のモデルのスナップショット(日付付きの版)に固定して振る舞いを安定させること、プロンプトの振る舞いを測るテストを作り、手直しのときやモデルを上げるときに性能を見守れるようにすることを勧めています。評価は継続して行うもので、変更のたびに回し直すことも示されています。

回した結果は、次のような表に残します。

記録する項目 理由
日付 いつの結果かを追うため
テンプレートの版 どの変更の結果かを特定するため
モデルの名前と版 モデルの更新による変化を見分けるため
合格した件数と全体の件数 前の版と比べるため
不合格になった質問と理由 次に直すところを決めるため
切り替えたかどうか 採用した判断を残すため

切り替えるかどうかの基準も、先に決めておきます。たとえば「前の版で合格していた質問が一件でも落ちたら、理由を確かめるまで切り替えない」と決めておけば、結果を見てから基準を動かすことを防げます。

業務で使うときの出力チェックを、手順に組み込む

日々の業務で出力を使うときも、機械のチェック、担当者の確認、記録の3段を手順として組み込みます。質問セットで確かめたのはあくまで代表的な入力で、実際の入力はそれより幅が広いからです。

  1. 機械のチェックを通す。 前の節のチェックを、出力のたびに自動でかける。引っかかったら、担当者に理由と一緒に見せる
  2. 担当者が「確認が必要な点」から読む。 テンプレートの出力の形に、AI自身が確信の持てない点を書く欄を設けておき、そこから確かめる
  3. 社外に出す前に、根拠と照らす。 数字・日付・約束にあたる文は、テンプレートに渡した材料と照らし合わせる
  4. 直した内容を記録する。 担当者が大きく直した出力は、入力と一緒に残し、質問セットに足す候補にする

個人情報を含む入力を扱う場合は、テンプレートの変数ごとに、入れてよい情報と伏せる情報を決めます。個人情報の入った指示を生成AIのサービスへ入れるときは、特定した利用目的を達成するのに必要な範囲かどうかを十分に確かめるよう、個人情報保護委員会が注意を呼びかけています。サービスの側で入力が学習に使われるかどうかの設定も、テンプレートの持ち主が確かめる項目に入れます。

社内の文書をAIに参照させて答えさせる仕組みと組み合わせる場合は、社内文書RAGの最小構成の記事で、データの置き場所と権限の考え方を別にまとめています。

作り手としての立場ですが、株式会社bundlyzeでは日々の業務を支えるシステムを、要件を固める段階から納品後の保守運用まで一貫して受けており、生成AIを使う手順もその流れの一部として設計しています。テンプレートの管理や評価の仕組みを業務に組み込む進め方は、生成AIの業務への組み込みのご案内(bundlyze)に載せました。

出典

2026年10月2日に、一つずつ開いて内容を確かめました。AIサービスのドキュメントは書き換わるのが速いので、仕組みを作り始める時点の版を見直してください。

よくある質問

プロンプトのテンプレートは、共有のドキュメントに貼っておくだけではいけませんか?

使う人が数人で、社内の文書づくりに使う段階なら、共有のドキュメントでも始められます。ただし、誰がいつ何を変えたかが追えるように、版の番号と変更の記録だけは付けます。社外に出す文章や、システムに組み込んで自動で動かす使い方になったら、コードと同じ場所で管理し、変更のたびに評価用の質問セットを回す形に移すことをおすすめします。

評価用の質問セットは、何件くらい用意すればいいですか?

最初は、一つのテンプレートにつき十数件から始めて構いません。件数より、普段の依頼、情報が足りない依頼、断るべき依頼、個人情報が混ざった依頼のように、種類を散らすことが大切です。実際の業務で失敗した例が出るたびに足していくと、自社の弱いところに効く質問セットに育ちます。

AIの出力をAIに採点させても大丈夫ですか?

形式や決まった語の有無のように機械で判定できるものは、先にプログラムで確かめます。文章の妥当さのように判断が要るものをAIに採点させる場合は、同じ出力を人も採点し、AIの採点が人の判断とどれだけ一致するかを確かめてから任せます。一致が確かめられるまでは、AIの採点は人の確認の補助として使います。