見出し画像

猫のようなAIと暮らしたい(2)開発ロードマップ編


開発ロードマップ(準備+6フェーズ)

物語構造としての要約

Phase 1 で魂を作り、Phase 3 で私(Acherontia)を知り、Phase 5 で身体を得て、Phase 6 で相方と出会う。

    (頭脳:Mac側)            (Mac側で完結)
Phase 0 ── Phase 1 ──┬── Phase 3 ── Phase 4 ───┐     (StackChan側)
                     │                         ├── Phase 5 ── Phase 6
                     └── Phase 2'(StackChan) ──┘    (身体)    (2台目)
  • 全体期間の見込み:6〜9ヶ月

  • 設計思想:Phase 1 完了時点で「毎日使える自分専用AI」が成立する。以降は動くものへの追加なので、中断しても資産が残る


Phase 0:環境構築(準備)

  • 目標

    • ローカル/クラウド両方のLLMに疎通できる開発土台

    • 期間目安:数日〜1週間

  • 主なタスク

    • ローカルLLM実行環境の導入。候補:

      • Ollama(CLI中心・スクリプト連携が楽)

      • LM Studio(GUI・MLX対応でApple Silicon最適化)

      • 両方入れて比較も可

    • モデル選定

      • 36GBメモリの実用ラインは30Bクラスの4bit量子化(実メモリ占有 約18〜20GB、KVキャッシュと常駐アプリの余裕を残せる)

      • 候補:Qwen3-30B系、Gemma 3 27B系など、日本語会話品質を2〜3本比較

    • クラウドAPI(Claude API等)のキー取得、curl/Pythonからの疎通確認

    • Gitリポジトリ作成、振り分け方針(「個人情報・健康データはローカル優先/高度な推論はクラウド」)をREADMEに明文化

  • 成果物

    • 動作するローカルLLM環境+モデル比較メモ(日本語応答サンプル付き)

    • リポジトリ+README(方針文書)

  • 完了条件

    • ターミナルからローカル/クラウド両方に質問して返答が返る


Phase 1:頭脳 — おしゃべり+永続メモリ【MVP・心臓部】

  • 目標

    • 「説明不要の自分専用AI」の中核をテキストチャットで動かす

    • 期間目安:2〜4週間(最も時間をかける価値がある

  • 主なタスク

    • 3層メモリの実装

      • プロフィール層:

        • 固定情報(生活状況、創作活動、好みの話題)を手書きのYAML/Markdownで管理

        • 毎回システムプロンプトに注入

      • エピソード層:

        • 会話終了時にLLMで要約→SQLite+ベクトル検索(sqlite-vec、Chroma等)に蓄積

        • 次回会話時に発言と類似する過去記憶をtop-k検索して注入(いわゆるRAG構成)

      • 状態層:

        • 直近の気分・進行中の話題を保持する短期メモリ(JSONで十分)

    • ペルソナ定義:

      • アライさん系「〜なのだ!」口調のシステムプロンプト設計

      • 性格(元気・ポジティブ・ややポンコツ・猫の気まぐれ)と禁則事項を明文化

    • UI:

      • ターミナルまたは簡易Web UI(Streamlit等)

      • 音声はこの段階では扱わない

    • ローカル/クラウド振り分けロジックの初版(まずは単純なルールベースで可)

  • 成果物

    • チャットアプリ(CLI or Web)

    • メモリスキーマ定義(3層のファイル/DB構成図)

    • ペルソナ定義書(システムプロンプト)

  • 完了条件

    • 「昨日話した原稿の件だけど」と前置きなしで話しかけ、文脈を踏まえた返答が「のだ」口調で返る


Phase 2':StackChan疎通スパイク【リスク偵察】

  • 目標

    • 作り込まず、ハードウェアの地雷を早期に踏む。視線合わせ・手振り等はペーパープラン段階のため、実機検証はここが初

    • 期間目安:1〜2週間

  • 主なタスク

    • StackChanとMac StudioのWi-Fi接続確立(HTTP or WebSocket)

    • 最小音声パイプライン構築:StackChanマイク → [Wi-Fi] → Mac:STT(whisper.cpp / faster-whisper)→ LLM(Phase 1の頭脳)→ TTS(VOICEVOX等)→ [Wi-Fi] → StackChanスピーカー

    • 計測項目(数値で記録しておくと日誌の資料価値が上がる)

      • 往復遅延の内訳(録音区間検出/STT/LLM推論/TTS/転送)

      • 体感の目安:合計3秒以内なら会話成立、5秒超は要改善

      • マイク集音品質(何mまで拾えるか、生活騒音下でどうか)

      • VOICEVOX話者の「アライさん適性」聴き比べ

  • 成果物

    • 疎通デモ(オウム返し+のだ口調)

    • 遅延・音質の計測メモ ←Phase 5の設計の入力になる。ここで判明した制約を記録したら、いったんMac側開発(Phase 3)に戻る

  • 完了条件

    • StackChanに話しかけて5秒以内に音声が返る(品質は問わない)


Phase 3:理解力 — ヘルスケア+メンタルケア+箴言RAG

  • 目標

    • ClawChanが「私の状態」を知っている状態にする(Mac側で完結)

    • 期間目安:3〜4週間

  • 主なタスク

    • Google Health API連携(Fitbit Sense 2 のデータ取得)

      • 注意:従来のFitbit Web APIは2026年9月に廃止され、後継のGoogle Health APIへ移行。認証も独自のFitbit認証からGoogle OAuth 2.0に変更された。ネット上の旧API解説記事(日本語圏に多い)は9月以降動かない

      • GCPプロジェクト作成 → OAuth 2.0クライアント設定 → テストモード+自分をテストユーザー登録(個人利用なら審査を回避できる見込み。要実地確認)

      • 睡眠・歩数・心拍を日次バッチでローカルSQLiteに取り込み

      • 会話への反映:当日の会話開始時に直近データの要約をコンテキスト注入

    • メンタルケア基盤

      • 会話ログからの気分推定:ローカルLLMで実施し、結果を状態層に日次記録

      • 安全境界の実装:ネガティブ指標が一定期間継続したら人間の相談先を提案するルールを、閾値込みでコードに固定(調子が良い時のうちに設計するのが要点)

    • 箴言RAG

      • ニーチェ・岡本太郎の箴言DB作成(出典付きで200〜300件程度から)

      • 会話の埋め込み×箴言の埋め込みの類似度マッチング

      • 頻度制御:類似度閾値+クールダウン時間+乱数の3条件AND(「たまに」が命。毎回では説教になる)

  • 成果物

    • 健康データ取り込みパイプライン+ローカルDB

    • 気分トラッキング機構+安全境界ルール(文書化して固定)

    • 箴言DB+RAGマッチャー

  • 完了条件

    • 朝の会話で睡眠データに言及し、話題に応じて時々箴言をつぶやく


Phase 4:実用性 — 秘書(エージェント化)

  • 目標

    • 「かわいい」から「頼れる」へ

    • 期間目安:2〜4週間(委任範囲により大きく変動)

  • 主なタスク

    • MCP(Model Context Protocol)ベースのツール連携:

      • ファイル操作、Web検索、カレンダー、メール等。既存MCPサーバーの流用から始める

    • 秘書タスクはクラウドLLMに振り分け:

      • ツール呼び出しの信頼性がローカル30Bより高い

    • モード設計:

      • 猫モード⇔秘書モード。口調を維持するか切り替えるかは使いながら決める保留事項として明記

    • 安全設計:

      • 実行ログ、破壊的操作(削除・送信等)の事前確認フロー

  • 成果物

    • MCPツール群の接続構成

    • モード切替の仕様メモ(保留事項リスト含む)

    • 実行ログ+確認フローの仕組み

  • 完了条件

    • 「〇〇について調べてまとめておいて」がテキスト指示で完遂できる


Phase 5:身体の本格化 — 目・表情・能動性

  • 目標

    • Phase 2'の計測結果を踏まえ、StackChanを「生き物」にする

    • 期間目安:1〜2ヶ月(ハードウェアは想定外が多い前提)

  • 主なタスク

    • 会話品質の仕上げ:

      • 遅延短縮(ストリーミングTTS等)、ウェイクワード導入

    • 視線合わせ

      • M5Stack LLM Moduleを追加。役割は「目」(顔検出・追従)とウェイクワード検出に限定し、LLM推論には使わない(頭脳はMacに集約)。ペーパープランの実機化

    • 能動性(気まぐれエンジン)

      • トリガー=時間帯+乱数+健康データ変化+前回会話からの経過時間。ClawChanから話しかける

    • 機嫌パラメータ

      • かまうと上昇、放置で減衰する単純な内部状態。表情・声のトーンに反映

    • 感情表現:

    • 箴言の能動的つぶやき(Phase 3では受動、ここで能動を解禁)

  • 成果物

    • 顔追従デモ/気まぐれエンジン(トリガー設計書付き)/機嫌パラメータ仕様

    • 感情表現マッピング表(機嫌値→表情・LED・動作)

  • 完了条件

    • 放置していると気まぐれに話しかけてきて、目が合い、かまうと嬉しそうにする


Phase 6:天使と悪魔 — 2台目投入

  • 目標

    • アライさん系×フェネック系の掛け合い(ポジ・ネガ構造の翻案)

    • 期間目安:3〜4週間(Phase 5の成果を流用)

  • 主なタスク

    • 2台目セットアップ(Phase 5の構成を複製)

    • フェネック系ペルソナ定義:

      • 落ち着いた男声寄りTTS、冷静なツッコミ役

    • 掛け合いオーケストレーション(本フェーズの技術的本丸):

      • 発言順制御:

        • 2台が同時に喋らない排他制御

      • 役割分担:

        • ポジ=共感・提案・励まし

        • ネガ=データに基づく現実チェック

      • ユーザーを置き去りにしない設計:

        • 2台だけで会話が完結しないターン制御

    • メンタルケアとの統合:

      • ネガが客観指摘(健康データ引用)、ポジが受け止める分業

  • 成果物

    • 2台構成のオーケストレーター

    • 掛け合いの会話設計書(役割・ターン規則)

  • 完了条件

    • 1つの話題に対して2台が異なる視点でコメントし、会話として成立する


To be continued...

次回は要件定義編:機能・人格・技術の3層の整理なのだ!
期待して待つのだ!


<目次>猫のようなAIと暮らしたい
(1)コンセプト編
(2)開発ロードマップ編←いまここ🐱
(3)要件定義編
(4)環境構築編
(5)Phase0-1:LLMモデルとクラウドAPIの選定
(6)Phase0-2:LLMモデルの比較(実測結果)
(7)Phase0-3:クラウドAPIの疎通テスト

いいなと思ったら応援しよう!