財務部が移転価格の文書と過去のグループ内取引の検討の記録を Vertex AI Search で検索し、新しいグループ内取引の価格の決め方の根拠を、取引の種類と相手の国で絞った引用付きでそろえる
海外の子会社との新しい取引や価格の改定の検討の依頼が届いたとき、取引の種類と相手の子会社・国で絞って、ローカルファイルと過去の検討の記録を検索します。価格の決め方の根拠になる箇所を、引用付きでそろえます。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- IT・SaaS/商社/製造
- 対象部門
- 経理/財務
- 対象業務
- 情報検索/比較検討
- 主な課題
- 判断に時間がかかる/属人化している/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/属人化解消/検索時間短縮
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 依頼のフォームを読み、取引の種類、相手の子会社、新設か改定かを確かめる
- その子会社の直近のローカルファイルを開き、機能とリスクの整理と、算定方法の選定の理由を探す
- グループの移転価格の方針で、その取引の種類に当たる条項を探す
- 価格の検討のメモから、同じ種類の取引・同じ国の過去の検討を探す。見つからなければ経緯を知っている担当に聞く
- 見つけた箇所を写し、依頼の内容と前提が同じかを見比べる
- 検討の材料を1つの資料にまとめ、事業部と顧問の税理士法人に渡す
- 決まった価格と理由を、価格の検討のメモに書く
- 自動依頼のフォームが送られると、中継プログラムが取引の種類、相手の子会社、国、新設か改定かを受け取る
- 自動子会社の台帳を引き、その子会社の直近のローカルファイルの事業年度と、台帳に記録した機能の区分を付ける
- 自動Vertex AI Search(Agent Search)の answer メソッドで、その子会社と同じ取引の種類のローカルファイルの節と、方針の条項だけから、算定方法の選定の理由、検証の対象の選び方、機能とリスクの整理を引用付きでまとめさせる
- 自動search メソッドで、同じ取引の種類・同じ国の過去の検討の記録と、比較対象取引の利益率の箇所を、原文の抜き出しで一覧にする
- 自動引用の無い文を外す。過去の検討ごとに、そのときの機能の区分と、いまの台帳の区分が違えば印を付ける
- 人担当が、機能の区分の違いの印と引用の原文を見て、参考にしてよい例を選ぶ
- 人検討の材料を事業部と顧問の税理士法人に渡し、価格の考え方を相談する
- 【自動/人】 決まった価格と理由、そのときの機能の区分を、検討の記録として取り込む
各工程の詳しい説明を読む
- 依頼のフォームを読み、取引の種類、相手の子会社、新設か改定かを確かめる
- その子会社の直近のローカルファイルを開き、機能とリスクの整理と、算定方法の選定の理由を探す
- グループの移転価格の方針で、その取引の種類に当たる条項を探す
- 価格の検討のメモから、同じ種類の取引・同じ国の過去の検討を探す。見つからなければ経緯を知っている担当に聞く
- 見つけた箇所を写し、依頼の内容と前提が同じかを見比べる
- 検討の材料を1つの資料にまとめ、事業部と顧問の税理士法人に渡す
- 決まった価格と理由を、価格の検討のメモに書く
(a)文書が子会社ごと・年度ごとに散らばっている。 2番で、ローカルファイルは子会社ごと・事業年度ごとにファイルが分かれ、添付資料の整理表まで含めると1社1年で数十のファイルになります。 機能とリスクの整理がどの添付資料にあるかを、毎回探します。
(b)過去の検討の理由がメモの中に埋もれている。 4番で、検討のメモには結論の価格だけが書かれているものと、なぜその算定方法を選んだか、顧問の税理士法人がどう述べたかまで書かれているものが混ざっています。理由まで読まないと、参考にしてよい例かどうかが分かりません。
(c)前提の違う例を当てはめかける。 5番で、同じ「製品の販売」でも、相手の子会社が仕入れて売るだけか、現地で仕様の調整や保証まで担うかで、選ぶ算定方法と検証の対象が変わります。忙しい月ほど、取引の種類が同じというだけで過去の決め方を写しかけます。
(d)経緯を知っている2名に問い合わせが集まる。 4番で見つからないとき、聞く相手が決まっています。2名が休むと、検討が止まります。
- 【自動】 依頼のフォームが送られると、中継プログラムが取引の種類、相手の子会社、国、新設か改定かを受け取る
- 【自動】 子会社の台帳を引き、その子会社の直近のローカルファイルの事業年度と、台帳に記録した機能の区分を付ける
- 【自動】 Vertex AI Search(Agent Search)の answer メソッドで、その子会社と同じ取引の種類のローカルファイルの節と、方針の条項だけから、算定方法の選定の理由、検証の対象の選び方、機能とリスクの整理を引用付きでまとめさせる
- 【自動】 search メソッドで、同じ取引の種類・同じ国の過去の検討の記録と、比較対象取引の利益率の箇所を、原文の抜き出しで一覧にする
- 【自動】 引用の無い文を外す。過去の検討ごとに、そのときの機能の区分と、いまの台帳の区分が違えば印を付ける
- 【人】 担当が、機能の区分の違いの印と引用の原文を見て、参考にしてよい例を選ぶ
- 【人】 検討の材料を事業部と顧問の税理士法人に渡し、価格の考え方を相談する
- 【自動/人】 決まった価格と理由、そのときの機能の区分を、検討の記録として取り込む
5番目の印が、この設計の要です。 過去の決め方がどれほど正しくても、相手の子会社の機能が変わっていれば、そのまま当てはめられません。 機能の区分は、検索ではなく子会社の台帳の値を使います。
3番目と4番目を分けているのも、意図してのことです。 文章でまとめるのは決め方の理由と機能の整理だけにし、利益率の幅のような数字は、4番目の原文の抜き出しで見せます。
02今回想定するシステム構成
依頼のフォーム(取引の種類・相手の子会社・国・新設か改定か・説明) ▼【トリガー】フォームの送信 中継プログラム(Python。Cloud Run) │ 子会社の台帳で、直近の事業年度・機能の区分を引く ▼ Vertex AI Search(Agent Search) ├── answer メソッド ── 算定方法の選定の理由・検証の対象・機能とリスク(引用つき) └── search メソッド ── 過去の検討の一覧、比較対象の利益率の原文の抜き出し │ データストア:ローカルファイル(節ごと)、方針(条ごと)、検討の記録(1件1文書) ▼ 中継プログラム ── 引用の無い文を外す。機能の区分の違いの印 ▼ 検討の画面(決め方の理由/機能の比較/過去の検討/原文の抜き出し) ▼ 【担当が参考にする例を選び、事業部と税理士法人に相談する】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッドと search メソッド | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ― |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、フォーム・子会社の台帳・検索・検討の画面をつなぐ) | Node.js で同じものを書く |
| 保管 | Cloud Storage(ローカルファイル・方針・検討の記録の写し、メタデータ、問い合わせと応答の記録) | ― |
会計のシステムと価格のマスタには、書き込みません。 この構成が出すのは検討の材料までで、決まった価格を登録するのは、いまどおり承認を経た人の手です。
土台は、Vertex AI Search の answer メソッドと、search メソッドの抜き出しの機能です。 公式ページでは、answer メソッドは検索の結果から回答を作り、引用のメタデータを付けられるとされています。search メソッドには、文書の文をそのまま抜き出す抽出型の回答(extractive answers)と抽出型のセグメント(extractive segments)があり、公式ページでは、どちらも元の文書の文をそのまま返すもので、正確な言い回しが要るときに要約の代わりに使えるとされています。公式ページには、Vertex AI Search が Agent Search へ改称中である旨の記載があります。
03どうやって実装するのか
処理の起点を決める
事業部が依頼のフォームを送ったことを起点にします。 フォームの取引の種類は、製品の販売・部品の供給・役務の提供・技術の使用料・貸付の利息の5つから選ばせ、相手の子会社は一覧から選ばせます。自由な文で書かせると、同じ子会社が略称や現地の名前で届き、絞り込みが外れます。
担当が自分で問い直すこともできるようにします。 顧問の税理士法人との相談のあとで「同じ国で役務の提供の例は」と追加で調べるときは、検討の画面から取引の種類と国を選び直して問い合わせます。公式ページにある、前の問い合わせのセッションの ID を渡す方法で、同じ検討の続きとして扱います。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 依頼 | 取引の種類、相手の子会社、国、新設か改定か、見込みの金額、事業部の説明 | 依頼のフォーム |
| 子会社の情報 | 子会社の番号、国、直近のローカルファイルの事業年度、機能の区分(製造・販売・開発・地域の統括など) | 子会社の台帳 |
| ローカルファイル | 子会社ごと・事業年度ごとの節。国外関連取引の詳細、機能及びリスク、算定方法、比較対象取引 | データストア |
| 方針 | グループの移転価格の方針。取引の種類ごとの価格の決め方の原則と、承認の手順 | データストア |
| 検討の記録 | 1件ごとの取引の種類、相手の子会社、国、選んだ算定方法、検証の対象、そのときの機能の区分、顧問の税理士法人の意見、結論 | データストア |
質を決めるのは、検討の記録の「そのときの機能の区分」です。 過去の約400件には、この項目がありません。担当の2名が、ローカルファイルのその年度の機能とリスクの節を見て、件ごとに付けます。 全件を一度に付ける必要はなく、直近3年の件から付けます。
依頼のフォームの事業部の説明は、検索の問い合わせ文にだけ使います。 事業部の説明に「現地で保証の対応もしてもらう予定」と書かれていれば、機能の区分が変わる兆しとして、検討の画面にもそのまま出します。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| ローカルファイル | 共有フォルダの文書を、節ごとに分けて Cloud Storage へ写す | データストアの中身 |
| 方針 | 規程のファイルを条ごとに分けて写す | データストアの中身 |
| 検討の記録 | 表計算の行と文書を1件1文書にまとめて写す | データストアの中身 |
| 子会社の情報 | 子会社の台帳の読み取り | 絞り込みの条件と機能の区分の比較 |
| 答えと一覧 | answer メソッドと search メソッドの応答 | 検討の画面 |
ローカルファイルは、節ごとに1つの文書に分け、メタデータに子会社・国・事業年度・節の種類・取引の種類を持たせます。 公式ページでは、非構造のデータのメタデータは JSON Lines(NDJSON)のファイルで、各行に id、structData(または jsonData)、Cloud Storage の文書を指す content の mimeType と uri を持たせるとされています。1つの節は、たとえば次の1行にします。
{"id": "lf-th01-fy2025-s07",
"structData": {"doc_kind": "local_file", "entity": "TH01", "country": "TH",
"fiscal_year": 2025, "section": "independent_price_method",
"txn_types": ["parts_supply", "service"],
"function_class": "contract_manufacturer"},
"content": {"mimeType": "application/pdf", "uri": "gs://<bucket>/lf/TH01/2025/s07.pdf"}}
section は、ローカルファイルの並びに合わせて決めます。 国外関連取引の詳細(txn_detail)、機能及びリスク(function_risk)、算定方法(independent_price_method)、比較対象取引(comparables)を分けます。検討の記録は doc_kind を review、方針は policy にします。公式ページでは、取り込めるファイルの上限は200MBで、一度に100,000ファイルまで取り込めるとされています。
AIへ渡す前に整形する
- 子会社の引き当て … フォームの子会社を子会社の台帳で引き、番号・国・直近の事業年度・機能の区分を決めます
- 取引の種類のそろえ … フォームの5つの種類を、データストアの
txn_typesの値に置き換えます - 問い合わせ文の組み立て … 取引の種類と事業部の説明から、「部品の供給の対価の算定方法と検証の対象の選定の理由」のような文を作ります
- 絞り込みの条件の組み立て … 答えの側はその子会社の直近の年度と方針、一覧の側は同じ取引の種類と国の過去の検討に分けます
- 機能の区分の比較の準備 … 台帳のいまの区分を持っておき、一覧の各件の区分と比べられるようにします
4番目で、答えの側を「その子会社の直近の年度」に限るのは、年度をまたいだ文がまじると、別の年の前提で答えが作られるからです。 過去の年度は、一覧の側で年度を付けて見せます。
絞り込みの条件は、たとえば次のようになります(公式ページの書き方による)。
filter(決め方の理由の答え):
(doc_kind: ANY("local_file") AND entity: ANY("TH01")
AND fiscal_year = 2025
AND section: ANY("independent_price_method", "function_risk"))
OR (doc_kind: ANY("policy") AND txn_types: ANY("parts_supply"))
filter(過去の検討の一覧):
doc_kind: ANY("review") AND txn_types: ANY("parts_supply")
AND country: ANY("TH", "VN", "ID") AND fiscal_year >= 2021
公式ページでは、ANY は指定した値のどれかに完全に一致するときに真になり、数の項目は <・<=・>・>=・= で比べられ、AND・OR と括弧で組み合わせられるとされています。絞り込みに使う項目は、スキーマの画面でインデックス可能にしておく必要があります。一覧の側の国を近い国に広げるかは、移転価格の担当が決めた組み合わせの表で決めます。
AIに処理させる
answer メソッドにさせるのは、その子会社の直近のローカルファイルと方針から、算定方法の選定の理由、検証の対象の選び方、機能とリスクの整理を、文書の言葉のまま引用付きでまとめることです。 新しい取引にどの算定方法を使うべきかは、書かせません。
| 返させるもの | 中身 | 返せないときの扱い |
|---|---|---|
| 算定方法の選定の理由 | その年度に選んだ方法と、ほかの方法を選ばなかった理由の記載 | 見つからなければ「選定の理由の記載なし」 |
| 検証の対象の選び方 | どちらの会社を検証の対象にしたかと、その理由 | 見つからなければ「記載なし」 |
| 機能とリスクの整理 | 各社が担う機能と負うリスクの記載 | 見つからなければ「記載なし」 |
| 方針の条項 | その取引の種類の価格の決め方の原則と、承認の手順 | 原文のまま引用する |
search メソッドにさせるのは、過去の検討の一覧と、比較対象取引の利益率の箇所の原文の抜き出しです。 抽出型のセグメントは最大10件、前後のセグメントも最大3つずつ付けられると公式ページにあり、利益率の幅の文の前後に、比較対象の選び方の文を付けて見せます。
| させないこと | 理由 |
|---|---|
| 新しい取引の算定方法を選ぶ | 機能とリスク、比較できる取引の有無を見て、担当と税理士法人が決める |
| 価格や利益率を計算する | 数字は年度と比較対象の企業に結びついている |
| 利益率の幅を文章で言い換える | 年度と範囲の区切りが消える |
| 過去の例が当てはまると書く | 機能の区分が同じかは台帳と原文で人が見る |
| 別の子会社や別の年度の記載を、この子会社のいまの記載として書く | 前提が違う |
3行目がいちばん起きやすい失敗です。 答えを短くまとめさせると、「営業利益率はおおむね○%前後」のように範囲を1つの数に丸めます。 数字は答えに入れさせず、抜き出しの側で見せます。
指示内容を固定する
answer メソッドでは、回答の口調や詳しさをプロンプトの前置き(preamble)で指定できます。前置きを次のようにします。
あなたは財務部の移転価格の担当のための、文書の資料係です。
検索で見つかったローカルファイルとグループの方針だけを根拠に、次の順で答えてください。
1. 算定方法の選定の理由(選んだ方法と、ほかの方法を選ばなかった理由)
2. 検証の対象の選び方と、その理由
3. 各社が担う機能と負うリスク
4. 方針の該当する条項と承認の手順
守ること:
- 文書の言葉のまま書いてください。言い換えないでください。
- 利益率、価格、金額、比率の数字を書かないでください。数字は「原文の抜き出しを参照」と書いてください。
- 新しい取引にどの算定方法を使うべきかを書かないでください。
- 過去の例が新しい取引に当てはまるかを書かないでください。
- 会社の名前、国、事業年度は原文の表記のまま写してください。
- 見つからない項目は「記載なし」と書いてください。
- 検索結果に無いことを書かないでください。
「数字を書かない」を入れるのは、答えの文章の中では、どの年度のどの比較対象から出た数字かが見えなくなるからです。 数字は抜き出しの側で、事業年度と節を付けて見せます。
「当てはまるかを書かない」を入れるのは、モデルが親切に「本件にも同様の方法が適切と考えられます」と結びがちだからです。 その一文は、検討の結論のように読まれます。
あわせて、answer メソッドの設定を次のようにします。
| 設定 | 値 | 理由 |
|---|---|---|
引用(includeCitations) | 有効 | 文ごとに出典を示させる。既定は無効 |
関連性の低い内容の無視(ignoreLowRelevantContent) | 有効 | 関係の薄い節から無理に答えさせない |
根拠の支持による絞り込み(groundingSpec の filteringLevel) | FILTERING_LEVEL_HIGH から試す | 支えの弱い答えを外す。未設定だと絞り込みが掛からない |
回答の言語(answerLanguageCode) | ja | 日本語で答えさせる |
絞り込み(filter) | 前処理で組み立てた答えの側の条件 | その子会社の直近の年度と方針 |
公式ページでは、基準に届かない答えは返されず、LOW_GROUNDED_CONTENT が理由として返る例があります。引用の位置は UTF-8 のバイト単位なので、日本語の答えに印を差し込むときは文字の位置に直します。
出力形式を固定する
中継プログラムが、応答と子会社の台帳の値を次の形にそろえて検討の画面に渡します。
{
"request_id": "",
"txn_type": "parts_supply",
"entity": "",
"country": "",
"latest_fy": 2025,
"function_class_now": "",
"basis_answer": "",
"skipped_reason": "",
"citations": [
{ "sentence": "", "doc_id": "", "fiscal_year": 0, "section": "", "quote": "" }
],
"past_reviews": [
{ "review_id": "", "entity": "", "country": "", "fiscal_year": 0,
"method": "", "tested_party": "", "function_class_then": "",
"function_changed": false, "advisor_note": "" }
],
"figures": [
{ "doc_id": "", "fiscal_year": 0, "segment": "", "prev": "", "next": "" }
],
"session_id": ""
}
1つ目の理由は、function_changed で前提の違う例を見分けられることです。 過去の検討の function_class_then と、いまの台帳の function_class_now が違えば真にし、一覧の行を灰色にして「機能の区分が違う」と出します。 判定は文字列の比較だけで、AIには判断させません。
2つ目は、figures を basis_answer と別に持てることです。 利益率の幅は抜き出しの原文のまま、事業年度と前後の文を付けて画面の別の枠に出します。答えの文章と数字が同じ枠に並ぶと、数字が答えの結論のように読まれます。
3つ目は、citations に事業年度を持てることです。 引用の元が直近の年度でなければ、中継プログラムがその文を外します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 依頼のフォーム | フォームの送信の通知 | 依頼の受け取り |
| 子会社の台帳 | 子会社の番号での引き当て(読み取りのみ) | 国・直近の年度・機能の区分 |
| Vertex AI Search | answer メソッドと search メソッドの API | 決め方の理由、過去の検討、原文の抜き出し |
| Cloud Storage | 文書の写し | 引用した箇所の原文の表示 |
| 検討の記録 | 検討の画面からの書き出し | 結論と理由、そのときの機能の区分 |
顧問の税理士法人への相談は、いまどおり担当がメールと打ち合わせで行います。 検討の画面の内容を資料として書き出せるようにしますが、送るかどうか、どこまで送るかは担当が決めます。
人が確認する
- 機能の区分を見る … 過去の検討の灰色の行と、事業部の説明に書かれた機能の変化の兆しを確かめます
- 引用の原文を読む … 答えの文ごとに、ローカルファイルの原文の節を開いて確かめます
- 数字は原文で見る … 利益率の幅は抜き出しの原文と事業年度で読み、答えの文章からは読みません
- 参考にする例を選ぶ … 前提が同じ例だけを検討の材料に残します
- 結論を記録する … 決まった価格と理由、そのときの機能の区分を検討の記録に書きます
1番目と4番目を省かないでください。 前提の違う例を材料に入れると、税理士法人との相談がその例の説明から始まり、かえって時間がかかります。
目標は、30件をならして1件50分です。 原文を読み、参考にする例を選び、材料を整える時間です。経緯を知っている2名は、毎月、選ばれた例と結論を見比べます。 灰色の行が参考に選ばれていれば、台帳の機能の区分が古いか、区分の付け方が粗いかのどちらかです。
例外に対処する
| 起きること | 対応 |
|---|---|
| 子会社が台帳に無い(新設の子会社) | 答えの側を方針だけで作り、「ローカルファイルなし」と出す |
| 直近の年度のローカルファイルが未作成 | 1つ前の年度で答え、年度が古いことを画面の上に出す |
| 取引の種類が5つに当たらない | 検索に回さず、担当に種類を決めてもらう |
| 同じ取引の種類・国の過去の検討が無い | 近い国の組み合わせの表で広げ、広げたことを出す |
| 答えが作られなかった(支持が低い) | 答えを出さず、過去の検討の一覧と原文の抜き出しだけを出す |
| 事業部の説明に機能の変化の兆しがある | 一覧のすべての行に「機能の確認が要る」を付ける |
| 検索が応答しない | いまどおりローカルファイルと検討のメモを開いて探す |
2行目の「年度が古いことを出す」は、決算の前後に毎年起きます。 ローカルファイルの作成は年に1度なので、次の年度の文書ができるまでの数か月は、1つ前の年度の前提で答えることになります。
記録を残す
- 依頼の内容と、そのとき引いた子会社の台帳の値(直近の年度、機能の区分)
- 絞り込みの条件、answer メソッドと search メソッドの応答の全文
- 担当が参考に選んだ例と、外した例と理由
- 税理士法人に渡した資料と、意見の要旨
- 決まった価格と理由、そのときの機能の区分
最後の行が、次の検討の材料になります。 そのときの機能の区分を記録に残しておくと、数年後に同じ子会社の検討をするときに、前提が変わったかどうかが一目で分かります。
04実装レベルの3段階
半自動化で、1件120分が80分ほどになります。 文書を探す時間は減りますが、機能の区分を見比べることと、材料を1つにまとめることが残ります。本格構成で50分になり、この段階が本記事の想定です。 段階を進める前に、子会社の台帳の機能の区分の付け方を決めてください。 区分が粗いと、機能が変わった子会社の例に印が付かず、前提の違う例が材料に入ります。
05工数削減シミュレーション
導入後 30件 × 50分 ÷ 60 = 25 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 海外に製造・販売・開発の子会社を複数持ち、製品の販売、部品の供給、役務の提供、技術の使用料といったグループ内の取引の新設や価格の改定を毎月いくつも検討している製造業・商社・ソフトウェアの会社。子会社ごと・事業年度ごとのローカルファイルと、過去の価格の検討のメモが数年分たまっている場合。移転価格の担当が少なく、経緯を知っている人に問い合わせが集まっている場合。Google Cloud を使っている、または使い始められる場合。
- 海外の子会社が1社だけで、グループ内の取引の種類も1つに限られる場合。過去の検討の経緯が文書に残っておらず、担当者の記憶にしか無い場合。社内の決まりで、利益率や価格の資料を外部のクラウドに置けない場合。なお、独立企業間価格の算定方法の選択、価格の決定、税務の当局への説明の判断は、この構成では代替できません。
07最小構成で試す方法
- 過去2年の検討のメモから、20件を選ぶ(前提が同じで決め方を写せた件と、機能が変わって決め方を変えた件を混ぜる)
- その20件の相手の子会社の直近2年分のローカルファイルを節ごとに分け、子会社・国・事業年度・節の種類を付けて、Vertex AI Search のデータストアを作る
- 方針と、同じ子会社の過去の検討の記録を取り込み、そのときの機能の区分を付ける
- 20件の依頼から絞り込みの条件と問い合わせ文を作り、answer メソッドと search メソッドを短いスクリプトで呼んで、答えと抜き出しを見る
- 答えと一覧が、当時の担当が探し出した文書と合うかを、経緯を知っている2名が突き合わせる
20件のうち、答えの文章に数字が入った件数と、機能が変わった件で灰色の印が付かなかった件数を最初に数えます。 どちらか1件でもあれば、前置きと台帳の区分を直してから先へ進みます。
| 出てきた内容 | 判断 |
|---|---|
| 決め方の理由が引用付きで出て、機能が変わった件に印が付いた | フォームと子会社の台帳の連携に進む |
| 答えに利益率の数字が入った | 前置きを直す |
| 機能が変わった件に印が付かない | 機能の区分の付け方を細かくする |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 前提の違う過去の例を写す | 検討の記録にそのときの機能の区分を持たせ、台帳と違えば灰色で出す |
| 利益率の幅が答えの中で丸められる | 前置きで数字を禁じ、抜き出しの原文で見せる |
| 別の年度の記載が答えにまじる | 答えの側を直近の年度に絞り、引用の年度を確かめる |
| 答えが「本件にも適切」と結ぶ | 前置きで当てはまるかを書かせない |
| 子会社の名前が略称や現地の名前で届く | フォームで一覧から選ばせ、台帳で番号に引き当てる |
| 添付資料の整理表が検索に当たらない | 節の文書に添付資料の整理表を含め、表として取り込む |
| 直近の年度の文書がまだ無い | 1つ前の年度で答え、年度が古いことを出す |
| 検討のメモに理由が書かれていない | 結論だけの件は一覧で「理由なし」と出し、参考にしない |
上の2行が、この構成の失敗のほとんどです。 どちらも、過去の文書を「そのときの前提ごと」でなく、決め方と数字だけ取り出してしまう問題です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: グループ内の取引の価格、子会社ごとの利益率、比較対象の企業の情報、顧問の税理士法人の意見です。価格と利益の構造がまとまった、経営上もっとも重い情報の一つです。
- 価格を決めるのは人と専門家に残す … 国税庁のローカルファイルの作成のサンプルは、独立企業間価格の算定方法の選択や算定にあたって留意する事項は、別途、関係法令と関係通達等を参照するよう注意しています。答えから算定方法の推奨を外し、決め方は担当と顧問の税理士法人が決めます
- 見る人を絞る … 検討の画面と検索は財務部の移転価格の担当だけで使い、事業部には検討の材料のうち担当が選んだものだけを渡します
- データの置き場所を確かめる … 公式ページでは、データストアの場所は
globalのほかus、euのマルチリージョンで、日本のリージョンは載っていません。 社内の決まりと、子会社のある国の決まりに照らして決めます - 税理士法人の意見の扱いを決める … 意見の要旨を検討の記録に入れるかは、税理士法人との契約と社内の決まりで先に決めます
- 価格のマスタに書き込まない … 中継プログラムは台帳を読むだけにし、答えから価格を登録する経路は作りません
誤りが起きた場合のリスクは、前提の違う例で価格を決めることと、別の年度の数字を根拠にすることの2つです。 前者は機能の区分の比較で、後者は数字を答えから外して原文の抜き出しで見せることで防ぎます。
10まず何から始めるか
1週目:機能の区分と取引の種類を決める
移転価格の担当の5名で、子会社の機能の区分(製造・受託製造・販売・開発・地域の統括など)と、フォームの取引の種類の5つを決め、子会社の台帳に区分を付けます。
2週目:20件の子会社のローカルファイルを節に分ける
第8章の20件に出てくる子会社の直近2年分のローカルファイルを、機能及びリスク、算定方法、比較対象取引などの節に分け、メタデータを付けます。過去の検討の記録に、そのときの機能の区分を付けます。
3週目:20件で試す
第8章の手順でデータストアを作り、20件の依頼で答えと抜き出しを確かめます。答えに数字が入っていないかと、機能が変わった件に印が付くかを最優先で見ます。
4週目:依頼のフォームを直す
取引の種類と子会社を一覧から選ぶ形にし、事業部の説明の欄に「相手の子会社に新しく担ってもらうこと」を書く欄を足します。
2か月目: 全子会社の6年分を取り込み、担当が子会社と取引の種類を選んで使い始めます。3か月目以降: 依頼のフォームからの自動の問い合わせ、機能の区分の比較、検討の記録の取り込みを足し、1件120分が何分になったかを実測します。経緯を知っている2名に聞かなくても、前提の同じ過去の例と根拠の原文をそろえて税理士法人に相談できるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
answer メソッドが検索結果から回答を作り、引用のメタデータを付けられること(includeCitations の既定は無効)。前置き(preamble)で回答の口調・詳しさを指定できること。セッションの ID で続けて問えること。filteringLevel の値と、未設定なら絞り込みが掛からないこと。基準に届かない答えが返されず LOW_GROUNDED_CONTENT が返る例。引用の位置が UTF-8 のバイト単位であること。Vertex AI Search が Agent Search へ改称中であること | Google Cloud: Get answers and follow-ups | 2026-10-29 |
| 抽出型の回答・セグメントが元の文書の文をそのまま返し、正確な言い回しが要るときに要約の代わりに使えること。抽出型のセグメントが最大10件、前後のセグメントが最大3つずつであること。非構造のデータでは Enterprise エディションの機能が要ること | Google Cloud: Get snippets and extracted content | 2026-10-29 |
絞り込みに使う項目をインデックス可能にすること。ANY が完全一致であること。数の項目を比較の演算子で比べられること。AND・OR と括弧で組み合わせられること | Google Cloud: Filter search for structured or unstructured data | 2026-10-29 |
非構造のデータのメタデータが JSON Lines(NDJSON)で、各行に id・structData または jsonData・content の mimeType と uri を持つこと。ファイルの上限が200MB、一度に100,000ファイルまで取り込めること | Google Cloud: Prepare data for ingesting | 2026-10-29 |
データストアの場所が global と、us・eu のマルチリージョンで、日本のリージョンの記載が無いこと | Google Cloud: Agent Search locations | 2026-10-29 |
| 国税庁が「移転価格ガイドブック」を公表し、第3部に同時文書化対応ガイド(ローカルファイルの作成サンプル)があること | 国税庁: 移転価格ガイドブック | 2026-10-29 |
| ローカルファイルのサンプルの項目(当社及びグループの概要、国外関連者の概要、国外関連取引の詳細、機能及びリスク、事業方針等、市場等に関する分析、独立企業間価格の算定方法等、比較対象取引の詳細)。算定方法の選択や算定の留意事項は別途関係法令と関係通達等を参照するよう注意していること | 国税庁: 同時文書化対応ガイド(ローカルファイルの作成サンプル) | 2026-10-29 |
算定方法の選択、価格の決定、税務の当局への説明は、関係法令と通達、顧問の税理士法人の判断に沿って行ってください。 本記事は、上記の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2246)についてのご相談はこちらから。
