会議が終わった直後、手元には録画データだけが残っています。あとで議事録にしようと思っているうちに、次の会議が始まります。

議事録は、書けないから溜まるのではありません。聞き直す時間が取れないから溜まります。だとすれば、機械に渡す価値があるのは「聞き直す作業」のほうです。

この記事は、録画から議事録とタスクまでをつなぐ4段のパイプラインを扱います。素材は運営元で実際に組んだ構成と、公式ドキュメントです。決定事項・数字・宿題の担当者だけは、最後まで人が確かめる設計にします。

検証環境:claude-opus-5 / Claude Code v2.1.x / whisper turbo / macOS 15 / 2026-08-02検証。

こんなふうに調べていませんか

  • 録画は残っているのに、議事録だけが書かれないまま溜まっている
  • 文字起こしまでは試した。そこから先を何につなげばよいかが決めきれない
  • タスク登録まで自動にしたいが、担当者を取り違えたときが怖い

この記事を読み終えたときに手に入るもの

  • 録画から議事録までの4段を、自分の環境で組み立てられるようになります
  • 人の確認を厚くする3点を、工程のどこに置くか決められるようになります
  • 文字起こしの精度が落ちる場面を、段ごとに切り分けられるようになります

結論30秒でわかる、この記事の結論

  • 自動にしてよいのは案を作るところまでです。決定事項・数字・宿題の担当者の3点だけは、人が確かめてから確定させます。
  • 処理は録画取得・文字起こし・議事録生成・タスク登録の4段に分かれ、段ごとに落ちる情報が違います。
  • タスク管理ツールとCRMへの書き込みは、承認が下りるまで走らせない設計にします。
議事録づくりは、案までが機械の仕事です録画は素材です。決めるのは人の側議事録づくりは、案までが機械の仕事です機械が下書きを出す聞き直す作業を丸ごと渡す確認人が見るのは3点だけ決めたこと・数字・宿題の担当確定書き込みは承認の後台帳へ入るのはここから鈴木さん録画は素材です。決めるのは人の側
議事録づくりは、案までが機械の仕事です — 録画は素材です。決めるのは人の側

進行役は3人です。高梨課長が自分の手で組む側から聞き、大森部長が任せてよい範囲を判断する側から聞き、鈴木さん(本誌監修)が答えます。

01議事録の自動化と文字起こしは、AIエージェントにどこまで任せられるんですか?

高梨課長
高梨課長の発言

録画を渡せば議事録が出てくる、という理解でいいのでしょうか。

鈴木さん
鈴木さんの発言

下書きまでは出てきます。ただ、出てきたものが合っているかは別の話です。清書を頼んだ相手が、聞き取れなかった箇所を黙って埋めることがある、という前提で見ています。

議事録とタスクの自動生成パイプラインとは、会議の録画を入口にして、文字起こし・構造化・登録までを1本の処理でつなぐ仕組みです。

処理は4段に分かれます。段ごとに、入ってくるものと出ていくものが変わります。

何が入るか何をするか何が出るか
①録画取得会議・商談・面談の録音データ保存先へ集める音声・映像ファイル
②文字起こし音声・映像ファイルローカル実行の音声認識モデルにかける発言のテキスト
③議事録生成発言のテキスト決定事項と宿題へ構造化する決定事項・宿題のJSON
④タスク登録決定事項・宿題のJSONdry-runを出して人の承認を待つタスク管理ツール・CRMのレコード

この4段のうち、そのまま機械へ渡してよいのは③までです。④の書き込みは、人が承認するまで実行しません。決定事項・数字・宿題の担当者を、自動の判定だけで確定させる形にはしないということです。

hooksや定期実行との役割分担そのものは、AIエージェントの自動化は4層|着手する順番と稼働の数え方で扱っています。本記事はそのうち、音声が入口になる業務を1本だけ掘り下げます。

この章のまとめ

4段のうち①〜③は案づくり、④だけが確定です。線はここに引きます。

02文字起こしを始める前に、AI導入で用意しておくものは何ですか?

①の録画取得はこの章で前提として扱い、②〜④を次の章から手順として説明します。まず、揃っていないと途中で止まるものを並べます。

  • Python実行環境とffmpeg(文字起こし側)
  • Whisperのモデルファイル(初回実行時にダウンロードし、以降はローカルで動く)
  • 議事録の構造化に使う生成AIモデルのAPIキー
  • タスク管理ツール・CRM側のAPIキー(書き込みは承認後のみ使用)
  • 録画データの保存先(アクセス制限つきの領域)

文字起こしに使うWhisperは、OpenAIが公開しているオープンソースのモデルです。コードとモデルの重みはMITライセンスで公開されており、ローカル実行が前提になっています(出典: OpenAI Whisper公式リポジトリ)。

用意するものより気をつけたいのは、権限のほうです。権限は3種類に分かれます。録画データへの読み取り権限、議事録の書き込み先への権限、そしてタスク管理ツール・CRMへの書き込み権限です。

3つ目だけは扱いが違います。実行時にすぐ使わず、人が承認した後にだけ使う設計にします。

同じ鍵でも、回してよい時が違いますどこに置くかより、いつ回すか同じ鍵でも、回してよい時が違いますどこに置くかより、いつ回すかはじめから回してよい録画データを読む文字起こしを書き出す下書きを手元に保存する止まるほうが困る処理です承認が下りてから回すタスク管理ツールへ書き込む顧客管理の側へ書き込む鍵はあっても、条件が揃うまで回しません
同じ鍵でも、回してよい時が違います — どこに置くかより、いつ回すか

同じ「鍵を置く」でも、置いた瞬間から回してよいものと、条件が揃うまで回さないものがあります。後者を前者と同じ扱いにすると、承認の設計は形だけになります。

03録画の置き場所と参加者への告知は、議事録のAI活用より先に決めるんですか?

録画の集め方も前提の一部です。Web会議ツールの録画機能か、対面の録音アプリのいずれかで音声・映像データを確保します。

保存先はアクセス制限のある領域に限定します。会議の参加者には、録画とAIによる議事録化を事前に伝えておきます

置き場は、中間ファイルと確定版を分けておくと迷いません。

meeting-pipeline/
├── recordings/              # 録画・録音の一次保存(アクセス制限つき)
│   └── 2026-08-02_A社商談.mp4
├── transcripts/             # 文字起こし結果(中間ファイル)
│   └── 2026-08-02_A社商談.json
├── minutes/                 # 確定した議事録(人が確認した後の版)
│   └── 2026-08-02_A社商談.md
└── schema/
    └── minutes_schema.json  # 議事録を構造化するJSON Schema

minutes/ に置くのは、人が確認した後の版だけにします。ここを中間ファイルと同じ場所にすると、確認前の下書きが確定版として配られます。フォルダの分け方が、そのまま「どれを信じてよいか」の目印になります。

04文字起こしはローカルで回すんですか、それとも生成AIに投げるんですか?

高梨課長
高梨課長の発言

音声を外へ送らずに済むなら、そのほうが社内の話は早く進みます。

鈴木さん
鈴木さんの発言

文字起こしは手元で回せます。そのあとの構造化だけ、生成AIのAPIを使う形にしています。音声そのものは外に出ない、という分け方です。

文字起こしは、OpenAIが公開しているWhisperのturboモデルをローカルで実行します。turboはlargeモデルから派生した高速版です。公式リポジトリでは、パラメータ数809M、largeモデル比で約8倍の速度と記載されています(出典: OpenAI Whisper公式リポジトリ)。

モデルパラメータ数必要VRAM目安相対速度(large比)
large1550 M約10 GB1x
turbo809 M約6 GB約8x

turboは翻訳タスクには対応しておらず、--task translateを指定しても原言語のまま文字起こしします。議事録は原言語のまま扱うため、この制約は今回の用途に影響しません。

実行は次のコードで足ります。

import json
import whisper

model = whisper.load_model("turbo")
result = model.transcribe("recordings/2026-08-02_A社商談.mp4")

with open("transcripts/2026-08-02_A社商談.json", "w", encoding="utf-8") as f:
    json.dump(result, f, ensure_ascii=False, indent=2)

出てくるのは、発言が並んだテキストです。話者のラベルは付きません。誰が発言したかは、この段階では確定できないまま次へ渡ります。

人でたとえると、1人足りていません聞き分ける役だけ、この構成にはいない人でたとえると、1人足りていません聞き分ける役だけ、この構成にはいない人でたとえるとこの構成での担当聞きながら書き取る人手元で動く音声認識モデル書き取りを議事の形へ整える人生成AIによる構造化誰の声かを聞き分ける人この構成には置かれていないいない役の仕事は、後ろの段が代わりに埋めてはくれません。
人でたとえると、1人足りていません — 聞き分ける役だけ、この構成にはいない

たとえると、この構成には「書き取る人」と「整える人」はいますが、「誰の声かを聞き分ける人」がいません。いない役の仕事を、後ろの段が代わりに埋めてくれることはありません。

この章のまとめ

音声は手元に留まり、外へ出るのはテキストだけです。ただし「誰が」の情報も、ここで落ちます。

05文字起こしを議事録の形へ組み立てる自動化は、AIエージェントの何が支えているんですか?

文字起こしのテキストは、そのままでは決定事項や宿題が読み取りにくい形をしています。この段で、生成AIに構造化のフォーマットを指定し、JSON形式の会議メモを組み立てます。

Claudeのツールユースにはstrict: trueという指定があります。出力のJSONが定義したスキーマの型に一致することを、グラマー制約付きサンプリングという技術で保証する仕組みです(出典: Anthropic公式ドキュメント)。

保証されるのは、型と必須項目があるという構造だけです。発言内容と一致しているかどうかは、この仕組みの対象外にあたります。

strictが守るのは、器の形だけです中身が合っているかは別の目で見るstrictが守るのは、器の形だけです中身が合っているかは別の目で見る器として守られる項目が抜けずに揃う値の型が崩れない空欄のまま流れない文法の制約が効く範囲はここまで器では守られない発言と食い違っていないか担当として正しい人か決めたことと呼べる中身か読み合わせる相手は、人になります
strictが守るのは、器の形だけです — 中身が合っているかは別の目で見る

06議事録のスキーマには、生成AIへ何を書いておくんですか?

器の形はstrictが守ります。残るのは、その器に何を入れさせるかの指示です。スキーマの例は次のとおりです。

{
  "name": "extract_meeting_minutes",
  "strict": true,
  "input_schema": {
    "type": "object",
    "properties": {
      "decisions": {
        "type": "array",
        "items": {"type": "string"},
        "description": "決定事項。発言に無い内容は書かない"
      },
      "action_items": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "task": {"type": "string"},
            "owner": {
              "type": "string",
              "description": "担当者名。特定できなければ'未定'と書く"
            },
            "due_date": {
              "type": "string",
              "description": "期限。特定できなければ'未定'と書く"
            }
          },
          "required": ["task", "owner", "due_date"],
          "additionalProperties": false
        }
      }
    },
    "required": ["decisions", "action_items"],
    "additionalProperties": false
  }
}

運営元WEBMARKSの議事録生成の仕組みでも、担当者や期限が発言から特定できない場合は、推測せず「未定」と明記する設計を採っています(2026-08-02にSKILL定義を確認)。descriptionへ同じ指示を書いておくと、必須項目が空欄のまま処理が止まることを避けられます。

出力される会議メモは、次のような形になります。

{
  "decisions": ["月額プランでの契約を進める"],
  "action_items": [
    {"task": "見積書の再送付", "owner": "未定", "due_date": "今週中"},
    {"task": "契約書ドラフトの確認", "owner": "田中", "due_date": "未定"}
  ]
}

「未定」は、失敗の印ではありません。分からなかったことが分かった、という記録です。ここが埋まってしまうと、あとから確かめる場所そのものが消えます。ここで生成したdecisionsaction_itemsが、次の段への入力になります。

07議事録から出た宿題の登録を、AI社員に任せて事故は起きないんですか?

大森部長
大森部長の発言

登録まで通してしまえば楽です。ただ、担当を取り違えたときは誰が気づくのでしょうか。

鈴木さん
鈴木さんの発言

誰も気づかない、というのがいちばん困る形です。だから登録の手前に、人が見る画面を1枚だけ挟んでいます。

大森部長
大森部長の発言

そこは自動にしない、ということですか。

鈴木さん
鈴木さんの発言

はい。案は機械が作り、確定は人が押す。その一段だけを分けています。

議事録からのタスク登録は、4段の中でもっとも取り返しがつきにくい処理です。宿題の担当者を誤って登録すると、別の人にタスクが割り当てられたまま気づかれないことがあります。

登録の手順は3段です。

  1. 前段で生成したaction_itemsから、登録候補の一覧を作る
  2. タスク管理ツール・CRM側を検索し、同じ宿題が既に登録されていないかを確認する
  3. 新規・更新・スキップの3種類に分けたdry-run表を提示し、人の承認を待つ

08dry-runを挟むと、エージェントの自動化はどこが変わるんですか?

手順の3段目が、この章の本題です。コードにすると次のとおりです。

plan = []
for item in action_items:
    plan.append({
        "task": item["task"],
        "owner": item["owner"],        # "未定"のまま提示してよい
        "due_date": item["due_date"],
        "operation": "skip" if already_registered(item) else "new",
    })

print_as_table(plan)                   # ここで処理を止め、人の承認を待つ
if not human_approved(plan):
    raise SystemExit("承認が得られるまで書き込みません")

for row in [p for p in plan if p["operation"] == "new"]:
    task_api.create(row)               # 承認後にはじめて書き込む
気づく場所を、登録の後から前へ手間の量ではなく、順番を替える気づく場所を、登録の後から前へ手間の量ではなく、順番を替えるそのまま登録する出てきた宿題をそのまま流す誤りは登録された後で見つかる気づかれないまま期限が過ぎる戻す作業は、見つけた人の負担になります表を出して待つ新規・更新・見送りに分けて出す誤りは書き込む前に見つかる承認した人が記録に残る止めるのは1回、見る画面も1枚です
気づく場所を、登録の後から前へ — 手間の量ではなく、順番を替える

変わるのは手間の量ではありません。間違いに気づく場所が、登録の後から前へ動きます。

止める場所を先に決めるという考え方は、AIエージェントの承認ゲート|止める操作4種と3層の選び方で扱っています。誰が何を承認したかの記録も、あとから説明できる形で残します。残す項目のひな型は、AIエージェントの監査ログ|説明できる5項目と3段の点検にまとめています。

この章のまとめ

dry-runは作業を増やす工程ではありません。気づく地点を、後ろから前へ動かす工程です。

09複数話者や社内の略称は、文字起こしとエージェントのどの段でずれるんですか?

文字起こしの精度は、条件によって変わります。ここでは崩れ方を切り分け、それぞれどの段で人の確認が要るのかを整理します。

複数話者の会議では、発言者を取り違えます。Whisperの公式モデルカードは、話者分類のようなタスクについて「堅牢に評価されていない」と述べています(出典: OpenAI Whisper公式モデルカード)。turboの出力にも話者ラベルは付きません。

3人以上が発言する会議では、「誰が言ったか」が失われたまま次の段へ渡ります。この状態で議事録を自動生成すると、宿題の担当者欄が空欄になるか、直前に名前が出た人物として誤って埋まることがあります。

専門用語や社内の略称は、似た音の一般語に置き換わります。同モデルカードは、技術的な言葉づかいへの耐性向上を改善点の1つに挙げています(出典: OpenAI Whisper公式モデルカード)。裏を返せば、製品名や社内の略称は、一般的な音声データで学習したモデルの語彙に含まれにくい領域だということです。

やっかいなのは、型番や契約金額のような数字を含む固有名詞です。変換ミスがそのまま議事録の「数字」として残ります。文としては通るので、読み返しても引っかかりません。

崩れ方で、落ちるものが違います精度をひとまとめの言葉にしない崩れ方で、落ちるものが違います精度をひとまとめの言葉にしない誰が話者と発言が結び付かない担当欄が空くか、直前の名前で埋まる何と語が似た音へ置き換わる型番や金額でも、文としては通る無いこと言っていない文が足される聞き取れない区間が、それらしく埋まる
崩れ方で、落ちるものが違います — 精度をひとまとめの言葉にしない

並べてみると、崩れ方によって落ちるものが違うと分かります。「誰が」が抜ける崩れ方と、「何と」がずれる崩れ方では、確かめる場所も別になります。精度をひとつの言葉でまとめてしまうと、この違いが見えなくなります。

この章のまとめ

精度をひとまとめにしない。何が落ちるかで分けると、確認すべき場所が決まります。

10音が悪い区間で議事録に無い発言が混ざるのは、生成AIの何が原因ですか?

高梨課長
高梨課長の発言

言っていないことが議事録に出る、というのは本当ですか。

鈴木さん
鈴木さんの発言

起こります。聞き取れない区間を、それらしい文で埋めてしまうことがあります。空欄で返されるより自然に見えるぶん、見つけにくい種類の誤りです。

Whisperは弱教師あり学習によって、大規模なノイズを含むデータから訓練されています。そのため実際には音声に含まれていない文章を生成することがあると、公式モデルカードに明記されています(出典: OpenAI Whisper公式モデルカード)。

無音区間やノイズの多い区切り、発言が重なった箇所で、この現象は起きやすいと考えられます。

困るのは、そこで止まらないことです。存在しない発言が「決定事項」としてそのまま構造化される可能性があります。

音の悪い数秒が、宿題として残るまで人が入らなければ、最後まで通ります音の悪い数秒が、宿題として残るまで人が入らなければ、最後まで通ります1音が途切れる無音・雑音・発言の重なり2それらしい文で埋まる空欄ではなく文章になる3決めたこととして扱われる形は整っているので通る4台帳に宿題が載る担当と期限が割り当てられる鈴木さん止められるのは、この列のどこかに人を置いたときだけです
音の悪い数秒が、宿題として残るまで — 人が入らなければ、最後まで通ります

途中に人が入らなければ、音の悪い数秒が、そのまま誰かの宿題になります。誤りの類型と、確認を挟む関門の設計は、ハルシネーション対策|誤り5類型を止める関門4か所でも扱っています。

11この議事録の自動化が動いていると、AI導入の現場では何を見て判定するんですか?

4段が動いているかどうかは、できあがった文書ではなく工程を見て判定します。録画から議事録の下書きまでを自動で作れているか、決定事項・数字・宿題の担当者の3点に絞って人が確認しているか、タスク登録がdry-run表を経てから実行されているかを見ます。

  • 文字起こしの出力に、音声の長さに対して極端に短い・長いテキストが無い(無音区間での過剰生成が疑われる)
  • 議事録のaction_itemsで、担当者・期限が「未定」のまま残っている項目を人が確認済みである
  • タスク管理ツール・CRMへの書き込みが、dry-run表の承認後にしか実行されていない
  • 決定事項の各行が、文字起こしの該当箇所と突き合わせ済みである

最後の1つが、もっとも見落とされます。決定事項は数が少ないぶん、確認を省きやすい項目です。宿題の担当者を取り違えたまま登録すると、対応すべき人に気づかれないまま期限だけが過ぎます

3点に絞って厚く見れば、残りの構造化作業は機械に任せられます。全部を疑うと確認が続かず、何も疑わないと誤りが台帳に残ります。続く形にするために、疑う範囲のほうを先に絞ります。

12よくある質問

議事録の自動生成に、有料の生成AIサービスは必要ですか

文字起こしはオープンソースのWhisperをローカルで実行するため、追加コストは計算資源だけです。決定事項や宿題への構造化に生成AIモデルのAPIを使う場合は、そのAPIの従量コストがかかります。どこまでを手元で回すかによって、費用の出どころが変わるということです。

複数話者の会議でも、この構成でそのまま使えますか

構成自体はそのまま使えますが、話者を区別する仕組みは含まれていません。誰が発言したかを議事録に残したい場合は、話者分離の処理を別途組み合わせるか、発言者の確認を人の工程として厚くします。turboの出力に話者ラベルが付かないことは、設計の前提として先に共有しておくほうが揉めません。

録音を残すこと自体に、参加者への告知は要りますか

前提の章で触れたとおり、告知は運用ルールとして組み込みます。社内会議・商談・面談のいずれでも、録画とAIによる議事録化を行う旨を、会議の開始前に参加者へ伝えます。伝える担当と伝える文面を決めておくと、忙しい日でも飛びません。

文字起こしだけ先に始めても意味はありますか

意味はあります。聞き直す作業そのものが減るのは②の段なので、そこだけでも効果は出ます。ただし話者ラベルは付かないため、「誰が言ったか」は人が補う前提になります。段を1つずつ足していく進め方をしても、4段の設計そのものは変わりません。

議事録の下書きは、どこまで直せば確定にしてよいですか

決定事項・数字・宿題の担当者の3点が、文字起こしの該当箇所と合っているかを確かめた時点です。担当者や期限が「未定」のまま残っている項目は、未定のままでかまいません。確認済みの版だけをminutes/へ置き、下書きは中間ファイルの側に残しておきます。

13まとめ|今日やる3つのこと

線引きは、工程の名前ではなく「案か、確定か」で決めました。案づくりは機械に渡せます。確定だけは人が押します

崩れ方は分けて見ます。「誰が」が抜けるのか、「何と」がずれるのか、言っていないことが足されるのか。落ちるものが違えば、確かめる場所も違います。

今日この順で手をつけます

  1. 録画の保存先をアクセス制限つきの領域に決め、参加者への告知を運用ルールに書く

    入口が決まらないと、後ろの段は組めません

  2. 文字起こしを手元で1本だけ回し、話者ラベルが付かないことを自分の目で確かめる

    落ちる情報を先に知ると、後の設計が変わります

  3. タスク登録はdry-run表までを作り、書き込みは承認の後にだけ走らせる

    気づく地点が、登録の後から前へ動きます

AI検索では、こう聞かれています

  • 会議の録画から議事録を自動で作れるんですか?

    「議事録の自動化と文字起こしは、AIエージェントにどこまで任せられるんですか?」の章で4段に分けて説明しています

  • 文字起こしの精度は、どこで落ちるんですか?

    「複数話者や社内の略称は、文字起こしとエージェントのどの段でずれるんですか?」の章で崩れ方を分けています

  • 議事録から出たタスクを、そのまま登録させていいんですか?

    「議事録から出た宿題の登録を、AI社員に任せて事故は起きないんですか?」の章で止める地点を扱っています

次に読むなら、この記事です