生成AIに議事録のタスク抽出を任せたら「謎の過去日」が設定された話と3つの解決策

中小企業の現場において、会議の議事録作成とそれに伴うタスク(ToDo)管理は、非常に手間のかかる業務の一つです。最近では、音声認識ツールとGeminiやChatGPTなどの生成AIを組み合わせることで、議事録の要約からタスクの抽出までを完全自動化するデジタルトランスフォーメーション(DX)が進んでいます。
当社のワークフローでも、会議の文字起こしデータをGeminiに読み込ませ、誰が・何を・いつまでにやるべきか(タスクリスト)を自動抽出し、Notionのタスクデータベースに直接登録する仕組みを構築しました。
しかし、運用を開始してすぐに「タスクの期限(デッドライン)が過去の日付になってしまう」という奇妙な問題に直面しました。現場からは「来週の金曜日が期限のはずなのに、なぜか1年前の日付でタスクが登録されている」といったケースが度々生じたのです。
今回は、この「AIが日付を勘違いする問題」の技術的な原因と、それを防ぐための3段構えのアプローチについて解説します。生成AI活用のTipsとして、実際の運用で効いた具体的な手法を紹介します。
なぜAIは「今日」がわからないのか?

原因を調査した結果、LLM(大規模言語モデル)特有の性質が関係していることがわかりました。
会議の中で参加者は「じゃあ、この資料はあさってまでに作っておいて」「来週中にはクライアントに提出しよう」といった相対的な日付表現を頻繁に使用します。人間であれば「今日は4月8日だから、あさっては4月10日だな」と無意識に脳内で変換できます。
しかし、API経由で呼び出されたGeminiは「今日が何年何月何日なのか」をデフォルトでは知りません。
そのためAIは、文字起こしのテキスト内に登場する「3月度報告」や「2024年の方針」といった断片的なキーワードから無理やり基準日を推測し、結果として「2024-03-31」のような見当違いの絶対日付を生成してしまっていたのです。
解決策:3段構えの堅牢なアプローチ

この問題を解決するためには、AI任せにするのではなく、システム側で適切な補助線を引いてあげる必要があります。当社では以下の3つのステップで対策を実装しました。
ステップ1:プロンプトに「今日」と「会議日」を注入する
まずは、APIを呼び出す直前のプログラム(Node.jsなど)で現在の日付を取得し、プロンプトの冒頭でAIに「今日の日付」と「会議が実施された日付」を明確に伝えます。
// 今日の日付を YYYY-MM-DD 形式で取得
var today = new Date().toISOString().split('T')[0];
// ユーザーが入力した会議日(存在する場合)
var userDate = input.meeting_date_input || '';
var dateHint = userDate ? 'この会議が実施された日付は' + userDate + 'です。' : '';
// プロンプトを動的に生成
var prompt = 'あなたは優秀なプロジェクトマネージャーのアシスタントです。\n' +
'本日の日付は ' + today + ' です。\n' +
dateHint + '\n' +
'以下の文字起こしからタスクを抽出してください。';これにより、AIは「あさって」がいつなのかを正確に計算するための基準点を獲得します。
なお運用面では、日付をAIに渡す方法として①文字起こしデータのファイル名に会議日を含める(例:`20250408_定例会議.txt`)、②ファイルを送信するフォームに日付選択フィールドを設ける、という2つのアプローチが実用的です。当社ではこの両方を採用しており、入力漏れを防ぎながら確実に日付情報をシステムに取り込んでいます。
ステップ2:AIへの指示(ルール)を厳格化する
次に、プロンプト内の指示文(システムプロンプト)で、日付の出力フォーマットとルールを厳格に定義します。
【タスク抽出のルール】
deadline(期限)は必ず具体的な絶対日付(YYYY-MM-DD形式)で出力すること。
「来週」「あさって」「今日中」などの相対表現は、提示した本日および会議日を基準にして絶対日付に計算し直すこと。
いかなる場合でも、過去の日付をdeadlineにセットしてはならない。AIに対して「過去日はNG」と明示することで、文脈の読み違えによるエラーを大幅に減らすことができます。
ステップ3:プログラムによる「過去日ガード」の実装
プロンプトをどれだけ工夫しても、AIは確率モデルである以上、稀に指示を無視したり計算ミスをしたりすることがあります。そのため、AIの出力結果をデータベースに登録する前に、プログラム側で最終チェック(フォールバック)を行います。
// AIが出力した期限(deadline)と会議日(meetingDate)を比較
if (deadline < meetingDate) {
// 年の推測を間違えているケースが多いため、会議日の「年」で上書き補正
deadline = meetingDate.split('-')[0] + '-' + deadline.slice(5);
// それでもまだ過去日になる場合は、とりあえず「会議の7日後」をセット
if (deadline < meetingDate) {
deadline = addDays(meetingDate, 7);
}
}このように、AIの出力を鵜呑みにせず、システム側でフェイルセーフ(安全装置)を設けることが、業務システムとして運用する上での鍵となります。
そして、もう一つ大切な考え方があります。AIに完璧を求めないことです。多少の誤りが生じる可能性を前提に置いたうえで、うまく付き合っていく姿勢が、AI導入を成功させる鍵です。
AI導入に失敗する事例の多くは、はじめから100%の精度を求めすぎることにあります。AIの活用はスナイパーライフルで超遠距離の一点を狙い撃つような運用には向いていません。むしろショットガンで面を撃つように、多少外れても大部分はヒットしている、という運用スタイルが適しています。
もちろん、業務システムへの組み込みである以上、Human-in-the-loop(人間が最終確認する設計)は欠かせません。AIが抽出したタスクを目視で確認する習慣を残しつつ、手入力や修正作業の大部分をAIにオフロードする——そのバランス感覚こそが、実務でのAI活用における現実解です。
成果とまとめ

この3段構えの対策を実装して以降、タスクの期限に起因する混乱は大幅に減少しました。具体的には次のようなメリットが生まれています。
- 手入力の大幅削減:担当者がNotionのデータベースを手動で修正する作業がほぼなくなり、会議終了後すぐにタスクが連携される状態が実現しました。
- 混乱の解消:「言った・言わない」や期限の認識ズレが減り、チーム全体のタスク管理がスムーズになりました。
- 即時連携のメリット:会議の議事録が完成したタイミングで、自動的にタスクが各メンバーのビューに反映されるため、抜け漏れが激減しています。
なお、AIが完璧であるとは考えていません。最終的なタスクの確認は担当者が行うことを前提に運用しており、あくまでAIは「入力コストを下げるアシスタント」として位置づけています。
生成AIは非常に強力なツールですが、万能ではありません。「AIが苦手なこと(正確な現在時刻の把握や絶対的な計算)」は従来のプログラムで補い、「AIが得意なこと(自然言語からの文脈理解と抽出)」に専念させる。このハイブリッドな設計思想こそが、中小企業がAI活用を成功させるための最適解だと言えるでしょう。
MIMIRについて・ご相談はこちら
当社では現在、中小企業向けのAI業務自動化プラットフォーム MIMIR(ミミル) を開発中です。議事録のタスク抽出をはじめ、社内のさまざまなワークフローをAIで効率化することを目指しています。
- MIMIR導入に関するご相談
- 生成AI・業務自動化ワークフローに関するご相談
NotionやClaude Codeなどのツールを活用した自動化の設計・構築もお受けしています。ご興味のある方はお気軽にお問い合わせください。









