広告あり

AIと半日で作った「歴史予言アプリ」を無料版に改良|60年周期の比較と今年の予想

IT・システム開発

「歴史は繰り返される」。そんな言葉を聞くと、昔の出来事と今のニュースを並べてみたくなりませんか?

プログラミング未経験の僕も、その興味からAIと対話し、半日で「歴史予言アプリ」の初期版を作りました。ブラウザだけで形にできたことが、当時の大きな驚きでした。

今回は、そのアプリをAPIキー不要・有料AI APIを使わない無料版に改良しました。過去と60年後の出来事を比較し、60年前の日本・世界の出来事から、常に今年の予想を表示します。

先に仕組みをお伝えすると、AIは開発を手伝う相棒で、現在のアプリ内の予想はテーマ別のルールによるものです。この記事では、実際に試せるアプリと、その比較・予想の考え方を紹介します。

きっかけは「歴史の還暦」という発想

最初のきっかけは、干支が一巡する還暦になぞらえて、「60年離れた時代を比べたら、似たテーマが見つかるのでは?」と考えたことでした。

ただし、出来事のテーマが似ていることと、歴史が必ず60年周期で繰り返されることは別です。このアプリは、周期を証明したり、未来を的中させたりするためのものではありません。史実を読み比べ、今年について考えるきっかけを作るためのアプリです。

未経験の僕が、ブラウザとAIで作った初期版

初期版では、Google ColabとGeminiを使い、「こんなアプリを作りたい」と日本語で伝えながらコードを作っていきました。VSCodeなどの開発ツールを使わず、ブラウザで取り組んだのが僕の出発点です。

エラーが出たときも、PrintScreenで画面を撮ってAIに相談しました。自分だけでは原因が分からない場面でも、対話しながら次に試すことを考えられたのが助けになりました。

その後、GitHubで管理しているプログラムを見直す中で、当時の年や用意済みの予想文に依存する部分が残っていることに気づきました。「今後も毎年使えるようにしたい」「利用のたびにAI APIの料金がかからないようにしたい」。そこから今回の改良につながりました。

無料版でできること:過去の比較と今年の予想

今回のアプリでは、すでに起きた出来事の比較と、今年についての予想を別の欄にしています。2026年を例にすると、対象は次のとおりです。

機能参照する年表示する内容
60年差の比較1946〜1965年から選択選んだ年と、その60年後の2006〜2025年の出来事
今年の予想1966年の日本・世界2026年に注目するテーマの予想を、それぞれ最大3件
ニュース検索現在検索語に関連するニュースを最大5件

比較できる範囲は、今年の61〜80年前です。そこで選んだ年に60を足すと、今年の1〜20年前になります。比較欄には、すでに起きた出来事同士を並べるわけです。

一方、予想欄で使うのは今年のちょうど60年前の資料です。こちらは比較欄の年選択とは独立しており、日本と世界の資料を分けて表示します。

毎年の手直しを減らすため、現在年と歴史資料を自動更新

対象年は、アプリを表示しているブラウザの端末時刻から取得します。2027年になれば、比較範囲は1947〜1966年、今年の予想の根拠は1967年に移ります。画面を開いたまま年が変わった場合も、定期確認で更新する仕組みです。

歴史資料は固定の表ではなく、表示・比較年や地域の変更・再取得ボタンの操作のたびにWikipediaから取得します。日本は「1966年の日本」のような記事、世界は「1966年」のような年の記事を使います。

取得した記事の「出来事」節から、年間に分散するよう最大36件を抜粋します。出典の版へのリンクと取得時刻も表示するので、気になった内容を元の記事で確認できます。

なお、世界の年記事には日本の出来事も含まれる場合があります。また、資料を取得できないときはエラーを表示し、架空の史実で穴埋めはしません。

どんなロジックで出来事を結び、予想を作るのか

仕組みはシンプルです。取得した出来事に含まれる語を、外交・政治、科学・技術、経済・産業、交通・インフラなど11のテーマに分類します。

  • 比較欄では、60年離れた資料の中から共通テーマのある出来事を探します。
  • 共通する語が多い組を優先し、同じ出来事を使い回さず、最大10組を表示します。
  • 共通テーマが見つからなければ、無理に結びつけず、その旨を表示します。
  • 予想欄では、日本・世界それぞれの60年前の資料で件数の多いテーマを選び、最大3件ずつ予想文を表示します。
  • 予想と一緒に、その根拠となった過去の出来事と、つながりの理由を表示します。

例えば、資料に鉄道や開通に関する出来事があれば「交通・インフラ」に分類します。そのテーマを今年に当てはめ、「交通網の整備や老朽化対策が注目される可能性がある」といった予想を表示します。これは分類の説明例であり、予想が当たったという実測結果ではありません。

現在の予想文はテーマ別に用意した定型文です。AIがその場で考える文章ではありません。同じテーマが選ばれれば、年が変わっても似た内容になります。歴史資料の更新と、新しい文章のAI生成を混同しないようにしました。

最新ニュースも読めますが、ニュース欄は独立した表示です。ニュースを分析して予想の根拠に取り込む機能は、現在の版にはありません。

古文書風の見た目と、読みやすさを両立

歴史をひもとく雰囲気を楽しめるよう、画面は和紙のような背景、墨色の本文、朱色の見出しで整えました。見出しは明朝系、本文は読みやすい字体を使い分けています。

比較表の長い文章は折り返して読み比べられるようにし、スマートフォンでは縦に並ぶ配置にしています。予想は一枚ずつの紙面風に区切り、「過去の手掛かりと理由を読む」を開くと根拠が見える形にしました。

機能の見直し後には公開画面の表示を確認しました。デザインはその後さらに読みやすく調整しています。また、年の切り替えや取得先、比較・予想の処理について、外部通信を模擬した12件のテストが通っています。これは予想の的中率を検証した結果ではありません。

実際にアプリを試してみる

  1. アプリのサイドバーを開き、比較したい年を選びます。
  2. 「日本」「世界」を切り替え、過去と60年後の出来事を読み比べます。
  3. 今年の予想欄で、日本・世界のテーマと、その根拠を確認します。
  4. 資料を取り直したいときは「歴史データを再取得」を押します。

スマートフォンなどで操作欄が隠れている場合は、アプリのサイドバーを開いてください。埋め込み画面が操作しづらい場合は、歴史予言アプリを別の画面で開くこともできます。

アプリが休止している場合は、「Yes, get this app back up!」と表示されたら押して起動してください。

無料で楽しむために知っておきたいこと

現在のアプリはAPIキーや有料AI APIを使いません。予想はプログラム内のルールで処理するため、予想を表示するたびにOpenAIなどへAI API利用料を支払う仕組みもありません。

表示される予想は、過去の主題を今年に当てはめた仮説です。確実な未来や、歴史の60年周期を保証するものではありません。史実の確認と、歴史を楽しむための読み物としてご利用ください。

Wikipediaの記述や語による分類には誤りがあり得ます。抜粋した出来事の範囲で処理しているため、その年の歴史全体を網羅した分析でもありません。災害の発生日時、投資の成否などを判断する道具にはしていません。

仕組みを詳しく知りたい方は、GitHubのソースコードと説明もご覧ください。

おわりに:AIと作り、仕組みを理解して使う

初期版を作ったときの「未経験でも、自分の想像を形にできた」という喜びは、今回の改良でも変わりません。AIにコードを手伝ってもらうだけでなく、何を根拠に何を表示するのかを見直すことも、アプリ作りの一部だと感じました。

今は、60年前後の歴史を読み比べながら、日本と世界の今年のテーマを考えるアプリになりました。未来を当てるかどうかだけでなく、「この二つの出来事は本当に似ているのか?」と出典を読み直す時間も楽しんでもらえたらうれしいです。

でわっ!!

コメント

タイトルとURLをコピーしました