ストーリー
ミッション概要
| 項目 | 内容 |
|---|---|
| 目標 | 音声・動画AIを業務に適用するシステム設計書を作成する |
| 所要時間 | 90分 |
| ミッション数 | 3つ |
| 使用知識 | STT / TTS / 動画分析 / 会議自動化 |
| 評価観点 | 技術選定、パイプライン設計、運用設計、コスト試算 |
ミッション1: 全社会議自動化システムの設計(35分)
シナリオ
【総務部 中村部長からの依頼】
NetShop社では以下の会議が定期的に開催されています:
| 種別 | 頻度 | 平均時間 | 参加者数 | 月間回数 |
|------|------|---------|---------|---------|
| 朝会 | 毎日 | 15分 | 5-8名 | 22回×5チーム=110回 |
| プロジェクト会議 | 週1 | 60分 | 3-10名 | 20回 |
| 経営会議 | 週1 | 90分 | 10名 | 4回 |
| 1on1 | 隔週 | 30分 | 2名 | 40回 |
| 全社ミーティング | 月1 | 60分 | 全社50名 | 1回 |
現在の課題:
- 議事録の作成に1回あたり30分かかる
- 議事録の品質にバラつきがある
- アクションアイテムの追跡が属人的
- 過去の会議内容の検索が困難
- 経営会議の議事録は機密性が高い
希望:
- 全ての会議の議事録を自動生成
- 会議種別に応じた最適な出力形式
- アクションアイテムの自動追跡
- 過去の議事録の検索機能
- 機密会議は社外APIを使わない
タスク
以下を設計してください。
1. システムアーキテクチャ
- 通常会議用のパイプライン
- 機密会議用のパイプライン(オンプレ要件)
- 使用する技術スタック
2. 会議種別ごとの出力設計
- 各種別の出力形式とテンプレート
- プロンプト設計の方針
3. 検索機能の設計
- インデックス設計
- 検索クエリの想定
4. コスト試算
- 月間のAPI費用
- インフラ費用
- 削減できる人件費
5. 段階的導入計画
- Phase 1〜3のスコープ
解答例を見る
1. システムアーキテクチャ
【通常会議用パイプライン】
Zoom/Teams録音 → S3アップロード → Lambda起動
→ Whisper API(STT)→ pyannote(話者分離)
→ Claude API(議事録生成)→ Slack通知 + Notion保存
【機密会議用パイプライン】
録音 → 社内サーバーにアップロード
→ Whisper(ローカルGPU実行)→ pyannote(ローカル)
→ Ollama + Llama 3(ローカルLLM)→ 社内Wikiに保存
技術スタック:
- STT: Whisper API(通常)/ Whisper Large V3ローカル(機密)
- 話者分離: pyannote.audio 3.1
- 議事録生成: Claude Sonnet(通常)/ Llama 3 70B(機密)
- ストレージ: S3 + PostgreSQL
- 検索: OpenSearch(ベクトル検索対応)
2. 会議種別ごとの出力設計
| 種別 | 出力形式 | 重点項目 |
|------|---------|---------|
| 朝会 | 箇条書き(200字以内) | 進捗・ブロッカー |
| プロジェクト会議 | 構造化議事録 | 議論・決定・アクション |
| 経営会議 | 詳細議事録 + 数値データ | 判断根拠・KPI |
| 1on1 | プライベートメモ | フィードバック・目標 |
| 全社ミーティング | 社内報形式 | 方針・Q&A |
3. 検索機能の設計
インデックス:
- 全文テキスト検索(OpenSearch)
- ベクトル検索(Embedding + コサイン類似度)
- メタデータフィルタ(日付、参加者、種別、プロジェクト)
検索クエリ例:
「先月の経営会議で決まった予算の件」
→ 種別:経営会議 + 期間:先月 + キーワード:予算
4. コスト試算
月間処理量:
朝会110回×15分 + PJ20回×60分 + 経営4回×90分 + 1on1 40回×30分 + 全社1回×60分
= 1650+1200+360+1200+60 = 4470分 = 74.5時間
API費用:
- Whisper API: 74.5時間 × $0.006/分 = $26.82
- Claude API: 175回 × $0.05 = $8.75
- OpenSearch: $50/月
- GPU(機密用): $100/月
合計: 約$186/月 ≒ 28,000円/月
削減効果:
議事録作成: 175回 × 30分 = 87.5時間 × 3,000円 = 262,500円/月
ROI: 262,500 - 28,000 = 234,500円/月
5. 段階的導入計画
Phase 1(1ヶ月): 朝会のみ自動化(最もパターン化しやすい)
Phase 2(2〜3ヶ月): プロジェクト会議 + 1on1に拡大
Phase 3(4〜6ヶ月): 経営会議(オンプレ構築)+ 検索機能 + 全社展開
ミッション2: コールセンター音声分析システム(30分)
シナリオ
【CS部 山田リーダーからの追加依頼】
Step 1で検討したコールセンターの音声処理に加えて、
通話品質の分析とオペレーター教育への活用を検討したい。
追加要件:
1. 通話品質スコアの自動算出
- オペレーターの応対品質(挨拶、言葉遣い、共感表現)
- 問題解決の効率性(通話時間、保留回数)
- 顧客満足度の推定
2. ベストプラクティスの自動抽出
- 高評価通話のパターン分析
- 新人教育用の模範通話の自動選定
3. リアルタイムアシスタント
- 通話中に参考情報をオペレーター画面に表示
- 感情悪化時のアラート
タスク
以下を設計してください。
1. 通話品質スコアリングの設計
- 評価項目と重み付け
- スコアリングアルゴリズム
2. リアルタイムアシスタントの設計
- アーキテクチャ(レイテンシ要件を考慮)
- 表示する情報の種類
3. 教育コンテンツ自動生成
- ベストプラクティス抽出のロジック
- 教育コンテンツの形式
解答例を見る
1. 通話品質スコアリング
評価項目と重み:
| 項目 | 重み | 評価方法 |
|------|------|---------|
| 挨拶・名乗り | 10% | キーワード検出 |
| 言葉遣い | 15% | NGワード検出 + LLM評価 |
| 共感表現 | 15% | 共感フレーズの頻度 |
| 傾聴(顧客の話を遮らない) | 15% | 話者オーバーラップ分析 |
| 問題解決効率 | 20% | 通話時間 + 解決率 |
| 顧客感情変化 | 25% | 通話前半→後半の感情スコア差 |
スコアリング: 各項目0-100点 × 重み → 総合スコア(0-100)
2. リアルタイムアシスタント
アーキテクチャ:
通話音声 → [Deepgram STT (200ms以下)] → テキストストリーム
→ [軽量NLPモデル] → 意図分類 + キーワード抽出
→ [RAG検索] → 関連FAQ/手順を表示
→ [感情分析] → スコア低下時にアラート
レイテンシ要件: 2秒以内に画面表示
表示情報:
- 顧客の問い合わせカテゴリ(自動判定)
- 関連FAQ(上位3件)
- 類似ケースの対応履歴
- 感情スコアのリアルタイムグラフ
- 「お客様が怒っています」等のアラート
3. 教育コンテンツ自動生成
ベストプラクティス抽出:
- 顧客満足度スコア上位10%の通話を自動選定
- LLMで「なぜこの通話が高評価か」の分析コメント生成
- 同じカテゴリの低評価通話との比較ポイントを抽出
教育コンテンツの形式:
- 模範通話のハイライト音声(TTSで匿名化版も作成可)
- 書き起こし + AIコメント(良かったポイントのアノテーション)
- Before/After比較スライド
- 週次ベストプラクティスレポート(Slack配信)
ミッション3: 研修動画プラットフォームの設計(25分)
シナリオ
【人事部 佐々木マネージャーからの依頼】
社内に200本以上の研修動画があるが、活用度が低い。
動画をAIで処理し、学習効率を高めるプラットフォームを構築したい。
要件:
1. 全動画の字幕自動生成(多言語対応含む)
2. 動画内容の要約とチャプター分け
3. 動画内容に基づくクイズの自動生成
4. 動画内の質問応答(「動画の15分あたりで説明された手順は?」)
5. 関連動画のレコメンド
タスク
以下を設計してください。
1. 動画処理パイプライン
- 200本の既存動画のバッチ処理方法
- 新規動画の自動処理フロー
2. 検索・質問応答の設計
- 動画コンテンツのインデックス方法
- 質問応答の実装アプローチ
3. クイズ自動生成の設計
- 生成するクイズの形式
- 品質保証の方法
4. 多言語対応の設計
解答例を見る
1. 動画処理パイプライン
【既存200本のバッチ処理】
S3バケット内の全動画 → Step Functions オーケストレーション:
並列処理(1動画あたり):
├── 音声抽出 → Whisper API → 日本語字幕SRT
├── フレーム抽出(10秒間隔)→ VLMでシーン説明
└── メタデータ抽出(長さ、解像度等)
↓
統合処理:
├── チャプター自動生成(シーン変化 + トピック変化で分割)
├── 動画要約生成(Claude)
├── Embeddingベクトル生成(チャプター単位)
└── OpenSearchにインデックス登録
処理時間見積: 200本 × 平均30分動画 = 100時間の動画
並列20本処理で約2日
【新規動画】
アップロード → EventBridge → 同じパイプラインをリアルタイム実行
2. 検索・質問応答
インデックス:
- チャプター単位でEmbedding生成
- 各チャプター: タイムスタンプ + テキスト + フレーム画像 + メタデータ
質問応答:
ユーザーの質問 → Embedding → ベクトル検索で関連チャプター上位5件
→ 該当チャプターのテキスト + フレーム画像をコンテキストとしてLLMに送信
→ 回答 + 該当動画の該当時間へのリンクを返す
3. クイズ自動生成
形式: 4択問題 × 5問/動画
生成: チャプター要約からClaude APIで生成
プロンプト: 「以下の内容に基づいて、理解度を確認する4択問題を5問作成してください」
品質保証:
- 生成されたクイズをLLMで自己レビュー(答えの妥当性チェック)
- 初回は人事担当者がレビュー、フィードバック後にプロンプト改善
- 受講者からのフィードバック(「この問題は不適切」ボタン)
4. 多言語対応
日本語字幕 → LLM翻訳 → 英語/中国語/韓国語字幕
翻訳品質: 社内の各言語話者にサンプルレビュー依頼
TTS: 翻訳テキスト → 各言語のTTSで音声トラック生成(吹替版)
振り返り
評価基準
| 評価項目 | A(優秀) | B(合格) | C(要改善) |
|---|---|---|---|
| アーキテクチャ | 機密/通常の分離、スケーラビリティ考慮 | 基本的な処理フロー | 非機能要件の考慮なし |
| 運用設計 | コスト試算 + 段階導入 + KPI | 基本的な運用方針 | 運用面の考慮不足 |
| 技術選定 | 要件に応じた最適選定 + 代替案 | 適切な技術選定 | 技術の使い分けが不明確 |
| ビジネスインパクト | 定量的なROIと定性的効果の両方 | 概算でもROIを提示 | 効果の説明が不十分 |
推定所要時間: 90分