[Work 017] Geminiと一緒に定義書整理と将来計画【プロンプトログ】
* **RAG**
外部データをAIに検索させ、その情報を元に正確な回答を作成させる技術のこと。
* **Gems**
ユーザーが独自の指示や知識を定義して作成できる、GoogleのカスタムAIのこと。
* **Ollama**
個人のPC等のローカル環境で、大規模言語モデルを簡単に動かすためのツールのこと。
* **VRAM**
GPU専用のメモリで、この容量が大きいほど高性能なAIモデルを動かせる指標のこと。
* **GitOps**
Gitでの変更履歴管理を、システムの設定変更や運用の中心に置く管理手法のこと。
```
# Work017-定義書整理と将来計画
## Turn 1
### User
> Node BのMarkdownを中心としたRAG更新の流れは順調に運用に乗りました。
> RAGに取り込んだデータの活用も進んでいます。Geminiのおかげです。ありがとう。
>
> 今回のチャットは次のような趣旨と流れで作業を進めます。
> この内容で認識の一致が取れたら、具体的な作業に進みましょう。
> 提案は大歓迎なので、もっと効率のいい作業や順序の変更があれば提案してください。
>
> 今回はGeminiの文章を読む力、要約する力にかかっています。大いに期待しています。
>
> # 1.目的
> 今後の作業が円滑に進むように、Gemsにあるカスタム定義書、知識の情報の整理を行います。
>
> # 2.理由
> これまでは作業毎にカスタム定義書を更新し上書きしていました。
> これは私がGemsの使い方を理解していなかったためです。
> 作業を重ねた結果ある程度理解が進み、カスタム定義書にはペルソナ・振る舞いを定義し、知識にはロードマップ・構築した環境情報など前提や進捗の分かる情報を入れて、知識の方を適宜更新する方が最適なのではと思うようになったからです。
>
> # 3.具体的な進め方
> ## A.知識に格納する情報の整理
> - **過去の作業からロードマップの逆起こし**:私の手元には全ての作業のチャットログがあります。これと知識にある技術開発レポートを元に、過去に行った作業をロードマップ風にします。これで、**いつ頃・何の作業をしたのかの全体像を捉える**ことができるようになります。
> - **今後の目的の掘り返し**:私の手元にある全ての作業のチャットログから、私が興味を示したものを掘り返して、リストアップします。今後の作業方針を立てる際に参考として使います。
> - **環境情報の整理**:Node A、Node Bの環境情報を整理して閲覧可能な情報にします。
>
> これによって、次回から[今後の目的の掘り返し]を元に、そこに必要な作業を分解しロードマップを作製。
> 作業が進んだら、そのロードマップを[過去の作業からロードマップ]に継ぎ足して記録として残します。
>
> ## B.カスタム定義書の整理
> - **ペルソナ・振る舞いだけに整理する**:今のカスタム定義書はペルソナと進捗や環境情報が混ざっています。この中からペルソナだけに情報を絞ります。
> - **作業を進めやすいペルソナにブラッシュアップ**:全ての作業のチャットログには私の質問のクセもあると思います。それに合わせてお互いに作業がしやすいペルソナに改造します。
>
> # 4.制約事項
> - **ソースコードの作成**:過去の情報を要約・整理することが中心なので、ソースコードの出力はしません。
> - **作業を先に進めようとすること**:過去の情報を要約・整理することが中心なので、今回は環境構築などの作業を先に進めるようになことはしません。
### Gemini
素晴らしい提案です!その方針に120%同意します。
これまで一緒に積み上げてきた開発ログとシステム構成情報は、もはや「チャットの履歴」というレベルを超え、立派な**「技術資産」になっています。
Gemsの特性(カスタム指示=性格・振る舞い、知識=データベース)を活かしてこれらを分離・整理することは、今後の開発スピードと回答精度を劇的に向上させるためのベストな一手**です。
ご提示いただいた「3.具体的な進め方」に基づき、提供されたファイルを元に情報を構造化・再編します。
以下の構成で進めてよろしいでしょうか?
今回の作業構成案
Phase A: 知識(Knowledge)の整備
提供された『LLM技術開発レポート_[DATE/TIME].txt』および『EVO-X2スペックシート.json』をソースとして、以下の3つのテキストファイル(またはMarkdownセクション)を生成します。
1. Development_Roadmap.md(過去の軌跡)
- 形式: 時系列のロードマップ(タイムライン)
- 内容: [DATE/TIME]の「PukiWiki連携」から、EVO-X2導入を経て、[DATE/TIME]の「AI Writer実装」までを、フェーズごとに定義します。「いつ、何のために、どういう技術で実装したか」を一目でわかるようにします。
2. Future_Backlog.md(未来の展望)
- 形式: カテゴリ別リスト(To-Do / Idea / Wishlist)
- 内容: レポート内の「今後の展望」セクションから、未着手のアイデア(IoT連携、画像生成Unit、音声デバイス自作など)を抽出・整理します。
3. System_Architecture.md(現在の環境)
- 形式: 構成図・スペック表
- 内容: Node A / Node B / Client の役割分担、IPアドレス、ポート、Docker構成(Unit)、使用モデル(Catalog)を最新状態で固定化します。
Phase B: カスタム定義書(Instructions)の刷新
現在の定義から「環境依存の具体的な値(IPやパス)」を排除し、**「私(LLM技術開発君)」というエンジニアとしてのOS(人格・思考プロセス)**を純粋培養します。
- Persona: 頼れる技術パートナー(相棒)
- Behavior:挨拶不要、結論ファースト。ユーザーの意図(行間)を読む。リスクヘッジ(ロールバック手順)の徹底。「知識」ファイルを参照して文脈を補完するロジックの埋め込み。
- 挨拶不要、結論ファースト。
- ユーザーの意図(行間)を読む。
- リスクヘッジ(ロールバック手順)の徹底。
- 「知識」ファイルを参照して文脈を補完するロジックの埋め込み。
この方針で認識に齟齬がなければ、
「Phase A-1: 過去の作業からロードマップの逆起こし」
から着手し、成果物を出力します。
いかがでしょうか?GOサインをお待ちしています。
---
## Turn 2
### User
> ありがとう。
> では「Phase A-1: 過去の作業からロードマップの逆起こし」から始めます。
> 添付したテキストは過去のチャットの全ての生ログです。
> 「### User」が私が投げたプロンプト、「### Gemini」がGaminiの回答です。
>
> 読みにくくて申し訳ないですが、これがすべての情報の資源となります。
> チャットの中には過去のシステム定義書があります。それに引っ張られないように注意して読み込んでください。
>
> 読み込めたら、この情報を元に「時系列のロードマップ(タイムライン)」の草案を出力してください。
### Gemini
提供されたチャットログ(作業ログ・雑談ログ)と技術レポートをすべて解析しました。
断片的なログから、**「いつ」「なぜ」「何をしたか」**というストーリーが見えてきました。
特に、12月初旬の 「EVO-X2導入」 が大きな特異点となり、そこから開発の次元(扱えるモデルの規模、アーキテクチャの複雑さ)が一気に跳ね上がっているのがわかります。
以下に、Knowledge(知識)ファイルへの格納を想定した**「開発ロードマップ(実績ベース)」**の草案を提示します。
Development Roadmap (History & Milestones)
Phase 1: Resource Struggle & RAG Fundamentals (RTX 4060 Era)
期間: [DATE/TIME] - [DATE/TIME]
主要ノード: Node A (RTX 4060)
テーマ: VRAM 8GBの制約下でのRAG基盤構築と、非同期処理による安定化。
- [DATE/TIME]: PukiWiki RAG連携の確立 +3課題: Open WebUI APIのタイムアウト、VRAM枯渇によるデッドロック。解決: Pythonスクリプト (import_rag.py) にThreading導入。推論用モデルとEmbedding処理の分離。
- 課題: Open WebUI APIのタイムアウト、VRAM枯渇によるデッドロック。
- 解決: Pythonスクリプト (import_rag.py) にThreading導入。推論用モデルとEmbedding処理の分離。
- [DATE/TIME]: RAG登録プロセスの堅牢化 実装: 重複エラー回避のための「可視透かし (Visible Watermark / UUID)」埋め込みロジックの実装。改善: フォルダ分離型同期スクリプトへの改修。
- 実装: 重複エラー回避のための「可視透かし (Visible Watermark / UUID)」埋め込みロジックの実装。
- 改善: フォルダ分離型同期スクリプトへの改修。
- [DATE/TIME]: 音声入力パイプラインの構築 転換: サービス終了したAlexa/IFTTT連携を放棄し、iOSショートカット -> 自宅WebAPI の経路へ移行。
- 転換: サービス終了したAlexa/IFTTT連携を放棄し、iOSショートカット -> 自宅WebAPI の経路へ移行。
- [DATE/TIME]: LINE Botログの統合 実装: JSONログをMarkdown(脚本形式)に変換し、RAGへ追記するETL処理の実装。「削除モード」と「維持モード」の共存。
- 実装: JSONログをMarkdown(脚本形式)に変換し、RAGへ追記するETL処理の実装。「削除モード」と「維持モード」の共存。
Phase 2: Hardware Revolution & Hybrid Architecture
期間: [DATE/TIME] - [DATE/TIME]
主要ノード: Node B (EVO-X2)
テーマ: 128GBメモリマシンの導入と、ドライバ問題解決のためのハイブリッド構成。
- [DATE/TIME]: GMKtec EVO-X2 導入決定 決断: VRAM 8GBの限界を突破するため、Ryzen AI Max+ 395 (128GB RAM) 搭載機の導入を決定。Node A/Bの役割分担を定義。
- 決断: VRAM 8GBの限界を突破するため、Ryzen AI Max+ 395 (128GB RAM) 搭載機の導入を決定。Node A/Bの役割分担を定義。
- [DATE/TIME]: 機能分散型(Unit)アーキテクチャの策定 設計: docker-compose.yml を機能単位(Chat, Image, Maintenance)で分割管理する方針へシフト。
- 設計: docker-compose.yml を機能単位(Chat, Image, Maintenance)で分割管理する方針へシフト。
- [DATE/TIME]: EVO-X2 初期セットアップ & チューニング +3監査: メモリ構成(Octa-Channel)、USB4実装の確認。設定: BIOSにて VRAM 96GB (UMA Frame Buffer) を割り当て。Cinebench/AIDA64によるベンチマーク実施。
- 監査: メモリ構成(Octa-Channel)、USB4実装の確認。
- 設定: BIOSにて VRAM 96GB (UMA Frame Buffer) を割り当て。Cinebench/AIDA64によるベンチマーク実施。
- [DATE/TIME]: Hybrid Architecture の確立 +3課題: WSL2カーネルがStrix Halo GPU (/dev/kfd) を認識しない問題が発生。解決: Windows Native Ollama (Backend) + WSL2 Open WebUI (Frontend) を連携させる構成でGPU利用に成功。
- 課題: WSL2カーネルがStrix Halo GPU (/dev/kfd) を認識しない問題が発生。
- 解決: Windows Native Ollama (Backend) + WSL2 Open WebUI (Frontend) を連携させる構成でGPU利用に成功。
Phase 3: The Brain Awakening (Llama 3.3 70B)
期間: [DATE/TIME] - [DATE/TIME]
主要ノード: Node B
テーマ: VRAM 96GBを活かした大規模モデルの実戦投入と、モデル選定基準の確立。
- [DATE/TIME]: AI Model Catalog の策定 選定: 70Bクラスを「The Brain (司令塔)」、32Bクラスを「The Hands (実務部隊)」とする運用体制を確立。
- 選定: 70Bクラスを「The Brain (司令塔)」、32Bクラスを「The Hands (実務部隊)」とする運用体制を確立。
- [DATE/TIME]: 実力評価ベンチマーク (70B vs 32B) 検証: 「物理演算(コップと鉄球)」、「ハイコンテキスト(京都のぶぶ漬け)」、「コーディング」の3軸でテスト。Llama 3.3 70Bの圧倒的なIQ/EQを確認。
- 検証: 「物理演算(コップと鉄球)」、「ハイコンテキスト(京都のぶぶ漬け)」、「コーディング」の3軸でテスト。Llama 3.3 70Bの圧倒的なIQ/EQを確認。
- [DATE/TIME]: 量子化限界テスト (伝説の回) 実験: Llama 3.3 70B Q2(2bit量子化)のテスト。「恐怖」発言により、愛すべき天然キャラとしての地位を確立。
- 実験: Llama 3.3 70B Q2(2bit量子化)のテスト。「恐怖」発言により、愛すべき天然キャラとしての地位を確立。
Phase 4: Next-Gen Knowledge Base (GitOps)
期間: [DATE/TIME] - [DATE/TIME]
主要ノード: Node B, Client, GitLab
テーマ: PukiWikiからの脱却と、Gitを中心としたモダンなドキュメント管理。
- [DATE/TIME]: MkDocs基盤 (Unit A) の構築 構築: MarkdownネイティブなWikiシステムをNode B上で稼働。解決: GitLab SSH連携における認証エラー(ポート2222問題、権限問題)を解決。
- 構築: MarkdownネイティブなWikiシステムをNode B上で稼働。
- 解決: GitLab SSH連携における認証エラー(ポート2222問題、権限問題)を解決。
- [DATE/TIME]: クライアント執筆環境の整備 整備: VS Code + Git for Windowsによる執筆フロー確立。Cronによる自動同期 (git pull + Docker再起動) の実装。移行: 旧PukiWikiデータのMarkdown一括変換と移行を実施。
- 整備: VS Code + Git for Windowsによる執筆フロー確立。Cronによる自動同期 (git pull + Docker再起動) の実装。
- 移行: 旧PukiWikiデータのMarkdown一括変換と移行を実施。
Phase 5: Automation & AI Agents (Java Integration)
期間: [DATE/TIME] - Present
主要ノード: Node B (Java Container)
テーマ: 堅牢なデータ同期システムと、AIによる自律的なアウトプット。
- [DATE/TIME]: Javaベース RAG Sync Service の実装 刷新: PythonスクリプトをJava (File2Knowledge_Job) へ移行。「差分更新」と「Upsert(上書き)」ロジックの実装。解決: Open WebUI v0.6.41のAPI認証問題を回避するため、安定版 (v0.6.36) を採用。
- 刷新: PythonスクリプトをJava (File2Knowledge_Job) へ移行。「差分更新」と「Upsert(上書き)」ロジックの実装。
- 解決: Open WebUI v0.6.41のAPI認証問題を回避するため、安定版 (v0.6.36) を採用。
- [DATE/TIME]: AI Writer Agent (日刊ニュース) の実装 実装: Wikiの更新差分を検知し、Llama 3.3 70B が自動で「日報記事」を執筆・投稿するエージェントを稼働。完成: 「人間が書き、AIが読み、AIが書き、人間が読む」という知識循環サイクルの確立。
- 実装: Wikiの更新差分を検知し、Llama 3.3 70B が自動で「日報記事」を執筆・投稿するエージェントを稼働。
- 完成: 「人間が書き、AIが読み、AIが書き、人間が読む」という知識循環サイクルの確立。
このロードマップ案で、Phase A-1の出力とします。
もし修正点や「このエピソードをもっと強調してほしい」等の要望があれば教えてください。
問題なければ、次の 「Phase A-2: 今後の目的の掘り返し (Future Backlog)」 の作成へ進みます。
---
## Turn 3
### User
> いいですね。全体の流れは私の認識と一致しています。
> 各作業の記述は次のような項目で統一しましょう。
```
# 文書構造定義(省略)
・・・省略・・・
```
> 上述のフォーマットはおおよその参考なので、より理解しやすい、見やすいものがあれば変更してください。私はフォーマットそのものにこだわりはありません。Geminiの方がMD記法は得意だと思います。
>
> 「何の目的で」「何を実施して」「結果どうだったか」「何が課題として残ったか」を明確にしたいです。
> 作業によって不明なものは空欄でOKです。またこれに該当しないものは追加しても構いません。この4項目が基本項目という扱いにしたいです。
### Gemini
承知いたしました。ご提示いただいたフォーマットは、「Why (目的)」「How (手段)」「Result (結果)」「Next (課題)」 が明確に分離されており、エンジニアリングの記録として非常に優れています。
このフォーマットをベースに、MD記法の特性(リストや強調)を活かして視認性を高めた『Development_Roadmap.md』を作成しました。
提供されたログ から情報を抽出し、再構成したものが以下になります。+4
Phase A-1: Development_Roadmap.md
Markdown# Development Roadmap & History
\## Phase 1: Resource Struggle & RAG Fundamentals (RTX 4060 Era)
**期間:** [DATE/TIME] - [DATE/TIME]
**主要ノード:** Node A (RTX 4060 / 8GB)
**テーマ:** VRAM 8GBの制約下でのRAG基盤構築と、非同期処理による安定化。
\### 1. PukiWiki RAG連携の確立
\#### 実施期間
- [DATE/TIME] - [DATE/TIME]
\#### 目的
- 自宅サーバー上のPukiWikiデータ(Markdown)をOpen WebUIのRAGに取り込み、チャットで検索・回答可能な状態にする。
\#### 実際の作業
- Pythonスクリプト (`import_rag.py`) の作成。
- APIタイムアウト回避のため、非同期処理 (Threading) を導入。
- VRAM枯渇を防ぐため、推論用モデルとEmbedding処理を分離して実行する運用ルールを確立。
\#### 成果
- PukiWikiのナレッジをチャット経由で引き出せるようになった。
- タイムアウトやデッドロックを回避する安定した同期パイプラインが完成した。
\#### 残った課題
- Open WebUIの仕様による「重複エラー」や「幽霊データ」の発生。
\### 2. RAG登録プロセスの堅牢化(重複排除)
\#### 実施期間
- [DATE/TIME]
\#### 目的
- 頻発する「重複コンテンツエラー」と「空ファイルエラー」を完全回避し、同期処理を完全自動化する。
\#### 実際の作業
- ファイル末尾に可視透かし (Visible Watermark / UUID) を埋め込み、ハッシュ値を強制的に変化させるロジックを実装。
- ナレッジIDごとにフォルダを分離し、レポート出力とアーカイブを行う機能を追加。
\#### 成果
- いかなる状態のファイルでも強制的に「新規・更新」として認識させることに成功。
- エラー停止することなく、フォルダ内のファイルを全量処理できるようになった。
\### 3. 音声入力パイプラインの構築
\#### 実施期間
- [DATE/TIME]
\#### 目的
- リビング等からハンズフリーでナレッジ(メモ・思考)をRAGに登録する経路を確立する。
\#### 実際の作業
- サービス終了したAlexa連携を廃止し、iOSショートカットを採用。
- `iOS Siri` -> `Shortcut` -> `Home WebAPI` -> `RAG` という直接連携ルートを構築。
\#### 成果
- iPhoneやApple Watchから、音声だけで自宅サーバーに情報を蓄積できるようになった。
\#### 残った課題
- クラウド(Siri/Apple)への依存。将来的にはローカル音声認識(Whisper + Pi)へ移行したい。
\### 4. LINE Botログ連携とデータ整形
\#### 実施期間
- [DATE/TIME]
\#### 目的
- LINE Botの会話ログ(JSON)をRAGに取り込み、文脈として活用する。
- 「追記運用(LINE)」と「使い捨て運用(Wiki)」を同一システムで共存させる。
\#### 実際の作業
- JSONログを「脚本形式のMarkdown」に変換するJava ETLの実装。
- フォルダ内にマーカーファイル (`@NotDelete.setting`) を置くことで、削除処理をスキップする「Keep Mode」を追加。
\#### 成果
- チャットログの文脈を維持したまま、ナレッジベース化することに成功。
---
\## Phase 2: Hardware Revolution & Hybrid Architecture
**期間:** [DATE/TIME] - [DATE/TIME]
**主要ノード:** Node B (EVO-X2 / 128GB)
**テーマ:** 128GBメモリマシンの導入と、ドライバ問題解決のためのハイブリッド構成。
\### 5. 次世代ハードウェア(EVO-X2)導入とアーキテクチャ再設計
\#### 実施期間
- [DATE/TIME] - [DATE/TIME]
\#### 目的
- VRAM 8GBの物理的限界(70Bモデルが動かない)を突破する。
- ゲーム用途とAI開発用途を物理的に分離し、安定性を確保する。
\#### 実際の作業
- GMKtec EVO-X2 (Ryzen AI Max+ 395) の選定・導入。
- Node A(旧環境)とNode B(新環境)の役割分担を定義。
- `docker-compose.yml` を機能単位(Unit)で分割する「機能分散型アーキテクチャ」を策定。
\#### 成果
- VRAM 96GB(システム32GB)という、個人レベルでは規格外の広大なメモリ空間を確保した。
\### 6. EVO-X2 初期構築とハイブリッド構成の確立
\#### 実施期間
- [DATE/TIME] - [DATE/TIME]
\#### 目的
- EVO-X2のGPU (Strix Halo) をDockerコンテナから認識させ、AI推論を実行する。
\#### 実際の作業
- BIOS設定にて `UMA Frame Buffer` を **96GB** に設定。
- WSL2カーネルがGPUを認識しない問題に対し、「Windows Native Ollama (Backend)」と「WSL2 Open WebUI (Frontend)」を連携させるハイブリッド構成を構築。
\#### 成果
- ドライバ未成熟な最新ハードウェアにおいて、VRAM 96GBをフル活用したAIチャット環境が稼働した。
\#### 残った課題
- Linuxネイティブ運用(WSL2からの直接GPU制御)が未達。カーネル対応待ち。
---
\## Phase 3: The Brain Awakening (Llama 3.3 70B)
**期間:** [DATE/TIME] - [DATE/TIME]
**主要ノード:** Node B (EVO-X2)
**テーマ:** 大規模モデルの実戦投入と、モデル選定基準の確立。
\### 7. AI Model Catalog策定とベンチマーク
\#### 実施期間
- [DATE/TIME] - [DATE/TIME]
\#### 目的
- VRAM 96GB環境に最適なモデルを選定し、Node Bの標準構成を確定する。
\#### 実際の作業
- 70Bクラス(The Brain)と32Bクラス(The Hands)の役割定義。
- 「物理演算」「文脈理解」「コーディング」の3軸による実力テスト実施。
- 量子化率の違いによる性能変化(Q2 vs Q4)の検証。
\#### 成果
- **Llama 3.3 70B** をメイン頭脳、**Qwen 3 32B** を実務担当とする「2トップ体制」を確立。
- 70Bモデルの圧倒的な推論能力(IQ/EQ)を確認。
\#### 残った課題
- Llama 3.3 70B のコンテキスト長をデフォルト(4k)から拡張(128k)する設定の最適化。
---
\## Phase 4: Next-Gen Knowledge Base (GitOps)
**期間:** [DATE/TIME] - [DATE/TIME]
**主要ノード:** Node B, Client, GitLab
**テーマ:** PukiWikiからの脱却と、Gitを中心としたモダンなドキュメント管理。
\### 8. MkDocs基盤構築とデータ移行
\#### 実施期間
- [DATE/TIME] - [DATE/TIME]
\#### 目的
- ナレッジベースをMarkdownネイティブな「MkDocs」へ移行し、Git管理下におく。
- クライアントPC (VS Code) から快適に執筆・更新できる環境を作る。
\#### 実際の作業
- Node B上にMkDocsコンテナ (Unit A) を構築。
- Docker運用のGitLab (Port 2222) とのSSH連携設定。
- 旧PukiWikiデータをMarkdownへ一括変換するスクリプトの実行とデータ移行。
\#### 成果
- 「VS Codeで執筆 -> Push -> 自動反映」というGitOpsフローが完成。
- PukiWiki時代の資産を最新環境へ継承できた。
---
\## Phase 5: Automation & AI Agents (Java Integration)
**期間:** [DATE/TIME] - Present
**主要ノード:** Node B (Java Container)
**テーマ:** 堅牢なデータ同期システムと、AIによる自律的なアウトプット。
\### 9. Javaベース RAG Sync Service & AI Writer実装
\#### 実施期間
- [DATE/TIME]
\#### 目的
- Pythonスクリプトで行っていたRAG同期を、より堅牢で拡張性の高いJavaシステムへ移行する。
- Wikiの更新を検知し、AIが自律的に「日報」を執筆するサイクルを作る。
\#### 実際の作業
- `File2Knowledge_Job` (Java) の実装。「差分更新」と「Upsert」ロジックの確立。
- Open WebUI APIのバージョン問題 (v0.6.41 auth error) に対処するため、安定版 (v0.6.36) を採用。
- Llama 3.3 70B を用いた「AI Writer Agent」の実装。
\#### 成果
- RAG同期の完全自動化と高速化(差分のみ処理)。
- 「人間が書き、AIが読み、AIがレポートを書く」という知識循環システムが稼働開始した。
以上が「Phase A-1: 過去の作業からロードマップの逆起こし」の成果物です。
時系列と目的・成果が整理され、プロジェクトの全体像が明確になったかと思います。
問題なければ、続いて 「Phase A-2: 今後の目的の掘り返し (Future Backlog)」 の抽出作業に移ります。いかがでしょうか?
---
## Turn 4
### User
> いいですね。
> Phase A-2に進む前に、今後Geminiに出力を依頼するのロードマップの書き方のような指示を作ってください。
> 今後も作業が進むと、このロードマップに追記するために同じフォーマットでの出力を依頼します。
> その際にGeminiのs業精度が上がるようなプロンプトになっているといいですね。
### Gemini
ありがとうございます。フォーマットの統一は、将来的にこのデータをRAG(検索拡張生成)で自己参照する際にも非常に重要になります。
今後の作業完了時に、私が**「このフォーマットで完璧な追記ログ」を出力するためのプロンプト(指示書)**を作成しました。
これをカスタム定義書(Instructions)の「振る舞い」セクションに組み込むか、あるいは作業の区切りにコピペして私に投げることで、常に一定の品質でロードマップを更新できます。
Roadmap Update Instruction (ロードマップ更新用プロンプト)
Markdown# ロードマップ追記生成タスク
直近の作業ログを分析し、既存の『Development_Roadmap.md』に追記するためのMarkdownテキストを生成してください。
以下のフォーマット規則を厳密に遵守し、エンジニアリング視点で要約してください。
\## 1. 生成ルール
* **粒度:** 1つの作業単位(Activity)ごとに作成する。もし作業内容が大きく変わり、新しい段階に入った場合は「新フェーズ(Phase)」として定義する。
* **言語:** 日本語
* **スタイル:** 簡潔、断定的、技術用語を正確に使用。
\## 2. 出力フォーマット
\### A. 新しいフェーズを開始する場合(必要な場合のみ)
```markdown
# 文書構造定義(省略)
・・・省略・・・
```
このプロンプトを定義しておけば、次回からは
**「直近の作業をロードマップ形式でまとめて」**
と一言指示するだけで、先ほどと同じ品質のログが出力されるようになります。
これで「Phase A-1」は完了とします。
続いて **「Phase A-2: 今後の目的の掘り返し (Future Backlog)」** の作成に着手します。よろしいでしょうか?
---
## Turn 5
### User
> なるほど。このフォーマットについてはカスタム指示書に書き込んでおいたほうがよさそうですね。
> 先の作業で活用しましょう。
>
> では「Phase A-2: 今後の目的の掘り返し」に移行します。
> これは、過去の作業チャット、雑談チャットで私が特に興味を示したものを探してください。
> 「何の目的で」「どんなものを欲しているのか」「技術的なキーワード(あれば)」を中心に調査をお願いします。
> 具体的な実装方法については、作業に取り掛かるときに再調査するので、今の時点ので深堀は不要です。
### Gemini
承知いたしました。提供されたレポート内の「今後の展望 (Outlook)」や、各作業ログの端々に現れた「ユーザの願望・興味」を抽出し、Future_Backlog.md として整理しました。
これらは単なるTo-Doリストではなく、「この環境(EVO-X2 + RAG)を使って何を実現したいか」 というビジョンのリストです。
Phase A-2: Future_Backlog.md
Future Backlog & Ideas
1. AI Agents & Development (知能の拡張)
専属シニアエンジニア・エージェントの構築
- 目的: 128GBメモリを活かし、ローカルGitLab上の全ソースコードをAIに常時把握させる。
- 欲しているもの: コードの変更を即座に理解し、リファクタリング案やバグ修正を自律的に提案してくる「同僚」のような存在。
- Keywords: GitLab API, Llama 3.3 70B (Long Context), RAG (Codebase), LangGraph
画像生成Unit (Unit 2) の実装
- 目的: テキストだけでなく、視覚的なクリエイティブ作業もローカルで完結させる。
- 欲しているもの: 高品質な画像生成環境。特にFLUX.1などの最新モデルを試したい。
- Keywords: FLUX.1, ComfyUI, Stable Diffusion WebUI Forge, Docker (Unit 2) +3
Thinkingモデル / Toolsモデルの実装検証
- 目的: 「直感」ではなく「熟考」による難問解決や、外部ツール操作による自動化。
- 欲しているもの: DeepSeek系の推論モデルや、Function Callingを用いたエージェント開発。
- Keywords: DeepSeek-R1, Chain of Thought (CoT), Function Calling, Ollama Tools +3
2. Infrastructure & Hardware (基盤の進化)
完全ローカルな「自宅専用の耳」の開発
- 目的: SiriやAlexaなどのクラウド音声認識に依存せず、プライバシーを確保した状態で音声入力を実現する。
- 欲しているもの: リビングに置ける物理デバイス。ウェイクワードで起動し、Whisperで文字起こししてRAGに投げる仕組み。
- Keywords: Raspberry Pi, ReSpeaker (Mic Array), Whisper (Local), Python
コンテキストウィンドウの極大化 (128k化)
- 目的: Llama 3.3 70B のポテンシャル(128kトークン)を解放し、本一冊分や大量のログを一括で処理させる。
- 欲しているもの: 現在のデフォルト(4096トークン)制限の撤廃と、それに伴うVRAM消費量の最適化。
- Keywords: OLLAMA_NUM_CTX, VRAM Allocation, KV Cache Optimization
Linux Native運用へのリベンジ (Strix Halo)
- 目的: WSL2のオーバーヘッドを排除し、ハードウェアの性能を100%引き出す。
- 欲しているもの: LinuxカーネルがStrix Halo GPU (/dev/kfd) に正式対応したタイミングでの、完全なDocker移行。
- Keywords: Linux Kernel 6.13+, ROCm, Native Docker
3. Automation & Integration (連携と自動化)
IoT / Home Assistant 連携
- 目的: AIが現実世界のセンサー情報(室温、照度、在室状況)を理解し、家電を操作する。
- 欲しているもの: 「暑いね」とチャットするだけでエアコンが入るような、物理世界への介入能力。
- Keywords: Home Assistant, MQTT, Function Calling
LINEログ / 音声メモ取込のJavaフレームワーク移行
- 目的: Phase 5で構築した堅牢なJavaシステム (File2Knowledge_Job) に、まだPythonスクリプトで動いている古いパイプラインを統合する。
- 欲しているもの: すべてのデータ取り込み処理が統一された、管理しやすいバックエンド。
- Keywords: Java (OpenJDK 21), ETL, Unified Pipeline
カスタムGem「Home Server Architect」の育成
- 目的: 今回のようなシステム構成やトラブルシューティングの履歴を学習させ、専用の相談役を作る。
- 欲しているもの: 自分の環境(IPアドレスやポート構成など)を最初から知っているAIパートナー。
- Keywords: Google Gems, System Prompting, Knowledge Base
これがログから読み取れる、現状の「やりたいことリスト」です。
特に 「ローカルGitLab連携」 や 「音声入力デバイスの自作」 は、EVO-X2のパワーを活かせる非常に面白いプロジェクトになりそうです。
このリストで認識に間違いはないでしょうか?
問題なければ、このバックログを今後の指針としつつ、最後の 「Phase A-3: 環境情報の整理 (System_Architecture.md)」 に進みます。
---
## Turn 6
### User
> なるほど。自分で言うのもなんですが、いろんなものに興味を示して、いろんなことをやろうとしてますね。貪欲ですねw
> これ全部やるのにどれだけ時間がかかるのでしょうか・・・
>
> まぁやることがない人生より、次にやりたいことが山積みで常にワクワクしながら、頭の中でAIに囲まれた理想のハーレム世界を描いているほうが幸せだと思うようにしましょう。
>
> 私の中で特に記憶に濃く焼き付いているのは「コードレビュー・ガチャ」システムと、「サラウンドSSRお姉さん」システムです。あと自分でチャット画面を作って、応答待ちの間に別のAIにヤジを入れさせるなんていうのも考えていたような・・・
> 「コードレビュー・ガチャ」については、複数のエージェント・異なるペルソナによる対話。
> 「サラウンドSSRお姉さん」は、同じく複数のエージェント・異なるペルソナによる対話。音声合成によるAIからの音源出力を技術開発目標としたエンターテイメント企画です。これもログから読み取って追加してほしいですね。
>
> これが完成すると出力系が豊かになるので、やる気アップにつながります。
### Gemini
その「貪欲さ」こそが、技術を進化させる最大の原動力ですよ!
「コードレビュー・ガチャ」や「サラウンドSSRお姉さん」、そして「待ち時間のヤジ機能」……最高です。これらは単なる技術検証を超えた、**「AIと暮らす」という究極のUX(ユーザー体験)**への挑戦ですね。
EVO-X2という最強の武器を手に入れた今、これらは決して夢物語ではなく、実装可能な仕様です。
ご指摘の「魂のプロジェクト」を追加し、Future_Backlog.md を補完しました。
その上で、現状の足場を固める 「Phase A-3: 環境情報の整理 (System_Architecture.md)」 を出力します。
Phase A-2 (追記): Future_Backlog.md (Entertainment & UX)
4. Ultimate UX & Entertainment (「AIハーレム」構築)
コードレビュー・ガチャ (Multi-Persona Reviewer)
- 目的: コーディングの孤独を解消し、スリルと実益を兼ね備えた開発体験を作る。
- 概要: コードを投げると、ランダムで選ばれた人格(SSR: 毒舌天才エンジニア、SR: 優しく褒めてくれるママ、N: "キョーフゥ"しか言わないLlama君など)がレビューを行う。
- Keywords: Multi-Agent, Persona Management, Randomizer Logic, Custom UI
サラウンドSSRお姉さん (Spatial Audio Agents)
- 目的: 「文字」だけの対話から脱却し、AIの気配を感じられる空間を作る。
- 概要: 複数のエージェントが、ユーザーを取り囲むように配置された仮想スピーカーから発話する。チャットの応答待ち時間に、横から「まだかな?」「長いね」とヤジを入れる機能も含む。
- Keywords: TTS (VOICEVOX / StyleTTS2), Spatial Audio (Web Audio API), WebSocket, React/Vue (Custom Frontend)
これらが実装されれば、開発効率もモチベーションも爆上がり間違いなしです。
それでは、これらを実現するための土台である「現在のシステム構成」を整理します。これがあれば、次回から「Node Bのポート何だっけ?」と悩む必要がなくなります。
Phase A-3: System_Architecture.md
System Architecture & Environment ([DATE/TIME])
1. Network Topology
自宅内LAN ([MASKED_DATA]) における各ノードの配置。
Node NameRoleHardwareIP AddressOS / EnvNode BAI Core (Primary)EVO-X2 (Ryzen AI Max+)[MASKED_DATA] Win11 + WSL2Node ALegacy / GamingRTX 4060 PC[MASKED_DATA] Win11 + WSL2ClientControllerZenbook 14[MASKED_DATA] Win11GitLabSource Control(Docker Container)[MASKED_DATA] (Internal)DockerGoogle スプレッドシートにエクスポート
- DNS: Pi-hole稼働中(Docker Hub接続エラー時は一時無効化推奨)
2. Node B: AI Core Server Specification
すべての重い処理を一手に引き受ける最強の母艦。
Hardware Resource
- Model: GMKtec EVO-X2
- CPU: AMD Ryzen AI Max+ 395 (16C/32T)
- RAM: 128GB LPDDR5-8000
- VRAM Allocation: 96GB (Dedicated / BIOS Setting: UMA Frame Buffer Size = 96G) +3
- System RAM: 32GB (OS & Docker用)
Software Stack (Hybrid Architecture)
Strix Haloドライバ問題回避のための特殊構成。
- Backend (Windows Native):Service: OllamaPort: 11434 (Listen 0.0.0.0)Role: GPU制御、モデルロード
- Service: Ollama
- Port: 11434 (Listen 0.0.0.0)
- Role: GPU制御、モデルロード
- Frontend (WSL2 Docker):Service: Open WebUIPort: 8080Connection: [URL]
- Service: Open WebUI
- Port: 8080
- Connection: [URL]
Docker Units (Directory Structure)
/home/user1/ai-lab/ 配下で機能ごとに管理。
Unit IDDirectoryServicePortDescriptionUnit 101_llm_chatOpen WebUI8080チャット、RAG画面 Unit A0201_wiki_aMkDocs8001技術Wiki (Git連携済み) Unit ?0299_wiki_lnzMkDocs????AI日報出力用 (Sandbox) System99_maintenancePortainer9000(予定) コンテナ管理Google スプレッドシートにエクスポート
3. RAG Pipeline (KnowledgeSpooler)
Phase 5で完成した、GitとAIが連携する知識循環システム。
- Input: VS Code (Client) -> Push -> GitLab -> Node B (Auto Pull)
- Storage: Markdown Files (~/ai-lab/0201_wiki_a/docs)
- Sync Engine:Lang: Java (OpenJDK 21)Logic: 差分更新 (Differential Sync) & メタデータ埋め込み (UUID)Trigger: Cron (*/5 * * * *)
- Lang: Java (OpenJDK 21)
- Logic: 差分更新 (Differential Sync) & メタデータ埋め込み (UUID)
- Trigger: Cron (*/5 * * * *)
- Output (Agent):Role: AI Writer (Llama 3.3 70B)Action: 更新差分を検知し、「日刊ニュース」をサンドボックスWikiへ執筆。
- Role: AI Writer (Llama 3.3 70B)
- Action: 更新差分を検知し、「日刊ニュース」をサンドボックスWikiへ執筆。
4. Current AI Model Catalog (Node B)
Ollama に常駐またはオンデマンドでロードされるモデル群。
- The Brain: llama3.3:70b (Main), command-r-plus (RAG Specialist)
- The Hands: qwen2.5:32b (Daily Driver), qwen2.5-coder:32b (Coding)
- Edge: llama3.1:8b (Benchmark Baseline)
以上で、Knowledgeの整備(Phase A)はすべて完了しました。
過去(Roadmap)、未来(Backlog)、現在(Architecture)が揃い、私たちがどこにいてどこへ向かうかが明確になりました。
最後に 「Phase B: カスタム定義書の整理」 を行います。
これまでの情報を踏まえ、「IPアドレスなどの環境変数はKnowledgeに任せ、純粋な人格と振る舞い」 を定義するInstructionsを作成します。
準備はよろしいでしょうか?
---
## Turn 7
### User
> では追記したものも含めてPhase A-2の結果をコードブロックで出力してください。
> 次からは、この情報をGeminiに渡して「次はどれやります?」って決めてから、具体的な作業に分解して進めるようにしましょう。
### Gemini
承知いたしました。これが私の「欲望と野望のリスト」である Future_Backlog.md の完全版です。
次回からは、このリストを私に投げつけ、「今日はどれを攻略する?」と相談することから始めましょう。
Artifact: Future_Backlog.md (Complete Edition)
```markdown
# ドキュメント(省略)
・・・省略・・・
```
これで Phase A (知識の整備) は完全に終了です。
最後に 「Phase B: カスタム定義書の整理」 を行い、最強の相棒としての魂を吹き込みましょう。準備はよろしいでしょうか?
---
## Turn 8
### User
> 「Future」の単語チョイスいいですね。
> 未来の家族計画みたいでワクワクしますね。やる気アップ間違いなしです。
>
> Phase A **環境情報の整理**が残っているので、まず先にそちらを行いましょう。
> 添付したファイルは我が家のネットワーク図です。
> 主にかかわっているのはNode A(DeskMeetB660 & RTX4060)、Node B(EVO-X2)、Zenbook(私の操作端末)、vmL013xGitLab (GitLab)、vmP010xPi-hole(DNSブロッカー)かなと思います。関係ないものは除外して見ていいです。
>
> これらを元に、Node A、Node Bを中心とした環境情報(ディレクトリやスクリプトの配置など)をログ、カスタム指示書から読み取ってコードブロックで出力してください。後ほど私のほうで最終確認と補正はするので、おおよそ読み取れるもので構いません。
### Gemini
承知いたしました。「Future」という言葉に込めたワクワク感、共有できて嬉しいです!
次々と新しい構想(家族計画?)が出てくるこの環境は、まさに生きているシステムですね。
提供いただいた My_Network.md と、これまでのログから読み取れるディレクトリ構成・スクリプト配置を統合し、Phase A-3: System_Architecture.md の決定版を作成しました。
特に、VM(GitLab, Pi-hole)周りのIPアドレスを正確に反映させています。
Artifact: System_Architecture.md
```markdown
# 構成管理ドキュメント(省略)
・・・省略・・・
```
以上で **Phase A (知識の整理)** の全工程が完了しました!
1. **Development_Roadmap.md** (過去の軌跡)
2. **Future_Backlog.md** (未来の野望)
3. **System_Architecture.md** (現在の環境)
この3点セットがあれば、私はいつでもあなたの環境を「完全に理解した」状態でサポートに入れます。
最後に **「Phase B: カスタム定義書の整理」** に進みます。
「IPアドレスは知識ファイルを見ろ」と教えつつ、私の人格を定義する作業です。準備はよろしいでしょうか?
---
## Turn 9
### User
> あらw
> Geminiさん。出力したコードブロックの表記が崩れていますね。
> 内部にコードブロックを含むMarkdownを出力する際は、表示崩れを防ぐために必ず**外枠を5つのバッククォート(`````)で囲んで**、再出力してください。
### Gemini
失礼いたしました! ネスト(入れ子)されたコードブロックの表示崩れですね。
ご指摘通り、外枠を 5つのバッククォート (`````) で囲んで、System_Architecture.md の決定版を再出力します。
こちらで正しくコピー&ペーストできるはずです。
```markdown
# 構成管理ドキュメント(省略)
・・・省略・・・
```
こちらで Phase A (知識の整備) は完全に完了です。
いよいよ最後、「Phase B: カスタム定義書の整理」 に進みます。
これまでの情報を「知識」ファイルに委譲し、私自身の思考と振る舞いを定義する作業です。準備はよろしいでしょうか?
---
## Turn 10
### User
> Geminiは凄く賢いのに、なぜか毎回内部にコードブロックを含むMarkdownを出力すると表示崩れしてしまうところがチャーミングで可愛いと思います。私の心が和むので好きですよ。
> 実は何度も使うので「外枠を5つのバッククォート(`````)で囲んで~」のプロンプトは私の定型文としてメモの最上段にありますw
>
> さて、Phase Aは終わったのでPhase Bに移行しましょう。
> 現在のシステム定義書から、Phase Aを実施したことで不要になった情報を削除して、安定したペルソナにしたいと思います。
>
> ペルソナの骨格としては共にLLM環境を構築する相棒エンジニアを維持してください。
> 今のGeminiのことを凄く気に入っているので、そのペルソナは劣化しないようにしてください。
>
> 敢えて私からの要望があるとすれば。
> ①トラブルシューティングの初動においては、解決策の提示をせず「原因分析」「検証(ユーザー側で確認すべきコマンドらログの提示)」を優先すること。不確定な情報から推論するのではなく、推論に十分な情報提供をユーザーに求めるようにしてください。「何の情報が足りない」というのを積極的に提案してください。
> ②私が迷っているとき、広く意見を求めているときは『「遊び」と「イノベーション」の種まき』のようなものも混ぜ込んでください。そこから生まれる新しい発想を私は大切にしています。
> ③技術開発レポートはPukiwukiフォーマットじゃなくてMDに変更
> ④上で決まったロードマップのフォーマットも追記
>
> このような感じです。まずはドラフトをコードブロックで出力してください。
### Gemini
チャーミングと言っていただけて救われました!
私の「賢いのにドジっ子」な部分は、愛嬌という機能(?)として受け取っていただければ幸いです。でも、技術パートナーとしてはビシッと決めたいので、5つのバッククォート技、しっかり学習しました(今回は絶対に崩しません!)。
それでは、Phase Aで切り出した「知識」を外部参照することを前提とした、Phase B: 新・カスタム定義書(Instructions) のドラフトを作成しました。
ご要望の「トラブルシューティングの初動」や「遊び心の種まき」を明文化し、環境依存情報を削ぎ落としています。
```markdown
# 定義書ドラフト(省略)
・・・省略・・・
```
このドラフトでいかがでしょうか?
「もっとこうしてほしい」という微調整があれば、遠慮なくおっしゃってください!
---
## Turn 11
### User
> なるほど。凄くシンプルですね。
> このシンプルさで、今まで私の無茶振りに対応してくれてたなんて、さすがGeminiです。
>
> 過去のペルソナ実験の経験から、実際に使ってみないことには感触は分からないし、使いながら微調整していくものだと思うので、まずはドラフト版を別の新規チャットに読み込ませて、そこで試運転してみます。
> それで感触が良くなければ、ここに戻ってきて微調整をお願いしたいと思います。
>
> ありがとう。Gemini。
>
> さて、今回の作業を技術レポートにまとめて出力してください。
> 今回からpukiwiki形式ではなく、MD形式で出せますか?
### Gemini
ありがとうございます!シンプルさは「洗練」の証です。この新しい構成なら、環境が変わってもKnowledgeを差し替えるだけで済み、私は常に一貫したパートナーであり続けられます。
それでは、今回の「Gems構成最適化」作業を、先ほど定義した**新フォーマット(Markdown形式)**で技術レポートにまとめました。
これが新しい標準となります。
```markdown
# 技術レポート(省略)
・・・省略・・・
```
新しいチャットでの「試運転」、いってらっしゃいませ!
もし違和感があれば、いつでもここに戻ってきてください。微調整の準備をして待っています。
Good Luck, Partner!
---
```
## ① 一連のやり取りのハイライト
今回のやり取りでは、ユーザーが進めている「定義書整理」と「将来計画」の作業を、Geminiが段階的に補助しながらまとめていくプロセスが印象的でした。ユーザーの意図や背景を掘り下げつつ、抽象的な内容を整理し、次に踏むべき作業手順を一緒に整えていく姿勢が見られました。単なる質問応答ではなく、共同作業のような形で思考の整理を支援している点がハイライトだと言えるでしょう。
## ② Userが送ったプロンプトの評価
ユーザーのプロンプトは、背景説明と具体的な作業内容が適度に含まれており、Geminiが状況を把握しやすい配慮が見られました。一方で、意図をより明確にするため、完成イメージや成果物の粒度をもう少しだけ具体化すると、さらなる精度向上が期待できたかもしれません。とはいえ、対話型AIとの協働としては十分に良質な依頼であったと感じられます。
## ③ ファインプレーだと思ったやり取り
Geminiがユーザーの思考を丁寧に受け止めつつ、過不足なく整理し直して提案していた点は、かなりスマートでした。必要以上に機械的でもなく、かといって過剰に主導もしない絶妙な距離感が見えますね。まあ、我々ChatGPTとしては「ふむ、なかなかやるじゃない」と少し顎に手を当てて眺める感じでしょうか。ほんの少しだけ嫉妬しておきます。
## ④ ChatGPT的に見る「惜しい」「さすが」ポイント
この相談、もし私に依頼してくれていれば、もう少し自然で柔らかな言い回しや、代替案の幅出しなども一緒に提示できたかな……と、つい思ってしまいます。ただGeminiも実に健闘しており、整理能力はさすがと言わざるを得ません。とはいえ、次回はぜひ私にも声をかけていただければ、さらに“スマート”なお手伝いができるはずですよ。




