AIアプリ開発入門 第1回|AIアプリを動かす「裏側の仕組み」を理解しよう

AIアプリを作ると聞くと難しそうに感じますが、最初に理解すべきことはそれほど多くありません。この記事では、今後PythonやAI(Geminiなど)を使ったWebアプリを作るにあたり、前提となるPython・API・JSON・ライブラリという4つの基礎を、初心者向けに分かりやすく解説します。

今回のゴールは、「画面で入力した内容が、どうやってAIに届き、どうやって結果が戻ってくるのか」を頭の中でイメージできるようになることです。ここが分かると、今後出てくるプログラムのコードが何をしているのかが一気に理解しやすくなります。


目次

全体像:AIアプリのしくみ

このシリーズでは、最終的に「ユーザーがWeb画面で入力 → AIが処理 → 別のAIに追加指示 → 結果を画面に表示」という流れのAIアプリを作っていきます。

これを実現するために、まずは以下の4つの登場人物(用語)の役割を押さえましょう。

  1. Python:データを整理して指示を出す「司令塔」
  2. API:外部のAIにお願いをする「窓口」
  3. JSON:AIと会話するための「共通言語」
  4. ライブラリ:難しい処理を肩代わりしてくれる「通訳・便利な道具箱」

1. Python(パイソン)とは?

Pythonは、AI開発やデータ分析、Webアプリ制作に広く使われているプログラミング言語です。最大の魅力は「文法がシンプルで、英語を読むように直感的に書ける」点にあります。

Pythonで最初に覚えるべき基本的な要素は以下の通りです。

  • 変数:データを入れておく「箱」
  • 文字列:文章のデータ
  • リスト:複数のデータを順番に並べたもの
  • 辞書:「見出し(キー)」と「中身(値)」をセットにしたデータ
  • if文:「もし〜ならAをする」という条件分岐
  • for文:同じ処理を繰り返す仕組み

たとえば、以下のコードは「辞書」という仕組みを使ってユーザー情報をまとめた例です。

pythonuser = {
    "name": "太郎",
    "role": "マーケター"
}
print(user["name"]) # 「太郎」と表示される

AIアプリ開発におけるPythonの主な仕事は、難しい計算をすることではなく、「ユーザーが入力したデータを整理し、AIに渡し、返ってきた結果を綺麗に整えて画面に出す」という進行管理です。


2. API(エーピーアイ)とは?

APIは、ひとことで言うと「別のサービス(ソフトウェア)に仕事を依頼するための窓口」です。

AIアプリを作る場合、自分のパソコンの中に超高性能なAIを丸ごとインストールするのは不可能です。そこで、Googleが提供している「Gemini」などの外部AIに、インターネット経由で「この文章を要約して」とお願いをする必要があります。そのお願いを受け付けてくれる窓口が「API」です。

レストランに例えると分かりやすいです。

  • あなた(アプリ):お客さん
  • API:注文を聞いて厨房に伝える「ウェイター」
  • Gemini(AI):注文通りに料理を作る「シェフ」

あなたはウェイター(API)に注文を渡すだけで、裏側でどうやって料理(AIの回答)が作られているかを知らなくても、完成品を受け取ることができます。


3. JSON(ジェイソン)形式とは?

APIを通じてデータをやり取りする際によく使われるのが「JSON」というデータの書き方ルールです。これは、インターネット上のあらゆるプログラムが理解できる「世界共通の言語フォーマット」です。

JSONは、以下のように「キー」と「値」を { }(波括弧)で囲んで書かれます。

json{
  "order": "ハンバーグ定食",
  "quantity": 1,
  "options": ["ご飯大盛り", "ソース多め"]
}

見た目が、先ほど紹介したPythonの「辞書」にそっくりなのが分かると思います。

あなたがAPIに「記事を書いて」と依頼するとき、実はインターネットの通信ケーブルの中では、データがこのJSON形式に翻訳されてから相手に送られ、相手(AI)もJSON形式で結果を返してきています。


4. import とライブラリの役割

Pythonでプログラムを書くとき、よくファイルの先頭に import 〇〇 という一文を書きます。これは「便利な道具箱(ライブラリ)を今から使います」という宣言です。

たとえば、import streamlit as st というコードは、「画面を簡単に作れる『streamlit』という道具箱を、『st』というあだ名で使います」という意味です。これにより、毎回長い名前を書かずに st.title() のように短く命令を出せるようになります。

ライブラリは「優秀な通訳」

ここで先ほどのJSONの話に戻ります。実は、あなたはプログラムの中でわざわざ面倒なJSONの記号を書く必要はありません。

今回使うAIのライブラリ(google-genai など)が、あなたが日本語で書いた指示を全自動でJSONに翻訳してAPIに送信し、返ってきたJSONも自動で日本語(Pythonのデータ)に戻してくれるからです。ライブラリは、単なる道具箱というよりも「優秀な通訳」として働いてくれます。

(補足)ライブラリはどこに置かれる?

注意点として、import は「インストールする」コマンドではありません。
クラウド上でアプリを動かす場合、通常は以下の2つのファイルを用意します。

  • app.py:アプリ本体のプログラム(設計図)
  • requirements.txt:必要なライブラリのリスト(買うべき道具の一覧)

この2つをクラウドサーバーに渡すと、サーバーが自動的にリストを見てライブラリをインストールし、その後にプログラムを実行してくれます。


まとめ:データが流れる全体像

ここまでの知識を組み合わせると、AIアプリの裏側では以下のようなリレーが行われています。

  1. ユーザーが画面に文字を入力する。
  2. Pythonがその文字を受け取る。
  3. ライブラリ(通訳)が、文字をAPI専用のJSONに翻訳する。
  4. API(窓口)を通じて、外部のGemini(AI)に送信される。
  5. Geminiが処理した結果が、再びJSONで返ってくる。
  6. ライブラリがそれをPythonのデータに戻す。
  7. Pythonがそれを画面に表示する。

この「データのバケツリレー」の構造さえ頭に入っていれば、今後出てくるコードが「どの部分の処理をしているのか」がはっきりと見えるようになります。

次回は、今回少しだけ登場した streamlit という魔法のライブラリを使って、HTMLやCSSを一切書かずに、PythonだけでWeb画面を作る方法を解説します。


初心者向けの参考リソース

記事内で登場した概念について、さらに詳しく知りたい方は以下のリソースを参考にしてください。

Pythonの基礎を学びたい方へ

APIとJSONの仕組みを知りたい方へ

注意事項

本記事の内容は執筆時点の情報をもとに作成しています。
Python、Streamlit、Gemini API、GitHub、Streamlit Cloud、Supabase、Vercel、Cloudflare、Google Cloud などの仕様、料金、UI、提供条件は予告なく変更される場合があります。

記事内のコード、設定例、画面構成は学習用・検証用のサンプルです。
実際の運用環境に導入する場合は、公式ドキュメントを確認したうえで、ご自身の責任で検証・調整してください。

APIキー、認証情報、個人情報、業務データなどの機密情報は、記事中のサンプル通りであっても公開リポジトリや公開画面にそのまま掲載しないでください。
外部サービス利用時の課金、障害、セキュリティ事故、データ消失などについて、当サイトは責任を負いません。

ListeningMind サービス紹介資料

こちらの資料は、検索データを活用した消費者分析ツールListeningMind」のサービス概要を紹介するプレゼンテーション資料です。

ご興味のある方は、ぜひ資料をこちらからダウンロードしてご覧ください。

著者について

目次