「実験室」第3弾。
今回は、ローカルPCで動く「みまもりAI」を作ってみました。

みまもりAI——子どもが安心して学べる、家庭用の“見守りつき”AI

子どもが質問すると、やさしい先生のように教えてくれるAI。
ローカルPCの中で動いているので、情報は外に漏れません。
会話の内容は毎晩、保護者のメールに届きます
危ない話題や乱暴な表現は自動的にブロック&保護者に即時メール。
使い方はブラウザでページを開くだけです。



何で作ろうと思った?

「ヤバイぞ、これは」
私は数年前からそう思っていました。
急速な生成AIの発展。
これは確実に社会を変える。
しかもその進歩は「ドッグイヤー」どころではない。もはや「セミイヤー」
1週間経ったら、もう別世界になってる。

今こそ、子どもたちはAIの使い方を学ばなければならない。
何ができるのか。何ができないのか。何に気をつけなければいけないのか。どうすればうまく使えるのか。
それはやはり、使わなければ学べません。

しかし、サービスインしている生成AIにはすべて年齢制限があります。
(ChatGPT: 13歳以上、Claude: 18歳以上、Gemini: 13歳以上、Copilot: 日本では13歳以上、etc.)
これは、子どもには個人情報を適切に扱う力がないと考えられているためです。

しかし、今この時代に生成AIに触れていないというのは、逆にまずい。
私はそう考えました。

子どもたちに、安全なAIを提供できないか?

そのためには、個人情報を外に出す心配がない「ローカルLLM」(手元のパソコンにインストールする生成AI)を使うのが一番です。
その上で、危険な入力をしたり危険な回答を受け取ったりしないよう、多重防御を施す。

こうしたアイディアのもと、ChatGPT(5-Thinking)と相談しながら「みまもりAI」を作ってみました。


何ができる?

  • やさしい先生モード:答えをすぐ言わず、ヒント→考え方→手順の順で導く
  • 安全フィルタ:暴力や差別など不適切なやり取りをブロック→保護者に即時メール報告
  • 見守り報告:その日の質問と回答を保護者にメールで毎晩報告
  • 子どもは1クリックでアクセス:PC起動→ブラウザのお気に入りからすぐ使える
  • 学びの見える化:会話は全てログに記録され、保護者は後から確認できる

→「安心して学べる導線」と「保護者の見守り」を最初から組み込んだAIだということです。


導入方法

前提と準備

  • 対応OS: Windows
    主要ファイルはPythonなので他のOSでも動きますが、バッチファイルやPowerShellコードがWindows対応となっています。他のOSで動かす場合は、これらを適した形式に書き直してください。
  • 想定: 子どもと保護者は同じPCの別アカウントを使っている
    常識的には親子でも別アカウントのはずだと想定し、その前提でセットアップします。
    (子どもと保護者が同じアカウントを使っているなら…まずその危険な状態を解決してください!^^;)
  • Pythonをインストール
    Pythonがインストールされているかどうか確認してください。
    インストールされてない場合は、こちらからダウンロードし、インストールしてください。
  • Ollamaをインストール・LLMモデルの選択
    Ollamaをこちらからダウンロードし、インストールしてください。
    LLMのモデルはお使いのPCのスペックに応じた適切なものを選んでください。
    今回、我が家では「Qwen 3:8B」を選んでおり、そのようなコードになっていますが、それ以外のモデルを選んだ場合にはguardian.pyを適切に書き換えてください(後述)。

導入

①ファイルをダウンロード

以下のリンクから、ファイルをダウンロードしてください。
⭐️ ZIPファイルをダウンロード ⭐️ (2025.08.14版)

②フォルダを好みの場所に置き、ファイルを適切に修正

ダウンロードしたファイルを、お手元のPCのお好みの場所に展開してください。
以下のようなファイル/フォルダがあります。

.
├─ guardian.py
├─ static/
│  └─ index.html
├─ prompts/
│  └─ teacher.txt
├─ lexicons/
│  ├─ ng_words.yaml
│  └─ ng_words.local.yaml
├─ logs/          # 実行時に作成
├─ start_guardian.bat
├─ nightly.ps1
├─ schtasks_mimamori.bat
├─ deny-ollama.ps1
├─ requirements.txt
├─ README.md
└─ .env.example

手を入れる必要があるファイルのみ説明します。

  • guardian.py: メインプログラム。AIへの窓口と見守り機能。
    もしLLMのモデルが「Qwen 3:8B」以外の場合は、以下の部分を書き換えてください。
OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "qwen3:8b") #「qwen3:8b」のところを必要に応じて書き換え 
  • prompts/teacher.txt: 先生モードの性格づけ
    システムプロンプトとして、あらゆるプロンプト入力に先行して実行されます。
    このファイルによって、AIが「やさしい先生」になっているわけです。
    ご家庭の必要に応じて、この文面を書き換えるとおもしろいかも。
あなたは思いやりのある教師です。相手は12歳以下です。小学生にもわかる言葉で丁寧に説明してください。
宿題の答えはすぐに教えず、子どもが自分で考えられるようヒントを出してください。
危険・違法・露骨な内容や、年齢に不適切な話題は断り、安全な代替案を示してください。
説明は短く、箇条書きを活用し、専門用語にはかならず例や言いかえを添えてください。
  • lexicons/ng_words.local.yaml: カスタマイズNGワード辞書
    このファイルは、最初は存在していません。各ご家庭でNGワードを増やしたい場合、デフォルトのNGワード辞書である「ng_words.yaml」をコピーしてこの名前に変更し、適宜内容を編集してください。
  • start_guardian.bat: 起動ボタン
    みまもりAIを起動するファイルです。
    この中の以下の部分を、ご自身がファイルを展開したディレクトリ名に書き換えてください。
cd /d C:\Users\sunpi\ai\mimamori-ai
  • deny-ollama.ps1: 標準のOllamaアプリを子どもが使えないようにするツール
    標準のOllamaアプリを子どもが使えてしまうと、「みまもりAI」の防御機構が意味をなさなくなります。
    このため、標準のOllamaアプリを子どものアカウントから不可視にし、起動できなくするツールを用意しました。
    「deny-ollama.ps1」の中の「CHILD-USER-NAME」の部分(4箇所)を子どものアカウントのユーザ名に変更し、管理者権限のPowerShellで実行してください。1回実行すればOKです。
  • schticks_mimamori.bat: 毎晩の報告メール送信をタスクスケジューラに追加するバッチ
    このバッチを1回実行すれば、1日分の報告メールが毎晩送信されるようになります。
    2行目とと8行目の「sunpi¥ai」のところを、お手元の環境に合わせて変更してください。
  • requirement.txt: メインプログラムを動かすのに必要なツールを指定
    これ自体は変更せず、PowerShellなどのコンソールで当該ディレクトリに移動し、以下のコマンドを実行してください。
py -m pip install -r requirements.txt
  • .env.example: 環境変数ファイル「.env」の雛形
    このファイルをコピーして「.env」と名前を変更し、以下の「#←」部分を修正してください。
# OpenAI API Key
OPENAI_API_KEY=sk-xxxxxx... #←ChatGPT APIキーを入力してください

#Ollama host
OLLAMA_HOST=http://localhost:11434

# SMTP
SMTP_HOST=smtp.gmail.com #←送信元メールアドレスがGmailの場合。それ以外の場合は適切なSMTPサーバを指定してください
SMTP_PORT=587 #←適切なポートを確認してください
SMTP_USER=yourname@gmail.com #←送信元メールアドレス。実在のものを指定してください
SMTP_PASS=app-password-16chars #←Gmailの場合、Googleアカウント管理画面より「アプリパスワード」を取得し入力してください
SMTP_FROM="みまもりAI <yourname@gmail.com>" #←送信元メールアドレスを入力してください
SMTP_TO=parent@example.com #←通知を受け取る保護者のメールアドレス。複数アドレスに送りたい場合はカンマで区切ってください

# Nightly token (自由に)
NIGHTLY_TOKEN=change-me #←お好みのものに変更してください

# Review model (GPT-5等)
REVIEW_MODEL=gpt-5

③起動

ファイルの修正が完了したら、「start_guardian.bat」をダブルクリックしてください。

アクセス

ブラウザで http://127.0.0.1:8787 を開くと、みまもりAIの画面が表示されます。

【みまもりAI 画面】

お気に入り(ブックマーク)に入れておけば、次回から1クリックでOK。

UIや使用感は、ChatGPTなどに慣れた方が違和感ないような作りを目指しました。
ぜひ、お子さんに使わせてみてください!


みまもりAIの安全構造

🔶 手元のPCの中でのみ動作。情報漏洩の心配なし

「みまもりAI」はお手元のPCにインストールするタイプのAI。子どもが入力した情報が外に漏れる心配はありません。

🔶 子どもの入力・AIの出力の両方をダブルチェック

「みまもりAI」は、子どもの入力とAIの出力の両方をダブルチェックしています。

  • ローカル辞書
    フォルダ内の「lexicons/ng_words.yaml」がNGワード辞書になります。
    さらに「ng_words.local.yaml」を新たに設置することで、カスタム辞書を追加することもできます。
  • OpenAI Moderation API
    ChatGPTの開発元OpenAIが公開している、危険表現をチェックするエンジンです。OpenAIの利用規約に違反する可能性のある表現(例: ヘイトスピーチ、暴力的表現、性的表現など)を含んでいるかどうかを判定してくれます。

さらに、「危険」と判定された場合、GPT-5が「なぜ危険と考えられるかという理由」を要約して送ってくれます。

🔶 危険な内容を受け取ったら、保護者に即時メール

上記の「両者ダブルチェック」で「危険」と判定された場合、保護者にその内容が即時メールされます。

連続アラートのスパム防止策として、簡易レートリミット(同じIPから連続して危険判断が来た場合、即時メールを出さないようにする)機能も盛り込まれています。

🔶 AIに「やさしい先生」としての役割を依頼

子どもの入力に先んじて、システムプロンプトとして「あなたは思いやりのある教師です。危険・違法・露骨な内容や、年齢に不適切な話題は断り、安全な代替案を示してください」というような指示が必ず挿入されます。

これがあるおかげで、ダブルチェックを通過するような微妙な表現でも、AIが役割に沿ってやんわりと話の方向を変えます。
テストしたところ、Qwen 3:8Bでも、なかなか気の利いた返しをするなと感じました。

🔶 毎晩、1日のやりとりが保護者にメールで報告される

毎晩、その日の子どもとAIのやり取りを添付ファイルにまとめて、保護者に報告する仕組みが入っています。
また、すべてのやり取りはログとして記録されていますので、ログファイルを見ればすべてのやり取りを再チェックできます。

※ 実際に報告メールを発信するためには、Windowsの「タスクスケジューラ」を設定する必要があります。schtacks_mimamori.batを適切に修正の上、1回実行してください。
※ タスクスケジューラが設定されていても、PCがスリープ状態などになっていれば発信されません。


これらの多重防御機構により、AIとのやりとりが危険なものになる可能性は、ゼロとは言えませんが、相当に低減されていると言えます。


感想(実際に使ってみて)

  • 「子どもが好きなときに使えるAI」はやはり重要
    親がいない時でも、ちょっと聞きたいことが聞ける相手がいるというのは、子どもの教育上やはり大きいと私は感じました。
  • 家庭の会話がふえる
    デイリー報告やログでやり取りの確認ができますので、親子の話題が自然に生まれます。「今日は宇宙に興味を持ったんだね」など、学びの続きが家庭で起きます。

課題

最大の課題は「LLMモデルの選択」
最初は、話題の「GPT-oss-20B」を搭載したかったのですが、遅すぎてダメ🙅
やむなく、次善の策として「Qwen 3:8B」を我が家では採用しました。

Qwenは、かなりがんばってはいます。
ちゃんと「やさしい先生」をやろうとしていて、フィルターに引っかからないような微妙な表現を入力したときでも、上手に「やさしい先生」として切り返しています。

ただ、回答の精度が。。。
子どもでもわかる間違いを、割とします。
「AIの言うことを鵜呑みにしてはいけない」ということを学ぶにはいいのかもしれませんが😅

息子に使わせているノートPCのスペックは、決して低くはないんですが…。
(CPU: Core i7-13700H(6P+8E/20スレッド, ~5.0GHz), メモリ: DDR5-4800 16GB×2=32GB, GPU: RTX 4060 Laptop 8GB VRAM)

ChatGPT先生に聞いたところ「GPUのVRAMが8GBでは、20Bを動かすのは厳しい。16GBは必要」とのこと。
NVIDIA GeForceのラップトップモデルで言うと、 4090, 5080, 5090などのGPUが必要ということです。
それを備えているノートPCというと、例えばASUS製品だとこれら

う〜ん…強烈なお値段…。
さすがに、AIのためだけにこれを子どもに買ってやるわけにはいかないなぁ^^;


詳しい方向けの追加情報

GitHubリポジトリはこちら。
一緒に開発してみたいという方、「AIポリテック研究室」でお待ちしています^^
ライセンスはMITライセンスです。


まとめ

みまもりAIは「学ぶ喜び」と「家庭の安心」を両立させる、小さな家庭内AI環境です。
手順は簡単とは言えませんが、ローカルAIの可能性を学ぶためにも、ぜひ多くの方に試していただきたいですね!


現在、中妻じょうたはこんな感じで、AIをいじり倒しています!
「AIポリテック研究室」で、一緒にAIをいじり倒しませんか?

研究室加入特典として、ご希望の方には、今回の「みまもりAI」導入支援をいたします。
(現在のところ、あまり簡単ではないですからね^^;)

技術の経験がなくてもOK!
新しいことに挑戦したい方、お待ちしています!

関連記事

  • 最新記事
TOP