第15章 思考支援(AIチャット)
ThinkNavi の中核機能であるAIチャットです。サイドバーの「思考支援」をクリックしてアクセスします。
15.1 画面構成
左サイドバー:
- 「+新しいチャット」ボタン
- 検索バー(会話の検索)
- 会話履歴リスト(新しい順)
- パーソナルモデルのステータス表示
- 言語切り替え
メインエリア:
- チャットメッセージの表示エリア
- 下部の入力エリア
15.2 メッセージの送信
基本操作:
- 画面下部のテキスト入力欄にメッセージを入力
- Enterキーで送信(Shift+Enterで改行)
- または、送信ボタン(紙飛行機アイコン)をクリック
- AIがストリーミングで応答を生成します(テキストがリアルタイムで表示されます)
入力欄の補助ボタン:
| ボタン | 機能 |
|---|---|
| 画像添付 | 画像をアップロードしてAIに分析させる |
| マイク | 音声入力(押している間録音) |
| 送信 | メッセージを送信 |
15.3 会話の管理
サイドバーに会話の履歴が一覧表示されます。
新しい会話を始める
「+新しいチャット」ボタンをクリック。新しい空の会話が作成され、メインエリアがクリアされます。
会話の切り替え
サイドバーの会話タイトルをクリックすると、その会話に切り替わります。
会話のタイトル変更
- 会話項目にマウスを合わせます
- 鉛筆(編集)アイコンが表示されます
- クリックするとタイトルが入力可能になります
- 新しいタイトルを入力してチェックマーク(✓)で確定
- ×マークでキャンセル
会話のキープ(お気に入り)
- 会話項目のブックマークアイコンをクリック
- キープした会話はリストの上部に固定表示されます
会話の削除
- 会話項目のゴミ箱アイコンをクリック
- 確認ダイアログ「会話を削除しますか?」が表示されます
- 「削除」を選択すると、会話と全メッセージが削除されます
会話の検索
サイドバーの検索ボックスにテキストを入力すると、以下で検索されます:
- 会話のタイトル
- メッセージの内容
入力に部分一致する会話がフィルタリングされて表示されます。
会話のインポート
- サイドバーのアップロードアイコンをクリック
- JSON形式の会話ファイルを選択
- 会話データがインポートされます
15.4 メッセージの操作
各メッセージにマウスを合わせると、メッセージの右上(または右下)にアクションアイコンが表示されます。
キープ(ブックマーク)
| 操作 | 効果 |
|---|---|
| 未キープ。クリックでキープ | メッセージがパーソナルモデルの学習対象に |
| キープ済み。クリックで解除 | パーソナルモデルの学習対象から除外 |
キープしたメッセージは、パーソナルモデル学習の入力データとして使用されます。重要な洞察、アイデア、結論をキープすることで、パーソナルモデルの質が向上します。
タグ付け
- タグアイコンをクリック
- ポップオーバーが表示されます
- カンマ区切りでラベルを入力(例:「アイデア, 意思決定, 重要」)
- Enterで確定
タグはパーソナルモデルのメタデータとして保存され、メッセージの検索にも利用されます。
メモ追加
- メモアイコンをクリック
- メモ入力欄が表示されます
- そのメッセージに対する自分の気づきや注釈を記録
- Enterで確定
メモはメッセージと一緒に保存され、後から確認できます。
メッセージの編集と再生成
- 自分が送信したメッセージの鉛筆アイコンをクリック
- メッセージ内容が入力可能になります
- 内容を修正して送信ボタンをクリック
- そのメッセージ以降のAI応答が全て再生成されます
注意: 編集したメッセージ以降の会話履歴は上書きされます。
コードブロックの操作
AIの応答にコードが含まれている場合:
| ボタン | 機能 |
|---|---|
| Copy | コードをクリップボードにコピー |
| Run(Pythonのみ) | ブラウザ内でPythonコードを実行(Pyodide使用) |
Pythonコード実行:
- 「Run」ボタンをクリックすると、コードがブラウザ内で実行されます
- 標準出力(print文の結果)がコードの下に表示されます
- エラーが発生した場合、エラーメッセージが表示されます
- NumPyなどの基本的なライブラリが利用可能です(Pyodide対応パッケージ)
15.5 音声入出力
音声入力(Speech-to-Text)
- 入力欄横のマイクアイコンを押し続けます(プッシュトゥートーク方式)
- マイクアイコンが赤く点滅し、録音中であることを示します
- 話し終わったら指を離します
- 音声がOpenAI Whisper APIで自動的にテキストに変換されます
- 変換されたテキストが入力欄に表示されます
- 必要に応じてテキストを編集し、送信
注意事項:
- HTTPSでのアクセスが必要です
- ブラウザのマイク許可が必要です(初回アクセス時にダイアログが表示されます)
- マイク許可を後から変更するには、ブラウザのサイト設定からマイク権限を確認してください
音声出力(Text-to-Speech)
手動読み上げ:
- AIの応答メッセージのスピーカーアイコンをクリック
- そのメッセージが選択した音声で読み上げられます
自動読み上げ:
- 音声入力でメッセージを送信した場合、AIの応答が自動的に読み上げられます
- キーボード入力の場合は自動読み上げは行われません
音声の変更: 設定画面で音声の種類を変更できます(Alloy, Echo, Fable, Onyx, Nova, Shimmer)
15.6 画像の扱い
画像の送信(Vision)
AIに画像を見せて分析・説明させることができます。
方法1: 画像アイコンから
- 入力欄横の画像アイコンをクリック
- ファイル選択ダイアログから画像を選択
- 画像がプレビュー表示されます
- テキストメッセージと共に送信
方法2: クリップボードから
- 他のアプリケーションで画像をコピー(Ctrl+C / Cmd+C)
- ThinkNavi のチャット入力欄で貼り付け(Ctrl+V / Cmd+V)
- 画像がプレビュー表示されます
- テキストメッセージと共に送信
対応形式: JPEG, PNG, GIF, WebP
画像の生成
AIに画像を生成させることもできます。
トリガーキーワード: メッセージに以下のようなキーワードを含めると、AIが自動的に画像生成モードに切り替わります:
- 「描いて」「イラストを作成」「画像を生成」
- 「draw」「illustrate」「generate image」
生成結果: 画像がチャット内に表示されます。クリックで拡大表示できます。
プロバイダー設定: 設定画面で画像生成プロバイダー(Google Gemini / OpenAI)を選択できます。
15.7 パーソナルモデル
パーソナルモデルは、あなたのチャット履歴から自動構築される個人専用の概念構造モデルです。長期的な「連想記憶」として機能し、AIの応答品質を向上させます。
パーソナルモデルの状態確認
サイドバーの「パーソナルモデル」セクションに以下が表示されます:
- ステータスバッジ: 未学習 / 学習中 / 学習済み / 学習失敗
- メッセージ数: キープ済みメッセージの数
- ノード数: 構築されたモデルのノード数
- 学習ステップ: 現在のステップ名(処理中の場合)
学習の開始
前提条件: 最低5件以上の「キープ」済みメッセージが必要です。メッセージは10文字以上である必要があります。
操作手順:
- サイドバーの「パーソナルモデル」セクションにある「学習開始」ボタンをクリック
- 以下のステップが自動的に順次実行されます:
| ステップ | 説明 | 所要時間の目安 |
|---|---|---|
| データ収集 | キープ済みメッセージの抽出 | 数秒 |
| 埋め込み生成 | テキストのベクトル化 | 10〜30秒 |
| 次元削減 | UMAP による低次元化 | 5〜15秒 |
| モデル構築 | GNG ネットワーク学習 | 10〜30秒 |
| クラスタリング | テーマ別グループ化 | 5〜10秒 |
- 各ステップの進行状況がプログレスバーとステータスバッジで確認できます
- 全ステップ完了後、パーソナルモデルが有効になります
パーソナルモデルの効果
学習完了後、チャットで以下の変化があります:
メモリーオブザーバー: 各質問に対して、補助LLM(gpt-4o-mini)が「この質問に過去の知識が必要か?」を自動判断します。
コンテキスト注入: 過去の知識が関連すると判断された場合:
- キーワードが自動抽出されます
- 過去のチャット履歴のデータベース検索
- パーソナルモデルのベクトル検索(意味的に近いノードの検索)
- 検索結果がシステムプロンプトに注入されます
具体例:
- ユーザー:「以前話した〇〇のアイデアを発展させたい」
- メモリーオブザーバー:「過去の知識が必要」と判断
- 検索:過去のキープ済みメッセージから関連内容を抽出
- AI応答:過去のアイデアを踏まえた上で、新しい発展案を提示
学習データの増やし方
パーソナルモデルの精度を向上させるコツ:
- 重要な洞察やアイデアを含むメッセージを積極的にキープ
- タグ付けでメッセージを分類(検索精度が向上)
- メモ追加で文脈情報を補足
- 定期的に再学習を実行(新しいキープメッセージが反映されます)
15.8 思考モードの詳細
思考モードは設定画面で切り替えます(第4章 4.3参照)。ここでは各モードの内部動作を詳しく説明します。
ルールモードの動作
- ユーザーのメッセージをキーワードマッチング
- マッチした思考技法のヒントをシステムプロンプトに追加
- AIがヒントに従って応答を構造化
システムプロンプトの基本指示(日本語訳):
「あなたはユーザーの思考を支援するアシスタントです。ユーザーの意図と文脈をよく読み取り、過剰に専門的になりすぎず、自然な文章で応答してください。」
オブザーバーモードの動作
- 補助LLM(gpt-4o-mini)がユーザーのメッセージを分析
- 最適な思考技法を JSON で返答(例:
{"technique": "analogy", "reason": "..."}) - 選択された技法のヒントをシステムプロンプトに追加
- メインLLMがヒントに従って応答
オブザーバーモードの利点: ルールモードよりも文脈を考慮した技法選択が可能
欠点: 補助LLMの呼び出し分だけ応答開始が遅くなる(約1〜2秒追加)
15.9 AIプロバイダーの切り替え
複数のAIプロバイダーを使い分けることができます。
| プロバイダー | 必要なAPIキー | 主なモデル | ストリーミング |
|---|---|---|---|
| OpenAI | 自動(またはユーザーキー) | gpt-4o, gpt-4o-mini, o1 | ○(ネイティブ) |
| Anthropic | ユーザーキー必要 | claude-3-5-sonnet, claude-3-5-haiku | △(SSEラップ) |
| ユーザーキー必要 | gemini-2.0-flash, gemini-1.5-pro | △(SSEラップ) | |
| xAI | ユーザーキー必要 | grok-2 | △(SSEラップ) |
| Perplexity | ユーザーキー必要 | sonar-reasoning | △(SSEラップ) |
ストリーミングの違い: OpenAI はネイティブストリーミング(文字単位で表示)、他のプロバイダーはSSE(Server-Sent Events)ラップ(チャンク単位で表示)です。
15.10 トラブルシューティング
| 問題 | 原因と対処法 |
|---|---|
| AIの応答が途中で止まる | ネットワーク接続を確認してください。ページをリロードすると、途中のメッセージは保存されています |
| 「クレジット不足」エラー | チャットメッセージ送信には1クレジットが必要です。ダッシュボードで残高を確認してください |
| パーソナルモデルの学習が失敗 | キープ済みメッセージが5件以上あるか確認してください。短すぎるメッセージ(10文字未満)は対象外です |
| 「学習中」のまま進まない | まれにエンジンセッションがタイムアウトすることがあります。ページをリロードしてステータスを確認してください。変化がない場合は再度「学習開始」をクリックしてください |
| 画像生成ができない | 設定画面で画像生成プロバイダーが正しく設定されているか確認してください。対応するAPIキーが必要です |
| 音声入力が動かない | ブラウザのマイク許可を確認してください。HTTPSでのアクセスが必要です。Chrome の場合、アドレスバー左のロックアイコン→「サイトの設定」→「マイク」で確認できます |
| 「以前話した〇〇」と言ったのにAIが覚えていない | パーソナルモデルが学習済みか確認してください。該当するメッセージがキープされていない場合、メモリーに含まれません |
| 会話が「会話はすでに存在します」エラー | 同じブラウザの複数タブでThinkNaviを開いている場合に発生することがあります。1つのタブに統一してください |
| 応答の品質が低い | モデルを変更してみてください(設定画面)。GPT-4o は高品質ですがコストが高く、GPT-4o-mini は高速・低コストです |