🚅

Python×AI×交通ナビで社会貢献!SmoothNav開発ストーリー 〜未経験から始めるAIエンジニアへの道〜

に公開

はじめに

「AIってすごいけど、自分にはまだ遠い存在だと思っていませんか?」

こんにちは!この記事では、AI技術を活用して“社会に役立つ交通ナビ”を開発した体験を、未経験からAIエンジニアを目指す方に向けてご紹介します。

  • AIを使った開発って難しそう…
  • コードを書いたことがないけど大丈夫?
  • どんな風に社会に貢献できるの?

そんな疑問や不安を持つ方でも、**AIの力を借りれば、面白いプロダクトを作れる!**ということを実感してもらえる内容です。


プロダクト紹介:SmoothNav 〜みんなで渋滞を減らす新しいナビ〜

今回ご紹介するのは、**「SmoothNav」**という交通ナビゲーションシステムです。

特徴・メリット

  • AIで交通状況を予測し、渋滞の少ないルートを提案
  • 最短距離・最短時間だけでなく、“社会全体の渋滞緩和”も考慮
  • CO2排出量も表示し、環境配慮もサポート
  • Pythonで誰でも動かせる!

開発のきっかけと手順

なぜ作ろうと思ったのか?

「自分の便利さだけでなく、みんなのためになる選択肢をAIで提案できたら面白い!」
そんな思いから、AIエンジニアを目指す第一歩としてこのプロダクトを企画しました。

使ったAI技術

  • 大規模言語モデル(LLM):アイデア出しやコード生成の補助
  • Python+scikit-learn:交通データのシミュレーションやルート最適化
  • Cursor:AIペアプログラミングで効率的に開発

開発ステップとサンプルコード

1. 交通データのシミュレーション

まずはAPIキーがなくても動くように、テスト用の交通データを自動生成します。

# test_data.jsonを生成するスクリプト例
import json
import random

def generate_test_data():
    routes = []
    for i in range(5):
        route = {
            "distance": random.randint(5, 40) * 1000,  # m
            "duration": random.randint(20, 120) * 60,  # 秒
            "traffic_level": round(random.uniform(0.1, 1.0), 2),
            "co2_emission": round(random.uniform(0.5, 5.0), 2) * 1000,  # g
            "steps": []
        }
        routes.append(route)
    with open("test_data.json", "w") as f:
        json.dump(routes, f, ensure_ascii=False, indent=2)

generate_test_data()

2. ルートの最適化ロジック

AIで「渋滞レベルが最小のルート」を自動で選びます。

# 最も渋滞の少ないルートを選ぶ関数
def recommend_route(routes):
    return min(routes, key=lambda r: r["traffic_level"])

# 使い方例
import json
with open("test_data.json") as f:
    routes = json.load(f)
best = recommend_route(routes)
print(f"推奨ルート: 距離{best['distance']/1000}km, 渋滞レベル{best['traffic_level']}")

3. 結果の可視化

matplotlibでグラフ表示もできます!

import matplotlib.pyplot as plt

def plot_traffic(routes):
    labels = [f"経路{i+1}" for i in range(len(routes))]
    levels = [r["traffic_level"] for r in routes]
    plt.bar(labels, levels, color="#ff6b6b")
    plt.title("各経路の渋滞レベル比較")
    plt.ylabel("渋滞レベル")
    plt.show()

plot_traffic(routes)

AI活用のポイント

  • アイデア出しや設計の壁打ちをAI(Cursor)と一緒に進めることで、迷わず開発を進められました。
  • コード自動生成やデバッグ支援もAIがサポートしてくれるので、未経験でも安心!
  • 社会貢献×AIというテーマで、エンジニアとしてのやりがいも実感できます。

今後の発展可能性

  • 実際の交通APIと連携してリアルタイムナビへ発展
  • ユーザー同士の協力で“みんなで渋滞を減らす”社会実装
  • CO2削減やSDGsへの貢献も期待

おわりに 〜AIエンジニアを目指すあなたへ〜

AI技術を使えば、未経験からでも社会に役立つプロダクトを作ることができます!
まずは小さなアイデアから、AIと一緒に開発を始めてみませんか?

「AI×社会課題解決」に興味がある方は、ぜひ一歩踏み出してみてください!


Discussion