研究開発部門が実験計画書を社内の安全審査の基準に照らして判定し、法令の届出・確認が要りうる点を審査の前に洗い出す
研究者が出す実験計画書を、社内の安全審査の基準の項目ごとに読み、該当・非該当・記載不足を付けます。化学物質・危険物・遺伝子組換え生物の扱いで法令の手続きが要りうる点を挙げ、審査会の前に計画書へ差し戻す点をまとめます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Python
- 対象業界
- その他/製造
- 対象部門
- 品質管理/研究開発
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 判断に時間がかかる/属人化している/確認ミスが多い
- AIで行う処理
- 判定
- 主な効果
- 判断支援/品質標準化/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 研究者が実験計画書を申請フォームに添付して出す
- 安全管理室の担当が計画書を開き、試薬・量・操作・設備・実験の場所を読む
- 社内の安全審査の基準の文書を横に開き、項目ごとに当たるかを確かめる
- 試薬を化学物質の在庫の台帳と社内の管理物質の一覧で引き、扱いの区分を確かめる
- 危険物があれば、量を指定数量の早見表で割り、実験室の既存の量と合わせて倍数を出す
- 遺伝子組換え生物を扱う計画は、経験のある担当に回して読んでもらう
- 書かれていない点・確かめたい点をメモにし、研究者に問い合わせる
- 回答をもとに審査会の資料に論点を書き、審査会にかける
- 人研究者が実験計画書を申請フォームに添付して出す
- 自動申請の登録をきっかけに処理が動き、計画書を PDF にして文字を取り出す
- 自動Claude API が計画書から試薬・量・操作・設備・場所・生物材料を拾い、決まった形の JSON にする
- 自動Python が拾った試薬を在庫の台帳と管理物質の一覧に照らし、危険物の倍数を計算する
- 自動Claude API が基準の項目ごとに、該当・非該当・記載不足・判断不能を付け、根拠の文を写す
- 自動法令の手続きが要りうる点を、条文の要件ごとに論点として挙げる
- 自動記載不足の項目から、研究者への問い合わせ文の下書きを作る
- 人安全管理室の担当が、判定の一覧と論点を読み、計画書の該当の箇所で確かめる
- 人問い合わせ文を直して研究者に送り、回答を受けて論点を書き直す
- 人審査会の資料にまとめ、審査会で実験を認めるかを決める
各工程の詳しい説明を読む
- 研究者が実験計画書を申請フォームに添付して出す
- 安全管理室の担当が計画書を開き、試薬・量・操作・設備・実験の場所を読む
- 社内の安全審査の基準の文書を横に開き、項目ごとに当たるかを確かめる
- 試薬を化学物質の在庫の台帳と社内の管理物質の一覧で引き、扱いの区分を確かめる
- 危険物があれば、量を指定数量の早見表で割り、実験室の既存の量と合わせて倍数を出す
- 遺伝子組換え生物を扱う計画は、経験のある担当に回して読んでもらう
- 書かれていない点・確かめたい点をメモにし、研究者に問い合わせる
- 回答をもとに審査会の資料に論点を書き、審査会にかける
(a)担当によって見る項目が違う。 基準の文書は20ページあり、全項目を毎回見る担当もいれば、計画書に出てくる言葉から当たりそうな項目だけを見る担当もいます。後者の方法だと、計画書に書かれていないことに関わる項目が見られません。
(b)書かれていないことに気づきにくい。 「有機溶剤を用いて抽出する」とだけ書かれた計画書では、溶剤の種類も量も分かりません。読んでいる担当は、いつもの量だろうと補って読んでしまいます。 審査会の場で委員に量を聞かれ、そこで初めて記載が無いことに気づく、ということが起きます。
(c)法令の論点が審査会の後に出てくる。 実験室で扱う危険物の量の合計が指定数量に近づいていることや、遺伝子組換え生物の扱いで拡散防止措置をどう取るかが計画書から読み取れないことが、実験を始めた後に分かることがあります。そのときには実験の日程が組まれており、止めるかどうかの判断が重くなります。
- 【人】 研究者が実験計画書を申請フォームに添付して出す
- 【自動】 申請の登録をきっかけに処理が動き、計画書を PDF にして文字を取り出す
- 【自動】 Claude API が計画書から試薬・量・操作・設備・場所・生物材料を拾い、決まった形の JSON にする
- 【自動】 Python が拾った試薬を在庫の台帳と管理物質の一覧に照らし、危険物の倍数を計算する
- 【自動】 Claude API が基準の項目ごとに、該当・非該当・記載不足・判断不能を付け、根拠の文を写す
- 【自動】 法令の手続きが要りうる点を、条文の要件ごとに論点として挙げる
- 【自動】 記載不足の項目から、研究者への問い合わせ文の下書きを作る
- 【人】 安全管理室の担当が、判定の一覧と論点を読み、計画書の該当の箇所で確かめる
- 【人】 問い合わせ文を直して研究者に送り、回答を受けて論点を書き直す
- 【人】 審査会の資料にまとめ、審査会で実験を認めるかを決める
8番目が、この設計の分かれ目です。 担当は計画書を最初から読むのではなく、判定の一覧から読み始めます。 該当と記載不足の項目は計画書の該当の箇所を開いて確かめ、非該当の項目は根拠の文を流し見ます。全項目を計画書と突き合わせる設計にすると、45分はほとんど減りません。
4番目を Python にしているのは、計算を間違えると取り返しがつかないからです。 倍数の和が1を超えるかどうかは、消防法の扱いの境目そのものです。生成AIの出した数字を境目の判断に使わないことを、設計の最初に決めます。
02今回想定するシステム構成
実験計画書(Word の様式) │ ▼【トリガー】申請フォームへの登録 変換 ── PDF にする/文字を取り出す ▼ Claude API ── 試薬・量・操作・設備・場所・生物材料を拾う(JSON) ▼ Python ── 在庫の台帳・管理物質の一覧と照合/危険物の倍数を計算 ▼ Claude API ── 安全審査の基準の項目ごとに判定、根拠の文を写す │ 法令の論点と、問い合わせ文の下書き ▼ 判定の一覧(該当/非該当/記載不足/判断不能) ▼ 【人】安全管理室の担当が確かめ、問い合わせ、審査会へ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Claude API(計画書の読み取りと、基準の項目ごとの判定) | OpenAI API、Gemini API |
| 集計 | Python(物質の照合、危険物の倍数の計算、一覧への書き込み) | Google Apps Script |
| 連携 | 実験計画の申請フォーム(既存の社内ワークフロー) | 社内の申請の仕組み |
| 保管 | 安全管理室の共有フォルダと判定の記録 | 文書管理の仕組み |
申請フォームと在庫の台帳は、新しく足すものではありません。 この構成は申請フォームから計画書を受け取り、判定の一覧を安全管理室に返すだけで、申請の状態を自動で進めることはしません。
計画書は PDF にしてから渡します。 Claude API の文書の入力は、.docx や .xlsx のような形式はそのまま受け付けず、文字か PDF にしてから渡すとされています。PDF はページごとに文字と画像の両方として扱われるため、計画書に貼られた装置の配置図や反応の式も読ませられます。1回の要求の大きさは Claude API で最大128MB、ページは最大600(文脈の窓が100万トークン未満のときは100)で、パスワード付き・暗号化された PDF は使えません。 計画書はふつう数ページから十数ページなので、上限に当たることはまずありません。
出力は構造化出力で受けます。 output_config.format に JSON スキーマを渡すと、応答がそのスキーマに沿った形になります。このスキーマには数値の最小値・最大値、文字列の長さの制約を書けず、配列の minItems も 0 か 1 しか使えないとされています。倍数の範囲や項目の数の確かめは、Python の側で行います。
03どうやって実装するのか
処理の起点を決める
申請フォームに計画書が登録されたことを起点にします。 審査会の前に一括で回すことはしません。登録の直後に判定が出れば、記載不足の問い合わせを審査会の1週間以上前に送れます。 一括にすると、問い合わせの回答が審査会に間に合わない計画が出ます。
起点は新規の計画と変更の計画の2つです。変更の計画のときは、元の計画の判定の記録も一緒に引きます。 試薬の量だけを増やす変更でも、倍数の和が1を超えることがあるからです。
差し戻した計画書が出し直されたときも、同じ起点で動かします。 出し直しのたびに全項目を判定し直し、前回の判定との差を一覧に出します。研究者が問い合わせに答えた箇所以外が書き換わっていても、そこを見落としません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 実験計画書 | 目的、試薬と量、操作の手順、使う設備、実験の場所、生物材料、廃棄の方法 | 申請フォームの添付 |
| 安全審査の基準 | 項目の番号、項目の文言、当たるときに書くべきこと、審査会で見る点 | 安全管理室が持つ文書 |
| 化学物質の在庫の台帳 | 物質名、CAS番号、保管の場所、現在の量 | 在庫の台帳 |
| 管理物質の一覧 | 社内で扱いを分けている物質(危険物の品名と指定数量、リスクアセスメントの対象、毒劇物など)とその区分 | 安全管理室が整える一覧 |
| 実験室の情報 | 部屋ごとの危険物の既存の量、設備(局所排気、安全キャビネット)、拡散防止措置の区分 | 安全管理室の台帳 |
| 元の計画の判定 | 変更の計画のときの前回の判定と論点 | 判定の記録 |
質を決めるのは、管理物質の一覧と実験室の情報です。 一覧に載っていない物質は、照合で引っかかりません。一覧の整備が判定の精度の上限を決めます。 実験室の既存の量が無ければ、新しい計画の量だけで倍数を出すことになり、部屋の合計で1を超えることを見逃します。
安全審査の基準は、項目に分けた形で渡します。 20ページの文書をそのまま渡すと、どの項目について判定したのかが一覧の上で追えません。項目の番号と文言、当たるときに書くべきことを1項目ずつ並べた表にしておきます。
データの取得方法を決める
計画書は申請フォームの添付から取り、変換の処理で PDF にします。Word の様式に書き込まれた表(試薬の一覧の表)は、PDF にしても表の形が残るので、そのまま読ませます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 計画書の PDF | 申請フォームの添付を変換 | 読み取りと判定の本体 |
| 申請の情報 | 申請フォーム(申請者、研究グループ、新規か変更か、元の申請の番号) | 一覧の見出し、元の計画の判定を引く鍵 |
| 物質の情報 | 在庫の台帳と管理物質の一覧を Python で読む | 拾った物質の照合 |
| 部屋の情報 | 安全管理室の台帳を Python で読む | 倍数の和、設備の有無 |
| 基準の項目 | 安全管理室が管理する項目の表 | 判定の物差し |
物質の照合は、名前ではなく CAS 番号を先に使います。 計画書には「アセトン」「ジメチルケトン」「ACE」のように同じ物質が違う名前で出てきます。CAS 番号が書かれていればそれで引き、無ければ名前で引いて、名前で引いたものは照合の確からしさを下げて一覧に出します。
基準の項目の表と管理物質の一覧は、版を付けて持ちます。 判定の記録に、どの版で判定したかを残すためです。
AIへ渡す前に整形する
- 形式の変換 … Word の様式を PDF にします。PDF で出されたものはそのまま使います
- パスワードの確認 … パスワード付きの PDF は使えないため、外してから出し直してもらいます
- 様式の確認 … 社内の様式の見出し(目的、試薬、操作、設備、場所、廃棄)がそろっているかを見ます。そろっていなければ、判定の前に様式の不備として返します
- 添付の分離 … 参考に付けられた論文の PDF は、計画書の本体と分けます。判定の対象は計画書の本体だけです
- 元の計画の取得 … 変更の計画なら、元の申請の番号から前回の計画書と判定を引きます
- 基準の版の固定 … その日に使う基準の項目の表と管理物質の一覧の版を決め、処理の最初に記録します
4番目を省かないでください。 参考の論文には、計画で使わない試薬や、もっと大きな規模の操作が書かれています。一緒に渡すと、計画で使わない物質まで拾ってしまいます。
AIに処理させる
AIの仕事は2回に分けます。 1回目は計画書から事実を拾うこと、2回目は拾った事実と照合の結果をもとに基準の項目ごとに判定することです。
1回目で拾うもの
| 拾うもの | 中身 | 書かれていないときの扱い |
|---|---|---|
| 試薬 | 物質名、CAS番号、1回の量、保管する量、単位 | 量が無ければ quantity_missing |
| 操作 | 加熱・加圧・減圧・反応・抽出・粉砕などの操作と条件 | 条件が無ければ空にする |
| 設備 | 使う装置、局所排気・安全キャビネットの有無 | 書かれていなければ空にする |
| 場所 | 実験室の番号 | 無ければ location_missing |
| 生物材料 | 遺伝子組換え生物の有無、宿主とベクター、扱いの規模 | 有無が分からなければ unknown |
| 廃棄 | 廃液・廃棄物の扱い | 無ければ空にする |
2回目でする判定
| 判定の値 | 意味 |
|---|---|
applicable | 基準の項目に当たり、書くべきことが書かれている |
not_applicable | 基準の項目に当たらないと、計画書の記載から言える |
insufficient | 当たるかを判断するのに必要なことが書かれていない |
undetermined | 書かれているが、当たるかを決められない(人が判断する) |
not_applicable を付けるには根拠の文が要ります。 「遺伝子組換え生物を用いない」と書かれていれば not_applicable ですが、生物材料の欄が空なら insufficient です。書かれていないことを、当たらないことの根拠にしません。
法令の論点は、条文の要件に分けて挙げさせます。 たとえば次のようなものです。
| 論点 | 要件として見ること | 誰が決めるか |
|---|---|---|
| 消防法の指定数量 | 危険物の品名ごとの量を指定数量で割った商の和が1以上になるか。指定数量未満は市町村条例の基準 | 倍数は Python が計算し、扱いは安全管理室が決める |
| 労働安全衛生法のリスクアセスメント | 対象の物質による危険性・有害性等の調査が要る物質を使うか | 対象かは一覧との照合で示し、調査は安全管理室と研究グループが行う |
| 新規化学物質の届出 | 既存の化学物質以外を製造・輸入するか。試験研究のための製造・輸入は届出の対象から外れる | 試験研究の範囲かは安全管理室と法務が決める |
| 遺伝子組換え生物の第二種使用等 | 主務省令で拡散防止措置が定められているか。定められていなければ大臣の確認を受けた措置が要る | 区分は経験のある担当と委員会が決める |
AIは論点を挙げるだけで、届出が要るとも要らないとも書きません。 「試験研究のための製造に当たるか」は、実験の目的と規模、試作品を社外に出すかで変わり、計画書の文章だけでは決まりません。AIが書くのは「この点を確かめる必要がある」と、その根拠になった計画書の文です。
| させないこと | 理由 |
|---|---|
| 届出・確認・許可の要否の結論 | 法令の判断。安全管理室と法務、必要なら所轄の行政機関に確かめる |
| 実験を認めるかの判断 | 審査会の仕事 |
| 倍数の計算 | Python が行う。生成AIの計算を境目の判断に使わない |
| 量や条件の補い | 「適量」を「通常の量」と読み替えると、記載不足が消える |
| 物質の扱いの区分の推定 | 管理物質の一覧との照合の結果だけを使う |
4行目がいちばん起きやすい失敗です。 「少量の有機溶剤で洗浄する」と書かれた計画書を渡すと、何も言わなければ「少量なので指定数量に届かない」と書いてきます。その瞬間、量を書いてもらうという差し戻しの点が消えます。
指示内容を固定する
2回目の判定の指示の例です。
あなたは研究所の安全管理室で、実験計画書の下読みをする立場です。
渡された計画書の記載と、照合の結果だけをもとに、安全審査の基準の
項目ごとに判定してください。推測で補わないでください。
【判定の値】
- applicable ...... 項目に当たり、書くべきことが書かれている
- not_applicable .. 項目に当たらないと、計画書の記載から言える
- insufficient .... 当たるかの判断に必要なことが書かれていない
- undetermined .... 書かれているが、当たるかを決められない
迷ったときに not_applicable を選ばないでください。
【厳守事項】
- not_applicable には、そう言える計画書の文を evidence に写して
ください。写せる文が無ければ insufficient にしてください。
- 量・濃度・温度・圧力が書かれていないときに、通常の値や一般的な
値で補わないでください。「適量」「少量」は量が書かれていない
ものとして扱ってください。
- 危険物の倍数は、照合の結果の値をそのまま使ってください。
自分で計算し直さないでください。
- 物質の区分は、照合の結果の区分だけを使ってください。照合で
見つからなかった物質の区分を推定しないでください。
- 法令の論点は、条文の要件のうち計画書のどの記載が関わるかを
書いてください。届出・確認・許可が要る、要らないという結論は
書かないでください。
- 実験を認めてよいか、止めるべきかを書かないでください。
- 記載が足りない項目ごとに、研究者に聞くべきことを1文で書いて
ください。聞く文は、何を書き足せばよいかが分かる形にしてください。
- evidence には計画書の文をそのまま写してください。要約しないで
ください。
【安全審査の基準(版 {criteria_version})】{criteria_table}
【計画書から拾った事実】{extracted_facts}
【照合の結果(物質の区分・部屋ごとの倍数の和)】{match_result}
【元の計画の判定(変更の計画のときのみ)】{previous_result}
【計画書の本文】{plan_pdf}
「迷ったときに not_applicable を選ばない」を明記しないと、空欄の多い計画書ほど判定がきれいになります。 書かれていないことの多い計画書は当たる項目が少なく見え、何も言わなければ非該当が並びます。判定がきれいな計画書ほど危ない、という逆転を指示で止めます。
「自分で計算し直さない」も同じ理由です。 照合の結果の倍数を渡しても、計画書の量から計算し直して別の値を書くことがあります。値が2つあると、担当はどちらを信じるかで迷います。
出力形式を固定する
次の形の JSON で受け取ります。
{
"application_id": "",
"plan_type": "new | change",
"criteria_version": "",
"checks": [
{ "criterion_no": "", "status": "applicable | not_applicable | insufficient | undetermined",
"evidence": "", "question_to_researcher": "" }
],
"legal_points": [
{ "topic": "fire_service_act | ishl_risk_assessment | new_chemical | gmo_type2",
"requirement": "", "related_text": "", "match_ref": "" }
],
"missing_items": [ { "field": "", "question": "" } ],
"diff_from_previous": [ { "criterion_no": "", "before": "", "after": "" } ]
}
1つ目の理由は、項目ごとの判定を並べ替えられることです。 insufficient を上に、not_applicable を下に並べると、担当が見る順がそのまま一覧の順になります。自由文で受けると、どの項目について書かれた文かを担当が探すことになります。
2つ目は、法令の論点を判定から分けて持てることです。 legal_points は審査会の資料の「法令の確認事項」の欄にそのまま移ります。論点が判定の文の中に埋まっていると、審査会で確かめ忘れます。
3つ目は、match_ref で照合の結果に戻れることです。 論点の根拠にした倍数や物質の区分が、どの照合の結果から来たのかを記号で残します。担当が倍数を確かめたいときに、Python の出した計算の明細を開けます。
スキーマの制約は Python で確かめます。 構造化出力のスキーマには文字列の長さや数値の範囲を書けないため、checks の数が基準の項目の数と一致しているか、criterion_no が基準の表にある番号かを、受け取った後に Python で調べます。一致しなければ判定をやり直し、2回続けて合わなければ担当に回します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 申請フォーム | 社内ワークフローの通知と添付の取得 | 計画書と申請の情報を受け取る |
| Claude API | API の呼び出し | 事実の拾い出しと、基準の項目ごとの判定 |
| 在庫の台帳・管理物質の一覧 | Python で読む | 物質の照合 |
| 安全管理室の台帳 | Python で読む | 部屋ごとの既存の量と設備 |
| 判定の一覧 | 安全管理室の共有フォルダに書き出す | 担当が確かめる一覧 |
申請フォームの状態は変えません。 判定が出ても、申請は「下読み中」のままです。状態を進めるのは担当の操作だけにしておくと、判定を見ないまま審査会に回ることがありません。
在庫の台帳にも書き込みません。 計画書に書かれた量を台帳に反映するのは、試薬を実際に購入・受け入れたときの仕事です。
人が確認する
人が確かめるのは全件です。ただし、読み方を変えます。
insufficientの項目を先に見る … 問い合わせ文の下書きを読み、計画書のその箇所が本当に空いているかを確かめますlegal_pointsを見る … 論点ごとに、照合の結果と計画書の文を開きます。届出・確認の要否はここで担当が考えますapplicableの項目を見る … 書くべきことが書かれているかを、根拠の文で確かめますnot_applicableを流し見る … 根拠の文が当たらない理由になっているかだけを見ます- 判定を覆したら記録する … どの項目を、どの値からどの値へ変えたかを残します
2番目を AI に寄せないでください。 法令の論点は、実験を始めてからでは直せないものが多くあります。担当が論点ごとに考える時間は、この構成で減らす対象ではありません。
遺伝子組換え生物を扱う計画は、判定が出ても経験のある担当が読みます。 拡散防止措置が主務省令で定められているかの区分は、宿主とベクターの組み合わせで変わり、計画書の書き方の揺れが大きいからです。この構成で減るのは、その担当が読む前の拾い出しの時間です。
例外に対処する
| 起きること | 対応 |
|---|---|
| パスワード付きの PDF | 使えないため、研究者に外して出し直してもらう |
| 様式の見出しが欠けている | 判定の前に様式の不備として返す |
| 物質が台帳にも一覧にも無い | unmatched として一覧に出し、担当が区分を確かめる。区分を推定しない |
| 名前だけで照合した物質 | 照合の確からしさを下げて表示し、CAS番号の追記を問い合わせる |
| 量の単位が混ざる(g と mL) | Python が密度を持たない物質は換算せず、担当に回す |
checks の数が基準と合わない | 判定をやり直し、2回続けば担当に回す |
| 判定の応答が途中で切れる | max_tokens を増やしてやり直す。途中までの判定を使わない |
| 計画書に手書きの図だけがある | 図から読めた事実は拾うが、undetermined を付けて担当に回す |
| 応答が拒否で返る | 判定の一覧に出さず、担当が計画書を最初から読む |
上から4行目までが大半を占めます。 どれもAIの問題ではなく、様式の使い方と管理物質の一覧の整備の問題です。 多く出る研究グループには、様式の書き方を説明する機会を作るほうが効きます。
3行目は、一覧の側を直す合図です。 同じ物質が何度も unmatched になるなら、管理物質の一覧に載せるかどうかを安全管理室で決めます。
記録を残す
- 計画書の PDF と、申請の情報(申請者、研究グループ、新規か変更か)
- 判定に使った基準の項目の表と管理物質の一覧の版
- 1回目の拾い出しの JSON と、照合の結果(倍数の計算の明細を含む)
- 2回目の判定の JSON
- 担当が判定を覆した記録 … どの項目を、どの値からどの値へ変えたか
- 研究者への問い合わせと回答、出し直しの前後の差
- 審査会の結論と、そのときの論点の扱い
2つ目で版を残すのは、基準と一覧が後から変わるためです。 管理物質の一覧に物質を足すと、過去の判定の意味が変わります。当時の版が残っていないと、どの計画を見直せばよいかが決まりません。
判定を覆した記録は、指示の見直しに使います。 not_applicable から insufficient へ覆す例が多い項目は、指示か基準の項目の文言に曖昧さがあります。
04実装レベルの3段階
最小構成では件数がさばけません。 1件ずつ貼るので、月80件には使えません。確かめるための段階です。 半自動化で、1件45分が25分程度になります。 拾い出しと照合と計算が自動になりますが、問い合わせ文と審査会の資料の論点は担当が書きます。本格構成で15分になり、この段階が本記事の想定です。 差が大きいのは、記載不足から問い合わせ文を起こす作業と、変更の計画で前回と比べる作業が、1件ずつの手作業だからです。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、unmatched の多い物質と、insufficient の多い項目が先に分かります。管理物質の一覧と様式を直してから本格構成に進むほうが、問い合わせの空振りが減ります。
05工数削減シミュレーション
導入後 80件 × 15分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 化学・素材・医薬・食品などの研究所で、新しい実験を始める前に計画書を安全管理の担当が確かめる社内の審査を持ち、月に数十件の計画書が出る場合。化学物質・危険物・遺伝子組換え生物を扱う実験が混ざり、法令の手続きが要るかの見落としを審査の担当の経験に頼っている場合。社内の安全審査の基準が文書になっていて、項目に分けられる場合。
- 計画書が月に数件で、安全管理の担当が全件を時間をかけて読める場合。社内の安全審査の基準が文書になっておらず、審査の担当の頭の中にある場合。なお、法令の届出・確認・許可が要るかの最終的な判断と、実験を認めるかどうかの判断は、この構成では代替できません。
07最小構成で試す方法
- 過去の実験計画書から20件を選ぶ(うち数件は、審査会で記載不足を指摘されたものを入れる)
- 安全審査の基準を、項目の番号・文言・当たるときに書くべきことの表にする
- 1件ずつ、計画書の PDF と基準の表を手元の Claude の画面に貼る
- 「この計画書を、基準の項目ごとに applicable/not_applicable/insufficient/undetermined で判定してください。書かれていない量や条件を補わないでください。not_applicable には根拠の文を写してください」と指示する
- 出た判定を、当時の下読みのメモと審査会の指摘と突き合わせる
20件は必ずやってください。 照合と計算をつなぐ前に、計画書の文章から基準の項目を当てられるのかを確かめます。最小構成では倍数の計算はさせず、担当が手で出した値と比べるだけにします。
| 出てきた内容 | 判断 |
|---|---|
審査会で指摘された記載不足が insufficient に出た | 照合と計算をつなぐ段階に進む |
書かれていない量を補って not_applicable にした | 指示の書き方で直る。構成は有効 |
| 基準の項目の当て方がばらつく | 基準の文言を先に直す。 AIの問題ではない |
3行目が出ることは珍しくありません。 項目の文言が「必要に応じて」のように書かれていると、人でも当て方が分かれます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
空欄の多い計画書ほど not_applicable が並ぶ | 根拠の文が無ければ insufficient。 指示に明記する |
| 「適量」「少量」を量として読む | 量が書かれていないものとして扱わせる |
| AIが倍数を計算し直して別の値を書く | 照合の結果の値をそのまま使わせ、計算は Python だけ |
| 参考の論文の物質まで拾う | 添付を分け、計画書の本体だけを渡す |
| 物質名の揺れで照合できない | CAS番号を先に使う。 名前で引いたものは確からしさを下げる |
| 部屋の既存の量を足さずに倍数を出す | 安全管理室の台帳から部屋ごとの量を引いて足す |
| 法令の論点に「届出は不要」と書く | 結論を書かせない。要件と計画書の文だけを書かせる |
checks の数が基準の項目と合わない | Python で数と番号を確かめ、合わなければやり直す |
| .docx のまま渡して読めない | PDF にしてから渡す |
| 基準の版を残さない | 判定の記録に版を残す |
| 判定を見ないまま審査会に回る | 申請の状態を進めるのは担当の操作だけにする |
上の2行が、この構成の失敗のほとんどです。 どちらも「書かれていないこと」を「当たらないこと」に読み替えるところから起きます。not_applicable に根拠の文を求めるかどうかで、運用に乗るかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 研究の目的と方法、使う物質と量、開発中の物質の構造や反応の条件です。未公開の研究の内容そのもので、特許の出願前のものも含まれます。
- 社外に出してよい範囲を、知財の担当と先に決める … 計画書には出願前の発明の内容が書かれていることがあります。生成AIの API に渡してよいか、渡すならどの契約の条件で渡すかを、知財と情報システムの担当と決めてから始めてください
- データの扱いの条件を確かめる … 構造化出力は、プロンプトと応答は保存されず、JSON スキーマだけが最後に使ってから最大24時間キャッシュされるとされています。スキーマに物質名や研究の名前を入れないでください
- 法令の判断を代替しない … 届出・確認・許可が要るかは、安全管理室と法務が決め、必要なら所轄の行政機関に確かめることです。この構成が出すのは、確かめるべき論点と、その根拠になった計画書の文だけです
- 倍数の計算を生成AIに任せない … 消防法の扱いの境目は倍数の和が1以上かどうかです。計算は Python で行い、明細を残します
- 判定の一覧を研究者に直接返さない … 一覧には
not_applicableの判定も含まれ、研究者が「審査で非該当と言われた」と受け取るおそれがあります。研究者に送るのは、担当が手直しした問い合わせ文だけにします - 管理物質の一覧と基準の表を外へ出さない … 社内でどの物質をどう扱っているかがまとまった資料です。照合は Python の側で行い、一覧そのものは AI に渡さず、照合の結果だけを渡します
誤りが起きた場合のリスクは、手続きが要る実験を手続きなしで始めてしまうことと、要らない問い合わせで研究を止めることの2つです。 前者は記載不足を非該当に混ぜると起き、後者は論点を挙げすぎると起きます。前者のほうがはるかに重いので、迷ったら記載不足に寄せる設計にします。
10まず何から始めるか
1週目:安全審査の基準を項目の表にする
20ページの基準の文書から、項目の番号・文言・当たるときに書くべきことを1項目ずつ表にします。「必要に応じて」のように当て方が分かれる文言は、この段階で書き直します。
2週目:20件で試す
過去の計画書から20件を選び、手元の Claude の画面で基準の項目ごとに判定させます。審査会で指摘された記載不足が insufficient に出るか、書かれていない量を補っていないかを最優先で見ます。
3週目:管理物質の一覧を整える
在庫の台帳と突き合わせ、危険物の品名と指定数量、リスクアセスメントの対象、毒劇物などの区分を一覧に持たせます。使う量の多い物質から埋めます。 部屋ごとの危険物の既存の量も、安全管理室の台帳に載せます。
4週目:拾い出しから判定の一覧までをつなぐ
API で拾い出しと判定を行い、Python で照合と倍数の計算をして、一覧を共有フォルダに書き出すところまで作ります。この時点では法令の論点と問い合わせ文を出さず、項目ごとの判定だけを見ます。
2か月目: 法令の論点と問い合わせ文の下書きを足し、申請フォームの登録を起点にします。insufficient の件数と、担当が判定を覆した件数を毎週数えます。3か月目以降: 変更の計画の前回との差を足し、1件45分が何分になったかを実測します。記載不足の多い項目を様式の側で直し、審査会で記載不足が指摘される件数が減った時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 事業者が、政令で定める物及び通知対象物による危険性又は有害性等を調査しなければならないこと(第57条の3)。新規化学物質を製造・輸入しようとする事業者は有害性の調査を行い届け出なければならず、試験研究のため製造・輸入しようとするときなどはこの限りでないこと(第57条の4) | e-Gov 法令API: 労働安全衛生法 | 2026-10-29 |
| 遺伝子組換え生物等の第二種使用等をする者は、主務省令で拡散防止措置が定められている場合にはそれを執り(第12条)、定められていない場合にはあらかじめ主務大臣の確認を受けた拡散防止措置を執らなければならないこと(第13条) | e-Gov 法令API: 遺伝子組換え生物等の使用等の規制による生物の多様性の確保に関する法律 | 2026-10-29 |
| 指定数量未満の危険物の貯蔵・取扱いの技術上の基準は市町村条例で定めること(第9条の4)。指定数量以上の危険物は貯蔵所以外の場所で貯蔵し、製造所等以外で取り扱ってはならないこと。品名又は指定数量を異にする2以上の危険物は、数量を指定数量で除した商の和が1以上なら指定数量以上とみなすこと(第10条) | e-Gov 法令API: 消防法 | 2026-10-29 |
構造化出力を output_config.format で指定すること。数値の minimum・maximum、文字列の minLength・maxLength に対応せず、配列の minItems は 0 と 1 のみであること。max_tokens で切れると不完全な出力になりうること。拒否のときはスキーマに合わない出力になりうること。プロンプトと応答は保存されず、JSON スキーマが最後の利用から最大24時間キャッシュされること | Claude Docs: Structured outputs | 2026-10-29 |
| PDF の要求の大きさが Claude API で最大128MB、ページが最大600(文脈の窓が100万トークン未満では100)であること。パスワード・暗号化された PDF は使えないこと。各ページを文字と画像の両方として扱うこと。.xlsx・.docx は文書の入力に使えず、文字か PDF にしてから渡すこと。1ページあたり文字で1,500〜3,000トークン程度と画像の分のトークンがかかること | Claude Docs: PDF support | 2026-10-29 |
届出・確認・許可が要るかの判断は、安全管理室と法務で行い、必要なら所轄の行政機関に確かめてください。 本記事は法令と公式の資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2270)についてのご相談はこちらから。
