社内の発明届の受付から出願までの進み具合を毎月集計し、止まっている届と理由の候補、担当への確認の文を知財部に届ける
発明届の台帳とやり取りの記録を毎月読み、届ごとに今どの段階で何日止まっているかを集計します。決めた日数を超えた届について、止まっている理由の候補と次に動く人を要約し、その人への確認の文の下書きと一緒に知財部へ届けます。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate/Python
- 対象業界
- IT・SaaS/医療/製造
- 対象部門
- 知財
- 対象業務
- 要約/集計・分析
- 主な課題
- 引き継ぎができていない/情報が見つからない/期限・対応漏れが起きる
- AIで行う処理
- 要約
- 主な効果
- 対応スピード向上/工数削減/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 月例の部会の前に、担当者が台帳を自分の担当の届で絞り込む
- 届ごとに、段階に入った日から今日までの日数を数える
- 長く止まっている届について、メールを届の番号や発明者の名前で検索し、最後に誰が何を頼んだかを探す
- やり取りの記録のシートも開き、メモを読む
- 止まっている理由を推し量り、部会の資料に1行書く
- 催促が要る届について、発明者・調査担当・事務所に宛てたメールを書く
- 部会で全員の資料を合わせ、部長が優先順を決める
- 人担当者は今までどおり、段階が進んだら台帳を書き、やり取りの要点を記録のシートに書く
- 自動毎月第1営業日の朝、スクリプトが台帳を読み、届ごとの段階と経過日数を計算する
- 自動段階ごとに決めた日数を超えた届と、発表の予定日が近い届を選ぶ
- 自動選んだ届について、やり取りの記録と、件名に届の番号が入ったメールの直近の数通を集める
- 自動技術の内容にあたる部分を外し、OpenAI API に渡して、止まっている理由の候補と次に動く人を要約させる
- 自動次に動く人への確認の文を下書きさせる
- 自動止まっている届の一覧を部会用のシートに書き、担当者ごとに要約のメールを送る
- 人担当者が理由の候補を確かめ、催促を送るかを決めて送る
- 人部会で一覧を見て、部長が優先順と打つ手を決める
各工程の詳しい説明を読む
- 月例の部会の前に、担当者が台帳を自分の担当の届で絞り込む
- 届ごとに、段階に入った日から今日までの日数を数える
- 長く止まっている届について、メールを届の番号や発明者の名前で検索し、最後に誰が何を頼んだかを探す
- やり取りの記録のシートも開き、メモを読む
- 止まっている理由を推し量り、部会の資料に1行書く
- 催促が要る届について、発明者・調査担当・事務所に宛てたメールを書く
- 部会で全員の資料を合わせ、部長が優先順を決める
(a)止まっている届が会議の前まで分からない。 担当者が台帳を見るのは部会の前の1回だけです。月の初めに止まった届は、1か月近く誰にも気づかれません。 気づいたときには、発明者は別の開発に移っています。
(b)理由を探すのに時間がかかる。 「明細書案の確認で止まっている」は台帳で分かっても、事務所から案が届いたのか、発明者に回したのか、発明者が返したのに知財部が事務所へ戻していないのかは、メールを遡らないと分かりません。件名に番号が無いメールは、名前で探すしかありません。
(c)ボールがどこにあるかの思い違い。 担当者が「発明者の返事待ち」と思っている届が、実は発明者が先週返していて、知財部の受信箱で止まっていたということがあります。自分のところで止まっている届は、自分では見えにくいのです。
(d)担当替えで経緯が消える。 異動や休職で担当が替わると、メールは前任者の受信箱に残ります。後任は「この届はなぜ審査会にかかっていないのか」を、前任者に聞くしかありません。
- 【人】 担当者は今までどおり、段階が進んだら台帳を書き、やり取りの要点を記録のシートに書く
- 【自動】 毎月第1営業日の朝、スクリプトが台帳を読み、届ごとの段階と経過日数を計算する
- 【自動】 段階ごとに決めた日数を超えた届と、発表の予定日が近い届を選ぶ
- 【自動】 選んだ届について、やり取りの記録と、件名に届の番号が入ったメールの直近の数通を集める
- 【自動】 技術の内容にあたる部分を外し、OpenAI API に渡して、止まっている理由の候補と次に動く人を要約させる
- 【自動】 次に動く人への確認の文を下書きさせる
- 【自動】 止まっている届の一覧を部会用のシートに書き、担当者ごとに要約のメールを送る
- 【人】 担当者が理由の候補を確かめ、催促を送るかを決めて送る
- 【人】 部会で一覧を見て、部長が優先順と打つ手を決める
8番目と9番目が人の仕事として残る部分です。 要約はやり取りの記録から作った候補で、発明者が口頭で伝えていた事情は記録にありません。 担当者が知っている事情と合わせて判断します。
3番目を日数の式で決めているのは、毎月同じ基準で拾うためです。 AIに「止まっていそうな届」を選ばせると、記録の多い届ばかりが拾われます。記録が少ないこと自体が、止まっている合図のことがあります。
02今回想定するシステム構成
発明届の台帳(段階・段階に入った日・担当・発明者・事務所・発表の予定日) やり取りの記録のシート、Gmail(件名に届の番号) ▼ 【トリガー】時間主導型(毎月第1営業日の朝) Google Apps Script ├──▶ 段階ごとの経過日数の計算、決めた日数を超えた届の選択 ├──▶ やり取りの記録と直近のメールの取り出し、技術の内容の除去 ▼ OpenAI API(Responses API、構造化出力) │ ① 止まっている理由の候補、次に動く人、根拠の引用 │ ② 次に動く人への確認の文の下書き ▼ Google Apps Script ── 部会用の一覧のシート、担当者ごとの要約メール ▼ 【担当者が確かめて催促を送り、部会で優先順を決める】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Google Apps Script | Power Automate、Make、Python |
| 生成AI | OpenAI API(Responses API、構造化出力) | Claude API、Gemini API |
| シート | Google スプレッドシート(台帳・やり取りの記録・段階の日数の設定・部会用の一覧) | Microsoft 365 のブック |
| メール | Gmail(やり取りの取得と、担当者への要約) | Outlook |
新しく足すのは、スクリプトと OpenAI API の契約、段階ごとの日数を書いた設定のシートです。 台帳には書き込みません。段階を進めるのは担当者で、スクリプトは読むだけです。
土台になるのは、Google Apps Script の時間主導型のトリガーです。 毎分から毎月までの間隔で関数を動かせ、インストール型トリガーは作成した人のアカウントで実行されます。 そのため、メールを読むのはトリガーを作った人の受信箱です。担当者4名の受信箱を1人のトリガーで読むことはできないので、届の番号を件名に入れたメールは知財部の共有アドレスにも cc する決まりにし、その共有アドレスのアカウントでトリガーを作ります。
スクリプトの実行時間には上限があります。 1回の実行は6分まで、トリガーの合計の実行時間は Google Workspace のアカウントで1日6時間、外部へのURLの呼び出しは1日100,000回までとされています。止まっている届だけを渡すので、毎月数十件の呼び出しで収まります。 担当者ごとに区切り、途中で止まっても続きから再開します。
OpenAI API に送ったデータは、既定ではモデルの学習や改善に使われないとされています。 不正利用の監視のためのログは最大30日保持され、データを保持しない扱い(Zero Data Retention)は事前の承認を受けた顧客に限られます。未出願の発明に関わる記録なので、この保持の扱いを知財部と情報システム部で確かめてから使います。
構造化出力は、Responses API の text.format に type を json_schema、strict を true にして指定します。 すべての項目を required に並べ、オブジェクトには additionalProperties: false を付けます。値が無いかもしれない項目は、型に null を含めて表します。 応答が拒否のときはスキーマに沿わないことがあるので、拒否と途中で切れた応答を先に見分けます。
03どうやって実装するのか
処理の起点を決める
時間主導型のトリガーを、毎月第1営業日の朝7時台に1つ置きます。 部会は第2週にあるので、担当者が要約を読み、催促を送り、返事が1週間分たまってから部会に出る順になります。部会の直前に動かすと、催促が間に合いません。
月の半ばにもう1回、発表の予定日だけを見るトリガーを置きます。 学会や展示会、製品の発売の予定日が60日以内に迫り、まだ出願していない届だけを拾い、担当者と部長に知らせます。月1回の点検では、発表日の直前の1か月を見落とすからです。
処理は担当者ごとに区切り、どの担当者まで終わったかをスクリプト プロパティに残します。 1回の実行が5分を過ぎたら区切り、15分後の続きのトリガーで再開します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 発明届の台帳 | 届の番号、届の名称、発明者、知財部の担当、段階、段階に入った日、特許事務所、発表の予定日と種類、方針(出願/秘匿/放棄) | 台帳のシート |
| やり取りの記録 | 届の番号、日付、相手、頼んだこと・受け取ったことのメモ | やり取りの記録のシート |
| メール | 件名に届の番号が入ったメールの日付、差出人、宛先、本文の冒頭 | Gmail(知財部の共有アドレス) |
| 段階ごとの日数 | 段階の名前、止まっていると見なす日数、次に動く人の既定 | 設定のシート |
| 審査会の予定 | 開催日と議題の締切 | 設定のシート |
質を決めるのは、メールの件名の決まりです。 件名に [INV-2026-031] のように届の番号を入れたメールだけを、その届のやり取りとして読みます。名前や届の名称で探すと、別の届のメールが混ざります。 混ざったメールから要約すると、別の届の事情が理由の候補に並びます。
届の名称は渡しますが、発明の内容は渡しません。 台帳の「発明の概要」の列と、メールの添付ファイルは読みません。
データの取得方法を決める
台帳とやり取りの記録は、シートの範囲をまとめて読みます。段階が「出願済み」「放棄」「秘匿で確定」の届は、最初に外します。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 進行中の届の段階と日付 | 台帳 | 経過日数の計算 |
| その届のやり取りの記録の直近10件 | やり取りの記録 | 要約の材料 |
| 件名に届の番号が入ったメールの直近5通 | GmailApp の search | 要約の材料、最後に動いた人 |
| 段階ごとの日数と既定の次に動く人 | 設定のシート | 止まっているかの判定 |
| 次の審査会の議題の締切 | 設定のシート | 確認の文に書く期限 |
メールは subject: に届の番号を入れた検索で、直近90日に絞って取ります。 1通ごとに日付、差出人、宛先と、本文の冒頭の数百字だけを取り出します。引用された過去のメールの部分は、> で始まる行と「-----Original Message-----」以降を切り落とします。
OpenAI API の鍵はスクリプト プロパティに置き、UrlFetchApp で呼びます。 muteHttpExceptions を true にして、失敗の状態コードでも応答を受け取り、送り直すかを決めます。
AIへ渡す前に整形する
- 経過日数の計算 … 段階に入った日から今日までの暦日を数えます
- 止まっている届の選択 … 設定のシートの日数を超えた届を選びます。発表の予定日まで60日を切り、出願していない届は日数にかかわらず選びます
- 最後に動いた日の計算 … やり取りの記録とメールのうち一番新しい日付を出します。段階に入った日より、こちらのほうが「止まっている」をよく表します
- 本文の切り詰め … メールの引用部分と署名を落とし、冒頭だけを残します
- 技術の内容の除去 … 本文から、設定のシートに書いた技術の語の一覧と、数式・寸法・材料の組成のような数字の並びを伏せます
- 個人の情報の扱い … 発明者の氏名は「発明者A」のように置き換え、誰が次に動くかは役割(発明者/調査担当/事務所/審査会事務局/知財部)で返させます
- 入力の上限 … やり取りの記録10件とメール5通を超える分は渡しません
5番目は、完全には伏せきれないものとして扱います。 進み具合のメールにも、技術の話は混ざります。だから本文は冒頭の数百字に限り、添付ファイルは読みません。 伏せた語の数をログに残し、多い届は要約の対象から外して担当者に戻す設定にもできます。
6番目で役割に置き換えるのは、確認の文の宛先を決めるのがスクリプトだからです。 AIには「発明者に聞く」とだけ返させ、宛先のメールアドレスはスクリプトが台帳から入れます。
AIに処理させる
させるのは2つです。 1つ目は、止まっている届ごとに、やり取りから「最後に誰が何を頼み、何が返っていないか」を要約し、止まっている理由の候補と次に動く人を挙げること。2つ目は、次に動く人への確認の文の下書きです。
| させること | 中身 | 判断できないときの扱い |
|---|---|---|
| 直近の経緯の要約 | 最後の3つのやり取りを、日付・誰から誰へ・何を、で並べる | やり取りが無ければ no_record |
| 止まっている理由の候補 | 決めた区分から1つか2つ | 記録から分からなければ unknown |
| 次に動く人 | 役割で1つ | 記録から分からなければ unknown |
| 根拠の引用 | 理由の候補を決めた文を記録からそのまま写す | — |
| 確認の文の下書き | 次に動く人に、何をいつまでにお願いしたいか | 次に動く人が unknown なら作らない |
理由の区分は、waiting_inventor(発明者の返事待ち)、waiting_search(調査の結果待ち)、waiting_committee(審査会の議題待ち)、waiting_firm(事務所の作業待ち)、waiting_ip_dept(知財部の手元で止まっている)、on_hold_by_request(発明者や事業部の依頼で保留中)、unknown です。
waiting_ip_dept を区分に入れているのが、この構成の分かれ目です。 発明者が返したメールに知財部が反応していない届は、担当者からは「発明者待ち」に見えています。最後のやり取りが外から知財部へ届いたものなら、ボールは知財部にあります。 これを要約で言い当てると、第3章の(c)が一覧に出てきます。
| させないこと | 理由 |
|---|---|
| 出願するか・秘匿にするかの判断 | 審査会が決める |
| 発明の内容の要約や評価 | 進み具合の点検に要らない。渡す範囲も広がる |
| 記録に無い事情の推測 | 「繁忙期のため」と書くと、聞く前に答えを決めることになる |
| 経過日数の計算 | 式で出した日数を変えさせない |
| 発明者や担当者の評価 | 一覧の目的と違う |
いちばん起きやすい失敗は3行目です。 記録が少ない届について、AIは「発明者が多忙のため確認が遅れていると考えられます」のような文で埋めがちです。記録に無ければ unknown で、それは担当者が聞くべき届だという合図です。
指示内容を固定する
あなたはメーカーの知的財産部で、発明届の進み具合を点検する立場です。
1件の発明届について、やり取りの記録とメールを読み、次を答えてください。
発明の技術の内容には触れないでください。
【答えること】
1. recent_steps: 最後の3つのやり取りを古い順に、日付・誰から・誰へ・何を、で
2. stall_reasons: 止まっている理由の候補を次の区分から1つか2つ
waiting_inventor / waiting_search / waiting_committee / waiting_firm /
waiting_ip_dept / on_hold_by_request / unknown
3. next_actor: 次に動く人を役割で1つ
inventor / searcher / committee_office / patent_firm / ip_dept / unknown
4. evidence: 理由の候補を決めた文を、記録からそのまま写す
5. message_draft: next_actor に、何をいつまでにお願いしたいかを伝える短い文
【厳守事項】
- 記録とメールに書かれたことだけを根拠にしてください。
- 記録に無い事情(多忙、繁忙期、優先度が低い、など)を推測で書かないでください。
- 最後のやり取りが社外や発明者から知財部へ届いたもので、その後に知財部からの返信が無ければ、waiting_ip_dept を候補に入れてください。
- 分からなければ unknown にしてください。unknown は誤りではありません。
- 経過日数や期限を計算し直さないでください。渡した値をそのまま使ってください。
- 出願するかどうか、発明の価値、関係者の良し悪しを書かないでください。
- next_actor が unknown のときは、message_draft を null にしてください。
- 伏せ字(■)の中身を推測しないでください。
【届の番号と名称】{disclosure_id} {title}
【今の段階・段階に入った日・経過日数・決めた日数】{stage}
【発表の予定日と種類】{publication}
【次の審査会の議題の締切】{committee_deadline}
【やり取りの記録(新しい順に最大10件)】{log_rows}
【メール(新しい順に最大5通、冒頭のみ)】{mails}
「unknown は誤りではありません」と書くのが要点です。 書かないと、AIは何か答えを出そうとして記録に無い事情を足します。分からないという答えが、担当者が手を動かすべき届を教えてくれます。
waiting_ip_dept の条件を具体的に書いているのは、AIが知財部の立場から読むと、自分の側の遅れを候補に挙げにくいからです。 最後のメールの向きという、記録から機械的に確かめられる条件にします。
出力形式を固定する
次の形のJSONで受け取ります。 stall_reasons と next_actor は区分を enum で列挙します。
{
"disclosure_id": "INV-2026-031",
"recent_steps": [
{ "date": "2026-09-02", "from": "patent_firm", "to": "ip_dept",
"what": "明細書案の第1稿を送付" },
{ "date": "2026-09-03", "from": "ip_dept", "to": "inventor",
"what": "明細書案の確認を依頼" },
{ "date": "2026-09-19", "from": "inventor", "to": "ip_dept",
"what": "修正の要望を返信" }
],
"stall_reasons": ["waiting_ip_dept"],
"next_actor": "ip_dept",
"evidence": "9/19 発明者より:図3の説明に追記をお願いします",
"message_draft": null
}
1つ目の理由は、next_actor で確認の文の宛先をスクリプトが決められることです。 inventor なら台帳の発明者、patent_firm なら台帳の事務所の担当、ip_dept なら下書きを作らずに担当者本人への知らせにします。AIにメールアドレスを書かせないので、宛先を取り違えることがありません。
2つ目は、evidence を記録と照らせることです。 スクリプトは evidence の文字列が、渡したやり取りの記録かメールに実際に含まれているかを確かめます。含まれていなければ、その届の理由の候補を unknown に戻します。
3つ目は、recent_steps の日付で「最後に動いた日」を照らせることです。 スクリプトが前処理で出した最後の日付と、recent_steps の最後の日付が違えば、要約が古いやり取りを拾っています。その届は要約を作り直します。
部会用の一覧のシートには、届ごとに次の列を並べます。
| 列 | 中身 | 書く主体 |
|---|---|---|
| 届の番号・段階・経過日数・最後に動いた日 | 台帳と記録から計算 | スクリプト |
| 発表の予定日までの日数 | 台帳から計算 | スクリプト |
| 直近の経緯と理由の候補、次に動く人 | recent_steps、stall_reasons、next_actor | AI |
| 担当者の見立て | 候補が合っているか、知っている事情 | 人 |
| 打った手と部会の決定 | 催促した日、優先順 | 人 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 台帳・やり取りの記録・設定のシート | 読み取りのみ | 段階、日付、記録、日数 |
| Gmail(知財部の共有アドレス) | GmailApp の search で読み取り | 件名に届の番号が入ったメール |
| OpenAI API | UrlFetchApp で呼び出し | 要約と確認の文の下書き |
| 部会用の一覧のシート | 書き込み | 計算・要約・担当者の欄 |
| Gmail | 担当者ごとの要約メールの送信、確認の文の下書き | 担当者への知らせ |
台帳には書き込みません。 理由の候補が正しくても、段階を進めるのは担当者です。確認の文は下書きまでにし、発明者や事務所へは担当者が送ります。 発明者に知財部からの催促が機械的に届くと、届を出すこと自体が面倒に思われます。
人が確認する
- 発表の予定日が近い届を先に見る … 出願の前に発表されると困る届です。部長にもその日のうちに伝えます
waiting_ip_deptの届を見る … 自分の受信箱で止まっていた届です。催促ではなく、自分が動きますunknownの届を見る … 記録が足りない届です。担当者が発明者や事務所に直接聞きます- その他の届の理由の候補を確かめる … 自分の知っている事情と合わなければ、見立ての欄に書きます
- 確認の文を直して送る … 相手と時期を決めて送ります
- 部会で一覧を見る … 部長が優先順と打つ手を決めます
2番目を最初のほうに置いているのは、一番早く片づくからです。 自分の手元で止まっていた届は、その日のうちに動かせます。
目標は、180件をならして1件2分です。 一覧の計算と要約を読んで見立てを書くのが1件1分前後、止まっている届の確認と催促が数分、という想定です。
例外に対処する
| 起きること | 対応 |
|---|---|
| 台帳の段階に入った日が空 | 経過日数を出さず「日付なし」として一覧に載せる |
| 件名に番号のあるメールが1通も無い | やり取りの記録だけで要約し、メールの件名の決まりを担当者に知らせる |
| やり取りの記録もメールも無い | AIに渡さず no_record として載せる |
evidence が記録に無い | 理由の候補を unknown に戻す |
| 伏せた語が多い | 要約の対象から外し、担当者に戻す |
| 応答が拒否、または途中で切れた | その届を unknown として載せ、ログに残す |
| API が失敗の状態コードを返す | 最大2回送り直し、だめなら翌朝に回す |
| 6分に近づいた | どこまで終わったかを記録し、続きのトリガーで再開 |
3行目の no_record は、AIを呼ばずに一覧へ載せます。 記録の無い届をAIに渡しても、要約できるものがありません。記録が無いまま決めた日数を超えた届は、それだけで担当者が発明者に連絡すべき届です。 一覧では unknown より上に並べます。
5行目の「伏せた語が多い」は、届の分野によって偏ります。 材料や回路の届は、進み具合のメールにも組成や部品の型番が書かれがちです。その分野は、やり取りの記録のシートに要点を書く運用を強めるほうが早く効きます。
記録を残す
- 点検した月、届ごとの段階・経過日数・最後に動いた日
- AIに渡したやり取りの件数と、伏せた語の数
- 要約の結果(
recent_steps、stall_reasons、next_actor、evidence) - 確認の文の下書きと、担当者が送ったかどうか、送った日
- 担当者が理由の候補を直した記録
- 部会の決定と、翌月にその届の段階が進んだか
最後の2行を並べて残すのが、この構成を育てる材料です。 候補が waiting_firm から担当者の見立てで別の区分に直される届が多いなら、事務所とのやり取りがメールの外で行われています。
04実装レベルの3段階
本記事が想定するのは半自動化です。 催促を送るのは担当者、優先順を決めるのは部長です。1件5分が2分になるのはこの段階です。 本格構成に進むのは、件名の決まりが定着してからにしてください。 段階の進みをメールから見つけるには、どのメールがどの届のものかが確かである必要があります。
05工数削減シミュレーション
導入後 180件 × 2分 ÷ 60 = 6 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 社内の発明届が年に数十〜数百件あり、受付から出願までに発明者・調査担当・職務発明審査会・特許事務所と何度もボールが行き来する製造業・IT企業・医療機器メーカー。届の台帳をスプレッドシートで持ち、やり取りがメールに散らばっていて、どの届がどこで止まっているかを月例の会議の前に手で洗い出している場合。Google Workspace を使っている場合。
- 発明届が年に数件で、知財の担当者が全件の状況を覚えていられる場合。知財管理システムで段階ごとの期限と催促をすでに管理できている場合。届のやり取りが口頭と紙だけで、記録が残っていない場合(先に台帳とメールの件名の決まりを作る必要があります)。発明の技術の内容を外部のAIに渡すことが社内の規程で認められていない場合で、進み具合の記録からも技術の内容を切り離せないとき。
07最小構成で試す方法
- 担当者1名の進行中の届から、止まっていそうな10件を選ぶ
- 10件それぞれについて、やり取りの記録と件名に番号のあるメールを、技術の話を消してから1つの文書に貼る
- 社内で使ってよいAIサービスの画面に、第7章の指示と一緒に1件ずつ貼る
- 出てきた理由の候補と次に動く人を、担当者の見立てと突き合わせる
- 見立てと食い違った届を、担当者がメールで遡って確かめる
10件で十分です。 ここで確かめたいのは、やり取りの記録から「ボールがどこにあるか」を言い当てられるかです。
| 出てきた内容 | 判断 |
|---|---|
| 担当者の見立てと合う | スクリプトでの自動化に進む |
担当者が気づいていなかった waiting_ip_dept が出た | 構成は有効。 一番効く使い方が見えた |
記録が足りず、ほとんど unknown になる | 記録の付け方が先。 AIの問題ではない |
3行目が出ることは珍しくありません。 メールの件名に番号を入れない、電話で済ませた内容を記録に書かない、という習慣は、どの知財部にもあります。件名の決まりを1か月守ってから試し直します。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 件名に番号の無いメールが拾えない | 件名の決まりを作り、共有アドレスに cc する |
| 名前で探して別の届のメールが混ざる | 件名の番号だけで探す |
| 記録に無い事情で理由が埋まる | 推測を禁じ、unknown を正式な答えにする |
| 知財部の手元で止まっている届が見えない | 最後のメールの向きで waiting_ip_dept を出させる |
| 発明の内容が要約に混ざる | 本文を冒頭に限り、技術の語を伏せ、添付を読まない |
| トリガーが担当者の受信箱を読めない | 作成した人のアカウントで動くので、共有アドレスで作る |
| 発表日の直前を見落とす | 月の半ばに発表日だけを見るトリガーを置く |
| 催促が機械的に届いて嫌がられる | 下書きまでにし、担当者が送る |
上の2行が、要約が当たるかどうかを決めます。 メールの拾い方が崩れると、どれだけ指示を工夫しても別の届の事情が混ざります。別の届の事情で書かれた催促が発明者に届くと、その発明者は次から知財部のメールを丁寧に読まなくなります。
5行目と6行目は、作り始めてから気づくことが多い問題です。 試しの10件は担当者が手で集めるので、伏せる処理も受信箱の違いも表に出ません。スクリプトにした最初の月に、伏せた語の数と、拾えたメールの数を担当者ごとに見てください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 発明届の番号と名称、発明者と関係者の役割、段階と日付、やり取りのメモとメールの冒頭です。未出願の発明に関わる、社内で最も秘密の高い情報の周りを扱います。
- 技術の内容を渡さない … 渡すのは進み具合の記録だけにし、本文の冒頭に限り、技術の語を伏せ、添付ファイルを読みません。伏せきれない前提で、渡す量そのものを小さくします
- 保持の扱いを確かめる … OpenAI API のデータは既定で学習に使われないとされていますが、不正利用の監視のログは最大30日保持されます。データを保持しない扱いは承認制です。 規程に照らして、使ってよいかを先に決めます
- 発表の予定日を最優先で扱う … 特許法第30条は、権利者の行為で公開された発明でも1年以内の出願なら新規性を失わなかったものとみなす例外を定めていますが、出願と同時の書面と30日以内の証明書の提出が要ります。 例外に頼る前提で進めず、発表の前に出願することを基本にします
- 職務発明の扱いに踏み込まない … 特許法第35条は、勤務規則などであらかじめ定めたときは職務発明の特許を受ける権利が発生した時から使用者に帰属し、従業者は相当の利益を受ける権利を持つと定めています。出願するか、秘匿にするか、報奨をどうするかは審査会と規程で決めることで、この構成は判断しません
- 催促を発明者の評価に使わない …
waiting_inventorの多い発明者の一覧を、人事の材料にしないでください。届を出すこと自体が減ります
誤りが起きた場合のリスクは、止まっている届を見落とすことと、技術の内容が外へ出ることの2つです。 前者は日数の式と発表日のトリガーで、後者は渡す範囲を進み具合の記録に限ることで防ぎます。
10まず何から始めるか
1週目:件名の決まりと共有アドレスを作る
届の番号を件名に入れること、知財部の共有アドレスに cc することを、知財部と特許事務所に伝えます。発明者に送るメールの雛形にも番号の欄を足します。
2週目:10件で試す
止まっていそうな10件の記録を集め、技術の話を消して、社内で使ってよいAIサービスで要約させます。担当者の見立てと食い違った届を、メールで遡って確かめます。
3週目:段階ごとの日数を決める
どの段階で何日を超えたら止まっていると見なすかを、部長と担当者で決めます。 技術の語の一覧と、データの保持の扱いを情報システム部と確かめます。
4週目:スクリプトで経過日数までをつなぐ
毎月第1営業日に動くトリガーを置き、全件の経過日数と止まっている届の一覧をシートに書くところまで作ります。この時点ではAIを呼ばず、一覧が担当者の感覚と合うかを見ます。
2か月目: 要約と確認の文の下書きを足し、担当者が一覧から催促を送り始めます。3か月目以降: 担当者が候補を直した記録と翌月の段階の進みを見て、1件5分が何分になったかを実測します。止まっている届に月の初めに気づき、部会で打つ手を決めるだけになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 時間主導型のトリガーが毎分から毎月までの間隔で動かせること。インストール型トリガーは作成した人のアカウントで実行されること | Google: Installable triggers | 2026-10-08 |
| 1回の実行が6分まで、トリガーの合計実行時間が Workspace のアカウントで1日6時間、URLの呼び出しが1日100,000回であること | Google: Quotas for Google Services | 2026-10-08 |
UrlFetchApp の fetch、muteHttpExceptions を true にすると失敗の応答でも例外にならず応答が返ること | Google: Class UrlFetchApp | 2026-10-08 |
GmailApp の search でメールを検索し、スレッドを取得できること。createDraft で下書きを作れること | Google: Class GmailApp | 2026-10-08 |
構造化出力を text.format の json_schema と strict: true で指定すること。additionalProperties: false とすべての項目の required が要ること。値が無いかもしれない項目は null を型に含めること。拒否の応答はスキーマに沿わないことがあること | OpenAI: Structured model outputs | 2026-10-08 |
| API に送ったデータは既定で学習や改善に使われないこと。不正利用の監視のログが最大30日保持されること。Zero Data Retention は事前の承認が要ること | OpenAI: Data controls | 2026-10-08 |
| 特許法第30条(新規性の喪失の例外。1年以内の出願、出願と同時の書面、30日以内の証明書)、第35条(職務発明。あらかじめ定めたときは権利が発生時から使用者に帰属し、従業者は相当の利益を受ける権利を有する)、第39条(異なった日の出願は最先の出願人のみが特許を受けられる) | e-Gov 法令API: 特許法 | 2026-10-08 |
出願するか、発表の前にどう手を打つかは、知財部と審査会で決めてください。 本記事は公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1006)についてのご相談はこちらから。
