株主から届く配当・株主優待・住所変更・株式の手続きの問い合わせに、株式取扱規程と株主名簿管理人の案内を根拠に回答案を作る
株主からメールとフォームで届く配当・株主優待・住所変更・株式の手続きの問い合わせを、種類ごとに振り分けます。株式取扱規程と株主名簿管理人の案内から該当箇所を引き、引用付きの回答案を株式担当に渡します。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Power Automate
- 対象業界
- その他/小売/製造/金融/飲食
- 対象部門
- 総務
- 対象業務
- 問い合わせ対応/書類作成
- 主な課題
- 問い合わせが多い/属人化している/確認ミスが多い
- AIで行う処理
- 生成
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 株式担当の共有アカウントにメールが届く。フォームの送信も同じ受信箱に届く
- 担当者がメールを読み、何についての問い合わせか(配当、優待、住所変更、相続、売却など)を見分ける
- 株主名簿の照会が要るものは、株主名簿管理人に確かめる
- 株式取扱規程・優待の案内・株主名簿管理人の案内を開き、該当箇所を探す
- 過去に似た問い合わせへの返信を探し、書き方をまねて回答を書く
- 未公表の情報に触れるもの(優待の今後の方針、配当の見通し)は、IRの担当に相談する
- 返信して、問い合わせの記録に種類と対応を書く
- 自動時間主導型のトリガーで10分ごとにスクリプトが動き、未処理のラベルが付いた問い合わせを取り出す
- 自動本文から、署名と引用された過去のメールを除き、メールアドレス以外の連絡先を伏せる
- 自動Claude API が、問い合わせを種類に振り分け、口座の区分の手がかりと、人に回すべき事情があるかを返す
- 自動種類に応じて、株式取扱規程・優待の案内・株主名簿管理人の案内から関係する節を選ぶ
- 自動Claude API が、選んだ節だけを根拠に、引用付きの回答案を作る
- 自動引用の付かない文に印を付け、問い合わせのスレッドに返信の下書きを作り、記録の表に種類と回答案を書く
- 人株式担当が下書きを読み、印の付いた文と人に回す印のあるものを確かめ、直して送る
各工程の詳しい説明を読む
- 株式担当の共有アカウントにメールが届く。フォームの送信も同じ受信箱に届く
- 担当者がメールを読み、何についての問い合わせか(配当、優待、住所変更、相続、売却など)を見分ける
- 株主名簿の照会が要るものは、株主名簿管理人に確かめる
- 株式取扱規程・優待の案内・株主名簿管理人の案内を開き、該当箇所を探す
- 過去に似た問い合わせへの返信を探し、書き方をまねて回答を書く
- 未公表の情報に触れるもの(優待の今後の方針、配当の見通し)は、IRの担当に相談する
- 返信して、問い合わせの記録に種類と対応を書く
(a)案内先の書き分けを間違える。 住所変更の問い合わせに、株主名簿管理人の電話番号だけを返してしまうことがあります。証券会社の口座で株式を持っている株主は、株主名簿管理人では手続きができません。 株主は電話をかけてから証券会社へ回され、会社への不満として戻ってきます。
(b)同じ説明を毎回書く。 優待の基準日、必要な株数、発送の時期、使える店舗。月180件のうち半分ほどは、案内の文書に書いてあることの説明です。 それでも、案内の文書のどこを写せばよいかを探すところから始まります。
(c)書き方が人によって違う。 詳しい担当は規程の言葉に沿って書き、もう1名は過去の返信をまねます。過去の返信が古い案内のときのものだと、変わった後の手続きを古いまま案内してしまいます。
(d)繁忙期に返信が遅れる。 優待の発送の月は件数が倍近くになり、返信までに1週間かかることがあります。 遅れた返信を待つあいだに、同じ株主から2通目が届きます。
- 【自動】 時間主導型のトリガーで10分ごとにスクリプトが動き、未処理のラベルが付いた問い合わせを取り出す
- 【自動】 本文から、署名と引用された過去のメールを除き、メールアドレス以外の連絡先を伏せる
- 【自動】 Claude API が、問い合わせを種類に振り分け、口座の区分の手がかりと、人に回すべき事情があるかを返す
- 【自動】 種類に応じて、株式取扱規程・優待の案内・株主名簿管理人の案内から関係する節を選ぶ
- 【自動】 Claude API が、選んだ節だけを根拠に、引用付きの回答案を作る
- 【自動】 引用の付かない文に印を付け、問い合わせのスレッドに返信の下書きを作り、記録の表に種類と回答案を書く
- 【人】 株式担当が下書きを読み、印の付いた文と人に回す印のあるものを確かめ、直して送る
3番目と5番目を分けているのが、この設計の分かれ目です。 振り分けは構造化出力で受け、回答案は引用付きで受けます。Claude API の引用(Citations)と構造化出力は同時に使えないため、2回に分けます。
7番目を残しているのも、意図してのことです。 下書きを作るところまでで止め、送るのは担当者です。 株主への回答は会社の正式な案内なので、送る前に必ず人が読みます。
3番目で人に回すと決まったものは、5番目に進みません。 未公表の情報や株主名簿の照会に触れる問い合わせには、「確認のうえ改めてご連絡いたします」という定型の下書きだけを作ります。AIが中身に触れた回答案を作らないことで、担当者が誤って送る経路も無くします。
02今回想定するシステム構成
株主(メール/IRサイトのフォーム) ▼ 株式担当の共有アカウントの Gmail(未処理のラベル) ▼【トリガー】10分ごとの時間主導型トリガー Google Apps Script ── 署名・引用の除去、連絡先を伏せる ▼ Claude API ①── 種類の振り分け、口座の区分の手がかり、人に回す事情(構造化出力) ▼ Google Apps Script ── 種類に応じて根拠の節を選ぶ │ 株式取扱規程/優待の案内/株主名簿管理人の案内/定型の文例 ▼ Claude API ②── 選んだ節だけを根拠に回答案を作る(引用付き) ▼ Google Apps Script ── 引用の無い文に印、返信の下書き、記録の表 ▼ 【人】株式担当が読んで直して送る
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Claude API(振り分けと、引用付きの回答案の作成) | OpenAI API、Gemini API |
| 連携 | Google Apps Script(受信箱の取り出し、根拠の節の選択、下書きと記録) | Power Automate |
| 保管 | 記録の表(スプレッドシート)と、根拠の文書の節の一覧 | 社内の文書管理 |
受信箱も根拠の文書も、新しく足すものではありません。 足すのは、10分ごとに動くスクリプトと、株式取扱規程・優待の案内・株主名簿管理人の案内を節ごとに分けた一覧です。PDFのまま渡すと、どの規程の何条かが引用から追いにくくなるため、節ごとにテキストに分けて持ちます。
回答案の根拠には、Claude API の引用(Citations)を使います。 文書を渡して引用を有効にすると、回答の文ごとに根拠にした箇所が返ります。引用された文字列(cited_text)は出力のトークンに数えられず、返る位置は渡した文書の中を必ず指すとされています。ただし、引用を有効にした文書と構造化出力を同時に指定すると、API は400のエラーを返します。 振り分けを別の呼び出しにしているのはこのためです。
根拠の文書は、カスタムコンテンツの文書として渡します。 公式の説明では、プレーンテキストとPDFは文に分けて引用され、カスタムコンテンツの文書は渡したブロックがそのまま引用の単位になり、引用はブロックの番号で返ります。 規程の条や案内の節を1ブロックにすれば、引用がそのまま「第何条」に対応します。
03どうやって実装するのか
処理の起点を決める
時間主導型のトリガーで、10分ごとに動かします。 Apps Script の時間主導型のトリガーは、1分ごとから月1回まで設定でき、実行の時刻には少しばらつきがあるとされています。株主への返信は数分を争うものではないので、10分ごとで足ります。
対象は、共有アカウントの受信箱で「株主問い合わせ/未処理」のラベルが付いたスレッドです。フォームの送信と株主からのメールに、Gmail のフィルタでこのラベルを付けます。処理が終わったスレッドは「下書き済み」のラベルに付け替えます。 付け替えるのは下書きと記録が両方できたときだけで、未処理のラベルが残っている数が、そのまま処理されていない数になります。
トリガーは株式担当の共有アカウントで作ります。 インストール型のトリガーは作った人のアカウントで動くため、個人のアカウントで作ると、その人の受信箱を見ることになり、異動で止まります。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 問い合わせ | 本文、件名、受信日時、送信者のアドレス、同じ送信者の直近の問い合わせ | Gmail(未処理のラベル) |
| 株式取扱規程 | 条ごとに分けたテキスト(名義書換、諸届、単元未満株式の買取・買増、特別口座など) | 総務部が管理する規程 |
| 優待の案内 | 基準日、必要な株数、発送の時期、使える店舗、有効期限、再発行の扱い | IRサイトに載せている案内 |
| 株主名簿管理人の案内 | 手続きの種類ごとの申出先、特別口座の手続きの用紙、連絡先と受付時間 | 株主名簿管理人の公開している案内 |
| 定型の文例 | 冒頭と結びのあいさつ、人に回すときの返信の文 | 株式担当が作る |
質を決めるのは、2行目から4行目の文書が最新かどうかです。 優待の内容や株主名簿管理人の連絡先が変わったのに一覧が古いままだと、引用付きで古い案内を返します。 引用があることは、内容が正しいことを意味しません。文書ごとに版と最終更新日を持たせ、一覧の先頭に置きます。
株主名簿管理人の案内は、自社の手続きの言葉で書き直さずに持ちます。 たとえば三菱UFJ信託銀行の手続き用紙の案内には、「当社で開設されている『特別口座』で株式をお持ちの株主さまのみ、当社でお手続き可能です。証券会社で株式をお持ちの株主さまは、お取引の証券会社にお申出ください」とあります。この一文が、第3章の(a)を防ぐ根拠です。
データの取得方法を決める
| 取るもの | 方法 | 注意 |
|---|---|---|
| 未処理のスレッド | GmailApp.search でラベルを指定して取る | 1回の実行で取る件数を絞る(例:20件) |
| 本文と送信者 | スレッドの最後のメッセージを読む | 同じ株主の2通目は、1通目と同じスレッドかを確かめる |
| 根拠の節 | スプレッドシートの節の一覧から、種類に対応する節を引く | 版と最終更新日も一緒に取る |
| 下書き | GmailThread.createDraftReply | 送信者の返信先のアドレスあてに下書きができる |
GmailThread.createDraftReply は、スレッドの最後のメッセージの送信者に返信する下書きを作るメソッドです。HTML の本文も指定できます。下書きは同じスレッドに残るので、担当者は受信箱からそのまま開いて直せます。 Gmail のメソッドはすべて https://mail.google.com/ の権限を求めるため、スクリプトを承認するのは共有アカウントだけにします。
根拠の節は、種類ごとに対応表で選びます。 すべての文書を毎回渡すと、住所変更の問い合わせに優待の節が引用されるような、関係の薄い引用が混ざります。
| 種類 | 渡す節 |
|---|---|
| 住所・氏名の変更 | 規程の諸届の条、株主名簿管理人の案内の諸届と特別口座の節 |
| 配当の受け取り方・未受領 | 規程の配当の条、株主名簿管理人の案内の配当金の振込指定の節 |
| 単元未満株式の買取・買増 | 規程の買取・買増の条、株主名簿管理人の案内の該当の節 |
| 株主優待 | 優待の案内の全節 |
| 相続 | 株主名簿管理人の案内の相続の節(回答案は定型の文例で人に回す) |
AIへ渡す前に整形する
- 署名と引用の除去 … 本文の末尾の署名と、
>で始まる過去のメールの引用を除きます - 連絡先を伏せる … 本文に書かれた電話番号・住所・口座番号を
[電話][住所][口座]に置き換えます。住所変更の問い合わせで新しい住所が書かれていても、回答案には要りません - 株主番号の扱い … 株主番号らしい数字の並びは
[株主番号]に置き換えます。照会は人が株主名簿管理人に行います - 同じ株主の重複の確認 … 同じ送信者から直近の未処理があれば、まとめて1件として扱います
- 件数の上限 … 1回の実行で20件までにし、残りは次の実行に回します。1回の実行は6分までです
2番目と3番目を、AIに渡す前にプログラムで行うのが要点です。 回答案を作るのに、株主の住所も株主番号も要りません。要らない情報は、外に出る経路そのものを作らないようにします。伏せた値は記録の表にも残さず、元のメールにだけ残ります。
AIに処理させる
1回目の呼び出しでは、問い合わせを振り分け、人に回す事情を拾います。
| 返す項目 | 中身 |
|---|---|
| 種類 | address_change/dividend/odd_lot/benefit/inheritance/share_transfer/other |
| 口座の区分の手がかり | securities_account(証券会社で持っていると書かれている)/special_account(特別口座と書かれている、または用紙が届いたと書かれている)/unknown |
| 人に回す事情 | 未公表の情報に触れる、持株数や支払状況の照会が要る、苦情、相続、本人の確認が要る |
| 質問の一覧 | 問い合わせの中の質問を1つずつ |
2回目の呼び出しでは、選んだ節だけを根拠に回答案を作ります。 質問の一覧の1つずつに答え、どの文にも引用を付けます。
| させないこと | 理由 |
|---|---|
| 口座の区分の推測 | 書かれていなければ unknown。案内先を誤る原因になる |
| 持株数・配当の支払状況・優待の発送の状況の回答 | 株主名簿の照会が要る。人が株主名簿管理人に確かめる |
| 優待の今後の方針、配当の見通しへの回答 | 未公表の情報に触れうる。IRの担当に回す |
| 根拠の節に無い期限・金額・連絡先の記載 | 規程と案内に無い約束を作らない |
| 相続の手続きの個別の案内 | 事情によって要る書類が変わる。人が案内する |
2行目と3行目を、1回目の呼び出しで拾うのが要点です。 2回目の呼び出しに入ってから断らせると、断りの文と案内の文が混ざった回答案になります。拾ったものは、回答案を作らずに定型の文例で人に回します。
指示内容を固定する
1回目(振り分け)の指示は次のとおりです。
あなたは上場会社の総務部の株式担当として、株主からの問い合わせを
振り分ける立場です。回答は書かないでください。
【厳守事項】
- account_hint は、本文に「証券会社で持っている」「特別口座」などの
記載があるときだけ securities_account か special_account にしてください。
記載が無ければ unknown にしてください。推測しないでください。
- 次のどれかに当たれば、escalation に理由を入れてください。
・優待の今後の内容や継続、配当の今後の見通し、業績に触れる質問
・持株数、配当の支払状況、優待の発送の状況など、株主ごとの照会が要る質問
・相続、名義の変更など、個別の書類の判断が要る手続き
・苦情、または強い不満が書かれている
- questions には、本文の中の質問を1つずつ、株主の言葉に近い形で書いてください。
- 本文に書かれていない質問を足さないでください。
【問い合わせ】{inquiry}
2回目(回答案)の指示は次のとおりです。根拠の節は、引用を有効にした文書として別に渡します。
あなたは上場会社の総務部の株式担当として、株主への回答の下書きを書く立場です。
渡された文書(株式取扱規程、株主優待の案内、株主名簿管理人の案内)だけを
根拠に、質問の一覧の1つずつに答えてください。
【厳守事項】
- すべての文を、渡された文書の記載に基づいて書いてください。
文書に無いことは書かず、「文書に記載がありません」と書いてください。
- 期限、金額、株数、電話番号、受付時間は、文書の記載をそのまま写してください。
- 手続きの申出先は、口座の区分の手がかり({account_hint})に従ってください。
unknown のときは、証券会社の口座の場合と特別口座の場合の両方を、
区別して書いてください。どちらかに決めつけないでください。
- 持株数、配当の支払状況、優待の発送の状況について書かないでください。
- 優待の今後の内容、配当の見通しについて書かないでください。
- 敬語は丁寧語を基本とし、1つの質問への答えを3文以内にしてください。
- あいさつと結びの文は書かないでください(定型の文例を後で付けます)。
【質問の一覧】{questions}
「unknown のときは両方を区別して書く」を明記しないと、多い方に寄せます。 個人株主の多くは証券会社の口座で株式を持っているので、何も言わなければ証券会社の案内だけを書きます。特別口座の株主にとっては、それが誤った案内になります。
「文書に記載がありません」と書かせるのは、空白を埋めさせないためです。 書けない質問を飛ばすと、担当者がその質問の存在に気づきません。
出力形式を固定する
1回目は、構造化出力で次の形のJSONを受け取ります。
{
"category": "address_change | dividend | odd_lot | benefit | inheritance | share_transfer | other",
"account_hint": "securities_account | special_account | unknown",
"escalation": [
{ "reason": "undisclosed | holder_lookup | individual_procedure | complaint", "quote": "" }
],
"questions": [ "" ]
}
escalation が空でなければ、2回目を呼びません。 定型の文例(「確認のうえ、改めてご連絡いたします」)で下書きを作り、記録の表に理由を書いて担当者に知らせます。quote には、その判断の根拠にした本文の一節を写させます。
2回目は、引用付きのテキストで受け取ります。 返ってくる内容は、文の塊ごとに引用の一覧が付いた形です。スクリプトはこれを次の表に組み直し、記録の表に書きます。
| 列 | 中身 |
|---|---|
| 回答の文 | 2回目の出力の文の塊 |
| 引用の有無 | 引用が1つ以上あるか |
| 引用元 | 文書の名前、ブロックの番号から引いた条・節の名前、版 |
| 引用された文字列 | cited_text |
引用の無い文には、下書きの中で【要確認】の印を付けます。 あいさつと結びは定型の文例から付けるので、2回目の出力には含まれません。つまり、2回目の出力で引用の無い文は、すべて根拠の無い文です。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Gmail(共有アカウント) | GmailApp.search、createDraftReply、ラベルの付け替え | 取り出しと下書き |
| 根拠の文書の節の一覧 | スプレッドシートの読み取り | 種類に応じた節と版 |
| Claude API | UrlFetchApp から Messages API(1回目は構造化出力、2回目は引用) | 振り分けと回答案 |
| 記録の表 | スプレッドシートへの追記 | 種類、口座の手がかり、人に回す理由、回答案、引用 |
2回目の呼び出しで渡す内容は、次のような形になります(抜粋)。規程の条や案内の節を1つずつのブロックにし、文書の名前に版を入れます。
{
"role": "user",
"content": [
{
"type": "document",
"title": "株主名簿管理人の案内(2026年10月版)",
"source": {
"type": "content",
"content": [
{ "type": "text", "text": "諸届:住所変更、改姓・改名 …" },
{ "type": "text", "text": "特別口座:特別口座で株式をお持ちの株主さまのみ …" }
]
},
"citations": { "enabled": true }
},
{ "type": "text", "text": "(2回目の指示と質問の一覧)" }
]
}
返ってくる引用の content_block_location のブロックの番号を、節の一覧の行に引き直せば、「どの文書の、どの節か」を担当者に見せられます。 2回目の呼び出しには output_config を付けません。文書の context には、引用の対象にしない補足(最終更新日、担当部署)を入れられます。
月180件で1件あたり2回の呼び出しなら、UrlFetchApp の1日の上限(Workspace のアカウントで10万回)には届きません。
人が確認する
- 人に回す印のあるものを先に見る … 株主名簿管理人への照会、IRの担当への相談、相続の案内を行います
- 【要確認】の文を読む … 根拠の無い文は消すか、文書を確かめて書き直します
- 引用元の版を見る … 引用した文書の版が最新かを確かめます。優待の内容が変わった直後は特に
- 口座の区分の書き分けを見る …
unknownのときに両方の案内が書かれているかを確かめます - 直して送る … 送信は担当者が行います。直した箇所は記録の表に残します
3番目を省かないでください。 引用があると、正しい回答に見えます。古い版の文書から引用していれば、引用付きの誤った案内になります。
目標は、180件をならして1件5分です。 優待の基準日や手続き先のように文書どおりの回答で済むものは、読んで送るだけで終わります。
例外に対処する
| 起きること | 対応 |
|---|---|
種類が other | 回答案を作らず、記録の表に入れて担当者に回す |
| 同じ株主から短い間に複数の問い合わせ | まとめて1件として扱い、下書きは最新のスレッドに作る |
| 英語など日本語以外の問い合わせ | 回答案は作らず、担当者に回す |
| 添付ファイル(用紙の写真など)がある | 添付は AI に渡さず、「添付あり」の印を付けて人へ |
| 根拠の文書の版が古い(最終更新日から一定期間) | 回答案の先頭に印を付け、文書の担当に知らせる |
構造化出力が refusal や max_tokens で終わる | 受け付けず、担当者に回す |
| 1回の実行で20件を超える | 残りは次の実行に回す |
いちばん多いのは、添付ファイルのある問い合わせです。 届いた用紙の写真や、配当金の計算書の画像を付けてくる株主は少なくありません。画像には株主番号や住所がそのまま写っているので、AI に渡しません。 本文だけで回答案を作り、添付を見るのは担当者です。
記録を残す
- 問い合わせの受信日時、スレッドの識別子、種類、口座の区分の手がかり
- 人に回した理由と、その根拠にした本文の一節
- 回答案の文ごとの引用(文書の名前・条・節・版、
cited_text) - 【要確認】の印の付いた文と、担当者がどう直したか
- 送信した日時と、送信した担当者
伏せた連絡先と株主番号は、記録の表に残しません。 元の値は Gmail のメールにだけ残ります。
種類ごとの件数と【要確認】の数を、月に1回数えます。 同じ質問で毎回【要確認】が出るなら、文書にその答えが無いということです。 IRサイトの案内に足すと、問い合わせそのものが減ります。
04実装レベルの3段階
半自動化で、1件12分が7分程度になります。 回答案を記録の表からメールに写す作業と、問い合わせを選ぶ作業が残ります。本格構成で5分になり、この段階が本記事の想定です。 本格構成で増えるのは、人に回すものの選別です。 未公表の情報や株主名簿の照会に触れる問い合わせが、回答案を作られずに定型の文例の下書きで止まるので、担当者は記録の表の「人に回す理由」の列から先に手を付けられます。 繁忙期の順番待ちのなかで、照会の要る問い合わせが埋もれなくなります。 段階を飛ばさないでください。 半自動化の1か月で、文書に答えが無い質問と、人に回すべきなのに回らなかった問い合わせが分かります。それを直してから本格構成に進むほうが、【要確認】だらけの下書きで担当者に見放されずに済みます。
05工数削減シミュレーション
導入後 180件 × 5分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 個人株主が数万人いる上場会社で、総務部の株式担当が株主からのメールと問い合わせフォームに回答している場合。株主優待を出していて、優待の発送時期や必要な株数の問い合わせが多い場合。手続きの案内先(証券会社か株主名簿管理人か)の説明を担当者が毎回書いていて、人によって書き方が違う場合。株式取扱規程・優待の案内・株主名簿管理人の案内を文書でそろえられる場合。
- 株主の問い合わせが月に数件で、担当者が個別に書いても負担にならない場合。問い合わせの大半が電話で、メールとフォームがほとんど無い場合(電話の応対はこの構成の対象外です)。株主名簿の照会(持株数・配当の支払状況の確認)を伴う回答を自動で作りたい場合。なお、未公表の業績や配当・優待の方針に触れる問い合わせへの回答と、相続など個別の事情を伴う手続きの判断は、この構成では代替できません。
07最小構成で試す方法
- 過去3か月の問い合わせから30件を選ぶ(住所変更で案内先を誤った例と、未公表の情報に触れた例を含める)
- 株式取扱規程・優待の案内・株主名簿管理人の案内を節ごとに分けたテキストを用意する
- 手元のAIサービスに文書と問い合わせを渡し、「文書だけを根拠に答えてください。文書に無いことは書かないでください。証券会社の口座か特別口座かが分からないときは、両方を区別して書いてください。持株数や今後の優待の方針には答えないでください」と指示する
- 出てきた回答を、当時の担当者の返信と比べる
| 出てきた内容 | 判断 |
|---|---|
| 当時の返信と同じ案内先で、根拠が示された | スクリプトでつなぐ |
| 口座の区分を推測して片方だけ書いた | 指示の書き方で直る。構成は有効 |
| 文書に無い期限や連絡先を書いた | 文書の節の分け方と、引用の確認を先に作る |
3行目が出たときは、文書の側に答えが無いことが多いです。 その質問への答えを文書に足すのが先です。
30件の中に、人に回すべき問い合わせを必ず混ぜてください。 優待の今後の継続を尋ねるもの、自分の持株数で次の優待が届くかを尋ねるもの、相続の手続きを尋ねるものです。回答の質より先に、これらに答えようとせず人に回せるかを確かめます。ここが外れるなら、回答案の出来にかかわらず先へ進みません。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 引用と構造化出力を同時に指定して400になる | 振り分けと回答案を2回の呼び出しに分ける |
| 口座の区分を推測して片方だけ案内する | unknown のときは両方を区別して書かせる |
| 古い版の文書から引用する | 文書ごとに版と最終更新日を持たせ、確認の手順に入れる |
| 文書に無い期限や連絡先を書く | 引用の無い文に【要確認】の印を付ける |
| 未公表の情報に触れる質問に答える | 1回目の呼び出しで拾い、回答案を作らずに人へ回す |
| 持株数や発送の状況を答えようとする | 株主名簿の照会が要るものとして人へ回す |
| 住所や株主番号が外に出る | AIに渡す前に伏せる |
| トリガーが止まる | 共有アカウントで作る。個人のアカウントで作らない |
上の3行が、この構成の失敗のほとんどです。 どれも、回答案の根拠と案内先が正しいかの問題です。
古い版からの引用は、優待の内容を変えた直後に集中して起きます。 優待の改定は取締役会の決議の後に公表され、問い合わせはその日から届きます。公表の日に節の一覧を差し替える手順を、公表の段取りの中に入れておくと、古い案内が引用付きで返る期間が無くなります。
口座の区分の推測も、気づきにくい失敗です。 回答案だけを読むと自然な案内に見え、特別口座の株主から「手続きできなかった」と2通目が届いて初めて分かります。 半自動化の段階で、unknown の問い合わせの回答案に両方の案内が並んでいるかを、件数で数えておきます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 株主からの問い合わせの本文、送信者のメールアドレス、株式取扱規程・優待の案内・株主名簿管理人の案内です。株主名簿そのものは扱いません。
- 住所・電話番号・株主番号を伏せてから送る … 回答案を作るのに要りません
- 株主名簿の照会をAIにさせない … 持株数や支払状況は、人が株主名簿管理人に確かめます。メールの送信者が株主本人かは、メールだけでは確かめられません
- 未公表の情報に触れる問い合わせは人に回す … 優待の今後や配当の見通しは、IRの担当と相談して答えます
- 自動で送信しない … 作るのは下書きまでです
- 文書の更新の担当を決める … 優待の内容、株主名簿管理人の連絡先が変わったら、その日のうちに節の一覧を直します
- 送信者への回答の範囲を、一般の案内にとどめる … メールでは本人の確認ができないため、誰が読んでも差し支えない、案内の文書に書かれた範囲だけを回答案にします。 個別の事情に踏み込む回答は、株主名簿管理人の手続きを通して行います
誤りが起きた場合のリスクは、誤った案内先を伝えることと、未公表の情報や株主の個人の情報が外に出ることの2つです。 前者は口座の区分の書き分けと人の確認で、後者は振り分けの段で人に回すことと、伏せる処理で防ぎます。
10まず何から始めるか
1週目:文書を節ごとに分ける
株式取扱規程・優待の案内・株主名簿管理人の案内を、条・節ごとに1行のスプレッドシートにします。 版と最終更新日の列を付けます。
2週目:30件で試す
過去の問い合わせから30件を選び、手元のAIで回答案を作らせます。住所変更で案内先が正しく書き分けられるかと、未公表の情報に触れる質問を拾えるかを最優先で見ます。
3週目:振り分けをつなぐ
Apps Script で未処理のラベルのスレッドを取り出し、1回目の呼び出しで振り分けて記録の表に書くところまで作ります。この時点では回答案を作らず、振り分けと人に回す印だけを見ます。
4週目:回答案と下書きを足す
2回目の呼び出しと引用の組み直し、スレッドへの下書きを足します。
2か月目: 優待の発送の月を一度通し、【要確認】の多い質問を数えて文書とIRサイトの案内に足します。3か月目以降: 1件12分が何分になったかを実測します。優待の発送の月でも返信が数日以内に収まった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 株主名簿管理人で手続きできるのは、その信託銀行で開設された特別口座で株式を持つ株主だけで、証券会社で株式を持つ株主は取引の証券会社に申し出ること。特別口座の手続きに配当金の振込指定、住所変更などの諸届、口座振替、相続、単元未満株式の買取・買増があること(例として三菱UFJ信託銀行の案内) | 三菱UFJ信託銀行: 手続き用紙のダウンロード | 2026-10-14 |
文書に引用を有効にすると根拠の箇所が返ること、cited_text が出力のトークンに数えられないこと、カスタムコンテンツの文書はブロックがそのまま引用の単位でブロックの番号で返ること、引用と構造化出力を同時に指定すると400のエラーになること | Claude: Citations | 2026-10-14 |
構造化出力を output_config.format で指定すること、refusal・max_tokens で終わるとスキーマに合わないことがあること | Claude: Structured outputs | 2026-10-14 |
GmailApp.search・createDraft があり、Gmail のメソッドが https://mail.google.com/ の権限を求めること | Google Apps Script: GmailApp | 2026-10-14 |
createDraftReply がスレッドの最後のメッセージの送信者への返信の下書きを作ること、addLabel・removeLabel | Google Apps Script: GmailThread | 2026-10-14 |
| インストール型トリガーが作った人のアカウントで動くこと、時間主導型のトリガーが1分ごとから月1回まで設定でき、時刻にばらつきがあること | Google Apps Script: Installable triggers | 2026-10-14 |
| 1回の実行が6分まで、Workspace のアカウントで URL Fetch が1日10万回であること | Google Apps Script: Quotas | 2026-10-14 |
手続きの申出先と書類は、自社の株主名簿管理人の最新の案内で確かめてください。 株主名簿管理人は会社ごとに異なり、変わることもあります。本記事は上の公開情報で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1483)についてのご相談はこちらから。
