AIチャットボットにトーク履歴の保存機能を追加
プロクラスの堀口です。
以前作成したAIチャットボットに、トーク履歴の保存機能を追加して、ニーズが把握できるようにしたいと思います。
↓以前作成したチャットボット

質問すると、jsonファイルから最も適した回答を表示してくれます。
↓AIチャットボットが回答の為、参照するファイル※質問と回答はサンプルです。
[
{
"question": "なぜプログラミングを学ぶことが推奨されているのですか?",
"context": "文部科学省は学校教育や大学入試にプログラミングを取り入れることで、基礎的なICTスキル向上、論理的に考える力や、積極的な問題解決の力を子供達が身につけていくことを期待しています。また、AIが普及するこれからの社会の中でAIをはじめとするコンピュータを使いこなすスキルは必ず必要になるとされています。2025年度の大学共通テストにはプログラミングを含めた「情報I」が出題されます。プログラミング学習によって、従来の学校教育では身につきづらかった「理系脳」の養成も実現できると考えられています。",
"answers": [
{
"text": "文部科学省は学校教育や大学入試にプログラミングを取り入れることで、基礎的なICTスキル向上、論理的に考える力や、積極的な問題解決の力を子供達が身につけていくことを期待しています。"
}
]
},
{
"question": "プロクラスキッズの授業にはどのような特徴がありますか?",
"context": "プロクラスキッズの授業では、お子様が楽しく効果的にプログラミングを学べるように様々な取り組みを行っています。特徴として、生徒1〜3名に対し講師が1名つく個別指導があり、柔軟で親身なアドバイスが可能です。ゲームの要素を取り入れたメニューで、子供がワクワクする題材で積極的に学習できます。年齢や興味、習熟度に応じた多様な5つのコースがあり、子供が興味を持続した状態で学習を継続できます。また、何を作るか自分で決めるクリエイティブ課題があり、年1回のコンテストでスキルを披露する機会があります。IT企業のスタッフが実務で得たノウハウがカリキュラムに反映されているため、将来の仕事で使える実践的なスキルが身につきます。",
"answers": [
{
"text": "生徒1〜3名に対し講師が1名つく個別指導があり、柔軟で親身なアドバイスが可能です。"
}
]
},
{
"question": "プロクラスキッズで提供されているコースにはどのようなものがありますか?",
"context": "プロクラスの授業では、マインクラフト、ゲームアプリ、ロボットベーシック、スクラッチの中からご興味のあるコースを選んで受講できます。ただし、教室によっては実施していないコースもあります。",
"answers": [
{
"text": "マインクラフト、ゲームアプリ、ロボットベーシック、スクラッチの中からご興味のあるコースを選んで受講できます。"
}
]
},
{
"question": "マインクラフトコースでは具体的に何を学びますか?",
"context": "マインクラフトJava版の拡張機能(MOD)であるComputer Craftを用いて、仮想空間のロボットを操作し、プログラミングの基礎から応用までを学びます。画面だけでなく、ブロックを動かしたりノートに設計したりしながら思考を整理してプログラミングを進めます。最初はビジュアルプログラミングで楽しく分かりやすく学び、後半ではコードで応用的な技術を習得します。",
"answers": [
{
"text": "マインクラフトJava版の拡張機能(MOD)であるComputer Craftを用いて、仮想空間のロボットを操作し、プログラミングの基礎から応用までを学びます。"
}
]
},
{
"question": "ゲームアプリコースでは具体的に何を学びますか?",
"context": "実際のゲーム開発にも使用されているUnity(ユニティ)を使用して、本格スマホアプリを制作しながらプログラミングを学びます。Unityの基礎的な使い方や簡単なゲーム制作から無理なく始められ、授業が進むにつれて応用的なプログラミング技術にチャレンジし、プロ顔負けのアプリを作ることができるようになります。",
"answers": [
{
"text": "Unityを使用して、本格スマホアプリを制作しながらプログラミングを学びます。"
}
]
},
{
"question": "ロボットベーシックコースはどのような子供向けのコースですか?",
"context": "LEGO社のSPIKE Essentialを使用し、未就学児から小学校低学年のお子様が楽しくロボットの制作とプログラミングを学ぶコースです。ただ作るだけでなく、即興課題や他の生徒と協力して解決する課題を行うこともあります。",
"answers": [
{
"text": "LEGO社のSPIKE Essentialを使用し、未就学児から小学校低学年のお子様が楽しくロボットの制作とプログラミングを学ぶコースです。"
}
]
},
{
"question": "スクラッチコースでは具体的に何を学びますか?",
"context": "プログラミング学習用教材として学校でも使用されるスクラッチを使用し、基礎から応用的なプログラミングを学びます。ブロック崩しやシューティングゲームなど、実際に遊べるゲームを題材に楽しく学習を進めます。",
"answers": [
{
"text": "スクラッチを使用し、基礎から応用的なプログラミングを学びます。"
}
]
},
{
"question": "無料体験に参加するとどのような特典がありますか?",
"context": "キャンペーン期間中に無料体験に参加すると、入塾時に特典が適用されます。具体的な特典内容は、無料体験参加から3日以内の入会の場合と、1ヶ月以内の入会の場合で異なるようです。ただし、キャンペーンの有無や実施内容は校舎によって異なる場合があります。",
"answers": [
{
"text": "キャンペーン期間中に無料体験に参加すると、入塾時に特典が適用されます。"
}
]
}
]
Gemini 2.5 Proで機能追加
Gemini 2.5 Proに現在AIチャットボットを構成しているファイルをアップロードして、要望を伝ます。

1度で上手くいくことは少ないので、ひたすらエラーを伝えます。

Gemini 2.5 Proと7往復ラリーして何とかエラーが起きないようになりました。
ユーザーが実行した質問と、それに対するAIチャットボットの回答をcsvに保存していってくれます。

まだまだローカル環境で動かしているだけなので、実際に利用できるよう一歩ずつ進めていきたいと思います!