TONA・TIBOR・長期プライムレートの公表値を毎日取り、変動金利の借入ごとに次の適用金利の見込みと予算との差を財務の担当に知らせる
TONA と長期プライムレートの公表値を毎日取り、担当者が入れた TIBOR とあわせて、変動金利の借入ごとに次の適用金利と利息の見込みを出します。予算との差と金利の確定日を並べて、財務の担当に知らせます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/n8n/Power Automate/Python
- 対象業界
- 不動産/小売/建設/物流/製造
- 対象部門
- 財務
- 対象業務
- 集計・分析
- 主な課題
- データ分析に時間がかかる/属人化している/期限・対応漏れが起きる
- AIで行う処理
- エージェント
- 主な効果
- 判断支援/属人化解消/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月末に、日本銀行のホームページから TONA(無担保コールO/N物レート)の今月分の値を拾う
- 情報提供会社の画面で、3か月 TIBOR の最近の値を見る
- 日本銀行のホームページの長・短期プライムレートの推移、または金融機関の公表で、最新の値を見る
- 借入金の台帳を開き、借入1本ずつ、指標・スプレッド・利息期間・確定日を見て、次の適用金利と利息の見込みを表計算で出す
- 予算の前提金利と比べ、差を書く
- 金利の確定日が近い借入を拾い、上司に伝える
- 四半期ごとに、支払利息の見込みを経営会議の資料にまとめる
- 自動毎営業日の11時に、ワークフローが日本銀行の API から TONA の前営業日の値を取る
- 自動同じく、日本銀行の長・短期プライムレートの推移のページを見て、更新があれば値を取る
- 人財務の担当が、TIBOR の値を情報提供会社の画面から入れる(確定日の前の営業日は毎日、それ以外は週に1回)
- 自動エージェントが、借入1本ごとに台帳の条件を読み、指標の値と計算の道具を呼んで、次の適用金利と利息の見込みを出す
- 自動予算の前提金利と比べ、差の大きい順と確定日の近い順に並べ、注意点を文章で付ける
- 自動毎朝の通知は確定日が5営業日以内の借入と、予算との差が決めた幅を超えた借入だけにし、全30本の一覧は週に1回送る
- 人財務の担当が、見込みの根拠(使った指標の値と日付、計算の条件)を確かめる
- 人金融機関から金利の通知が届いたら、確定した金利を台帳に入れる。見込みとの差が記録される
各工程の詳しい説明を読む
- 月末に、日本銀行のホームページから TONA(無担保コールO/N物レート)の今月分の値を拾う
- 情報提供会社の画面で、3か月 TIBOR の最近の値を見る
- 日本銀行のホームページの長・短期プライムレートの推移、または金融機関の公表で、最新の値を見る
- 借入金の台帳を開き、借入1本ずつ、指標・スプレッド・利息期間・確定日を見て、次の適用金利と利息の見込みを表計算で出す
- 予算の前提金利と比べ、差を書く
- 金利の確定日が近い借入を拾い、上司に伝える
- 四半期ごとに、支払利息の見込みを経営会議の資料にまとめる
(a)30本を1本ずつ計算し直している。 指標の値が変わるたびに、表計算に値を貼り直します。指標ごとに貼る場所と式が違うので、1本ずつ確かめながら進めます。
(b)計算の決まりが担当者の頭の中にある。 TONA の後決め複利のルックバックの日数、TIBOR の確定日の数え方、休日の扱い。台帳には書かれておらず、式の中に埋まっています。
(c)月末にしか見ていない。 指標は毎日動きますが、見込みを出すのは月末だけです。TIBOR の確定日を過ぎてから上昇に気づいても、その利息期間の金利はもう変わりません。
(d)確定した金利と見込みの差を振り返れない。 金融機関から金利の通知が届いても、見込みとどれだけ違ったかを残していないので、計算のどこがずれているかが分かりません。
- 【自動】 毎営業日の11時に、ワークフローが日本銀行の API から TONA の前営業日の値を取る
- 【自動】 同じく、日本銀行の長・短期プライムレートの推移のページを見て、更新があれば値を取る
- 【人】 財務の担当が、TIBOR の値を情報提供会社の画面から入れる(確定日の前の営業日は毎日、それ以外は週に1回)
- 【自動】 エージェントが、借入1本ごとに台帳の条件を読み、指標の値と計算の道具を呼んで、次の適用金利と利息の見込みを出す
- 【自動】 予算の前提金利と比べ、差の大きい順と確定日の近い順に並べ、注意点を文章で付ける
- 【自動】 毎朝の通知は確定日が5営業日以内の借入と、予算との差が決めた幅を超えた借入だけにし、全30本の一覧は週に1回送る
- 【人】 財務の担当が、見込みの根拠(使った指標の値と日付、計算の条件)を確かめる
- 【人】 金融機関から金利の通知が届いたら、確定した金利を台帳に入れる。見込みとの差が記録される
7番目が、この設計の分かれ目です。 見込みは見込みにすぎず、確定するのは金融機関の通知です。 担当者が見るのは、計算に使った値の日付と条件が正しいかです。
3番目を人の作業として残しているのは、意図してのことです。 全銀協 TIBOR 運営機関のウェブサイトの値は参考情報の位置付けで、契約や重要な判断には情報提供会社の掲載レートを見るよう求められています。そのサイトの値をプログラムで取りに行く構成にはしません。
02今回想定するシステム構成
【トリガー】Schedule Trigger(毎営業日11時、Asia/Tokyo) n8n のワークフロー ├──▶ HTTP Request:日本銀行 時系列統計データ検索サイトの API │ (コードAPI。TONA=無担保コールO/N物レート 平均値 日次) ├──▶ HTTP Request+HTML:日本銀行「長・短期プライムレート(主要行)の推移」 ├──▶ 指標の値の表(TONA・長プラ・短プラ・TIBOR) │ └─【人】TIBOR は担当者が情報提供会社の画面から入力 ▼ AI Agent ノード(Tools Agent)+ Claude │ 借入ごとに台帳の条件を読み、道具を呼ぶ │ ・台帳を引く ・指標の値を引く │ ・計算の道具(サブワークフロー:決まった式で計算) │ ・予算の前提を引く ・過去の見込みと確定値を引く ▼ 借入ごとの見込み・予算との差・確定日・注意点(JSON) ▼ 財務の担当への通知(確定日の近いもの・差の大きいもの)→【人】根拠を確かめる
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | n8n | Make、Power Automate |
| 生成AI | Claude API(n8n の Anthropic Chat Model ノード) | OpenAI API、Gemini API |
| 差異計算 | Python(サブワークフローの中の計算。複利・日数・スプレッド) | Google Apps Script |
| 保管 | n8n の Data table(指標の値、見込み、確定値) | PostgreSQL |
| 通知 | 社内チャット | メール |
TONA は、日本銀行の API から取ります。 日本銀行は2026年2月18日付のマニュアルで、時系列統計データ検索サイトが JSON 形式や CSV 形式で時系列統計データを取得できる API を提供しており、どなたでも利用できるとしています。コードAPI・階層API・メタデータAPIの3種類があり、TONA はコードAPIに DB 名と系列コードを指定して取ります。
API の利用には、留意点が決められています。 「API機能利用時の留意点について」では、短時間における高頻度のアクセスを禁止し、負荷の状況でアクセスを制限することがあるとしています。この構成は1日1回、必要な系列だけを取ります。社内で使うだけなので、サービスを公開したときの連絡とクレジット表示の決まりは当たりませんが、一覧には出所を書きます。
長期プライムレートは、日本銀行の推移のページを見ます。 このページの長期プライムレートは、みずほ銀行が長期プライムレートとして自主的に決定・公表した金利を載せたもので、更新は毎月1回を目途とされています。自社の借入が参照するのは貸手の金融機関が決めた金利なので、このページは早めに動きを知るための目安として使い、確定は金融機関の通知で見ます。
計算は、サブワークフローに置きます。 n8n の Call n8n Workflow Tool ノードは、エージェントが別のワークフローを道具として呼び、結果を受け取るためのものです。計算の式を Python で書いたサブワークフローを道具にすれば、エージェントは計算の中身に触れず、値と条件を渡して結果を受け取るだけになります。
03どうやって実装するのか
処理の起点を決める
トリガーは Schedule Trigger で、毎営業日の11時です。 ワークフローのタイムゾーンを Asia/Tokyo にします。n8n の公式の説明では、ワークフローにタイムゾーンが無ければインスタンスのタイムゾーンが使われ、自分でホストする場合の既定は America/New_York とされています。Schedule Trigger を使うワークフローは、保存して公開しないと動きません。
11時にするのは、TONA の確報が出た後に取るためです。 日本銀行のコール市場関連統計のページでは、前営業日の確報は午前10時頃、当営業日の速報は午後5時15分頃(年末日を除く月末日は午後6時15分頃)と案内されています。API のマニュアルでは、検索サイトの時系列統計データは原則8時50分頃に更新し、業務の都合で遅れる場合があるとされています。取った値の日付が前営業日でなければ、13時にもう一度取ります。
TIBOR の入力を促す通知も、同じワークフローから出します。 台帳から「確定日が翌営業日の TIBOR 連動の借入」を拾い、前日の夕方に担当者へ入力を頼みます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| TONA | 無担保コールO/N物レートの平均値(日次)と日付 | 日本銀行の API(コードAPI) |
| 長期・短期プライムレート | 実施日と値 | 日本銀行の推移のページ |
| TIBOR | 3か月 TIBOR の値と日付、どの画面から入れたか | 担当者が情報提供会社の画面から入力 |
| 借入金の台帳 | 借入ごとの金融機関、元本と返済予定、指標、スプレッド、利息期間、確定日の決まり、計算の決まり(後決め複利のルックバックの日数、日数の数え方、休日の扱い、金利の下限の有無) | スプレッドシートを Data table に写したもの |
| 予算の前提 | 年度の前提金利と、借入ごとの支払利息の予算 | 資金計画 |
| 過去の見込みと確定値 | 借入ごとの見込み、金融機関の通知で確定した金利、その差 | Data table |
質を決めるのは、台帳の「計算の決まり」の列です。 これまで担当者の表計算の式に埋まっていた決まりを、借入ごとに列として書き出すことが、この構成の最初の仕事です。書き出せない決まりは、金融機関との契約書に戻って確かめます。
TIBOR には「どこから入れたか」を必ず付けます。 情報提供会社の画面か、金融機関の通知か。ウェブサイトの参考値を写したものと区別できるようにしておきます。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| TONA | HTTP Request でコードAPI(getDataCode、DB 名と系列コード、期間、JSON 形式) | 後決め複利の見込み |
| 系列コードの確認 | メタデータAPI(getMetadata、DB 名) | 最初の設定のときだけ |
| 長期・短期プライムレート | HTTP Request で推移のページを取り、HTML ノードで表から値を取る | 長プラ・短プラ連動の見込み |
| TIBOR | 担当者の入力(n8n のフォームか、Data table に直接) | TIBOR 連動の見込み |
| 台帳・予算・過去の見込み | Data table | エージェントの道具 |
TONA の系列は、最初にメタデータAPIで確かめます。 API のマニュアルでは、メタ情報は系列コードや系列名称などの属性情報で、コードAPIのパラメータを作るときに利用できるとされています。コール市場の DB のメタ情報を一度引き、無担保コールO/N物レートの平均値(日次)の系列コードを設定に書きます。
リクエストには Accept-Encoding: gzip のヘッダーを付けます。 マニュアルでは、HTTP のレスポンスを gzip で圧縮して返す機能に対応しているとされています。HTTP Request ノードは GET を含む主要なメソッドに対応し、応答の形式(自動判別・ファイル・JSON・テキスト)や、2xx 以外でも失敗にしない設定を選べます。
長期プライムレートのページは、値が変わったときだけ取り込みます。 ページの「更新日」の文字を前回の値と比べ、変わっていれば表を読み直します。
AIへ渡す前に整形する
- 値の日付を確かめる … TONA の最新の日付が前営業日かを見ます。月曜や祝日明けは、前営業日が何日前かを営業日の暦で数えます
- 欠けた日を埋めない … 後決め複利の計算に要る日の値が欠けていれば、埋めずに「未取得」として計算を止めます
- 単位をそろえる … 指標の値はすべて年%で持ち、スプレッドも年%で台帳に書きます
- TIBOR の入力を確かめる … 前回の値から決めた幅以上に動いていれば、打ち間違いの疑いとして担当者に確かめ直してもらいます
- 台帳の条件の欠けを拾う … 計算の決まりの列が空の借入は、計算に回さず「条件未記入」とします
- 確定済みの利息期間を分ける … すでに金融機関の通知で金利が確定している期間は、見込みを出さずに確定値を使います
2番目と5番目は、計算を止める判断です。 欠けた値や書かれていない条件を推測で補うと、それらしい見込みが出て、誰も止められなくなります。 止めて人に知らせるほうが、後で直す手間が小さく済みます。
AIに処理させる
させるのは、借入1本ごとに、どの道具をどの順で呼ぶかを決め、結果を予算と並べて、注意点を言葉にすることです。
| 組み立てるもの | 中身 |
|---|---|
| 次の適用金利の見込み | 計算の道具が返した値と、使った指標の値・日付・条件 |
| 利息の見込み | 計算の道具が返した次の支払日の利息 |
| 予算との差 | 予算の前提金利・予算の利息と、見込みとの差 |
| 確定日と注意点 | 金利の確定日、確定までに動きうる幅の目安、確かめるべきこと |
| 道具 | 中身 | 呼ぶ場面 |
|---|---|---|
get_loan | 借入1本の台帳の行(指標、スプレッド、利息期間、確定日の決まり、計算の決まり) | すべての借入 |
get_rates | 指標と期間を指定して、日ごとの値と日付を返す | すべての借入 |
calc_tibor_loan | TIBOR とスプレッドと日数から金利と利息を返す(サブワークフロー) | TIBOR 連動 |
calc_tona_compound | 日ごとの TONA と台帳の決まりで後決め複利の金利と利息を返す(サブワークフロー) | TONA 連動 |
calc_prime_loan | プライムレートとスプレッドから金利と利息を返す(サブワークフロー) | 長プラ・短プラ連動 |
get_budget | 借入ごとの予算の前提金利と予算の利息 | すべての借入 |
get_history | 過去の見込みと確定値の差 | すべての借入 |
どの計算の道具を呼ぶかは、台帳の指標の列で決まります。 エージェントに判断させるのは、条件が足りないときに計算を呼ばずに止めることと、過去の見込みと確定値の差が大きい借入に注意を付けることです。
| させないこと | 理由 |
|---|---|
| 金利や利息の計算 | 計算の道具(決まった式)に任せる。言葉を作る道具に計算させない |
| 欠けた日の値や書かれていない条件の補い | 推測の見込みが確定値のように扱われる |
| 今後の金利の予想 | 見込みは公表値と条件から出すもの。相場の予想はしない |
| ヘッジや借換えの勧め | 財務部長と経営が決める |
| 台帳への書き込み | 確定値を入れるのは担当者 |
3行目がいちばん起きやすい失敗です。 「今後も上昇が見込まれるため」のような一文を、エージェントは自然に書き足します。その一文が経営会議の資料に写されると、相場の見通しを財務が述べたことになります。
指示内容を固定する
AI Agent ノードの System Message に次を入れます。
あなたはメーカーの財務部で、変動金利の借入ごとに、次の適用金利と利息の見込みを
まとめる立場です。計算はすべて道具が行います。あなたは計算をしません。
【手順】
1. get_loan で台帳の行を読んでください。
2. 指標(index)に応じて、使う計算の道具を1つ選んでください。
TIBOR → calc_tibor_loan / TONA → calc_tona_compound /
長期・短期プライム → calc_prime_loan
3. get_rates で、台帳の確定日の決まりに合う期間の値を取り、計算の道具に渡してください。
4. get_budget と get_history を呼び、予算との差と、過去の見込みと確定値の差を並べてください。
【止めるとき】
- 台帳の計算の決まり(calc_rules)に空の項目があれば、計算の道具を呼ばずに
status を "missing_terms" にし、空の項目名を書いてください。
- get_rates が返した値に欠けた日があれば、status を "missing_rates" にしてください。
欠けた日の値を、前後の値などで補わないでください。
【書かないこと】
- 金利や利息の数字は、道具が返した値だけを書いてください。自分で計算しないでください。
- 今後の金利の上がり下がりの予想を書かないでください。
- ヘッジや借換えをすべきかを書かないでください。
- 注意点(notes)は、確定日・使った値の日付・過去の差・条件の欠け、の事実だけにしてください。
「計算をしない」を冒頭と末尾の2か所に書くのは、途中で崩れるからです。 道具が返した利息を見て、エージェントは「年に直すと」と換算を書き足すことがあります。換算も計算です。
「欠けた日を補わない」を明記しないと、前日の値で埋めます。 金融機関の計算でも休日の扱いの決まりがあり、それは台帳の計算の決まりに書かれているはずです。エージェントが独自に補うと、台帳の決まりと違う埋め方になります。
出力形式を固定する
Tools Agent の「Require Specific Output Format」を有効にし、Structured Output Parser をつなぎます。 次の形のJSONで受け取ります。
{
"loan_id": "",
"lender": "",
"index": "TIBOR_3M | TONA_COMPOUND | LONG_PRIME | SHORT_PRIME",
"status": "ok | missing_terms | missing_rates | fixed",
"fixing_date": "",
"rates_used": [ { "index": "", "date": "", "value": 0, "source": "" } ],
"projected_rate": 0,
"projected_interest": 0,
"next_payment_date": "",
"budget_rate": 0,
"budget_interest": 0,
"diff_interest": 0,
"past_error": 0,
"missing_items": [],
"notes": []
}
1つ目の理由は、rates_used で根拠を確かめられることです。 使った指標の値と日付と出所が並ぶので、担当者はどの日の値で計算したかを一目で確かめられます。TIBOR の出所に「情報提供会社の画面」と出ていなければ、入力の経路を確かめます。
2つ目は、status で計算できなかった借入が一覧に出ることです。 missing_terms と missing_rates が残っている借入は、見込みの合計に入れずに別に並べます。 合計の中に推測の数字が混ざりません。
3つ目は、diff_interest をワークフローの側で検算できることです。 projected_interest と budget_interest の差が diff_interest と合わなければ、エージェントが数字を書き換えたということなので、その行は差し戻します。途中の手順は Tools Agent の Return Intermediate Steps で受け取り、計算の道具の戻り値と出力の値が同じかも確かめます。
| 通知の区分 | 付ける条件(ワークフローの規則) |
|---|---|
| 確定前 | fixing_date が5営業日以内 |
| 予算超過 | diff_interest が決めた額を超える |
| 要確認 | status が missing_terms か missing_rates、または TIBOR の入力が前回から大きく動いた |
| 週次の一覧 | 全30本(週に1回) |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 日本銀行の API | HTTP Request(コードAPI、1日1回) | TONA |
| 日本銀行の推移のページ | HTTP Request+HTML ノード | 長期・短期プライムレート |
| TIBOR の入力 | n8n のフォーム、または Data table | 担当者が入れた値と出所 |
| 台帳・予算・過去の見込み | Data table(道具。読み取りのみ) | 借入ごとの条件と比較の材料 |
| 計算の道具 | Call n8n Workflow Tool(サブワークフロー) | 金利と利息の計算 |
| 社内チャット | 通知 | 毎朝の確定前・予算超過・要確認、週次の一覧 |
計算のサブワークフローは、公開しておきます。 n8n の公式の説明では、Database から選んだサブワークフローは本番で動かすときに公開されている必要があり、公開されていないと「Workflow is not active」というエラーが道具の結果としてエージェントに返り、見落としやすいとされています。毎朝の一覧で、道具の呼び出しに失敗した借入を数えて出します。
台帳へは書き込みません。 確定した金利を入れるのは担当者で、見込みの値が確定値の欄に入る経路をつくりません。
人が確認する
財務の担当が見るのは、毎朝の通知と週次の一覧です。
- 「要確認」を最初に見る …
missing_termsは台帳の決まりを契約書で確かめて埋め、missing_ratesは取得の失敗か休日の扱いかを確かめます - 「確定前」を見る … 確定日が近い借入の見込みを見て、使った値の日付が確定日の決まりに合っているかを確かめます
- 「予算超過」を見る … 差が出た理由が指標の動きか、元本の変化かを見て、上司に伝えます
- 確定値を入れる … 金融機関から金利の通知が届いたら、台帳に確定値を入れます。見込みとの差が記録され、次の
past_errorになります
2番目は、TONA の後決め複利で特に大事です。 ルックバックの日数や観測期間のずらし方を台帳と取り違えると、数日分ずれた値で複利が計算され、それらしい見込みが出ます。 rates_used の最初と最後の日付を、台帳の決まりと見比べます。
目標は、30本をならして1本10分です。 確定前と予算超過の借入は丁寧に見て、それ以外は週次の一覧を流し見ます。
例外に対処する
| 起きること | 対応 |
|---|---|
| TONA の最新の日付が前営業日でない | 13時に取り直す。それでも無ければ「未取得」で通知 |
| API が応答しない、またはアクセスを制限された | 間を置いて1回だけ取り直し、だめなら翌営業日に回す。短時間に何度も叩かない |
| 推移のページの表の形が変わった | HTML ノードで値が取れなければ、担当者に値の入力を頼む |
| TIBOR が入力されていない | 確定日の前日の夕方に入力を頼む通知を出す |
| TIBOR の入力が前回から大きく動いた | 打ち間違いの疑いとして確かめ直してもらう |
| 台帳の計算の決まりが空 | 計算せず missing_terms で通知 |
| 計算のサブワークフローが動かない | 道具の失敗として数え、その借入は前回の見込みのまま「未更新」と出す |
| 見込みと確定値が大きく違った | 台帳の計算の決まりを契約書と見比べる |
最後の行が、この構成を育てる場面です。 確定値との差が続けて出る借入は、台帳の決まりの書き方か、計算の道具の式のどちらかが契約と違います。
記録を残す
- 取った指標の値と日付、取った時刻と出所(API/推移のページ/担当者の入力と画面の名前)
- 借入ごとのエージェントの入力、呼んだ道具とその結果、出力のJSON
- そのとき使った台帳の版と、計算の道具の版
- 金融機関の通知で確定した金利と、見込みとの差
- 担当者が直した台帳の決まりと、直した理由
3つ目の「計算の道具の版」を残すのは、式を直したときに過去の見込みを説明するためです。 式を直す前と後で見込みが変わったとき、どちらの式で出した数字が会議の資料に載ったかを確かめられます。
04実装レベルの3段階
半自動化で、1本40分が20分ほどになります。 値を拾う①と計算の②の大半が置き換わりますが、予算との比較、確定日の拾い出し、注意点の書き出しは人に残ります。 本格構成で10分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化を1か月回すと、計算の道具の式と金融機関の確定値の差が見えます。差が消えてから比較と知らせをつなぐと、注意点の文章が誤った見込みを前提にしなくなります。
05工数削減シミュレーション
導入後 30件 × 10分 ÷ 60 = 5 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- TIBOR 連動、TONA の後決め複利、長期プライムレート連動など、指標の違う変動金利の借入を複数の金融機関から合わせて数十本持つメーカー・建設会社・不動産会社。金利の見込みと予算との差を、財務の担当が月末に表計算で1本ずつ計算し直している場合。借入金の台帳に、指標・スプレッド・金利の確定日・計算方法を書き込める場合。
- 借入が固定金利だけの場合。変動金利の借入が数本で、金融機関から届く金利の通知を待てば足りる場合。金利の見込みをもとに、ヘッジの取引や借換えを自動で行いたい場合(この構成は見込みと知らせるところまで)。なお、適用金利と利息の確定は金融機関の通知によるもので、この構成では代替できません。
07最小構成で試す方法
- 変動金利の借入から、指標の違うものを4本選ぶ(TIBOR、TONA の後決め複利、長プラ、短プラを1本ずつ)
- その4本の台帳の条件と、契約書の計算の決まりを書き出す
- 先月の指標の値を、日本銀行のホームページと情報提供会社の画面から拾っておく
- 手元の生成AIの画面に、条件と値を貼り、「この条件で次の適用金利と利息を計算する手順を、式の形で書き出してください。数字は計算しないでください。条件が足りなければ足りない項目を挙げてください」と指示する
- 出てきた手順を、担当者のいまの表計算の式と見比べる
この段階でAIに数字を出させないのは、意図してのことです。 確かめたいのは、台帳と契約書から計算の決まりを漏れなく書き出せるかです。数字は計算の道具を作ってから出します。
| 出てきた内容 | 判断 |
|---|---|
| いまの式と同じ手順が書き出せた | 計算の道具を作り、ワークフローに進む |
| 手順は合っているが、足りない条件が挙がった | 台帳の列を足す。構成は有効 |
| 契約書に計算の決まりが書かれていない | 金融機関に確かめるのが先。 AIの問題ではない |
2行目は、ほぼ必ず出ます。 休日の扱いや金利の下限の有無は、担当者の式の中にしか無いことが多いからです。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| エージェントが金利や利息を計算する | 計算は道具に置き、出力の値を道具の戻り値と照合する |
| 欠けた日の値を前日の値で埋める | 補わせない。台帳の休日の扱いに従って計算の道具が処理する |
| TIBOR をウェブサイトの参考値から取る | 参考情報の位置付け。 情報提供会社の画面か金融機関の通知から入れる |
| 長プラの推移のページを確定値として使う | みずほ銀行の値で、毎月1回を目途の更新。確定は貸手の通知で見る |
| API を短時間に何度も叩く | 1日1回、必要な系列だけ。失敗しても取り直しは1回にする |
| 取った値が前営業日のものでない | 日付を確かめ、13時に取り直す |
| サブワークフローが公開されていない | 公開する。道具の失敗を毎朝数えて出す |
| 相場の見通しが文章に混ざる | 指示で禁じ、注意点を事実に限る |
上の2行が、この構成の失敗のほとんどです。 どちらももっともらしい数字が出る形で起き、確定値が届くまで誰も気づきません。計算を道具に置き、補いを禁じます。
3行目と4行目は、取ってよい値の線引きです。 自動で取れそうな値でも、それが契約の金利を決める値かどうかは別です。目安の値と確定の値を、出所の列で分けておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 借入ごとの金融機関・元本・スプレッド・契約の計算の決まり、予算の前提金利と支払利息、公表された指標の値です。個人情報は扱いません。
- 外部のAIへ渡す範囲を絞る … 生成AIに渡すのは、借入1本分の台帳の行と、道具が返す値までです。借入の条件は金融機関との取引条件なので、台帳の全体を渡しません
- 公表値の利用の決まりを守る … 日本銀行の API は高頻度のアクセスを禁じています。全銀協 TIBOR 運営機関のウェブサイトは、掲載内容を私的使用や引用の範囲を超えて許諾なく利用することを禁じています。TIBOR は契約している情報提供会社の画面から入れます
- 見込みを確定値として使わない … 適用金利と利息を決めるのは金融機関の通知です。支払の手続きや会計の計上には、確定値だけを使います
- 相場の見通しを書かせない … 見込みは公表値と契約の条件から出すものです。経営会議の資料に、AIの書いた相場の予想が混ざらないようにします
- 台帳への書き込みを人に限る … 確定値も計算の決まりも、担当者が入れます
誤りが起きた場合のリスクは、見込みが確定値とずれたまま経営の判断に使われることと、確定日を見落とすことの2つです。 前者は計算をエージェントに任せるか欠けた値を補うと起き、後者は台帳の確定日の決まりが空のまま動かすと起きます。どちらも「止めて知らせる」設計で防ぎます。
10まず何から始めるか
1週目:計算の決まりを書き出す
変動金利の借入30本について、指標、スプレッド、確定日の決まり、後決め複利のルックバックの日数、日数の数え方、休日の扱い、金利の下限の有無を、契約書から台帳の列に書き出します。分からないものは金融機関に確かめます。
2週目:4本で試す
指標の違う4本を選び、手元の生成AIの画面で計算の手順と足りない条件を書き出させます。いまの表計算の式と見比べ、条件の漏れを台帳に足します。
3週目:計算の道具を作る
指標ごとの計算を Python のサブワークフローにし、過去3か月の確定値と合うかを1本ずつ確かめます。 合わない借入は、台帳の決まりか式を直します。
4週目:n8n で取得と一覧までをつなぐ
日本銀行の API から TONA、推移のページからプライムレートを取り、TIBOR の入力のフォームを作ります。計算の道具で30本の見込みを一覧にし、週に1回送ります。この時点ではエージェントをつなぎません。
2か月目: エージェントをつなぎ、予算との差・確定日・注意点を毎朝の通知にします。3か月目以降: 見込みと確定値の差を毎月数え、1本40分が何分になったかを実測します。見込みと確定値の差が金融機関の端数の扱いの範囲に収まり、確定日の前に必ず知らせが届くようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 時系列統計データ検索サイトが JSON・CSV 形式で取得できる API を提供し、どなたでも利用できること。コードAPI・階層API・メタデータAPIの3種類があり、メタ情報はコードAPIのパラメータ作成に使えること。gzip での圧縮に対応すること。高頻度アクセスで接続が遮断される可能性があること。データの更新は原則8時50分頃で、遅れる場合があること(2026年2月18日付) | 日本銀行: 時系列統計データ検索サイト API機能利用マニュアル | 2026-10-13 |
| API を使ったサービスを公開した場合の連絡とクレジット表示。予告なく機能の停止・仕様の変更・アクセス制限があること。短時間における高頻度のアクセスを禁止すること | 日本銀行: API機能利用時の留意点について | 2026-10-13 |
| 無担保コールO/N物レートの前営業日の確報が午前10時頃、当営業日の速報が午後5時15分頃(年末日を除く月末日は午後6時15分頃)に掲載されること | 日本銀行: コール市場関連統計(毎営業日) | 2026-10-13 |
| 長期プライムレートの欄がみずほ銀行の自主的に決定・公表した金利であること。毎月1回を目途に更新し、毎月変更があるとは限らないこと。個別行の金利は各行のホームページで見られること | 日本銀行: 長・短期プライムレート(主要行)の推移 | 2026-10-13 |
| ホームページの全銀協 TIBOR レートは参考情報の位置付けで、公式な公表は情報提供会社を通じて行われ、契約や重要な意思決定には情報提供会社の掲載レートを参照するよう求めていること。情報提供会社では原則午後1時、ホームページでは原則午後4時30分以降に掲載されること | 全銀協TIBOR運営機関: 全銀協TIBORレート | 2026-10-13 |
| ウェブサイトの掲載内容を、私的使用や引用の範囲を超えて事前の許諾なく利用することを禁じていること | 全銀協TIBOR運営機関: サイトのご利用案内 | 2026-10-13 |
| Schedule Trigger のタイムゾーンがワークフロー、無ければインスタンスの設定で、自分でホストする場合の既定が America/New_York であること。保存して公開しないと動かないこと | n8n Docs: Schedule Trigger node | 2026-10-13 |
| HTTP Request ノードが GET などのメソッドに対応し、応答の形式(自動判別・ファイル・JSON・テキスト)、Never Error、AIの道具としての利用ができること | n8n Docs: HTTP Request node | 2026-10-13 |
| Call n8n Workflow Tool ノードでエージェントが別のワークフローを呼べること。Database から選んだサブワークフローは本番で公開されている必要があり、公開されていないとエラーが道具の結果として返り見落としやすいこと | n8n Docs: Call n8n Workflow Tool node | 2026-10-13 |
| Tools Agent に System Message、Return Intermediate Steps、Require Specific Output Format(Structured Output Parser 等をつなぐ)があること | n8n Docs: Tools AI Agent node | 2026-10-13 |
適用金利と利息は、借入契約と金融機関の通知に従ってください。 本記事は上記のページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1392)についてのご相談はこちらから。
