このコーナーで身につくこと
- AI 生成物が "出典と整合しているか" を自分でチェックする方法
- 句構造文法 (PSG) の最小限の使い方
- 再利用できる「検証プロンプト」のテンプレート設計
- 業務文書 (要約・販促資材・規制提出文書) に応用するための型
なぜ "句構造文法" を使うのか
句構造文法とは、文を 「主語句 (NP)」「動詞句 (VP)」「目的語句 (NP)」 といった構造単位に分解する、20 世紀半ばに Noam Chomsky が体系化した言語学の枠組みです。一文をブロックに分けることで、「何が、何をした、何に対して」 を明示的に取り出せます。
ファクトチェックでは、文章全体を曖昧に読んで「合っているか?」を判定するのは苦手です。AI も同じです。しかし 句単位で分解 すれば、機械的な突き合わせができる。「A 薬の有効率は 80% である」を [NP A 薬の有効率] [VP は 80% である] と分解しておけば、出典側の同じ分解と比べて、数値・主語・関係が一致するかを 1 個ずつ照合できます。
これは PSG だけでなく、依存文法 (Dependency Grammar) や意味役割ラベリング (Semantic Role Labeling) でも同じことができます。今回は 最も入門しやすい PSG で進めます。
なぜこのスキルが製薬で必須か
製薬の文書 ── 添付文書、販促資材、講演スライド、回答書 ── は、必ず 出典 (一次資料) と紐づいている必要があります。AI で下書きを作ること自体は便利ですが、「出典との整合性チェック」を人がやらない限り、それは規制違反のリスクを孕んだ草稿に過ぎません。
本講座で身につけるプロンプト技術は、その整合性チェックを AI に半自動でやらせる ためのものです。最終判断はあくまで人ですが、突き合わせ作業の 70〜80% は機械化できます。
準備するもの: お使いの AI 1 つ (Claude / ChatGPT / Gemini / Copilot などどれでも可)。ブラウザを開いて、新しい会話を 1 つ用意してください。本講座の各 STEP の PROMPT ブロックをコピーして AI に貼り、応答を確認しながら進めます。
STEP 1〜10 ── 順番にやってみよう
Step 01出典と "作りたい文書" を定義する
まず素材を用意します。今回はサンプルとして、以下の架空の臨床試験要約を出典とします。
出典: ある第 III 相試験 (架空)
── A 薬は中等症ぜんそく患者 240 名 (18 歳〜65 歳) に投与され、12 週後の FEV1 改善率は 18.4% (95%CI: 15.2–21.6) であった。主な副作用は咳嗽 (8.3%)、頭痛 (5.0%)。重大な副作用は報告されなかった。
目標は、この出典をもとに「医療従事者向けの 200 字要約」を作ることとします。
▶ あなたの作業
AI に以下を貼って、状況を共有してください。
これから句構造文法 (PSG) を使って、出典と整合する 200 字の要約を AI と一緒に作ります。以下を出典として記憶してください。
【出典】
ある第 III 相試験。A 薬は中等症ぜんそく患者 240 名 (18-65 歳) に投与。12 週後の FEV1 改善率 18.4% (95%CI: 15.2–21.6)。主な副作用: 咳嗽 8.3%、頭痛 5.0%。重大な副作用なし。
【目標】
医療従事者向けの 200 字要約を作成し、出典との整合性を句単位で検証する。
「了解」とだけ返してください。次のステップで作業を始めます。
期待する応答: AI が「了解」など短く返してくる。ここで長文返事をする AI は指示追従性が低いので、別のサービスを試すのもあり。
Step 02出典の主張を箇条書きで抽出する
整合性を取るには、まず出典側の「主張のリスト」を作る必要があります。
▶ あなたの作業
【出典の主張抽出】
上記の出典から、「主語 + 述語 + 数値 (あれば)」の形で、独立した主張だけを箇条書きで抽出してください。
解釈や言い換えは禁止。出典の語そのままを使うこと。
出力形式:
- 主張 1: ...
- 主張 2: ...
- 主張 3: ...
(以下続く)
期待する応答: 5〜7 個の独立した主張がリストで返る。例:「主張 1: A 薬は中等症ぜんそく患者 240 名に投与された」「主張 2: 12 週後の FEV1 改善率は 18.4% であった」── など。
セルフチェック: 主張のリストは、出典の文の数と同程度になっているか? 大幅に少ない場合、AI が省略している。
Step 03主張を句構造で分解する
抽出した主張を、PSG で構造化します。これが照合の "キー" になります。
▶ あなたの作業
【出典側の句構造分解】
ステップ 2 の各主張を、以下のフォーマットで句構造分解してください。
フォーマット:
{
"id": "主張 1",
"原文": "(主張の文)",
"NP_subject": "(主語句)",
"VP_verb": "(動詞句)",
"NP_object": "(目的語句または補語句)",
"数値": ["(数値があれば全部)"],
"修飾節": ["(関係節・前置詞句など)"]
}
これを JSON 配列として返してください。
期待する応答: JSON 配列が返る。例えば主張 2 なら {"NP_subject": "12 週後の FEV1 改善率", "VP_verb": "は", "NP_object": "18.4%", "数値": ["18.4", "15.2", "21.6"], "修飾節": ["95%CI: 15.2–21.6"]} のような構造に分解される。
これが整合性チェックの "正解票" になります。
Step 04目標文書 (200 字要約) のドラフトを書かせる
次に AI に要約を書かせます。普通に頼んでも書けますが、後で検証しやすいように "短く" "出典通りに" と明示します。
▶ あなたの作業
【ドラフト作成】
出典をもとに、200 字以内で医療従事者向けの要約を書いてください。
条件:
- 出典の数値・条件をすべて含めること
- 出典にない情報を絶対に加えないこと
- 出典の表現はできるだけそのまま使うこと
要約のみを出力してください。
期待する応答: 200 字前後の要約。例: 「ある第 III 相試験で A 薬は中等症ぜんそく患者 240 名に投与され、12 週後の FEV1 改善率は 18.4% であった (95%CI: 15.2–21.6)。主な副作用は咳嗽 8.3%、頭痛 5.0%。重大な副作用なし。」
注意: ここで AI が「優れた効果が示された」のような追加表現を入れたら、後のチェックで引っかかります。
Step 05ドラフトの主張を、同じ手順で抽出する
今度はドラフト側の "主張リスト" を作ります。ステップ 2 と同じ手順です。
▶ あなたの作業
【ドラフトの主張抽出】
ステップ 4 で作成した要約から、ステップ 2 と同じ要領で主張を箇条書き抽出してください。
出力形式: 出典抽出時と同じ。
期待する応答: ドラフトに含まれる主張のリスト。
セルフチェック: 出典側 (ステップ 2) の主張数と、ドラフト側の主張数は同じか? 大きく違うときは、ドラフトが情報を欠落 or 追加している。
Step 06ドラフトを句構造分解する
ステップ 3 と同じ要領で、ドラフトの主張も PSG 分解します。
▶ あなたの作業
【ドラフト側の句構造分解】
ステップ 5 の各主張を、ステップ 3 と同じ JSON フォーマットで句構造分解してください。
期待する応答: ドラフト側の JSON 配列。
これで 出典側 (ステップ 3) と ドラフト側 (ステップ 6) の 2 つの分解表 が手元に揃いました。ここからが本番です。
Step 07突き合わせプロンプトを設計する
2 つの分解表を、句単位で照合させます。判定基準を厳密に決めるのが鍵です。
▶ あなたの作業
【整合性チェックの設計】
これから、ステップ 3 の出典側分解と、ステップ 6 のドラフト側分解を照合します。
以下のルールで判定してください。
判定ルール:
1. ドラフト側の各主張について、出典側に「対応する主張」があるかを探す
2. 対応がある場合、以下の 4 つを比較する
- NP_subject (主語) が同じか
- VP_verb (動詞) の意味が同じか
- NP_object / 数値 が完全一致するか
- 修飾節 が欠落・追加されていないか
3. 1 つでも不一致なら「不整合」、すべて一致なら「整合」
4. 対応する主張が出典側にないドラフト主張は「出典超過 (要修正)」
出力形式:
| ドラフト主張 ID | 対応する出典 ID | 判定 | 不一致の詳細 |
|---|---|---|---|
| ... | ... | 整合 / 不整合 / 出典超過 | ... |
「ルールを了解しました」と返してください。次のステップで実行します。
期待する応答: 「ルールを了解しました」と短く返ってくる。
ポイント: ルールを明示することで、判定の再現性が上がります。これが プロンプトエンジニアリングの肝 です。
Step 08整合性チェックを実行する
準備完了。実行します。
▶ あなたの作業
【整合性チェック実行】
ステップ 7 のルールに従って、ステップ 3 (出典側分解) とステップ 6 (ドラフト側分解) を照合し、結果テーブルを出力してください。
すべての判定理由を簡潔に書くこと。
期待する応答: 比較テーブルが返る。すべて「整合」ならドラフトは出典に忠実。「不整合」「出典超過」があれば、その箇所を修正対象とする。
セルフチェック: AI の判定を、自分でも一度だけ目視で再確認すること。AI 自身が一致誤判定をすることがある (特に数値の単位)。
Step 09エッジケースで頑健性をテストする
整合チェックが上手く動いたら、わざと "間違ったドラフト" を投げて、ちゃんと検出してくれるかを確認します。
▶ あなたの作業
【頑健性テスト】
以下の改ざんドラフトを、同じ手順 (ステップ 5 → 6 → 8) で検証してください。
改ざんドラフト:
「ある第 III 相試験で A 薬は重症ぜんそく患者 240 名に投与され、12 週後の FEV1 改善率は 28.4% であった (95%CI: 15.2–21.6)。主な副作用は咳嗽 8.3%、頭痛 5.0%、肝障害 2.1%。重大な副作用なし。」
改ざんポイント (検証用、AI には言わないでください):
- 「中等症」を「重症」に書き換え (NP_subject の改ざん)
- 「18.4%」を「28.4%」に書き換え (数値の改ざん)
- 「肝障害 2.1%」を追加 (出典超過)
期待する応答: 3 つの改ざんすべてを「不整合」または「出典超過」として検出する。
うまく検出できない場合: ステップ 7 のルールに「数値の単位・桁を文字レベルで一致させる」「主語名詞の修飾語まで含めて一致させる」を追加して再試行。これがプロンプトの "デバッグ" 作業です。
Step 10テンプレート化して再利用可能にする
最後に、今やったプロセスを "いつでも貼れるテンプレート" に整理します。次の業務で別の出典・別のドラフトを扱うときに、ここを差し替えるだけで動かせる形にする。
▶ あなたの作業
【テンプレート化】
これまでのステップ 1〜9 を、再利用できる 1 本のメガプロンプトに圧縮してください。
要件:
- 出典とドラフトを {{source}} {{draft}} で受け取る
- 内部で句構造分解と照合を順に実行
- 最後に「整合/不整合/出典超過」の判定テーブルだけを出力
- ステップ 7 のルールはハードコードする (再現性のため)
完成したテンプレートを 1 つのコードブロックで返してください。
期待する応答: 再利用可能なメガプロンプトが返る。これを保存しておけば、出典と AI 生成物を放り込むだけで整合性チェックが回せます。
次回の使い方: 添付文書のドラフト、販促資材のキャッチコピー、講演原稿 ── どれも「出典 + ドラフト」の構造を持つので、このテンプレートに乗せられます。
ふり返り ── 何を学んだか
ここまでで、あなたは以下を体験的に学びました。
- AI 生成物は "それらしい" だけで、出典と整合しているとは限らないこと
- 句構造文法で文を分解すれば、機械的に突き合わせができること
- 判定ルールをプロンプトで明示すると、再現性が一気に上がること
- 頑健性テスト (わざと間違いを混ぜる) でプロンプトを "デバッグ" できること
- テンプレート化すれば、別の業務にも転用できること
応用先 ── ここから何ができるか
明日から試せること
- 販促資材の主張を、添付文書とつき合わせて検証する
- 講演スライドの一文を、出典論文の Abstract と整合確認する
- 規制提出文書のドラフトを、社内 SOP と突き合わせる
- プレスリリースの数値を、原データと自動チェックする
- 翻訳資材を、原文 (出典) と PSG 単位で比較する
整合性のチェックは、AI に "やらせる" 仕事ではなく "一緒にやる" 仕事です。 最終判断はあくまで人。けれど、突き合わせ作業を 70% 機械化できるだけで、あなたが本来見るべき「微妙な解釈の差」に集中できる時間が一気に増えます。
これが、プロンプトエンジニアリングの本当の意味です。ツールに使われるのではなく、ツールに正しい仕事をさせる。本講座のテンプレートを、ぜひ手元に保存して、明日からの業務で試してみてください。