事業部から届く「相見積は要るか・取適法の対象か・誰の承認か」の質問に、購買規程と取引先の区分と取適法の社内手引を根拠にチャットで答える
事業部の担当者が発注の前に「相見積は要るか」「取適法の対象か」「誰の承認が要るか」をチャットで聞くと、取引先の区分と金額から判定の候補を出し、根拠となる購買規程と社内手引の条文を付けて返します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- IT・SaaS/商社/製造
- 対象部門
- 購買
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 判断に時間がかかる/問い合わせが多い/確認ミスが多い
- AIで行う処理
- 検索(RAG)
- 主な効果
- 品質標準化/対応スピード向上/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 事業部の担当者が、発注の内容と金額と取引先を書いて購買部にチャットで聞く
- 購買部の担当者が、購買規程の相見積の表と職務権限表を開き、金額の区分を確かめる
- 取引先マスタを開き、取引先の資本金と従業員数、取適法の区分を確かめる
- 発注の内容が製造委託・修理委託・作成委託・役務提供委託のどれに当たるかを社内手引で確かめる
- 相見積の要否、取適法の対象か、必要な承認者を返信する
- 取適法の対象なら、発注のときに明示する事項と支払期日の注意を書き添える
- 回答をチャットの履歴に残す(記録の表は無い)
- 人事業部の担当者が、購買の質問用のチャットで取引先コード・予定金額・発注の内容の区分を選び、質問を書いて送る
- 自動中継プログラムが取引先マスタから資本金・常時使用する従業員の数・その確認日を引く
- 自動中継プログラムが、金額表と職務権限表と取適法の規模の表から、相見積・承認者・取適法の判定の候補を規則で出す
- 自動判定の候補を前提として検索の文に入れ、Agent Search(旧 Vertex AI Search)の answer メソッドで根拠の条文を探し、出典付きの回答を作る
- 自動中継プログラムが、回答の結論と規則の判定が一致しているか、出典が現行の規程かを確かめる
- 自動一致していれば、判定と回答と出典をチャットに返す。一致しない、従業員数が分からない、発注の内容の区分が「分からない」なら購買部へ回す
- 人事業部の担当者が、続けて聞きたいことがあれば同じ会話で聞く
- 人購買部の担当者は、回ってきたものだけを見て答える
各工程の詳しい説明を読む
- 事業部の担当者が、発注の内容と金額と取引先を書いて購買部にチャットで聞く
- 購買部の担当者が、購買規程の相見積の表と職務権限表を開き、金額の区分を確かめる
- 取引先マスタを開き、取引先の資本金と従業員数、取適法の区分を確かめる
- 発注の内容が製造委託・修理委託・作成委託・役務提供委託のどれに当たるかを社内手引で確かめる
- 相見積の要否、取適法の対象か、必要な承認者を返信する
- 取適法の対象なら、発注のときに明示する事項と支払期日の注意を書き添える
- 回答をチャットの履歴に残す(記録の表は無い)
(a)同じ質問が毎日届く。 480件のうち多くは、規程の表を引けば答えが出る質問です。それでも事業部の担当者は表のどの欄を見ればよいか分からず、購買部に聞くほうが早いと考えます。
(b)取引先の区分を毎回調べている。 取引先マスタの従業員数の列は、施行に合わせて足したばかりで空欄も残っています。空欄なら、担当者は取引先に電話するか、会社のサイトで調べています。
(c)答えが担当者で変わる。 部品の購入が「製造委託」に当たるかは、自社の仕様で作らせるかどうかで変わります。ある担当者は「市販品なので対象外」と答え、別の担当者は「図面を渡しているので対象」と答えます。
(d)対象の見落としが発注の後に分かる。 取適法の対象と気づかずに発注すると、明示する事項の漏れや支払期日の設定の誤りが、UC-0109 の毎月の点検で初めて見つかります。 発注の前に正しく答えていれば起きなかったものです。
- 【人】 事業部の担当者が、購買の質問用のチャットで取引先コード・予定金額・発注の内容の区分を選び、質問を書いて送る
- 【自動】 中継プログラムが取引先マスタから資本金・常時使用する従業員の数・その確認日を引く
- 【自動】 中継プログラムが、金額表と職務権限表と取適法の規模の表から、相見積・承認者・取適法の判定の候補を規則で出す
- 【自動】 判定の候補を前提として検索の文に入れ、Agent Search(旧 Vertex AI Search)の answer メソッドで根拠の条文を探し、出典付きの回答を作る
- 【自動】 中継プログラムが、回答の結論と規則の判定が一致しているか、出典が現行の規程かを確かめる
- 【自動】 一致していれば、判定と回答と出典をチャットに返す。一致しない、従業員数が分からない、発注の内容の区分が「分からない」なら購買部へ回す
- 【人】 事業部の担当者が、続けて聞きたいことがあれば同じ会話で聞く
- 【人】 購買部の担当者は、回ってきたものだけを見て答える
3番目が、この設計の分かれ目です。 取適法の対象かどうかは、資本金や従業員数と金額の比較で決まる部分があります。比較は中継プログラムの規則で行い、モデルには数字の大小を判断させません。 規則が使う金額や人数の境目は、社内手引と規程の表から購買部が書き写し、改定のたびに直します。
6番目で購買部に回すのは、判断が分かれうるものだけです。 発注の内容が製造委託に当たるかは、仕様を自社が指定するかどうかで変わり、選択肢だけでは決まらないことがあるからです。
02今回想定するシステム構成
購買の質問用のチャット(取引先コード・予定金額・発注の内容の区分・質問) ▼【トリガー】質問の送信 中継プログラム(Python、Cloud Run) ├──▶ 取引先マスタ → 資本金・常時使用する従業員の数・確認日 ├──▶ 規則の表 → 相見積の社数・承認者・取適法の判定の候補 ▼ Agent Search(Vertex AI Search)── answer メソッド(会話を続ける session 付き) │ データストア:購買規程・職務権限表・取適法の社内手引・購買部のFAQ │ 絞り込み:status: current ▼ 中継プログラム ── 結論と規則の判定の一致、出典の版を確かめる ├──▶ 一致 → チャットへ回答 └──▶ 不一致・従業員数不明・区分不明 → 購買部の待ち行列
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、チャット・取引先マスタ・検索・待ち行列をつなぐ) | Node.js で同じものを書く |
| 判定 | 中継プログラムの規則の表(金額・資本金・従業員数の境目) | 購買システムの承認ルートの設定を読む |
| 保管 | Cloud Storage(規程・手引の原本とメタデータ) | ─ |
取引先マスタと購買システムは、新しく足すものではありません。 中継プログラムは読むだけで、発注の申請はこれまでどおり事業部が購買システムで出します。最初の準備は、取引先マスタの従業員数の列を埋め、確認日を持たせることです。
検索の土台は、Agent Search(Vertex AI Search から改称中)の answer メソッドです。 検索の結果から回答を作り、includeCitations で回答の文に出典を付けられます。関係の薄い内容しか無いときは ignoreLowRelevantContent で回答を作らず、理由を answerSkippedReasons で返すとされています。
会話を続けるのは、answer メソッドの session です。 前の質問の文脈を踏まえて次の質問を解釈する、複数ターンの問い合わせができるとされています。ただし複数ターンと関連する質問の提示は、Generative responses の追加機能を有効にしたときに使える機能とされています。 1問ずつで足りるなら、この機能は無しで始められます。
03どうやって実装するのか
処理の起点を決める
起点は、事業部の担当者が購買の質問用のチャットに質問を送ったことです。 取引先コード、予定金額、発注の内容の区分の3つは、選択肢と数値の欄で入れさせます。質問の本文だけで聞かせると、金額が「100万くらい」「税抜で98万」のように書かれ、規則で判定できません。
発注の内容の区分は、「部品・製品の製造(自社の図面や仕様で作らせる)」「市販品の購入」「修理」「ソフトウェアの作成」「検査・保守などの役務」「運送」「分からない」から選ばせます。「分からない」を必ず置きます。 選択肢に無理に当てはめさせると、迷った担当者が市販品の購入を選び、取適法の対象を見落とします。
続けて聞く質問は、同じ会話の中で受けます。 「では金額が80万円なら」「取引先を替えたら」のような質問は、前の質問の取引先と金額を踏まえないと答えられないからです。ただし金額や取引先を変える質問は、中継プログラムが欄を入れ直させ、規則の判定をやり直します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 質問 | 取引先コード、予定金額(税抜)、発注の内容の区分、質問の本文 | チャット |
| 取引先マスタ | 資本金、常時使用する従業員の数、従業員数の確認日、取引先の区分 | 購買システム |
| 規則の表 | 相見積の金額の区分と社数、職務権限表の承認者、取適法の規模の境目 | 購買部が規程と手引から書き写した表 |
| 購買規程 | 相見積、随意契約の理由、発注の手続きの条文 | 社内ポータルのPDF |
| 職務権限表 | 金額の区分ごとの承認者 | 社内ポータルのPDF |
| 取適法の社内手引 | 対象の取引の考え方、発注のときに明示する事項、支払期日、禁止行為 | 購買部が作った手引のPDF |
| 購買部のFAQ | 過去に多かった質問と購買部の回答 | 購買部の表 |
質を決めるのは、従業員数の確認日です。 公正取引委員会は、従業員基準に当たるかは製造委託等をした時点の常時使用する従業員の数で判断するとし、前々月に賃金を支払った労働者の数を取引先が回答した場合などは、それを当月の数として扱えるとしています。 確認日が古い数で判定すると、その間に人数が境目を越えた取引先を見落とします。
委託事業者に従業員数を確かめる義務は無いとされていますが、 相手方が中小受託事業者かを判別する必要があるときは、相手方に確認することになるとされています。この構成では、確認日が一定の期間より古い取引先は、判定せずに確認の依頼を出す側に回します。
データの取得方法を決める
規程・権限表・手引・FAQは、Cloud Storage に置いて1つのデータストアに取り込みます。 文書ごとのメタデータに、文書の種類、版、施行日、状態を持たせます。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 資本金・従業員数・確認日 | 取引先マスタ(API) | 規則の判定 |
| 判定の候補 | 規則の表 | 検索の文の前提と、結論の照合 |
| 規程・権限表の断片 | データストア(doc_type: rule) | 相見積と承認者の根拠 |
| 手引の断片 | データストア(doc_type: toriteki_guide) | 取適法の判定と注意の根拠 |
| FAQの断片 | データストア(doc_type: faq) | 言い換えと補足だけ |
絞り込みは status: ANY("current") を基本にします。 規程を改定したら旧い版に retired を付け、絞り込みで外します。絞り込みは ANY() と AND・OR・NOT で組み立てられ、使う項目はスキーマで索引可能にする必要があるとされています。
判定の候補は、検索の文の先頭に「前提」として入れます。 answer メソッドは検索の文と前置きの指示(preamble)を受け取る作りなので、取引先の区分と規則の判定は、検索の文の中で渡します。
AIへ渡す前に整形する
- 規則の表を作る … 相見積の金額の区分と社数、権限表の承認者、取適法の資本金と従業員数の境目を、購買部が表に書き写します
- 金額は税抜にそろえる … 規程の金額が税抜か税込かを確かめ、チャットの欄と同じにします
- 取引先マスタの従業員数を埋める … 取引の多い取引先から確認を依頼し、確認日と一緒に入れます
- 規程と手引の版をそろえる … 現行版だけに
status: currentを付けます - FAQの古い回答を外す … 施行前の下請法を前提にした回答は、手引に合わせて書き直すか外します
- 文書の分割を設定する … データストアを作るときに分割を有効にし、見出しを各断片に付けます
1番目の表と、データストアの規程は、同じ日に直します。 規程の改定で相見積の金額が変わったのに表だけ古いと、規則の判定と条文が食い違い、全件が購買部に回ります。 食い違いは安全な側に倒れますが、構成の意味がなくなります。
5番目を軽く見ないでください。 施行前のFAQには「資本金1,000万円以下の取引先は」のように、従業員基準を知らない頃の回答が残っています。 そのまま検索に入れると、資本金だけで判定した回答の根拠として返ります。
6番目は、データストアを作る前に決めます。 分割の設定はデータストアの作成後に変えられないとされています。断片の大きさは100〜500トークンで指定でき、見出しを断片に含める設定(既定は無効)を有効にすると、「購買規程の第何条の表の行」であることが断片だけで分かります。
AIに処理させる
させるのは、前提として渡した判定の候補について、それを支える条文を規程と手引から探し、事業部の担当者が次に何をすればよいかを出典付きで短く書くことです。
| 質問 | 判定するもの | 根拠にする文書 |
|---|---|---|
| 相見積は要るか | 規則の表(金額の区分と社数) | 購買規程の相見積の条文 |
| 誰の承認が要るか | 規則の表(権限表の金額の欄) | 職務権限表 |
| 取適法の対象か | 規則の表(資本金・従業員数の境目)と発注の内容の区分 | 取適法の社内手引 |
| 対象なら何に気をつけるか | ─ | 手引の明示事項・支払期日・禁止行為の節 |
左の2列を中継プログラムが持ち、右の列をモデルに探させる、という分担がこの構成のすべてです。 取適法の規模の基準は、資本金の額で決まる区分と、常時使用する従業員の数(製造委託等では300人、情報成果物作成委託・役務提供委託の一部では100人)で決まる区分が組み合わさっています。この組み合わせをモデルの読解に任せると、資本金だけを見て「対象外」と答える回答が混ざります。
answer メソッドの設定は次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
includeCitations | 有効 | 条文に出典を付ける |
ignoreLowRelevantContent | 有効 | 根拠が無いときに無理に答えない |
ignoreNonAnswerSeekingQuery | 有効 | 雑談に答えない |
searchResultMode | CHUNKS | 条文と表の該当の断片を返す |
filter | status: ANY("current") | 旧い版を除く |
answerLanguageCode | ja | 回答を日本語にする |
session | 会話ごとに1つ | 続けて聞く質問に文脈を持たせる |
preamble | 下の指示 | 判定を変えないことと答え方を与える |
| させないこと | 理由 |
|---|---|
| 金額・資本金・従業員数の大小の比較 | 規則で行う。境目で外れない |
| 発注の内容が製造委託に当たるかの最終判断 | 仕様の指定の仕方で変わる。購買部と法務部が決める |
| 規程に無い例外の提案 | 「急ぎなら相見積は省ける」のような一般論を答えさせない |
| 取引先の従業員数の推測 | 会社の規模の印象で埋めない |
| 発注の申請の代行 | 申請は事業部が購買システムで出す |
3行目が最も起きやすい失敗です。 モデルは一般的な購買の慣行を知っており、「緊急の場合は随意契約とすることも考えられます」と書き足します。 規程に随意契約の理由の条文があればそれを示し、無ければ書かせません。
指示内容を固定する
answer メソッドの preamble に、次の指示を入れます。
あなたは購買部の担当として、事業部の担当者からの発注前の質問に、
購買規程・職務権限表・取適法の社内手引の該当箇所を示して答えます。
【前提の扱い】
- 質問の先頭に「前提」として、取引先の区分と、相見積・承認者・取適法の
判定が書かれています。この判定は購買部の規則で出したものです。
- 判定を変えないでください。判定を支える条文を探し、出典を付けて示してください。
- 判定と条文が合わないと考えたときは、判定を書き換えず、
「判定と規程の記載が一致しません。購買部が確認します」とだけ書いてください。
【答え方】
1. 相見積:必要な社数と、根拠の条文
2. 承認者:必要な承認者と、職務権限表の該当の欄
3. 取適法:対象か対象外かと、手引の該当の節。対象なら、発注のときに
明示する事項と支払期日について、手引の節の名前を示してください
4. 次にすること:事業部の担当者が購買システムで行うことを1〜2行で
【厳守事項】
- 規程と手引に書かれていないことを書かないでください。
一般的な購買の慣行や例外の扱いで補わないでください。
- 金額、資本金、人数を自分で比べないでください。前提の判定をそのまま使ってください。
- 取引先の従業員数を推測しないでください。
- 発注の内容が製造委託に当たるかを質問されたら、手引の考え方の節を示し、
「最終的な判断は購買部が行います」と書いてください。
- 旧い版の規程や、施行前の下請法を前提にした記述を使わないでください。
「判定を変えない」と「自分で比べない」を両方書くのが要です。 前者だけだと、モデルは前提を尊重しつつ「なお資本金から見ると対象外の可能性もあります」と書き足します。比べること自体を禁じ、合わないと考えたら購買部へ回る合図を書かせます。
検索の文は、中継プログラムが次のように組み立てます。 「前提:取引先の資本金2,000万円、常時使用する従業員の数45人(2026年8月確認)、発注の内容は自社図面による部品の製造、予定金額180万円(税抜)。判定:相見積2社以上、承認者は部長、取適法の対象。質問:見積は1社でもらっているが、相見積は要るか」。前提と判定を先に、質問を最後に置きます。
出力形式を固定する
answer メソッドの応答と規則の判定を、中継プログラムが次の形に整えます。
{
"inquiry_id": "",
"session": "",
"vendor": { "code": "", "capital_jpy": 0, "employees": 0, "employees_checked_on": "" },
"order": { "amount_jpy_excl_tax": 0, "category": "manufacturing | purchase | repair | software | service | transport | unknown" },
"rule_result": {
"quotes_required": 0,
"approver": "",
"toriteki": "covered | not_covered | needs_check"
},
"answer_matches_rule": true,
"status": "answered | routed",
"route_reason": "mismatch | employees_unknown | category_unknown | no_source | none",
"refs": [ { "doc_type": "rule | toriteki_guide | faq", "doc_id": "", "section": "", "version": "" } ],
"answer_text": ""
}
1つ目の理由は、判定を rule_result として回答の文と別に持てることです。 チャットの画面では、判定を回答の文の上に表の形で出し、回答の文が何を書いていても、判定は規則の値が表示されます。
| 条件 | 振り分け |
|---|---|
| 従業員数が空、または確認日が規則の期間より古い | routed/employees_unknown |
発注の内容の区分が unknown | routed/category_unknown |
| 回答に「一致しません」が含まれる | routed/mismatch |
出典に rule または toriteki_guide が1つも無い | routed/no_source |
| 上のどれにも当たらない | answered |
2つ目は、refs の doc_type で根拠の種類を検査できることです。 FAQだけを出典にした回答は、購買部が過去に答えた言い回しであって、規程そのものではありません。 規程か手引の出典が無ければ回します。
3つ目は、session を記録できることです。 続けて聞いた質問のうち、どの前提で答えたかを後から追えます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 購買の質問用のチャット | 社内向けのチャット | 質問を受け、判定と回答を返す |
| 取引先マスタ | 購買システムのAPIで読み取り | 資本金・従業員数・確認日を引く |
| Agent Search | answer メソッドの呼び出し | 条文から回答を作る |
| 購買部の待ち行列 | 書き込み | 回すものを、判定と回答の候補と一緒に載せる |
| 取引先への確認の依頼 | 下書きの作成 | 従業員数が分からない取引先への確認の文面 |
購買システムには書き込みません。 発注の申請も承認ルートの設定も、これまでどおり購買システムで行います。取引先マスタの従業員数を書き換えるのも、取引先の回答を受けた購買部です。
人が確認する
事業部へ直接返った回答は、購買部が1件ずつ見ることはしません。 規則の判定と条文の出典がそろい、判断が分かれうる条件に当たらないものだけを返しているからです。その代わり、週に1回、直接返した回答から20件を抜き出して購買部が読み直します。
needs_checkとcategory_unknownを先に見る … 取適法の対象かが分かれるものは、法務部と相談して答えますemployees_unknownは取引先への確認を出す … 下書きを直して送り、回答を受けたら取引先マスタを直しますmismatchは規則の表と規程を見比べる … 多くは表の書き写しの誤りか、規程の改定の取り込み漏れです- 答えたらFAQに足すかを決める … 同じ質問が続くものは、FAQに足して次から直接返るようにします
週1回の読み直しで見るのは、判定ではなく回答の文です。 判定は規則の値なので、見るべきは条文の示し方と「次にすること」の書き方です。事業部の担当者が読み違えそうな書き方が見つかったら、preamble の答え方を直します。
目標は、480件をならして1件3分です。 回る割合が2割前後という想定です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 取引先コードがマスタに無い | 新規の取引先なので、取引先の登録の手続きを案内して購買部へ回す |
| 従業員数が空・確認日が古い | 判定せずに employees_unknown で回し、確認の依頼の下書きを作る |
| 発注の内容の区分が「分からない」 | category_unknown で回す |
| 金額が区分の境目ちょうど | 規則の表の「以上・未満」で判定する。モデルには判断させない |
| 続く質問で金額や取引先を変えた | 欄を入れ直させ、規則の判定をやり直す |
| 規程に無い例外を聞かれた | 「規程に記載がありません」と返し、購買部へ回す |
| 支払を手形で求める取引先との発注 | 手形払が禁止されたことを示す手引の節を出し、購買部へ回す |
| 検索の呼び出しが失敗する | 判定の表だけを返し、「条文を示せませんでした」と添える |
4行目は、規則で判定する理由そのものです。 「100万円以上」の区分に、ちょうど100万円の発注を当てはめるのは、文章を読ませると揺れますが、表の比較なら揺れません。
最後の行で判定の表だけを返すのは、規則の判定が検索に依存しないからです。 条文が示せなくても、相見積の社数と承認者は正しく返せます。
記録を残す
- 質問の全文(取引先コード、予定金額、発注の内容の区分、本文)と日時、
session - そのとき引いた取引先マスタの値(資本金、従業員数、確認日)
- 規則の判定(
rule_result)と、そのときの規則の表の版 - answer メソッドの応答の全文(回答、出典、回答しなかった理由)
- 振り分けの結果と、購買部が最終的に答えた内容
2行目と3行目を残すのは、取適法の判断の時点を説明するためです。 従業員数は製造委託等をした時点の数で判断するとされているので、どの時点のどの数で判定したかが後から分からないと、点検で見つかったときに経緯を説明できません。
04実装レベルの3段階
半自動化で、1件10分が5分程度になります。 表を引く時間と取引先マスタを開く時間は無くなりますが、購買部が全件を受ける形は変わりません。本格構成で3分になり、この段階が本記事の想定です。 差が大きいのは、規程の表を引けば答えが出る質問が、購買部を通らずに完結するからです。 段階を飛ばさないでください。 半自動化の1か月で、従業員数が空欄の取引先と、規則の表の書き写しの誤りが見つかります。そこを直してから事業部に開くほうが、回る件数が減ります。 半自動化の間に購買部が答えた内容は、そのままFAQの書き直しの材料になります。
05工数削減シミュレーション
導入後 480件 × 3分 ÷ 60 = 24 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 購買規程に金額ごとの相見積の要否と承認者を定め、事業部が自分で発注の手続きを進める製造業・商社・IT企業。取適法(中小受託取引適正化法)の委託事業者に当たり、部品の製造委託・修理委託・ソフトウェアの作成委託などを多くの中小の取引先に出している場合。事業部から購買部への「この発注はどうすればよいか」という問い合わせが毎月数百件あり、購買部の担当者が同じ説明を繰り返している場合。取引先マスタに資本金を持っていて、常時使用する従業員の数の列を足せる場合。
- 発注のすべてを購買部が自ら行い、事業部から手続きの質問が来ない場合。購買規程が無く、相見積や承認の基準が担当者ごとに違う場合(答える根拠が無いので、まず規程を書くのが先です)。取引先が大企業ばかりで、取適法の対象になる取引がほとんど無い場合。取適法の対象かどうかの最終判断までAIに任せたい場合(この構成は社内手引と取引先の区分から判定の候補と根拠を示すだけで、判断が分かれるものは購買部と法務部が決めます)。
07最小構成で試す方法
- 先月の問い合わせから30件を選ぶ(取適法の対象かが分かれたもの、相見積の境目の金額のものを数件入れる)
- その30件について、購買部がどう答えたかをチャットの履歴から拾う
- 購買規程・職務権限表・社内手引を、手元のAIサービスに資料として読み込ませる
- 取引先の資本金・従業員数と金額を「前提」として書き、「この前提を変えずに、根拠の条文と次にすることを答えてください。金額や人数を自分で比べないでください」と指示する
- 出てきた条文と次にすることを、当時の購買部の回答と突き合わせる
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ条文・同じ手続きが出た | データストアの構築に進む |
| 規程に無い例外を書き足した | 指示の書き方で直る。構成は有効 |
| 前提の判定と違う結論を書いた | 規則の表か規程のどちらかが古い。 まず突き合わせる |
3行目が出ることは珍しくありません。 失敗ではなく、購買部の担当者が暗記で答えていた区分と、規程の表がずれていたことが分かったということです。 その場合は、規則の表を作る前に規程の改定の要否を検討してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 資本金だけで取適法の対象外と答える | 比較は規則で行い、モデルには前提として渡す |
| 規程に無い例外を書き足す | 指示で禁じ、出典に規程か手引が無ければ回す |
| 境目の金額で区分が揺れる | 規則の表の「以上・未満」で判定する |
| 従業員数が空欄のまま判定する | 空欄・確認日が古いものは判定せずに確認へ回す |
| 施行前のFAQが根拠として返る | 手引に合わせて書き直すか外す |
| 規則の表と規程の改定がずれる | 規程の改定と表の更新を同じ日に行う |
| 続く質問で前提が古いまま答える | 金額や取引先が変わったら欄を入れ直させる |
| 製造委託に当たるかを選択肢で決めてしまう | 「分からない」を置き、購買部へ回す |
| FAQだけを出典に答える | 規程か手引の出典が無ければ no_source で回す |
| 回答の文と画面の判定が食い違って見える | 判定を表の形で文の上に出し、文は根拠の説明に限る |
上の2行が、この構成の失敗のほとんどです。 どちらもモデルの読解に判定を任せたときに起きる失敗で、判定を規則の値として持ち、回答の文と照らしているかどうかで、事業部に開けるかが決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 取引先の資本金・従業員数・取引の区分、発注の予定金額、社内の購買規程と職務権限表です。取引先ごとの予定金額は、取引先どうしで見せてはいけない情報です。
- チャットの回答に他の取引先の情報を出さない … 検索するのは規程と手引だけで、取引先マスタはデータストアに入れません
- 取適法の対象かの最終判断を購買部と法務部に残す … この構成が出すのは、取引先の区分と規則から出した判定の候補と根拠の条文です
- 従業員数の確認は取引先に依頼して行う … 公正取引委員会は、委託事業者に賃金台帳の閲覧などの確認の義務は無く、判別が必要なら相手方に確認するとしています。推測で埋めないでください
- 判定の時点を記録に残す … どの時点の従業員数で判定したかを残し、後の点検で説明できるようにします
- 事業部へ直接返す範囲を規則で決める … 判断が分かれる区分を直接返す範囲に入れるときは、購買部長と法務部長が決めます
- 社内手引の改定を検索に遅れずに入れる … 公正取引委員会の運用の公表やQ&Aが更新されたら、手引を改め、旧い版に
retiredを付けます。旧い手引の断片が残ると、改正前の扱いが根拠として返ります
誤りが起きた場合のリスクは、取適法の対象の取引を対象外として発注することと、必要な承認を経ずに発注することの2つです。 前者は資本金だけで判定したり従業員数を推測したりすると起き、後者は規程に無い例外を答えると起きます。どちらも判定を規則に置くことで防ぎます。
10まず何から始めるか
1週目:規則の表を作る
購買規程の相見積の表、職務権限表、社内手引の規模の基準を、購買部が1つの表に書き写します。税抜か税込か、「以上」か「超」かを1行ずつ確かめます。
2週目:30件で試す
先月の問い合わせから30件を選び、手元のAIサービスに規程と手引を読み込ませ、前提を書いて聞きます。前提と違う結論を書いていないか、規程に無い例外を書き足していないかを最優先で見ます。
3週目:従業員数の列を埋める
取引の多い上位100社から、常時使用する従業員の数の確認を依頼し、確認日と一緒に取引先マスタに入れます。施行前のFAQの書き直しも、この週に済ませます。
4週目:データストアを作る
分割と見出しの設定を決め、規程・権限表・手引・FAQを取り込みます。購買部の担当者が判定と条文を見て、自分の回答と比べます。
2か月目: 中継プログラムと振り分けの規則を作り、購買部が受けた問い合わせに回答の候補を付けます。3か月目以降: 事業部に直接開き、1件10分が何分になったかを実測します。週次の読み直しで3か月続けて誤りが無かった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称中であること。answer メソッドの includeCitations、ignoreLowRelevantContent、ignoreNonAnswerSeekingQuery、answerSkippedReasons、preamble、answerLanguageCode、filter、searchResultMode。session による複数ターンの問い合わせと関連する質問。複数ターンと関連する質問が Generative responses の追加機能で使えること | Google Cloud: Get answers and follow-ups | 2026-10-07 |
絞り込みの ANY()、AND/OR/NOT、項目を索引可能にする必要があること | Google Cloud: Filter custom search for structured or unstructured data | 2026-10-07 |
| 分割の大きさが100〜500トークン、見出しを含める設定の既定が無効、分割はデータストアの作成後に変えられないこと | Google Cloud: Parse and chunk documents | 2026-10-07 |
| 取適法が令和8年1月1日に施行され、同日以降に発注する取引に適用されること。従業員基準が追加され、資本金基準が適用されない場合に適用されること。常時使用する従業員の数の数え方と、製造委託等をした時点で判断すること(前々月の数を回答された場合の扱い)。委託事業者に確認の義務は無く、判別が必要なら相手方に確認すること。手形払が禁止されたこと | 公正取引委員会: 取適法施行に当たり事業者の皆様に御留意いただきたい事項 | 2026-10-07 |
| 委託事業者・中小受託事業者の定義(第2条第8項・第9項)。資本金3億円・1千万円・5千万円の区分と、常時使用する従業員の数300人(製造委託等)・100人(情報成果物作成委託・役務提供委託の一部)の区分 | e-Gov法令API: 製造委託等に係る中小受託事業者に対する代金の支払の遅延等の防止に関する法律 | 2026-10-07 |
取適法の対象かの判断と、規程に無い取引の扱いは、購買部と法務部が、公正取引委員会の公表資料と社内の手引に沿って決めてください。 本記事は Google Cloud・公正取引委員会・e-Gov法令APIで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0723)についてのご相談はこちらから。
