ふくふくHukuhuku Inc.
EP.07Kids Python対象: 小5以上 10分公開: 2026-05-10

自分だけのチャットbotを作ろう(簡単なAIへ第一歩)

話しかけたら答えてくれる、自分だけのロボットbotを作ろう。「if 文」と「リスト」を使うだけ。

#小学生#チャットbot#AI入門
CO📔 Google Colab で開く(上から順にセルを実行)
シェア

今回は、話しかけたら答えてくれる 自分だけのbot を作るよ。「こんにちは」と打ったら「やあ!」と返事してくれる、そんなロボット。ChatGPT みたいな本格的な AI ではないけど、その第一歩になる仕組みだよ。

1. botってどう動くの?

bot は、「もし○○と言われたら、××と答える」というルールを持ったプログラム。今回作るのは、そのルールを 辞書 (リストの中の辞書) で持っているシンプルなタイプ。

  • 入力: きみが入力した文字 (例:「こんにちは」)
  • 判定: 入力に「こんにちは」が含まれているかチェック
  • 出力: 含まれていたら、対応する答えを表示
  • ループ: 「おわり」と入力するまで繰り返し

2. 完成形のコード

colab に貼り付けて実行
Python
# 質問とこたえのリストqa_list = [    {"q": "こんにちは", "a": "やあ!元気?"},    {"q": "好きな食べ物は", "a": "プログラムだよ。ジョークだけど。"},    {"q": "今何時", "a": "それは時計を見て!"},]
while True:    user_input = input("きみ: ")    if user_input == "おわり":        print("bot: バイバイ!")        break    found = False    for qa in qa_list:        if qa["q"] in user_input:            print("bot:", qa["a"])            found = True            break    if not found:        print("bot: わからないよ〜。教えて!")

3. コードの読み方

  • `qa_list`: 質問とこたえのペアを並べたリスト。追加すれば bot がもっと頭良くなる
  • `while True:`: 「ずっと繰り返す」という意味。`break` が出るまで止まらない
  • `input("きみ: ")`: ユーザーが入力する文字を取る
  • `if user_input == "おわり":`: 「おわり」と入力したら break で終わる
  • `if qa["q"] in user_input:`: 入力文字に質問が含まれていたらマッチ

4. 拡張して遊んでみよう

  1. 1自分の好きな話題を qa_list に追加 (好きなアニメ、ペット、学校のこと等)
  2. 2ランダムな返事: `import random` して `random.choice(["うん", "そうだね", "なるほど"])` で違う反応に
  3. 3カウンター: 何回話しかけられたか数える変数を追加
  4. 4時計の答えをちゃんと: `from datetime import datetime` で実際の時刻を返す
  5. 5会話の記録: `chat_log` というリストに会話を全部保存して、最後に表示
ランダム返事の例
Python
import random
# わからないときの返事を 3 つから選ぶunknown_responses = [    "わからないよ〜。教えて!",    "もう一回、ちがう言葉で言って?",    "うーん、それは知らないなあ",]
# found が False のときに使うif not found:    print("bot:", random.choice(unknown_responses))

5. 落とし穴とコツ

  • 「。」や「!」が入ると一致しない: 「こんにちは。」は「こんにちは」と違う。`replace()` で句読点を消すと改善
  • 大文字小文字も別物: 「Hello」と「hello」は違う扱い。`.lower()` で揃える
  • 最初の一致だけ拾う: 複数の質問にマッチする入力 (例: 「こんにちは、好きな食べ物は?」) では先のマッチだけ拾う
  • 「賢く見せる」のと「本当に賢い」は違う: これは検索型 bot。ChatGPT のような 生成 AI (LLM) とは仕組みが全く違う

6. 自由研究のヒント

「自分だけの先生 bot」を作ろう

自分が学校で覚えた知識 (理科の語句、英単語、歴史の年号) を qa_list に入れて、「クイズ bot」にすると勉強になる。「◯ 個入れたら満点になった」を自由研究レポートにまとめると映える。

7. 「本物の AI」との違い

今回作った bot は 「あらかじめ用意した答えから探す」 タイプ。一方、ChatGPT や Claude「言葉を 1 文字ずつ予測して生成する」 タイプ (大規模言語モデル = LLM)。仕組みは全く違うけど、両方とも 「人と会話するソフト」 であることは同じ。本シリーズで Python の基礎を覚えて、その後で AI を学ぶと、両者の違いが感覚的に分かるようになるよ。

次回予告

次回(EP.08)は、ピクセルアートを作ろう。リスト(配列)を使って、自分だけのドット絵を描く。

シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp