税理士事務所の職員が顧問先から受ける税務の質問に、国税庁の通達・タックスアンサーと事務所の過去の回答集を根拠に、条文の場所付きで回答案を返す
税理士事務所の職員が顧問先から受ける「この飲食は交際費か」「この支払に源泉は要るか」に、国税庁の通達・タックスアンサーと事務所の過去の回答集を探し、根拠の場所付きの回答案を作ります。税理士が確認してから顧問先へ返します。
- 生成AI
- Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 連携・自動化
- Python
- 対象業界
- 士業
- 対象部門
- 経理/財務
- 対象業務
- 情報検索/書類作成
- 主な課題
- 判断に時間がかかる/属人化している/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 品質標準化/属人化解消/教育コスト削減/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 顧問先から、メール・チャット・電話で質問が届く
- 担当の職員が、取引の内容、金額、相手先、日付を確かめる。足りなければ聞き返す
- 国税庁のタックスアンサーや通達のページを検索し、該当しそうな記載を探す
- 共有フォルダで、似た質問への過去の回答を探す
- 回答案を書き、根拠のページを貼る
- 税理士が回答案と根拠を確かめ、直す
- 職員が顧問先へ返す
- 人職員が、事務所の社内画面に質問を書き、税目と取引の日(または事業年度)を選ぶ
- 自動中継プログラムが、顧問先の名前と個人名を伏せ、税目で検索の範囲を決める
- 自動検索基盤が、国税庁の公開情報と事務所の回答集の両方から根拠を探し、回答案を作る
- 自動中継プログラムが、根拠の原文の一節と、その場所(タックスアンサーの番号、通達の番号)を取り出す
- 自動根拠の法令等の時点と取引の日を比べ、改正の一覧に当たる項目があれば注意を付ける
- 自動回答案の1文ずつを根拠の原文と照らし、裏付けの無い文に印を付ける
- 自動回答に要るのに質問に無い事実(参加人数、相手先、資本金など)を、顧問先に聞き返す点として並べる
- 人職員が、印の付いた文と聞き返す点を確かめ、回答案を直す
- 人税理士が回答案と根拠を確かめ、承認する
- 人職員が顧問先へ返し、承認された回答を回答集に足す
各工程の詳しい説明を読む
- 顧問先から、メール・チャット・電話で質問が届く
- 担当の職員が、取引の内容、金額、相手先、日付を確かめる。足りなければ聞き返す
- 国税庁のタックスアンサーや通達のページを検索し、該当しそうな記載を探す
- 共有フォルダで、似た質問への過去の回答を探す
- 回答案を書き、根拠のページを貼る
- 税理士が回答案と根拠を確かめ、直す
- 職員が顧問先へ返す
(a)根拠を探すのに時間がかかる。 タックスアンサーで概要を見て、通達で細かい扱いを見て、質疑応答事例で近い事例を探す。経験の浅い職員ほど、どこから見ればよいかで迷います。
(b)過去の回答が改正の前のものだと気づかない。 過去の回答を見つけても、その回答をした日と、今の法令の時点が違うことがあります。交際費の飲食費の基準のように金額が変わったものは、古い回答をそのまま使うと誤りになります。
(c)税理士の確認で手戻りが出る。 根拠の場所が書かれていない回答案は、税理士が自分で根拠を探し直します。根拠と回答の文がずれていると、職員に差し戻されます。
(d)同じ質問を顧問先ごとに調べ直す。 300社の中で、同じ時期に同じ質問がいくつも届きます。誰がいつ何と答えたかが探せないので、職員ごとに調べ直しています。
- 【人】 職員が、事務所の社内画面に質問を書き、税目と取引の日(または事業年度)を選ぶ
- 【自動】 中継プログラムが、顧問先の名前と個人名を伏せ、税目で検索の範囲を決める
- 【自動】 検索基盤が、国税庁の公開情報と事務所の回答集の両方から根拠を探し、回答案を作る
- 【自動】 中継プログラムが、根拠の原文の一節と、その場所(タックスアンサーの番号、通達の番号)を取り出す
- 【自動】 根拠の法令等の時点と取引の日を比べ、改正の一覧に当たる項目があれば注意を付ける
- 【自動】 回答案の1文ずつを根拠の原文と照らし、裏付けの無い文に印を付ける
- 【自動】 回答に要るのに質問に無い事実(参加人数、相手先、資本金など)を、顧問先に聞き返す点として並べる
- 【人】 職員が、印の付いた文と聞き返す点を確かめ、回答案を直す
- 【人】 税理士が回答案と根拠を確かめ、承認する
- 【人】 職員が顧問先へ返し、承認された回答を回答集に足す
5番目が、この設計の分かれ目です。 根拠の時点と取引の日を比べるのは、AIではなく中継プログラムが、事務所の持つ改正の一覧で行います。 AIに「改正があったか」を判断させると、検索で見つかった文書の範囲でしか答えられません。
10番目で、回答集が育ちます。 承認された回答だけを、根拠の時点と承認した税理士の名前を付けて足します。承認されていない回答案は、回答集に入れません。
02今回想定するシステム構成
事務所の社内画面(職員が使う) │ ① 質問・税目・取引の日を入れる ▼ 中継プログラム(Cloud Run)── 伏せ字、税目の範囲、改正の一覧 ▼ Vertex AI Search(Agent Search) ├─ データストア1:国税庁の公開情報(タックスアンサー・通達・質疑応答事例を保存したもの) ├─ データストア2:事務所の回答集(税理士が承認した回答) ├─ answer メソッド ── 回答案と出典 └─ search メソッド ── 抽出セグメント(根拠の原文) ▼ 中継プログラム ├──▶ 根拠の時点と取引の日を比べ、改正の注意を付ける ├──▶ check grounding API ── 回答案の1文ずつの裏付け ▼ 社内画面に返す(回答案・根拠・注意・聞き返す点) → 職員 → 税理士の承認
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Vertex AI Search(Agent Search)の answer メソッド・search メソッド・check grounding API | Azure AI Search、Amazon OpenSearch Service |
| 生成AI | Gemini(answer メソッドの回答の生成に使うモデル) | ─ |
| 連携 | 中継プログラム(Python。Cloud Run で動かし、社内画面と検索基盤と改正の一覧をつなぐ) | Node.js で同じものを書く |
| 集計 | BigQuery(回答案と承認の記録の保管と、質問の分野ごとの月次集計) | Google スプレッドシート |
| 保管 | Cloud Storage(国税庁のページの保存版と、回答集の原本・メタデータ) | ─ |
会計ソフトにはつなぎません。 顧問先の仕訳や取引の明細をこの構成に通さないことで、顧問先の情報が検索基盤に入る範囲を、質問の文面だけに限ります。 取引の事実は、職員が質問に書くか、顧問先に聞き返して確かめます。
土台になるのは、Vertex AI Search の answer メソッドです。 公式のドキュメントには「Vertex AI Search is being renamed to Agent Search.」と書かれており、製品は Agent Search へ改称されつつあります。 本記事では両方の名前を併記します。
国税庁のページは、ウェブサイトのデータストアにせず、保存して Cloud Storage から取り込みます。 ウェブサイトのデータは、高度なインデックス登録を使うと抽出セグメントなどが使えるようになりますが、高度なインデックス登録には、インデックスするサイトのドメインの所有権の確認が要ります。 国税庁のサイトの所有権は確かめられないので、ページを保存して非構造化の文書として取り込みます。保存すれば、取得した日と法令等の時点もメタデータで持てます。
回答案の裏付けは、check grounding API で確かめます。 回答案(answer candidate)が、参照する文(facts)でどれだけ裏付けられるかを0〜1で返し、回答案の主張ごとに引用と、裏付けの確認が要る文かどうかを返します。参照する文は最大200件、回答案は最大4,096トークンまでです。
03どうやって実装するのか
処理の起点を決める
職員が社内画面で質問を送ったときに動きます。 画面では、質問の文面に加えて、税目と取引の日(または事業年度)を必ず選んでもらいます。 取引の日を選ばずに送れる作りにすると、改正の前後を比べられません。
税目は「法人税」「所得税(源泉徴収を含む)」「消費税(インボイスを含む)」「印紙税」「分からない」から選びます。「分からない」のときは税目で絞らずに検索し、回答案の頭に、どの税目の根拠が出たかを並べます。 交際費の質問が消費税の仕入税額控除にも関わるように、1つの質問が2つの税目にまたがることがあるためです。
顧問先とのやり取りが続いたら、同じ質問の記録に足していきます。 聞き返した事実が分かったら、同じ記録に書き足して送り直し、回答案を作り直します。最初の回答案と作り直した回答案を両方残し、税理士はどの事実で答えが変わったかを見られます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 職員の質問 | 質問の文面(伏せた後)、税目、取引の日または事業年度 | 事務所の社内画面 |
| タックスアンサー | 項目ごとの説明、根拠法令等、法令等の時点 | 国税庁のページを保存したもの |
| 法令解釈通達 | 基本通達・措置法通達の該当の項 | 同上 |
| 質疑応答事例 | 照会と回答の事例 | 同上 |
| 事務所の回答集 | 承認された回答、根拠、回答した日、承認した税理士、分野 | 事務所が持つもの |
| 改正の一覧 | 改正の項目、関係するタックスアンサーや通達の番号、適用の始まる日 | 税理士が決めて持つ一覧 |
質を決めるのは、改正の一覧です。 国税庁のページは、新しい法令等に合わせて書き換わります。書き換わった後のページには、改正の前の取扱いが短くしか残らないことがあります。 事務所の回答集の側も、回答した日の法令で書かれています。どの項目が、いつから変わったかを、税理士が一覧として持ち、中継プログラムがそれで比べます。
国税庁の文書の中でも、重みを分けます。 タックスアンサーは概要の説明、通達は取扱いの基準、質疑応答事例は個別の照会への回答です。回答案の「結論の案」には通達とタックスアンサーを先に使い、質疑応答事例は「近い事例」として示させます。 事例の前提と顧問先の事実が同じとは限らないためです。
回答集には、顧問先の名前を残しません。 回答の中の顧問先の名前と取引先の名前は、回答集に足す前に伏せます。他の顧問先の質問の根拠として出てくるからです。
データの取得方法を決める
国税庁のページは、決まった一覧のURLを定期的に保存し、Cloud Storage に置きます。 質問の多い分野のタックスアンサーと、基本通達の該当の章から始め、少しずつ広げます。データストアは、国税庁の公開情報と事務所の回答集の2つに分け、1つのアプリから両方を検索します。
| メタデータ | 値の例 | 使いどころ |
|---|---|---|
source | nta_taxanswer、nta_tsutatsu、nta_qa、office_answer | 出典の表示と、国税庁と事務所の区別 |
tax | corporate、income、consumption、stamp | 税目で範囲を切る |
ref_no | 5265、通達の番号 | 根拠の場所を示す |
law_as_of | ページに書かれた法令等の時点(ISO 8601 の日付) | 根拠の時点を示す |
fetched_at | 保存した日 | 保存版が古くなっていないかを見る |
answered_at/approved_by | 回答した日、承認した税理士 | 過去の回答の時点と責任者を示す |
law_as_of は、タックスアンサーの末尾の記載から取ります。 「No.5265 交際費等の範囲と損金不算入額の計算」には「令和7年4月1日現在法令等」と書かれており、この日付をそのまま持たせます。 通達は、国税庁の通達のページで示される改正分の日付を持たせます。
保存はページのHTMLのまま行い、ページの上下のナビゲーションは落とします。 落とさないと、どのページにも同じ案内の文が入り、検索の当たりがぶれます。URLは uri として残し、根拠を示すときに国税庁のページへ戻れるようにします。
取り込みは、Cloud Storage から定期の同期にします。間隔は1日・3日・5日から選べます。国税庁のページの保存は週に1回とし、保存版が変わったものだけが同期で入れ替わるようにします。
AIへ渡す前に整形する
- 伏せ字 … 顧問先の名前、取引先の名前、個人の氏名、口座番号らしい文字列を、記号に置き換えます
- 税目と取引の日の確認 … 選ばれた税目を絞り込みの式にし、取引の日を改正の一覧と比べる準備をします
- 質問の言い換えの範囲の設定 … 1つの質問に2つの論点(交際費と消費税など)があるとき、分けて検索させます
- 回す規則の照合 … 「税務調査で指摘された」「更正の請求」「否認された」など、個別の事実の検討が中心になる語を見ます
- 保存版の確認 … 国税庁のページの保存版が、決めた期間より古くなっていないかを見ます
4番目に当たったものは、回答案を作らずに税理士へ直接回します。 調査や争いが絡む質問は、一般の通達で答える質問とは別の仕事です。
3番目には、answer メソッドの言い換えの設定を使います。 queryRephraserSpec.maxRephraseSteps を2〜3にすると、複雑な質問を分けて検索させられます(範囲は1〜5、既定は1)。
AIに処理させる
させるのは、国税庁の公開情報と事務所の回答集から根拠を探し、根拠に書かれた範囲で回答案を書くことだけです。
| 回答案の部分 | 中身 | 根拠にするもの |
|---|---|---|
| 結論の案 | 「〜に当たると考えられます」の形で、根拠の範囲で書く | タックスアンサー、通達 |
| 根拠 | タックスアンサーの番号、通達の番号、原文の一節 | 抽出セグメント |
| 適用時期の注意 | 根拠の法令等の時点、改正の一覧に当たる項目 | 中継プログラムが付ける |
| 事務所の過去の回答 | 似た回答の要旨、回答した日、承認した税理士 | 回答集 |
| 聞き返す点 | 結論を決めるのに要るが、質問に無い事実 | 根拠の要件と質問の差 |
「聞き返す点」が、職員の手戻りをいちばん減らします。 交際費の飲食費なら、参加した人数、相手先が社外か、飲食かどうか。根拠の要件に出てくる事実のうち、質問に書かれていないものを並べさせます。
| させないこと | 理由 |
|---|---|
| 根拠に無い結論を書く | 回答の責任は税理士が持つ |
| 金額の計算(損金不算入額の算出など) | 会計ソフトと職員が行う |
| 改正があったかを自分で判断する | 中継プログラムが改正の一覧で比べる |
| 過去の回答を根拠の代わりにする | 過去の回答は時点が古いことがある |
| 税務調査や争いの見通しを書く | 個別の事実の検討になる |
| 顧問先の名前を回答案に書く | 伏せた名前を戻さない |
4行目が、いちばん起きやすい誤りです。 過去の回答は職員の言葉で分かりやすく書かれているので、AIは国税庁の原文より過去の回答を根拠にしたがります。過去の回答は「事務所の過去の回答」の欄にだけ書かせ、結論の根拠は国税庁の原文に置かせます。
指示内容を固定する
answer メソッドの promptSpec.preamble に、次の内容を入れます。
あなたは税理士事務所で、顧問先からの税務の質問に回答案を作る職員を手伝う調査係です。
検索された国税庁のタックスアンサー・法令解釈通達・質疑応答事例と、事務所の回答集だけを根拠にしてください。
回答案は、職員と税理士が確認してから顧問先に返します。
【書き方】
- 次の見出しで書いてください。「結論の案」「根拠」「事務所の過去の回答」「聞き返す点」
- 「結論の案」は、国税庁の文書に書かれた範囲で「〜に当たると考えられます」の形で書いてください。
国税庁の文書に根拠が無ければ「根拠となる記載が見つからない」とだけ書いてください。
- 「根拠」には、タックスアンサーの番号、通達の番号を書き、文書の文をそのまま引いてください。
- 金額、人数、日付、割合は、文書の表記のまま写してください。計算をしないでください。
- 「事務所の過去の回答」には、回答集の回答の要旨と、回答した日を書いてください。
過去の回答を「結論の案」の根拠にしないでください。
- 「聞き返す点」には、根拠の要件に出てくる事実のうち、質問に書かれていないものを並べてください。
【書かないこと】
- 根拠に無い結論、税務調査の見通し、争いになった場合の見込みを書かないでください。
- 法令が改正されたかどうかを、自分の判断で書かないでください。
- 伏せ字にされた名前を推し量って書かないでください。
「過去の回答を結論の根拠にしない」を書かないと、回答集が国税庁の原文に勝ちます。 過去の回答の5,000円という基準が、そのまま結論に入ることになります。
あわせて、answer メソッドの設定で次を有効にします。
| 設定 | 値 | 目的 |
|---|---|---|
includeCitations | true | 回答案の文ごとに出典を示す |
ignoreLowRelevantContent | true | 関係の薄い文書から無理に回答案を作らない |
searchSpec.searchParams.filter | 税目の式 | 税目で範囲を切る |
queryRephraserSpec.maxRephraseSteps | 2〜3 | 2つの論点を分けて検索する |
根拠の原文は、同じ式で search メソッドを呼び、抽出セグメント(文書から直接取り出された逐語の文)を取り出します。maxExtractiveSegmentCount は1〜2、要件が前後の文に続く通達には numPreviousSegments・numNextSegments で前後を足します。非構造化の文書で抽出セグメントを使うには Enterprise エディションが要ります。
出力形式を固定する
中継プログラムは、answer・search・check grounding の結果から次の形の記録を作ります。
{
"request_id": "",
"tax": "corporate",
"transaction_date": "2026-09-15",
"question_masked": "",
"route": "drafted | no_basis | escalated_rule",
"draft": { "conclusion": "", "ask_back": [""] },
"basis": [ { "source": "nta_taxanswer", "ref_no": "5265", "law_as_of": "2025-04-01", "verbatim": "", "uri": "" } ],
"office_answers": [ { "summary": "", "answered_at": "", "approved_by": "", "stale": true } ],
"timing_alerts": [ { "item": "", "effective_from": "", "note": "" } ],
"grounding": { "support_score": 0.0, "unsupported_sentences": [""] },
"reviewer": { "staff": "", "tax_accountant": "", "approved_at": "" }
}
1つ目の理由は、stale で過去の回答の古さを示せることです。 回答した日が、改正の一覧の適用の始まる日より前なら、中継プログラムが真にします。画面では、古い回答に「改正前の回答」と帯を付けます。
2つ目は、timing_alerts を回答案から切り離せることです。 取引の日が改正の前か後かで、どちらの取扱いを見るべきかを示します。改正の前の取引について今年質問された場合も、ここで気づけます。
3つ目は、unsupported_sentences で確かめる場所を絞れることです。 check grounding API は、回答案の主張ごとに裏付けの引用を返し、引用の付かない主張が分かります。職員はその文から確かめます。 citationThreshold を高くすると、引用の数は減り、より強い引用だけが残ります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 事務所の社内画面 | 中継プログラムのAPI | 質問を受け、回答案・根拠・注意・聞き返す点を返す |
| Vertex AI Search(Agent Search) | answer・search の呼び出し | 2つのデータストアを検索し、回答案と抽出セグメントを受け取る |
| check grounding API | 呼び出し | 回答案と抽出セグメントを渡し、主張ごとの裏付けを受け取る |
| 改正の一覧 | 読み取り | 根拠の番号ごとの適用の始まる日を引く |
| Cloud Storage | 文書の配置 | 国税庁のページの保存版と回答集を置き、同期する |
| BigQuery | 書き込み | 回答案と承認の記録を保管し、月次で集計する |
顧問先への返信は、この構成から送りません。 職員が、税理士の承認の後に、これまでどおりのメールやチャットで返します。
人が確認する
回答案は、すべて職員と税理士が確かめてから返します。 人の確認を省く質問はありません。
- 職員が帯と印を見る … 「改正前の回答」の帯、
timing_alerts、unsupported_sentencesの文から確かめます - 職員が聞き返す点を確かめる … 顧問先に聞く必要があるものは、回答の前に聞きます
- 税理士が根拠の原文を読む … 回答案の文ではなく、
basisの原文と番号を見て承認します - 承認された回答を回答集に足す … 伏せ字にしたうえで、根拠の時点と承認した税理士を付けます
3番目で、税理士が自分で根拠を探し直さなくて済みます。 根拠の番号と原文が並んでいれば、確かめるのは原文と回答案のずれだけです。
税理士が直した内容は、職員に返して記録に残します。 どの文をどう直したかが分かれば、職員は次の回答案で同じ直しを先に入れられます。 直しの多い分野は、指示や改正の一覧を見直す候補になります。
例外に対処する
| 起きること | 対応 |
|---|---|
| 国税庁の文書に根拠が見つからない | no_basis として回答案を作らず、税理士に回す |
| 調査・否認・更正の請求が絡む | 規則で税理士へ直接回す(escalated_rule) |
| 取引の日が改正の前 | timing_alerts に改正の前の取扱いを見る旨を出す |
| 根拠のページの保存版が古い | 保存し直すまで「保存版が古い」と帯を出す |
| 2つの税目にまたがる | 税目ごとに回答案を分けて出す |
| 裏付けの無い文が多い | support_score が境目を下回れば回答案を出さず、根拠だけを返す |
| 過去の回答と国税庁の原文が食い違う | 原文を優先し、過去の回答に stale の確認を促す |
| 顧問先が法人か個人事業者か分からない | 聞き返す点の先頭に出し、両方の根拠を分けて示す |
| 検索基盤が応答しない | これまでどおり国税庁のページを直接見るよう返す |
3行目は、決算の後の質問で多く出ます。 前の事業年度の取引について質問されたとき、今の法令の時点の根拠で答えると、事業年度の取扱いとずれることがあります。
記録を残す
- 質問ごとの税目、取引の日、伏せた後の質問の文面、回答案、根拠の番号と原文、
law_as_of - 使った保存版の日付と、その時点の改正の一覧
- check grounding の結果(
support_score、引用の付かない文) - 職員と税理士が直した内容、承認した日と税理士
- 月ごとの分野別の件数と、
no_basis・escalated_ruleの件数
2つ目で保存版の日付を残すのは、国税庁のページが書き換わるためです。 後から顧問先に「なぜこう答えたか」と聞かれたとき、その日にどの時点のページを根拠にしたかを示せます。
04実装レベルの3段階
最小構成では、文書を集めて貼る手間が残ります。 確かめるための段階です。 半自動化で、1件18分が11分程度になります。 根拠を探す時間は減りますが、時点の確認と、税理士の確認での手戻りが残ります。本格構成で7分になり、この段階が本記事の想定です。 差が大きいのは、時点の注意と確かめる場所が回答案に付くので、税理士の確認での手戻りが減るからです。 段階を飛ばさないでください。 半自動化で、回答集の伏せ字の漏れと、保存版の取りこぼしが先に見つかります。直してから改正の一覧を組むほうが、帯の付け間違いが減ります。
05工数削減シミュレーション
導入後 300件 × 7分 ÷ 60 = 35 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 顧問先が数百社あり、職員が顧問先からの日常の税務の質問に一次回答を作り、税理士が確認してから返している税理士事務所。過去の回答をメールやファイルに残しているが、職員が探せずに同じ調べ物をくり返している場合。職員の経験年数の幅が大きく、根拠の探し方が人によって違う場合。
- 顧問先が数十社で、質問が税理士に直接届いて税理士がその場で答えている場合。質問の多くが、組織再編や国際取引のように個別の事実関係の検討が中心で、公開の通達やタックスアンサーで答えられる範囲が小さい場合。過去の回答を文書として残しておらず、回答集を作る手間をかけられない場合。
07最小構成で試す方法
- 先月の質問から30件を選ぶ(改正があった論点、2つの税目にまたがる質問、事実が足りない質問を必ず混ぜる)
- その30件に関係するタックスアンサーと通達のページを保存し、過去の回答のうち関係するものを集める
- 顧問先の名前を伏せ、手元の生成AIのサービスに文書を読み込ませて、1件ずつ質問する
- 「この文書に書かれていることだけで、結論の案・根拠(番号と原文)・聞き返す点を書いてください。過去の回答は根拠にしないでください。計算をしないでください」と指示する
- 出てきた回答案を、当時税理士が承認した回答と突き合わせる
30件は必ずやってください。 仕組みを組む前に、「公開の文書と回答集で、根拠付きの回答案がどこまで作れるか」を確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 当時と同じ結論を、根拠の番号と原文付きで示した | データストアと改正の一覧の組み立てに進む |
| 過去の回答を根拠にした、根拠に無い結論を書いた | 指示の書き方で直る。構成は有効 |
| 改正の前後を取り違えた | 改正の一覧を中継プログラムで比べる前提で、本格構成で確かめ直す |
3行目が出ることは珍しくありません。 文書を貼っただけでは、AIはどれが新しい取扱いかを見分けにくい。AIに判断させず、一覧で比べる形が要る理由が、ここで確かめられます。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 改正前の過去の回答で答える | 回答した日と改正の一覧を比べ、stale の帯を付ける |
| 過去の回答が国税庁の原文に勝つ | 過去の回答を結論の根拠にしないと指示し、欄を分ける |
| 取引の日が改正の前なのに今の取扱いで答える | 取引の日を必ず選ばせ、timing_alerts を出す |
| 国税庁のサイトをウェブのデータストアにしようとする | 高度なインデックス登録には所有権の確認が要る。保存して取り込む |
| 保存版が古くなる | fetched_at を持ち、週に1回保存し直す |
| 抽出セグメントが返らない | Enterprise エディションを有効にする |
| 回答案のどこを確かめればよいか分からない | check grounding で引用の付かない文に印を付ける |
| 2つの税目にまたがる質問で片方を落とす | 言い換えの段数を上げ、税目ごとに分けて出す |
| 回答集に顧問先の名前が残る | 足す前に伏せ字にする |
| 調査や争いが絡む質問に回答案を作る | 規則で税理士へ直接回す |
| 承認していない回答案が回答集に入る | 承認した税理士の記録が無いものは足さない |
上の3行が、この構成の失敗のほとんどです。 どれも、時点の違う根拠で答えるという同じ形をしています。AIの精度ではなく、時点を比べる仕組みの問題です。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 顧問先からの質問の文面(取引の内容、金額、相手先が書かれることがある)、事務所の過去の回答、国税庁の公開情報、職員と税理士の確認の記録。
- 顧問先の情報を最小にする … 会計ソフトにつながず、質問の文面からも顧問先と取引先の名前、個人の氏名を伏せてから検索にかけます
- 回答の責任を税理士に置く … このチャットが作るのは回答案です。顧問先へ返す回答は、税理士が根拠の原文を読んで承認したものだけにします
- 時点をAIに判断させない … 改正があったか、取引の日がどちらの取扱いかは、税理士が持つ改正の一覧で中継プログラムが比べます
- 回答集を顧問先の間で混ぜない … 回答集の回答は伏せ字にしたうえで足し、別の顧問先の事情が他の顧問先の回答案に出ないようにします
- 保存版の出どころを残す … 国税庁のページの保存版には、URLと保存した日を付けます。根拠を示すときは、保存版ではなく国税庁のページを顧問先に案内します
- 事務所の守秘の取り決めに合わせる … 顧問先の質問をクラウドの検索基盤に通すことが、顧問契約と事務所の情報管理の規程で認められているかを先に確かめます
誤りが起きた場合のリスクは、改正の前の取扱いで答えることと、根拠に無い結論を回答として返すことの2つです。 前者は改正の一覧との比較で、後者は裏付けの確認と税理士の承認で防ぎます。どちらも、AIの外にある仕組みと人の目で守ります。
10まず何から始めるか
1週目:分野を5つに絞り、改正の一覧を作る
質問の多い5つの分野(交際費・会議費、源泉徴収、インボイス、印紙税、給与と福利厚生など)を選びます。税理士が、それぞれの分野で直近数年の改正の項目と適用の始まる日を一覧にします。 交際費の飲食費の基準の変更は、最初の1行に入ります。
2週目:30件で試す
先月の質問から30件を選び、関係するタックスアンサーと通達を保存して、手元の生成AIに読み込ませて答えさせます。過去の回答を根拠にしていないか、改正の前後を取り違えていないかを最優先で見ます。
3週目:回答集を作る
5つの分野の過去の回答を集め、伏せ字にして、回答した日と承認した税理士を付けます。 承認の記録が無い回答は、税理士が読み直してから入れます。
4週目:データストアを作り、一部の職員で使う
国税庁のページの保存版と回答集を Cloud Storage に置き、Vertex AI Search(Agent Search)のデータストアを2つ作ります。この時点では、経験の違う職員3名だけが、自分で根拠を確かめながら使います。
2か月目: 中継プログラムに改正の一覧との比較と check grounding を足し、全職員に開きます。route と分野ごとの件数を毎週数えます。3か月目以降: 分野を広げ、1件18分が何分になったかを実測します。税理士の確認で根拠を探し直すことがなくなり、改正前の回答が帯で止まっている時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Vertex AI Search が Agent Search へ改称されつつあること。queryRephraserSpec.maxRephraseSteps(1〜5、既定1)、includeCitations、ignoreLowRelevantContent、promptSpec.preamble、searchSpec.searchParams の filter | Google Cloud: Agent Search の answer メソッド | 2026-10-06 |
抽出セグメントが文書から直接取り出された逐語の文であること。maxExtractiveSegmentCount、numPreviousSegments・numNextSegments。非構造化の文書では Enterprise エディションが要ること。ウェブサイトのデータでは高度なインデックス登録でこれらが使えるようになること | Google Cloud: Agent Search のスニペットと抽出結果 | 2026-10-06 |
check grounding API が回答案(answer candidate)の参照する文(facts)による裏付けを0〜1で返し、主張ごとの引用と確認が要るかを返すこと。facts が最大200件、回答案が最大4,096トークンであること。citationThreshold を高くすると引用が少なく強くなること | Google Cloud: Agent Search の check grounding | 2026-10-06 |
| Cloud Storage などからデータストアを作れること。メタデータを JSON で付けられること。定期の同期の間隔を1日・3日・5日から選べること。ウェブサイトの高度なインデックス登録にはドメインの所有権の確認が要ること | Google Cloud: Agent Search の検索データストアの作成 | 2026-10-06 |
| 交際費等の範囲。交際費等から除かれる飲食費の基準が1人当たり10,000円以下で、令和6年3月31日以前は5,000円以下であること。根拠法令等の欄があり、「令和7年4月1日現在法令等」と記載されていること | 国税庁: No.5265 交際費等の範囲と損金不算入額の計算 | 2026-10-06 |
| 法令解釈通達が所得税・法人税・消費税などの分類で掲載され、基本通達ごとに改正分の日付が示されていること | 国税庁: 法令解釈通達 | 2026-10-06 |
個々の取引の税務上の取扱いは、事務所の税理士が根拠を確かめて判断してください。 本記事は国税庁のページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0429)についてのご相談はこちらから。
