AIチャット型情報管理システム
Chat Tracker - AIチャット型情報管理システム 開発報告
ビジョン:製造現場の誰もが、AIとの会話だけで、正確な業務情報を即座に記録・共有できる世界
1. 現在の課題(Problem)
製造現場でのトラブルメンテナンス・品質管理情報において、日常的に発生している課題を整理しました。
1-1. 情報の「頭の中だけ」問題
現場で発生したトラブルや対処内容は、担当者の記憶や口頭伝達に依存しがちです。帰社後やシフト交代後に「どうやって直したんだっけ?」となるケースが頻発し、同じトラブルへの対応が繰り返されます。記録しようにも、フォームへの入力が面倒・項目が分からないという声も多く聞かれます。
1-2. バラバラな記録形式・共有の壁
現状の情報管理構成:
├── Excelファイル/ ← 担当者ごとに異なるフォーマット
├── 紙の点検票/ ← デジタル化されておらず検索不可
├── メモアプリ/ ← 個人端末に閉じており共有されない
└── → 組織としてのナレッジが蓄積されない記録形式が人によってバラバラなため、後から参照・検索ができず、チーム全体での知見共有が困難です。
1-3. 入力の手間と情報の欠落
必要な項目(発生日時・原因・暫定対策・恒久対策など)を漏れなく記録しようとすると、入力の手間が大きく、結果として「後で書く」が「ほぼ書かない」になってしまいます。現場では両手が塞がっていたり、グローブをしていてタイピングが難しい場面も少なくありません。
2. Chat Trackerでこう変わる(Solution)
| # | 現状(BEFORE) | 導入後(AFTER) |
|---|---|---|
| 1 | Excelや紙への手入力で情報が散在 | AIとの会話で必要事項を自動収集・構造化保存 |
| 2 | 人によって記録項目がバラバラ | テーマ(テンプレート)定義でチーム共通フォーマットを強制 |
| 3 | 両手が塞がる現場での入力困難 | 音声入力+TTS読み上げでハンズフリー対応(実装済み) |
| 4 | 過去事例の検索・参照が困難 | 全文検索+テーマ・日付フィルタで即時参照可能 |
| 5 | 誰が何を変更したか不明 | 編集履歴管理で変更者・変更内容を完全追跡(今後実装) |
解決後の構成イメージ
Chat Tracker データ構造:
└── テーマ(記録テンプレート)
├── トラブルメンテナンス(デフォルト)
│ ├── 発生日時【必須】
│ ├── トラブル内容【必須】
│ ├── 原因【必須】
│ ├── 暫定対策【任意】
│ └── 恒久対策【任意】
├── 品質異常報告
│ └── (品質チームが定義した項目群)
├── 改善提案
│ └── (改善活動に特化した項目群)
└── ユーザーが自由に追加可能テーマは全ユーザーが作成でき、AIはそのテーマの項目に沿って情報収集を行います。不足項目があれば自動的に質問し、必要事項が揃った段階で保存確認を行います。
3. システム全体像
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ ユーザー入力 │ ─→ │ Lambda │ ─→ │ Bedrock │ ─→ │ DynamoDB │
│ テキスト/音声 │ │ Function URL │ │ Claude 4.5 │ │ 構造化保存 │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
↑ ↓
Polly TTS AppSync API
読み上げ GraphQL経由
↑ ↓
┌──────────────────────────────────────────────────────────────────────────┐
│ React SPA (フロントエンド) │
│ AWS Amplify Hosting (CDN) でホスティング │
└──────────────────────────────────────────────────────────────────────────┘技術スタック
| レイヤー | 技術 |
|---|---|
| フロントエンド | React 19 + TypeScript 5 + Vite 7 + Serendie Design System |
| バックエンド | AWS Amplify Gen 2 (AppSync / GraphQL) |
| データベース | Amazon DynamoDB(8テーブル構成) |
| AI | Amazon Bedrock(Claude Sonnet 4.5)/ Lambda Function URL(ストリーミング) |
| 音声 | Web Speech API(音声入力)/ Amazon Polly Kazuha Neural(TTS) |
| ストレージ | Amazon S3(画像永続保存 / 音声ファイル6時間TTL) |
| 認証 | Amazon Cognito(既存 User Pool 連携) |
| インフラ | AWS CDK(Amplify Gen 2 内蔵)/ Amplify Hosting |
4. 主要機能の詳細
4-1. AIチャットによる情報収集(ストリーミング対応)
ユーザーが選択したテーマの項目定義をもとに、AIが不足情報を自動検出して質問を生成します。Lambda Function URLによるストリーミングで、AIの応答をリアルタイム表示します。
入力: 「今朝8時ごろ、ライン3でコンベアが止まった」
↓
処理: Bedrockがテーマ項目を照合し不足情報を判定
(発生日時✓ / トラブル内容✓ / 原因✗ / 対策✗)
↓
出力: 「原因は特定できましたか?電気系統・機械系統・
いずれの問題でしょうか?」(ストリーミング表示)全必須項目が揃うと、保存前に内容の確認プロンプトを表示し、ユーザーの承認後にDynamoDBへ構造化保存します。
4-2. 音声対話モード(ハンズフリー)
チャット画面のマイクボタンを押すと音声入力モードへ移行します。無音検出により自動でメッセージ送信し、AIの応答はAmazon Polly(Kazuha Neuralボイス)が日本語で読み上げます。テーマごとに使用する音声を選択できます。
入力: マイクボタンON → 発話 → 無音3秒で自動送信
↓
処理: Web Speech APIで認識 → AIへ送信 → Bedrock応答
↓
出力: Amazon Polly(Kazuha Neural)が音声読み上げ
→ 自動的に次の音声入力待機へ4-3. テーマ管理(カスタムテンプレート)
「テーマ」は収集する情報項目の定義セットです。全ユーザーが自由に作成・編集でき、項目名・データ型(テキスト・日時・数値・選択肢等)・必須/任意を設定できます。お気に入り登録でチャット開始時に優先表示されます。
4-4. 保存データ管理
AIチャットで収集した情報は構造化データ+Markdown形式で保存されます。一覧表示・詳細表示・編集・論理削除(作成者または管理者のみ)が可能で、テーマ・日付・キーワードで絞り込みができます。
5. データ・API設計
フロントエンド (React SPA) バックエンド (AWS)
┌───────────────────┐ ┌────────────────────────────────────┐
│ TanStack Query │ GraphQL │ AppSync │
│ Zustand Store │ ──────────→ │ └── DynamoDB(8テーブル) │
│ React Hook Form │ │ │
│ Zod バリデーション │ HTTP Stream │ Lambda Function URL │
│ useChatStream │ ──────────→ │ └── Bedrock(Claude Sonnet 4.5) │
│ useVoiceInput │ │ │
│ IndexedDB (idb) │ │ Amazon Polly(TTS) │
│ Service Worker │ │ Amazon S3(画像・音声ファイル) │
└───────────────────┘ └────────────────────────────────────┘DynamoDBは8テーブル構成:User / Theme / FavoriteTheme / ChatSession / ChatMessage / StreamChunk / SavedData / EditHistory。各テーブルにGSI(グローバルセカンダリインデックス)を設定し、テーマ別・ユーザー別・セッション別の効率的なクエリを実現しています。
6. 実装済みの価値
| 価値 | 詳細 |
|---|---|
| 情報収集の自動化 | AIが不足項目を自動検出・質問。「何を入力すれば良いか」の迷いがなくなる |
| ハンズフリー入力 | 音声入力+Polly読み上げで、現場作業中でも記録可能 |
| チーム知識の蓄積 | 全ユーザーが閲覧可能な共有データベースとして機能し、組織ナレッジを蓄積 |
| リアルタイム性 | ストリーミング表示でAI応答の待ち時間ストレスを低減 |
| カスタムテーマ | 業務ごとに最適な記録項目を定義でき、形式の標準化を促進 |
| セキュアなアクセス制御 | RBAC(Admin/Member)でデータ保護と操作権限を適切に管理 |
7. 実績データ
シードデータ(自動投入済み)
| 項目 | 数 |
|---|---|
| デフォルトテーマ | 3件(トラブルメンテナンス・品質異常報告・改善提案) |
| サンプル保存データ | 2〜3件(チュートリアル用) |
| サンプルチャット履歴 | 1件(チュートリアル用) |
システム品質指標
| 指標 | 値 |
|---|---|
| AIストリーミング応答 | リアルタイム(チャンク単位でUI更新) |
| Polly TTS品質 | Neural Engine(Kazuha、自然な日本語) |
| TypeScript型カバレッジ | strict mode / any型禁止 |
| サポートブラウザ | Chrome / Edge / Safari / Firefox(最新版) |
パイロット・利用者
| 対象 | 状況 |
|---|---|
| 開発環境(サンドボックス) | AWS Amplify Gen 2で稼働中 |
| 本番デプロイ | Amplify Hosting(WEBプラットフォーム)でホスティング可能な状態 |
8. Chat Trackerで描く未来(Benefit)
目指す世界
┌──────────────────────────┐
│ ラインでトラブル発生! │
└──────────┬───────────────┘
↓
┌──────────────────────────┐
│ スマホを取り出し │
│ 「トラブル報告」を選択 │
│ マイクに向かって話すだけ │
└──────────┬───────────────┘
↓
┌─────────┐ ┌──────────┐ ┌───────────┐
│ 記録完了 │ │ チームへ │ │ 過去事例 │ ← 全部即アクセス可能
│ (DynamoDB│ │ 即時共有 │ │ 全文検索 │
└─────────┘ └──────────┘ └───────────┘具体的に実現したいこと
オフラインフォールバック
- ネットワーク不安定な現場でも、キャッシュデータの閲覧・下書き保存が可能に
- IndexedDB + Service Workerによる実装を計画中
チーム通知機能
- 新規データ保存時にチームメンバーへ通知(アプリ内・メール・プッシュ)
- テーマごとに通知のON/OFFを設定可能
- バッチ処理(5分毎)で配信
データエクスポート・分析
- テーマ別・期間別の統計ダッシュボード
- CSV・PDF出力でレポート作成を自動化
- トラブル頻度分析でライン改善に活用
9. 開発ロードマップ
Phase 1: 基盤・AI機能 [DONE] Phase 2: 音声・UX向上 [DONE] Phase 3: 運用・拡張 [NEXT]
─────────────────────── ─────────────────────── ───────────────────────
✓ AWS Amplify Gen 2 基盤 ✓ Lambda Function URL □ オフラインフォールバック
✓ 認証・RBAC(Admin/Member) ✓ AIストリーミング応答 □ チーム通知機能
✓ テーマ管理(CRUD) ✓ 音声入力(Web Speech API) □ テスト整備(カバレッジ80%)
✓ AIチャット(Bedrock) ✓ TTS読み上げ(Amazon Polly) □ E2Eテスト(Playwright)
✓ データ保存・閲覧・編集 ✓ テーマ別ボイス設定 □ モニタリング(CloudWatch)
✓ チャット履歴管理 ✓ シードデータ(3テーマ) □ Sentryエラートラッキング
✓ Serendie Design System ✓ Amplify Hosting デプロイ □ 本番環境本格稼働まとめ
- 記録の手間をAIとの自然な会話で解決する仕組みを構築済み
- 音声入力+Polly TTSでハンズフリー対応し、製造現場での使いやすさを実現
- その先に組織のナレッジが自動的に蓄積・共有され、同じトラブルを繰り返さない製造現場を実現する
Chat Tracker 話すだけで、現場の知恵が組織の財産になる
アプリURL
| 環境 | URL |
|---|---|
| 本番(main ブランチ) | https://main.d3dt9ir2fyc53u.amplifyapp.com |
Chat Tracker - AIチャット型情報管理システム 開発報告
ビジョン:製造現場の誰もが、AIとの会話だけで、正確な業務情報を即座に記録・共有できる世界
1. 現在の課題(Problem)
製造現場でのトラブルメンテナンス・品質管理情報において、日常的に発生している課題を整理しました。
1-1. 情報の「頭の中だけ」問題
現場で発生したトラブルや対処内容は、担当者の記憶や口頭伝達に依存しがちです。帰社後やシフト交代後に「どうやって直したんだっけ?」となるケースが頻発し、同じトラブルへの対応が繰り返されます。記録しようにも、フォームへの入力が面倒・項目が分からないという声も多く聞かれます。
1-2. バラバラな記録形式・共有の壁
現状の情報管理構成:
├── Excelファイル/ ← 担当者ごとに異なるフォーマット
├── 紙の点検票/ ← デジタル化されておらず検索不可
├── メモアプリ/ ← 個人端末に閉じており共有されない
└── → 組織としてのナレッジが蓄積されない記録形式が人によってバラバラなため、後から参照・検索ができず、チーム全体での知見共有が困難です。
1-3. 入力の手間と情報の欠落
必要な項目(発生日時・原因・暫定対策・恒久対策など)を漏れなく記録しようとすると、入力の手間が大きく、結果として「後で書く」が「ほぼ書かない」になってしまいます。現場では両手が塞がっていたり、グローブをしていてタイピングが難しい場面も少なくありません。
2. Chat Trackerでこう変わる(Solution)
| # | 現状(BEFORE) | 導入後(AFTER) |
|---|---|---|
| 1 | Excelや紙への手入力で情報が散在 | AIとの会話で必要事項を自動収集・構造化保存 |
| 2 | 人によって記録項目がバラバラ | テーマ(テンプレート)定義でチーム共通フォーマットを強制 |
| 3 | 両手が塞がる現場での入力困難 | 音声入力+TTS読み上げでハンズフリー対応(実装済み) |
| 4 | 過去事例の検索・参照が困難 | 全文検索+テーマ・日付フィルタで即時参照可能 |
| 5 | 誰が何を変更したか不明 | 編集履歴管理で変更者・変更内容を完全追跡(今後実装) |
解決後の構成イメージ
Chat Tracker データ構造:
└── テーマ(記録テンプレート)
├── トラブルメンテナンス(デフォルト)
│ ├── 発生日時【必須】
│ ├── トラブル内容【必須】
│ ├── 原因【必須】
│ ├── 暫定対策【任意】
│ └── 恒久対策【任意】
├── 品質異常報告
│ └── (品質チームが定義した項目群)
├── 改善提案
│ └── (改善活動に特化した項目群)
└── ユーザーが自由に追加可能テーマは全ユーザーが作成でき、AIはそのテーマの項目に沿って情報収集を行います。不足項目があれば自動的に質問し、必要事項が揃った段階で保存確認を行います。
3. システム全体像
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ ユーザー入力 │ ─→ │ Lambda │ ─→ │ Bedrock │ ─→ │ DynamoDB │
│ テキスト/音声 │ │ Function URL │ │ Claude 4.5 │ │ 構造化保存 │
└──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘
↑ ↓
Polly TTS AppSync API
読み上げ GraphQL経由
↑ ↓
┌──────────────────────────────────────────────────────────────────────────┐
│ React SPA (フロントエンド) │
│ AWS Amplify Hosting (CDN) でホスティング │
└──────────────────────────────────────────────────────────────────────────┘技術スタック
| レイヤー | 技術 |
|---|---|
| フロントエンド | React 19 + TypeScript 5 + Vite 7 + Serendie Design System |
| バックエンド | AWS Amplify Gen 2 (AppSync / GraphQL) |
| データベース | Amazon DynamoDB(8テーブル構成) |
| AI | Amazon Bedrock(Claude Sonnet 4.5)/ Lambda Function URL(ストリーミング) |
| 音声 | Web Speech API(音声入力)/ Amazon Polly Kazuha Neural(TTS) |
| ストレージ | Amazon S3(画像永続保存 / 音声ファイル6時間TTL) |
| 認証 | Amazon Cognito(既存 User Pool 連携) |
| インフラ | AWS CDK(Amplify Gen 2 内蔵)/ Amplify Hosting |
4. 主要機能の詳細
4-1. AIチャットによる情報収集(ストリーミング対応)
ユーザーが選択したテーマの項目定義をもとに、AIが不足情報を自動検出して質問を生成します。Lambda Function URLによるストリーミングで、AIの応答をリアルタイム表示します。
入力: 「今朝8時ごろ、ライン3でコンベアが止まった」
↓
処理: Bedrockがテーマ項目を照合し不足情報を判定
(発生日時✓ / トラブル内容✓ / 原因✗ / 対策✗)
↓
出力: 「原因は特定できましたか?電気系統・機械系統・
いずれの問題でしょうか?」(ストリーミング表示)全必須項目が揃うと、保存前に内容の確認プロンプトを表示し、ユーザーの承認後にDynamoDBへ構造化保存します。
4-2. 音声対話モード(ハンズフリー)
チャット画面のマイクボタンを押すと音声入力モードへ移行します。無音検出により自動でメッセージ送信し、AIの応答はAmazon Polly(Kazuha Neuralボイス)が日本語で読み上げます。テーマごとに使用する音声を選択できます。
入力: マイクボタンON → 発話 → 無音3秒で自動送信
↓
処理: Web Speech APIで認識 → AIへ送信 → Bedrock応答
↓
出力: Amazon Polly(Kazuha Neural)が音声読み上げ
→ 自動的に次の音声入力待機へ4-3. テーマ管理(カスタムテンプレート)
「テーマ」は収集する情報項目の定義セットです。全ユーザーが自由に作成・編集でき、項目名・データ型(テキスト・日時・数値・選択肢等)・必須/任意を設定できます。お気に入り登録でチャット開始時に優先表示されます。
4-4. 保存データ管理
AIチャットで収集した情報は構造化データ+Markdown形式で保存されます。一覧表示・詳細表示・編集・論理削除(作成者または管理者のみ)が可能で、テーマ・日付・キーワードで絞り込みができます。
5. データ・API設計
フロントエンド (React SPA) バックエンド (AWS)
┌───────────────────┐ ┌────────────────────────────────────┐
│ TanStack Query │ GraphQL │ AppSync │
│ Zustand Store │ ──────────→ │ └── DynamoDB(8テーブル) │
│ React Hook Form │ │ │
│ Zod バリデーション │ HTTP Stream │ Lambda Function URL │
│ useChatStream │ ──────────→ │ └── Bedrock(Claude Sonnet 4.5) │
│ useVoiceInput │ │ │
│ IndexedDB (idb) │ │ Amazon Polly(TTS) │
│ Service Worker │ │ Amazon S3(画像・音声ファイル) │
└───────────────────┘ └────────────────────────────────────┘DynamoDBは8テーブル構成:User / Theme / FavoriteTheme / ChatSession / ChatMessage / StreamChunk / SavedData / EditHistory。各テーブルにGSI(グローバルセカンダリインデックス)を設定し、テーマ別・ユーザー別・セッション別の効率的なクエリを実現しています。
6. 実装済みの価値
| 価値 | 詳細 |
|---|---|
| 情報収集の自動化 | AIが不足項目を自動検出・質問。「何を入力すれば良いか」の迷いがなくなる |
| ハンズフリー入力 | 音声入力+Polly読み上げで、現場作業中でも記録可能 |
| チーム知識の蓄積 | 全ユーザーが閲覧可能な共有データベースとして機能し、組織ナレッジを蓄積 |
| リアルタイム性 | ストリーミング表示でAI応答の待ち時間ストレスを低減 |
| カスタムテーマ | 業務ごとに最適な記録項目を定義でき、形式の標準化を促進 |
| セキュアなアクセス制御 | RBAC(Admin/Member)でデータ保護と操作権限を適切に管理 |
7. 実績データ
シードデータ(自動投入済み)
| 項目 | 数 |
|---|---|
| デフォルトテーマ | 3件(トラブルメンテナンス・品質異常報告・改善提案) |
| サンプル保存データ | 2〜3件(チュートリアル用) |
| サンプルチャット履歴 | 1件(チュートリアル用) |
システム品質指標
| 指標 | 値 |
|---|---|
| AIストリーミング応答 | リアルタイム(チャンク単位でUI更新) |
| Polly TTS品質 | Neural Engine(Kazuha、自然な日本語) |
| TypeScript型カバレッジ | strict mode / any型禁止 |
| サポートブラウザ | Chrome / Edge / Safari / Firefox(最新版) |
パイロット・利用者
| 対象 | 状況 |
|---|---|
| 開発環境(サンドボックス) | AWS Amplify Gen 2で稼働中 |
| 本番デプロイ | Amplify Hosting(WEBプラットフォーム)でホスティング可能な状態 |
8. Chat Trackerで描く未来(Benefit)
目指す世界
┌──────────────────────────┐
│ ラインでトラブル発生! │
└──────────┬───────────────┘
↓
┌──────────────────────────┐
│ スマホを取り出し │
│ 「トラブル報告」を選択 │
│ マイクに向かって話すだけ │
└──────────┬───────────────┘
↓
┌─────────┐ ┌──────────┐ ┌───────────┐
│ 記録完了 │ │ チームへ │ │ 過去事例 │ ← 全部即アクセス可能
│ (DynamoDB│ │ 即時共有 │ │ 全文検索 │
└─────────┘ └──────────┘ └───────────┘具体的に実現したいこと
オフラインフォールバック
- ネットワーク不安定な現場でも、キャッシュデータの閲覧・下書き保存が可能に
- IndexedDB + Service Workerによる実装を計画中
チーム通知機能
- 新規データ保存時にチームメンバーへ通知(アプリ内・メール・プッシュ)
- テーマごとに通知のON/OFFを設定可能
- バッチ処理(5分毎)で配信
データエクスポート・分析
- テーマ別・期間別の統計ダッシュボード
- CSV・PDF出力でレポート作成を自動化
- トラブル頻度分析でライン改善に活用
9. 開発ロードマップ
Phase 1: 基盤・AI機能 [DONE] Phase 2: 音声・UX向上 [DONE] Phase 3: 運用・拡張 [NEXT]
─────────────────────── ─────────────────────── ───────────────────────
✓ AWS Amplify Gen 2 基盤 ✓ Lambda Function URL □ オフラインフォールバック
✓ 認証・RBAC(Admin/Member) ✓ AIストリーミング応答 □ チーム通知機能
✓ テーマ管理(CRUD) ✓ 音声入力(Web Speech API) □ テスト整備(カバレッジ80%)
✓ AIチャット(Bedrock) ✓ TTS読み上げ(Amazon Polly) □ E2Eテスト(Playwright)
✓ データ保存・閲覧・編集 ✓ テーマ別ボイス設定 □ モニタリング(CloudWatch)
✓ チャット履歴管理 ✓ シードデータ(3テーマ) □ Sentryエラートラッキング
✓ Serendie Design System ✓ Amplify Hosting デプロイ □ 本番環境本格稼働まとめ
- 記録の手間をAIとの自然な会話で解決する仕組みを構築済み
- 音声入力+Polly TTSでハンズフリー対応し、製造現場での使いやすさを実現
- その先に組織のナレッジが自動的に蓄積・共有され、同じトラブルを繰り返さない製造現場を実現する
Chat Tracker 話すだけで、現場の知恵が組織の財産になる
アプリURL
| 環境 | URL |
|---|---|
| 本番(main ブランチ) | https://main.d3dt9ir2fyc53u.amplifyapp.com |