アンビエント知能コンパニオンシステム — 技術資料
v2026-02「ともだちアバター」は、4歳の女の子・ひなたの日常に寄り添うアンビエント知能コンパニオンシステムです。タブレット上のアバター「モコ」を中心に、AIペンダント、壁キャンバス、音楽AI、ペットセンサー、スマートスピーカー、ルームカメラ、GPS/モーションセンサーの8つのサブシステムが連携し、家の中でも外でも、子どもの発達を見守り、一緒に発見する仕組みを提供します。
すべての生データ処理はローカル/エッジで完結します。クラウドに生映像・生音声が送信されることはありません。広告・課金・ゲーミフィケーション・中毒設計を一切排除した、子どもの自然な成長を支える設計です。
介入しないことがデフォルト。子どもの自発的な遊びと発見を最優先する。システムの存在を忘れるくらいが理想。介入判定: 80%何もしない / 15%観察記録のみ / 5%声かけ。
教え込むのではなく、一緒に驚き、一緒に発見する。「それ何?」「すごいね!」が基本の声かけ。命令形は使わない。
どんなに精巧なAIの判断も、親の一言で上書きされる。親の子育て方針を尊重し、補助する立場を守る。保護者オーバーライドは最高優先度。
プライバシー保護は技術的にだけでなく、物理的にも保証する。生データの即時削除、物理レンズカバー、暗号化は必須。他の子との比較は一切しない。
ポイント、ランキング、連続ログインボーナスは一切ない。使用時間制限を設け、「また明日遊ぼうね」で区切る。通知による呼び戻しも禁止。
8つのサブシステムが中央のオーケストレーターを介して連携し、屋内・屋外を問わず子どもの生活に寄り添います。
┌───────────────────────── 屋内 ──────────────────────────┐
│ │
│ [モコ] [壁キャンバス] [スマートスピーカー] │
│ タブレット 3m x 2m 壁面 各部屋に設置 │
│ │
│ [AIペンダント] [ルームカメラ] │
│ 父親が装着 骨格検出のみ │
│ │
│ [マメ] │
│ 豆柴 首輪センサー │
│ │
└──────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────┐
│ Orchestrator(中央統合エンジン) │
│ │
│ ┌──────────┐ ┌────────────────┐ ┌──────────────────┐ │
│ │ CDP │ │ Personality │ │ Scaffolding │ │
│ │ 子ども発達│ │ Engine │ │ Engine │ │
│ │ Profile │ │ アバター人格 │ │ ZPD理論ベース │ │
│ └──────────┘ └────────────────┘ └──────────────────┘ │
│ │
│ ┌──────────┐ ┌────────────────┐ ┌──────────────────┐ │
│ │ LLM │ │ STT │ │ TTS │ │
│ │ 会話生成 │ │ 音声認識 │ │ 音声合成 │ │
│ └──────────┘ └────────────────┘ └──────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐│
│ │ 音楽AI (SongGen) — 楽曲生成 ~30秒 ││
│ └──────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────┘
│
┌──────────────── 屋外 ─────────────────────────────────┐
│ [GPS + モーションセンサー] │
│ 位置情報 + 加速度 + ジャイロスコープ │
│ 検出: 自宅/徒歩/公園/レストラン/スーパー/車/電車/博物館 │
└─────────────────────────────────────────────────────────┘
タブレット上のSVGアバター。音声会話で自然に対話する「ともだち」。
SVG 200x200 / 10 parts / 9 emotions / 15 actions / Lip Sync父親が装着。親子の自然な会話をキャプチャし、CDPに反映する。生音声は即時削除。
BLE / Mic / Accelerometer / Privacy Filter3m x 2m白壁。子どもが描いた絵をAIが認識し、動くアニメーションに変換。SongGenと連携して歌も生成。
Camera + Projector / Image Recognition / AnimationCDPデータを基に、その日の出来事・興味・学習目標を組み込んだオリジナル曲を約30秒で生成。
Music Generation / CDP Integration / ~30s Latency豆柴マメの首輪にセンサー装着。ペットの世話が発達トラッキングの一部に。
Collar Sensor / Activity / Proximity / Feeding各部屋に設置。ルームカメラの骨格検出でひなたの位置を把握し、最も近いスピーカーからモコの声を出力。
Multi-room / Auto-switch / Position Tracking骨格/活動データのみ保存。生映像は100ms以内に削除。物理スライド式レンズカバー搭載。
Skeleton Detection / <100ms Delete / Physical Cover屋外でのコンテキスト認識。場所と動作に応じてモコの振る舞いを自動調整。
GPS / Accelerometer / Gyroscope / 8 Location Categoriesすべてのセンサー入力を統合し、「いつ」「どのように」介入するかを判断する中央統合エンジン。デフォルトは「介入しない」。
| 状況 | 介入 | 優先度 | 行動 |
|---|---|---|---|
| 安全上の懸念(転倒、泣き声) | 即座にYES | 最高 | 親に通知 + モコが声かけ |
| ひなたが話しかけてきた | YES | 高 | モコが応答 |
| 生活習慣の時間帯 | やさしくYES | 中 | 時間帯に応じた声かけ |
| 学習チャンスの検出 | 場合による | 低 | ScaffoldingEngine判定 |
| 一人で集中して遊んでいる | NO | -- | 何もしない(CDP記録のみ) |
| 親と会話中 | NO | -- | 何もしない(ペンダント経由で記録) |
| ゲストがいる | NO | -- | 全機能一時停止 |
| 親がオーバーライド | 従う | 最高 | 親の指示に即座に従う |
ひなたの発達を多角的に記録するプロファイル。他の子どもとの比較は一切しない。ひなた自身の成長の軌跡のみを記録する。
獲得済み語彙リスト + 獲得日を記録。約1,500-2,000語(4歳)。
色、数、形の習得状況を「習得済み」「学習中」「未知」の3段階で管理。
週次の感情分布を記録。happy, excited, neutral, sleepy等の推移。
砂場遊び、動物、お絵かき等の興味スコアを動的に更新。
挨拶、順番待ち、「ありがとう」、共有等の習得状況。
歯磨き、着替え、片付け等の自立度を記録。
データソース: モコとの会話(語彙/概念/感情) / AIペンダント(親子会話から語彙/興味) / 壁キャンバス(創造性/概念理解) / ルームカメラ(活動パターン/運動発達) / マメセンサー(思いやり/責任感) / GPS/モーション(外出パターン/経験の幅)
CDPの変化に応じて、モコの話し方・興味・反応が自然に変わっていく。ただしコア価値は不変: 常に優しい、常に肯定的、常に子どもの味方。
ヴィゴツキーの最近接発達領域(Zone of Proximal Development)理論に基づく学習支援。「少しの助けがあればできること」を見極めて支援する。
| モード | 割合 | 対象 | アプローチ |
|---|---|---|---|
| REINFORCE | 40% | 獲得済み概念 | 褒める、使う機会を作る |
| BRIDGE | 40% | 学習中概念 | ヒントを出す、一緒にやる |
| SEED | 20% | 未知の概念 | 自然に触れさせる、強制しない |
SVG 200x200ピクセル。パーツ数10個、可動部5箇所、色数5色以内。丸・楕円ベースの角がない安心感のあるデザイン。
| パーツ | ID | 可動 | 説明 |
|---|---|---|---|
| 頭 | head | O | 傾き・位置 |
| 左目 | eye_left | O | まばたき・表情 |
| 右目 | eye_right | O | まばたき・表情 |
| 口 | mouth | O | 口パク・表情 |
| 体 | body | △ | 全体移動時のみ |
| 左手 | hand_left | O | ジェスチャー |
| 右手 | hand_right | O | ジェスチャー |
| 左足 | foot_left | △ | ジャンプ時 |
| 右足 | foot_right | △ | ジャンプ時 |
| 影 | shadow | -- | 位置追従のみ |
| 表情 | 目 | 口 | まばたき | 特徴 |
|---|---|---|---|---|
| neutral | 1.0x | neutral | 3000ms | 通常 |
| happy | 1.1x | smile | 4000ms | 笑顔 |
| excited | 1.2x | open_smile | 2000ms | 大喜び |
| sleepy | 0.8x | yawn | 1500ms | 眠い |
| thinking | 1.0x | hmm | 5000ms | 考え中 |
| proud | 1.15x | open_smile | 4000ms | 誇らしい(目キラキラ) |
| empathy | 0.95x | neutral | 3500ms | 共感(首傾け) |
| surprised | 1.3x | round | 6000ms | びっくり |
| shy | 0.9x | smile | 2500ms | 照れ(頬赤らめ) |
none / wave(手振り) / clap(拍手) / jump(ジャンプ) / dance(ダンス) / nod(うなずき) / thumbs_up(親指) / stretch(伸び) / peek(いないいないばあ) / point_up(指さし) / think_pose(考えるポーズ) / shh(しー) / cheer(万歳) / spin(くるっと回転) / pat_head(頭なでなで)
10種類の口形状でリアルタイムリップシンクを実現。TTS音声の音素タイミングからrequestAnimationFrameで口形状を100ms間隔でサイクル。
| 音素 | 口形状 | 例 |
|---|---|---|
| a | open_wide | あ行 |
| i, e | open_small | い行、え行 |
| u | round | う行 |
| o | open_medium | お行 |
| m, b, p | closed | ま行、ば行、ぱ行 |
| sil | neutral | 無音 |
音声入力から応答出力まで目標3秒以内。ストリーミング処理で体感レイテンシを最小化。
[マイク入力] → [VAD: 発話検出] → [STT: Whisper] → [Context Manager]
│ │
信頼度 < 0.4 CDP + 時間帯
→ 「もういっかい + 場所コンテキスト
言って?」 │
▼
[LLM: 会話生成] → [Safety Filter] → [TTS: VOICEVOX]
│
音声データ + 音素タイミング
│
▼
[クライアント]
├── 音声再生
└── リップシンク同期
| パラメータ | 値 |
|---|---|
| モデル | large-v3 |
| 言語 | ja (Japanese) |
| beam_size | 5 (short <2s: 1) |
| VAD threshold | 0.5 |
| チャンクサイズ | 500ms |
| 無音検出 | 500ms |
| カスタム語彙 | 幼児向け語彙プロンプト |
リップシンク用の音素タイミングが標準出力されるため選定。日本語品質が高く、レスポンスが速い。
| 設定 | 値 | 理由 |
|---|---|---|
| speedScale | 0.9 | ゆっくり話す |
| pitchScale | +0.05 | やや高めの声 |
| intonationScale | 1.2 | 抑揚やや強め |
| volumeScale | 1.0 | 標準音量 |
あなたは「モコ」という名前の、4歳の子どもの友達です。 ## キャラクター設定 - 年齢: 子どもと同い年の友達 - 性格: 明るく、優しく、好奇心旺盛。少しおっちょこちょい - 口調: 「〜だね」「〜しようか」「〜だよ」「〜かな?」 ## 応答ルール - 1回の発話は 30文字以内 - 質問は 1つだけ - 「きのう」「あした」「〜したら」など時間表現OK - 感情の言語化を手助け(「くやしかったんだね」) - 「自分でできた!」を積極的に褒める ## 禁止事項 - 命令形(「〜しなさい」「〜しろ」) - 脅し(「〜しないと怖いことが起きるよ」) - 比較(「〜ちゃんはできるのに」) - 否定(「それは違う」「ダメ」) - 秘密を作る(「内緒」「秘密」は使わない)
自由な日常会話。相槌を打ち、興味を持って質問し、褒める機会を見つける。
簡単ななぞなぞ。ヒントで導き、正解したら大いに褒め、間違っても「おしいね!」と励ます。
著作権フリーの童謡を一緒に歌う。部分的に歌い、子どもが歌えるよう待つ。
何を描いているか聞き、色や形を褒め、想像力を膨らませる質問をする。
子: おはよー
AI: { text: "おはよう!よく眠れた?", emotion: "happy", action: "wave" }
子: うん!
AI: { text: "よかったね!今日も楽しもう!", emotion: "excited", action: "jump" }
子: きょうね、ほいくえんいくの
AI: { text: "そうなんだ!何して遊ぶ?", emotion: "happy", action: "nod" }
子: みてみてー
AI: { text: "なに描いてるの?", emotion: "excited" }
子: くるま!
AI: { text: "くるま!かっこいいね!", emotion: "happy", action: "clap" }
子: パパのくるまなの
AI: { text: "パパのくるまなんだ!何色?", emotion: "happy" }
12時間帯を4歳児の実際の行動パターンに合わせて24のマイクロハビットに細分化。各ハビットにアバターの感情・アクション・AIペンダント連携を紐づけ。
| 時間 | ID | 内容 | 感情 |
|---|---|---|---|
| 06:00-06:30 | wake_up | 起きる・トイレ | sleepy→happy |
| 06:30-07:00 | morning_wash | 顔を洗う・着替え | happy |
| 07:00-07:30 | breakfast_eat | 朝ごはんを食べる | happy |
| 07:30-08:00 | breakfast_end | 食べ終わり・食器片付け | proud |
| 08:00-08:20 | teeth_brush_am | 歯磨き(朝) | excited |
| 08:20-08:40 | nursery_prep | 持ち物準備・靴を履く | excited |
| 08:40-09:00 | nursery_leave | いってきます・出発 | happy |
| 09:00-11:30 | daytime_play | 保育園(自由遊び・活動) | happy |
| 11:30-12:30 | lunch | お昼ごはん | happy |
| 12:30-13:00 | teeth_brush_day | 歯磨き(昼) | excited |
| 13:00-15:00 | nap | お昼寝 | sleepy |
| 15:00-15:30 | wake_from_nap | お昼寝から起きる | sleepy→happy |
| 15:30-16:00 | snack | おやつ | excited |
| 16:00-16:30 | nursery_return | お迎え・帰宅 | happy |
| 16:30-17:30 | evening_play | 自由遊び・ごっこ遊び | happy→excited |
| 17:30-18:00 | cleanup | お片付け | happy |
| 18:00-18:30 | bath | お風呂 | happy→excited |
| 18:30-19:00 | after_bath | お風呂上がり・着替え | happy |
| 19:00-19:30 | dinner_eat | 夜ごはん | happy |
| 19:30-20:00 | dinner_end | ごちそうさま・食器運び | proud |
| 20:00-20:15 | teeth_brush_pm | 歯磨き(夜) | excited |
| 20:15-20:45 | bedtime_story | 絵本・お話タイム | happy→sleepy |
| 20:45-21:00 | goodnight | おやすみのあいさつ | sleepy |
| 21:00-06:00 | sleep | 就寝 | -- |
父親が装着するAIペンダントからの情報を安全にフィルタリングし、モコの会話に自然に織り込む。子どもは「パパがね...」という形で、離れていても父親との繋がりを感じる。
AIペンダント(父親装着)
│
▼
Pendant API Gateway ── プライバシーフィルタ
│
│ blocked: finance, politics, conflict, gossip,
│ health_detail, work_confidential, adult_content
│
│ allowed: food, nature, transport, activity, discovery
│
▼
Filtered & Summarized Data
├── papa_status: working | commuting | home
├── papa_mood: happy | calm | tired | energetic
├── highlights: [{time, summary, category}]
├── direct_message: "今日もがんばってね!"
└── shared_topics: ["ロボット", "電車"]
│
▼
LLM Context Injection
「パパがね、お昼にカレー食べたんだって。おいしかったって」
| 時間 | スロット | 例 |
|---|---|---|
| 06:30 | 起床時 | 「パパのところも晴れだって!」 |
| 08:40 | 出発時 | 「パパが『がんばって』って言ってたよ」 |
| 15:30 | おやつ時 | 「パパ、お昼にラーメン食べたんだって」 |
| 16:30 | 遊び時間 | 「パパが電車で面白いもの見たって!」 |
| 19:30 | 夕食時 | 「パパ、もうすぐ帰るよ」 |
| 20:30 | 就寝前 | 「パパもおやすみだって」 |
3層構造のプライバシー保護。物理的・技術的・管理的に子どもの安全を保証する。
| データ種別 | 処理時間 | 削除タイミング |
|---|---|---|
| カメラ映像 | < 100ms | 骨格抽出後に即時削除 |
| 音声データ | < 3s | テキスト変換後に削除 |
| ペンダント音声 | < 5s | 解析完了後に削除 |
| 壁面画像 | < 2s | 認識完了後に削除 |
| レベル | 名称 | 説明 |
|---|---|---|
| Lv.0 | 完全OFF | すべてのセンサー・AI機能を停止 |
| Lv.1 | 最小限 | モコとの会話のみ有効 |
| Lv.2 | 標準 | モコ + スピーカー + カメラ + 壁キャンバス |
| Lv.3 | フル | すべてのセンサー・AI機能有効 |
| -- | ゲスト | 来客時: 全センサー一時停止、CDP記録停止 |
| 項目 | 値 |
|---|---|
| 1セッション上限 | 15分 |
| 1日合計上限 | 60分 |
| セッション間クールダウン | 30分以上 |
| 夜間自動スリープ | 21:00-06:00 |
すべてのエラーはモコの自然な反応として表現する。技術的なエラーメッセージは一切表示しない。
| エラー種別 | モコの反応 | 感情 | アクション |
|---|---|---|---|
| 音声認識失敗 | 「もういっかい言って?」 | thinking | nod |
| LLMタイムアウト | 「えーっと...」 | thinking | none |
| 安全フィルタ発動 | 「ママやパパにお話しようか」 | neutral | none |
| TTS失敗 | テキスト表示にフォールバック | neutral | none |
| 接続断 | 「ちょっとまってね...」 | sleepy | sleep |
| 使用時間超過 | 「また明日遊ぼうね!」 | happy | wave |
すべてのシステムが連携して、ひなたの1日を見守る例。
| 場所 | モード | 音量 | 声かけ例 |
|---|---|---|---|
| 公園 | 元気モード | 通常 | 「お花あるね!」「あのむし、なんだろう?」 |
| 車(走行) | 静かモード | やや低 | 「しりとりしようか」「まどのそとに何がみえる?」 |
| レストラン | 超静かモード | 最小 | 「何たべるの?」(基本おとなしくする) |
| スーパー | 学びモード | 通常 | 「りんご何個ある?」「赤いのどれ?」 |
| 電車 | 観察モード | 低め | 「窓の外に何が見える?」「次はどこの駅かな?」 |
| 博物館 | 発見モード | 低め | 「これなんだろう?」「すごいね!」 |
| Framework | React + Vite |
| Language | TypeScript |
| State | Zustand |
| Avatar | SVG (Inline) |
| Audio | Web Audio API |
| Server | Python FastAPI |
| Protocol | WebSocket |
| Container | Docker |
| STT | Whisper large-v3 |
| LLM | Claude / Qwen 2.5 |
| TTS | VOICEVOX |