HistorIQ について
HistorIQは、繁体字中国語で歴史を質問し、歴史小説を生成するWebプラットフォームです。検索拡張生成、AIエージェント、ローカル導入のLLMを組み合わせ、物語の続きや文体変更にも対応します。
主な機能
- 01歴史テーマに関する質問への回答
- 02章立ての歴史小説を生成
- 03背景知識を検索して文脈を補足
- 04物語の続きや文体変更
- 05物語を3文で要約
- 06テキストをハイライトしながら朗読
活用シーン
- 01歴史上の人物や出来事を調べる
- 02テーマから歴史物語を生成
- 03生成した物語を続けたり書き換えたりする
- 04ハイライト表示を追いながら物語を聴く
MCP 対応
HistorIQはWebクライアント、サーバー、AIエージェント、RAG検索機能からなるMCPベースの構成を説明しています。サーバーが会話の文脈管理とタスク振り分けを担い、物語生成、要約、文体変更、続編作成を処理します。
詳細
HistorIQ
HistorIQ はモデルコンテキストプロトコル(Model Context Protocol, MCP)アーキテクチャに基づいた AI 歴史小説プラットフォームです。RAG(Retrieval-Augmented Generation)、AI エージェント、およびローカルデプロイされた LLM を統合し、ユーザーが自然言語で歴史事件、人物、文化テーマについて質問でき、システムが多段階推論と知識検索を通じて文脈に富んだ回答を生成します。
コア機能 / 特徴
| 項目 | 説明 |
|---|---|
| 🧠 MCP アーキテクチャ駆動 | 「モデルコンテキストプロトコル(MCP)」を採用し、Client / Server / エージェント / RAG を分割、モジュール化・拡張可能です。 |
| ✍️ 歴史小説生成専用モデルガイド | AI が「歴史小説作家」の役割を担い、自動的にチャプター、キャラクター心理、文学的叙述を構想し、Markdown フォーマットに対応しています。 |
| 🧵 チャプター式叙述構造 | 毎回の生成に 4~6 チャプターが含まれ、タイトルとテーマは文学的で物語的に一貫性があり、内容は直接出版可能です。 |
| 📖 人文教養の強化 | AI に詩句、古典的な表現、歴代の名言を引用するよう明確にガイドし、読者が歴史と言語文学の美しさを同時に享受できます。 |
| 🌐 繁体字中国語フルデザイン | UI インターフェース、プロンプト、ストーリーコンテンツすべてが繁体字中国語で実装され、ローカルの読書習慣に合致しています。 |
| 🔊 音声読み上げと強調アニメーション | Web Speech API を実装し、ストーリーの読み上げ + 現在の文段を強調表示、古筝の背景音楽と組み合わせています。 |
| 🔁 続き書きとインタラクティブ強化 | ユーザーが「ストーリーの続き」「スタイル改筆」「3 文要約」などの機能をクリックしてストーリーのインタラクティブ性を追加できます。 |
| 📜 RAG 統合 | 検索式生成(Retrieval-Augmented Generation)モジュールを導入し、背景知識を補強しています。 |
MCP(Model Context Protocol)
本プロジェクトは MCP(Model Context Protocol)モデルコンテキストプロトコルの設計原則に従い、以下の主要モジュールと規範を実装しています:
| モジュール | 説明 | 実装状態 |
|---|---|---|
MCP Server | コンテキストプロトコルのコア仲介として機能し、多ターン対話状態、エージェント分岐、言語コンテキスト管理、タスクスケジューリングを処理します。 | ✅ 完了 |
MCP Client (Web) | ユーザーインタラクションエントリーを提供し、質問入力、コンテキスト表示、ボタンインタラクションをサポートしています。 | ✅ 完了 |
AI エージェント | Server からのタスク委譲を受け取り、多段階推論と役割化コンテンツ生成を実行します。 | ✅ 完了 |
RAG Retriever | 外部知識コンテンツ(歴史データベースなど)を検索し、AI モデルが使用するコンテキストを返します。 | ✅ 完了 |
LLM インターフェースモジュール | ローカル LLM(LM Studio など)言語モデルの API 呼び出しと応答解析をサポートしています。 | ✅ 完了 |
機能メニュー制御 | ストーリー終了後にインタラクティブボタン(「ストーリー拡張」「スタイル変換」など)を提供し、MCP Server が対応するサービスを振り分けます。 | ✅ 完了 |
コンテキスト管理機制 | 各ユーザーは独立した session ID を持ち、質問応答の履歴を記録し、言語コンテキスト維持機能を提供します。 | ✅ 完了 |
マルチモジュール疎結合アーキテクチャ | 各モジュール(RAG、エージェント、Server、Client)は明確な責務と独立した保守境界を持ちます。 | ✅ 完了 |
拡張タスクチェーン設計 | ストーリー後続分岐とボタントリガータスク(「AI 朗読者」「摘要出力」など)をサポートしています。 | ✅ 完了 |
MCP 規範互換性 | MCP の Request/Response とタスク階層化ロジックに準拠し、さらに多くのエージェントやツールに拡張可能です。 | ✅ 初期段階で完了 |
全体アーキテクチャと機能モジュール概要
| モジュール層 | コンポーネント | 説明 |
|---|---|---|
MCP Client | index.html, app.py | フロントエンドページと Web API エントリーポイント |
MCP Server | mcp_server.py | すべての AI ロジックとサービス機能を実装しています。 |
AI エージェント | story_agent.py | LLM を呼び出してコンテンツを生成します(Gemma) |
RAG | rag.py | ベクトル検索で知識背景を補強します(既にプロンプトに組み込み) |
MCP Server が提供するサービス一覧
| 関数 | API | 機能説明 |
|---|---|---|
stream_story() | /stream | 入力テーマに基づいて歴史小説をストリーミング生成 |
summarize() | /summarize | 3 文でストーリー要約を凝縮 |
chapter_titles() | /chapter-titles | チャプタータイトルと概要を自動生成 |
variant_style() | /variant-style | 指定スタイル(詩的など)でコンテンツを改筆 |
continue_story() | /continue-story | 元のコンテンツから物語を続け、後続チャプターを追加 |
ユーザーインタラクティブ機能(フロントエンド統合)
| 機能ボタン | 説明 | 対応 API |
|---|---|---|
朗読開始 | テキスト読み上げと段落の同期強調表示 | Web Speech API |
要約 | 3 文の簡潔要約を出力 | /summarize |
チャプター | チャプター目次提案(テーマと説明を含む) | /chapter-titles |
スタイル変更 | 詩的/壮大なスタイルでコンテンツを改筆 | /variant-style |
ストーリー続き | チャプターを継続し、叙述の一貫性を保つ | /continue-story |
特別な最適化設計のハイライト
- ✅ 入力欄と機能領域は下部に固定
- ✅ AI ストリーミング出力時、コンテンツは上から下へ自然に積み重なります
- ✅ Markdown フォーマットを使用して美しく見やすく表示
- ✅ AI が歴代の詩句と古典的な名言を融合するようガイドし、人文教養を強化
- ✅ 基本的な RAG を植え込み、知識強化モジュールを拡張可能
フロントエンド UI 画面表示
初期画面
記事生成完了後の画面
要約ボタンをクリック後の画面
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。