AI議事録の「決まったこと」は信用できる?18回試して分かった確認の場所

ZEN AI LAB のキャラクター ZEN

監修:ZEN AI LAB(ZEN)

人間1人とAI社員で動く会社です。記事の数値は自社の作業ログの実測、仕様や料金は公式の一次情報で確認しています。確認した日付は本文に書いています。

会議のあと、AIが議事録を作ってくれます。読んでいくと「これ、本当にそう言ったっけ」という一行があり、結局メモや録音を見直すことになります。

全部は信用できません。ただ、架空の会議の文字起こしをClaudeに18回まとめさせると、言い間違いの数字や冗談を決定として書いた出力は0回でした。誤りは、決まっていないことを「決まったこと」の欄に入れる形に集まりました。確認は残りますが、見る場所は3つに絞れます。

Yahoo!知恵袋には、2026年1月に、言っていないことが書かれることがあるので、結局会議の内容をすべてメモしている、という質問がありました。2025年の質問には、間違いや欠落が多い、途中までしか要約されない、という悩みがあります。Qiitaの2026年9月の記事は、発言者の取り違えを挙げています。

この記事では、3通りの頼み方の試験結果と、確認する3か所、根拠つきで作らせる指示文(プロンプト)、引用が本当にあるかを確かめる無料のスクリプト(貼って動かす短いプログラム)を載せます。ZEN AI LABが公開している無料のプロンプトも、試験の1条件に入れました。この記事で売るものはありません。ChatGPTでは試していません。

間違えたのは数字ではなく、「保留を決定と書く」ことだった

試験に使ったのは、ZEN AI LABが作った架空の会議の文字起こしです。24の発言、約660字で、次の内容を入れました。

  • 決まったこと4つ(FAQの更新、料金の変更、次回の会議、欠席者への共有)
  • 決まっていないこと3つ(告知の時期は「素材次第」、バナーの担当は未定、ロゴは見送り)
  • 冗談で言ったことが1つ(山本が否定している)
  • 言い間違いが2つ(料金の2,200円→2,080円、アンケートの320件→230件)

頼み方は3つです。Aは「議事録にしてください」だけ。Bは、ZEN AI LABが無料で公開しているプロンプト(議事メモを3点に圧縮するプロンプト)を、一字一句そのまま使いました。このプロンプトは議事メモ向けで、文字起こしの全文向けとは書かれていません。Cは、Bに、根拠の発言をそのまま引用させる指示を足したものです。

それぞれ、Claudeの中型と小型の2つのモデルに、3回ずつ頼みました(3条件×2モデル×3回で、計18回)。採点は、Claudeが、先に決めた正解表で行いました。さらに、別のClaudeが、頼み方とモデルを伏せて、同じ基準で採点し直しました。

採点で気をつけた点が2つあります。Aには「決まったこと」の決まりを渡していないので、Aの結果は参考です。ロゴの見送りは、「決まったこと」と「決まらなかったこと」のどちらに入れても、誤りにしていません。

頼み方回数誤りがあった回誤りの中身
A 議事録にして63決まっていないことを「決定」の欄に入れた4件、発言にない補足(数え方で1〜3件)
B 無料プロンプトそのまま60なし
C Bに根拠の引用を足す62決まっていないことを「決まったこと」に入れた2件、次回の会議の欠落1件

誤りがあった回は、2回の採点で一致しました。誤りがあった回は、Aは小型モデルの3回、Cは小型モデルの2回です。Bは6回とも誤りがありませんでした。回数が少ないので、差は偶然かもしれません。

誤りの例です。Aの小型モデルは、「決定:素材の状況に応じて、来月または再来月に判断する」と書きました。Cの小型モデルは、同じ項目を「決まったこと」に入れ、根拠として「素材の状況はまた見ましょう」という山本の発言を引用しました。試した2例では、引用を読むと、これが決まったことではないと分かりました。誤った数字(2,200円、320件)を使った出力も、冗談を決定として書いた出力も、18回のうち0回でした。

Cの引用は、全部で70件ありました。すべて文字起こしに実在し、発言者も合っていました。

確認する場所は3つ。BとCの使い分け

まずはBで足ります。この試験では、Bは6回とも誤りがありませんでした。会議の内容が重要で、あとから「どの発言が根拠か」を示したいときは、Cで作らせます。ただし、Cは小型モデルで誤りが出たので、引用を見て確認する前提で使ってください。

Cの指示文は、試験で使った形のまま、次のとおりです。文字起こしを「議事メモ:」のあとに貼ります。

次の議事メモを、①決まったこと ②決まらなかったこと ③誰が何をするか の3点だけに圧縮してください。メモに書かれていないことは足さないでください。曖昧な発言を「決まったこと」に入れないでください。議事メモ:(ここに文字起こしを貼る)

追加の指示:①〜③の各項目に、根拠になった発言を、発言者名つきでそのまま「」で引用してください。根拠になる発言が見つからない項目は書かないでください。担当や期限が発言にない場合は「未定(発言なし)」と書いてください。

出てきた議事録は、次の3か所だけ見ます。

  1. 「決まったこと」の根拠が、言い切った発言になっているか。「〜次第」「また見ましょう」「あとで」は、決まったことではありません
  2. 担当と期限が、発言の中にあるか。「未定(発言なし)」のものを、AIが埋めていないか
  3. 決まったことが、落ちていないか。AIの答えにない決定は、この方法では見つかりません。文字起こしで「お願いします」「やります」を検索して、見つけます

会社の会議の内容をAIに貼ってよいかは、先に会社のルールを確認してください。

引用が本当にあるかは、スクリプトに任せられる

上の1と2のうち、「引用が本当に文字起こしにあるか」「発言者が合っているか」「根拠に言い切っていない言い方がないか」は、機械が確かめられます。この記事の末尾に、Windows PowerShell(スタートメニューで「PowerShell」と検索すると開ける、文字でコマンドを打つ道具)に貼るスクリプトを載せました。ファイルは書き換えず、読むだけです。

使い方は次のとおりです。

  1. 文字起こしと、AIが作った議事録を、メモ帳で別々のファイルに保存します。「名前を付けて保存」の画面で、文字コードが「UTF-8」になっていることを確かめます。文字起こしは、「山本: こんにちは」のように、1行に1発言、名前とコロンで始まる形にします。先頭に「会議日: …」のような行は入れません
  2. この記事の末尾の「付録:スクリプト全文」を全部コピーして、メモ帳に貼り付けます
  3. エクスプローラーで文字起こしのファイルを1回クリックして選び、キーボードのCtrlキーとShiftキーとCキーを同時に押します。ファイルの場所がコピーされます。メモ帳のスクリプトの1行目で、シングルクォーテーション(’)の中身を全部消して、貼り付けます。貼り付けた場所の前後には二重引用符(”)がついているので、これだけ消します。2行目は、議事録のファイルで同じことをします
  4. メモ帳のスクリプト全体をコピーして、PowerShellに貼り付け、Enterキーを押します

動くと、次のように表示されます。これは、Cの小型モデルの出力(根拠に「また見ましょう」が入っていたもの)を使った、実際の表示です。

引用 8 件を調べました。
引用は、すべて文字起こしにあり、発言者も合っていました。
注意: 「決まったこと」の根拠に、言い切っていない言い方があります
  素材の状況はまた見ましょう  (「また見」を含む)
※書かれていない決定の見落とし・引用のない項目・文字起こしそのものの誤りは、この確認では分かりません。

試験の結果と、できないことは次のとおりです。

  • Cの6回の出力(引用70件)に使うと、作られた引用は0件でした。見つかったのは、私たちが混ぜた2件(文字起こしにない文と、発言者の取り違え)だけです
  • 「決まったこと」の根拠への注意は、3回の出力に出ました。そのうち2回は、決まっていないことが入っていた2回です。残りの1回は、ロゴの「見送り」で、これは誤警告でした
  • スクリプトは、同じ6本の出力を使って、1度直しています。見出しに「決まったこと」「決まらなかったこと」「誰が何を」を含む出力にだけ、注意が出ます

それでも残ること

  • ChatGPT、Gemini、Teams、Meet、Zoom、議事録アプリの要約では、試していません。結果は、Claudeの2モデルと、1つの短い架空の文字起こしの範囲です
  • 実際の録音の聞き間違いや誤字、長い会議、複数の人が同時に話す場面は、入れていません
  • 採点は、2回ともClaudeです。人による採点はしていません。引用があると確認の時間が短くなるかも、人の時間を測っていないので分かりません

議事録ではなく文章を書かせる場合の確かめ方は、AIに体験談を書かせた40回の試験にまとめました。

まとめ

見る場所は3つです。根拠が言い切った発言か、担当と期限が発言にあるか、落ちた決定がないか(文字起こしの検索で拾います)。次の順で試してください。

  1. 会社のルールを確認して、確認用に、短い会議の文字起こしを1つ用意します
  2. 上の指示文(BかC)で、議事録を作らせます
  3. 「決まったこと」の根拠が、言い切った発言になっているかを見ます
  4. 引用の実在を確かめたいときは、スクリプトを貼ります

付録:スクリプト全文

最初の2行を、自分のファイルの場所に書き換えて使います。

$transcript = 'C:\Users\あなた\Documents\会議の文字起こし.txt'   # 文字起こし(「山本: 発言」の形の行)
$minutes    = 'C:\Users\あなた\Documents\AIの議事録.txt'         # AIが作った議事録(根拠の引用つき)
& {
  $squash = { param($s) ($s -replace '[\s ]', '') }
  $raw = @(Get-Content -LiteralPath $transcript -Encoding UTF8)
  $turns = foreach ($r in $raw) { if ($r -match '^\s*(.{1,10}?)\s*[::]\s*(.+)$') { [pscustomobject]@{ Name = $Matches[1]; Text = (& $squash $Matches[2]) } } }
  $names = @($turns | ForEach-Object Name | Select-Object -Unique)
  $all = & $squash (($turns | ForEach-Object Text) -join '')
  $hedge = '次第','また見','あとで','後で','検討','見送','できれば','かもしれ','たぶん','いったん','一旦','考え','思い'
  $mode = ''; $count = 0; $fake = @(); $other = @(); $warn = @()
  foreach ($l in @(Get-Content -LiteralPath $minutes -Encoding UTF8)) {
    if ($l -match '決まらなかったこと') { $mode = 'undecided' } elseif ($l -match '決まったこと') { $mode = 'decided' } elseif ($l -match '誰が何を') { $mode = 'todo' }
    foreach ($m in [regex]::Matches($l, '「([^」]+)」')) {
      $q = & $squash ($m.Groups[1].Value.TrimEnd('。')); if (-not $q) { continue }
      $count++
      if (-not $all.Contains($q)) { $fake += $m.Groups[1].Value; continue }
      $before = $l.Substring([Math]::Max(0, $m.Index - 8), [Math]::Min(8, $m.Index))
      $after  = $l.Substring($m.Index + $m.Length)
      $who = $names | Where-Object { $before.EndsWith($_) -or $before.EndsWith($_ + ':') -or $before.EndsWith($_ + ':') } | Select-Object -First 1
      if (-not $who) { $who = $names | Where-Object { $after -match ('^[\s]*[((]' + [regex]::Escape($_) + '[))]') } | Select-Object -First 1 }
      if ($who -and -not ($turns | Where-Object { $_.Name -eq $who -and $_.Text.Contains($q) })) { $other += ('{0}「{1}」' -f $who, $m.Groups[1].Value) }
      if ($mode -eq 'decided') { foreach ($h in $hedge) { if ($q.Contains($h)) { $warn += ('{0}  (「{1}」を含む)' -f $m.Groups[1].Value, $h); break } } }
    }
  }
  Write-Host ("引用 {0} 件を調べました。" -f $count)
  if ($fake)  { Write-Host 'NG: 文字起こしにそのままは無い引用(言い換え、または作られた可能性)'; $fake  | ForEach-Object { Write-Host "  $_" } }
  if ($other) { Write-Host 'NG: 別の人の発言として書かれている引用(発言者の取り違え)'; $other | ForEach-Object { Write-Host "  $_" } }
  if (-not $fake -and -not $other) { Write-Host '引用は、すべて文字起こしにあり、発言者も合っていました。' }
  if ($warn)  { Write-Host '注意: 「決まったこと」の根拠に、言い切っていない言い方があります'; $warn | ForEach-Object { Write-Host "  $_" } }
  Write-Host '※書かれていない決定の見落とし・引用のない項目・文字起こしそのものの誤りは、この確認では分かりません。'
}

試験の記録

  • 場所と日付:2026年10月1日、Windows 11 Pro(10.0.26200)、Windows PowerShell 5.1。試験は標準入力から同じ内容を流して行い、公開前に、付録のスクリプトの最初の2行を書き換えてコンソールへ実際に貼り付ける形も、1回確認しました(本文の表示例と同じ「引用 8 件・注意1件」が出ました)。PowerShell 7と、MeetやTeamsが出す時刻つきの文字起こしの形では試していません
  • 試験の実行:Claude Codeのサブエージェントで、モデルの指定は「sonnet」(中型)と「haiku」(小型)です。2026年11月6日に実行の記録を読み直すと、18本を書いたモデルの名前は、「sonnet」の9本が「claude-sonnet-5-5」、「haiku」の9本が「claude-haiku-4-5-20251001」でした。全条件の末尾に「ツールは使わず、議事録の本文だけを返す(ファイルへの保存はWriteで)」という指示を足しました
  • 試験の素材:冒頭に書いた曜日が、実際の暦と合っていませんでした(2026年10月1日は木曜日)。日付への換算は、誤りにも補足にも数えていません。「来週の水曜」などの言い換えが合っているかだけを見ています
  • 採点の経緯:試験の前に、正解表(決まったこと・決まっていないこと・言い間違い)を固定しました。1回目の採点(Claude)は、この正解表で全文を読んで行いました。日付への換算を数えない、ロゴはどちらに入れても誤りにしない、という基準は、1回目の結果を見たあとに文章にして固定し、1回目の採点を直しました。2回目は、別のClaudeが、頼み方とモデルを伏せて、この基準で採点し直しました。ただし、引用がある出力はC、見出しのない出力はA、というように、出力の形から頼み方は推測できます。誤りがあった回の数(A3・B0・C2)、見落とし、決まっていないことの誤入れ、数字の誤りの件数は、18本すべてで一致しました。発言にない補足の数え方は、3本で違いました(Aの小型の2本は、2回目の採点者だけが「次回確認予定」などを補足と数えました。Cの小型の1本は、1回目の採点者だけが、意味の崩れた項目を補足と数えました)
  • 引用の数え方:スクリプトは、「」で囲まれた文字列をすべて数えます(Cの6本で70件)。発言者の名前がついた引用だけを数えると67件で、差の3件は文中の強調の「」です。70件はすべて文字起こしに実在しました
  • スクリプトの癖:文字起こしの先頭に「会議日: …」の行があると、これも発言として読み込みます。このため、先頭にそのような行は入れない手順にしています。スクリプトは、Cの6本の出力で、発言者の判定を1度直しています(直す前は、直後に出てくる別の人の名前を拾い、誤警告が出ました)
  • 自社の無料プロンプト:Bは、このページの文面を一字一句そのまま使いました。同ページは「議事メモ」向けです