AIを読む人から使う人へ:中学生にも分かるNext.jsでAIチャットUIを作る #3
◉ AI×ビジネス活用 / 2026年07月

AIを読む人から使う人へ:中学生にも分かるNext.jsでAIチャットUIを作る #3

2026年07月17日 読了目安:約19分 著者:AIFRONTNEWS編集部 AIチャット / Next.js / OpenAI API

たった1画面のAIチャットUIを、自分のパソコンで動かしてみませんか。

入力欄に質問を書き、送信ボタンを押すと、数秒後にAIの返答が現れます。読み込み中の表示や、うまくいかないときのエラーメッセージも付きます。

この記事は、準備から確認までを通して、VS CodeのOpenAI Codexに依頼文をコピペするだけで完成できる道案内です。APIキーは環境変数で安全に守り、Next.jsのRoute Handler(サーバールート)を通して呼び出します。

この回のゴール

  • できること:Next.jsで最小のAIチャットUIを作り、質問を送って返答を画面で見られる。
  • 用意するもの:パソコン、ブラウザ、VS Code、OpenAIアカウント(API利用可)、Node.js LTS。
  • 大切な約束:APIキーはコードに直書きしない。環境変数で保存し、Route Handlerでサーバー経由にする。仕様や料金は変わるため公式ドキュメントで都度確認する。
最初に知っておきたい用語
  • Next.js:Web画面とサーバーの処理をまとめて作れる道具。家(画面)と台所(サーバー)を同じ場所で用意できる感じ。
  • Route Handler:Next.jsのサーバー側の受け口。手紙を受け取る郵便窓口のように、ブラウザからの依頼を受けて処理する。
  • 環境変数:秘密のメモを金庫に入れておく方法。APIキーなどをコードに書かず、安全に読める場所。
  • OpenAI API:文章を作るなどのAI機能を提供するサービス。質問を送ると返答の文章が返ってくる。
  • VS Code:作業机のようなアプリ。ファイルを編集したり拡張機能でAIに手伝ってもらえる。
  • OpenAI Codex:VS Code内でコード作成を助けるAIコーディングエージェント。依頼文を送ると必要なファイルを作ってくれる。
  • fetch:ブラウザやサーバーから別の場所へ依頼を送る操作。おつかいに行って結果を持ち帰るイメージ。
  • .env.local:開発中だけ手元で使う秘密メモ帳。APIキーなどを保存し、外へ公開されない。

1. この記事でできること

Next.jsで最小のAIチャットUIを作り、入力→送信→返答表示の往復を体験します。
VS CodeのOpenAI Codexに作業を任せ、私たちは指示文をコピペして進みます。
APIキーは環境変数で守り、ブラウザへ露出しない形にします。所要時間の目安は約60分です。
たとえると、質問は郵便ポスト、Route Handlerは郵便局、OpenAI APIは返事を書いてくれる人。迷子にならないように順路を作ります。

2. 完成イメージ

完成したAIチャットUIの画面イメージ。入力欄と送信ボタン、返答表示を示す。
Photo by kuu akura on Unsplash

完成後は、メモアプリのように一言入れて押すだけ。信号機のように「送信中→完了→失敗」を見分けられます。

3. 最初に知っておきたいこと

仕組みは「ポスト(フォーム)→配達員(fetch)→郵便局窓口(Route Handler)→手紙の返事(OpenAI APIのレスポンス)」です。
フォームは入力の受け皿、Route Handlerはサーバーの受け口、OpenAI APIは文章を作ります。
APIキーを守るため、キーはサーバー側だけで使います。机の引き出し(ブラウザ)に鍵を置かず、金庫(環境変数)にしまうイメージです。

4. 対象読者

初学者向けにNext.jsとOpenAI APIを学ぶターゲット読者のイメージ。
Photo by Chris Ried on Unsplash

プラモデルを作るときの説明書のように、押す場所と確認ポイントを細かく示します。

5. 必要なものと入れ方

Node.js(LTS)

  1. これは何?:アプリを動かす土台。ゲーム機本体のように、ソフト(Next.js)が動くために必要です。
  2. 用意するもの:インターネット接続、管理者権限のあるPC。
  3. 入れ方・開き方:公式サイトを開き、LTS版を選んでダウンロード。表示の案内に従ってインストール。Windowsはインストーラーを実行、macOSは.pkgを開いて進めます。
  4. 最初の設定:特別な設定は不要。完了後にPCを再起動すると確実です。
  5. できたか確認:VS Codeのターミナルで「node -v」「npm -v」が表示されればOK。バージョンの数字が出れば成功です。

Visual Studio Code(VS Code)

  1. これは何?:作業机。ファイルを開いたり、AIの手伝い(拡張機能)を足せます。
  2. 用意するもの:PC、ネット、マウスとキーボード。
  3. 入れ方・開き方:公式サイトからダウンロード。Windowsはセットアップを進めて起動、macOSはアプリをApplicationsへ移動して起動。
  4. 最初の設定:日本語表示にしたい場合は「表示→コマンドパレット→言語」で切替可能。
  5. できたか確認:ウィンドウ左下に「管理」アイコン、左側にファイルや拡張機能のアイコンが見えればOK。

OpenAI Codex拡張(VS Code)

  1. これは何?:AIコーディングエージェント。大工さんに設計図を渡して作ってもらう感覚です。
  2. 用意するもの:OpenAIのアカウント(APIまたはChatGPTでサインインできるもの)。
  3. 入れ方・開き方:VS Code左側の四角い「拡張機能」アイコンを押す→検索欄に「Codex」と入力→OpenAIのCodex拡張を選ぶ→「インストール」を押す→完了後に拡張の「開く」を押す。
  4. 最初の設定:拡張の案内に従ってサインイン。成功するとCodexのチャット欄が開きます。
  5. できたか確認:「Codex」タイトルのチャット欄にメッセージ入力ボックスがあり、送信ボタンが押せれば準備OK。

Next.js(create-next-app)

  1. これは何?:Web画面とサーバーを一緒に作る道具箱。レゴの基本セットのように最初の形を作ってくれます。
  2. 用意するもの:Node.js LTS、ネット回線。
  3. 入れ方・開き方:この作業はCodexに任せます。私たちは依頼文を送るだけです。
  4. 最初の設定:プロジェクトのフォルダを開き、開発サーバーを起動します(Codexに依頼)。
  5. できたか確認:ブラウザで http://localhost:3000 が開き、Next.jsの初期ページが出ればOK。

前回の記事を読んでおらず、Codexを使った依頼の流れに不安がある人は、シリーズの前回「AIを読む人から使う人へ:中学生にも分かるSNS自動投稿パイプラインを作る #2」で、拡張の使い方を一度確認しておくと安心です。

6. エージェントと作るものの全体像

appとapiフォルダ構成とデータの流れを示すNext.js構成図。
Photo by Mockup Free on Unsplash

今回つくるフォルダとファイルの例です。Codexが自動で用意します。

データの流れは、入力→fetchで/api/chat→OpenAI API→返答→UI更新。
安全設計は、.env.localでキーを保存し、Route Handlerでのみキーを使います。財布(ブラウザ)に大金(キー)を入れず、家の金庫(サーバー)に置いて取りに行くイメージです。

7. 手順1: ツールを準備する

目的と全体の流れ

Node.jsとVS Code、Codexを使える状態にします。続いて、Codexに新規のNext.jsプロジェクト作成を依頼します。

読者がする画面操作

Codexに送る内容

下のボックスはまだ送りません。まず起動確認まで完了してから次の手順で使います。

成功の見分け方

つまづいたら

Codexのサインイン画面の指示を読み直し、ネットワークに接続されているか確認します。

8. 手順2: APIキーを安全に用意する

環境変数でAPIキーを安全に保存する手順の図解。
Photo by Zulfugar Karimov on Unsplash

目的

OpenAIのAPIキーを発行し、.env.localへ保存します。APIキーは絶対にコードや画面に直書きしません。

読者がする画面操作

成功の見分け方

つまづいたら

環境変数名のスペル(OPENAI_API_KEY)と、保存場所がプロジェクト直下かを確認します。

9. 手順3: エージェントにアプリを作ってもらう

目的

UI、Route Handler、状態管理、最小のスタイルをCodexにまとめて作ってもらいます。

読者がする画面操作

このボックスをコピーして、VS Code内のCodexチャットに送ります。

Codexに送るプロンプト

目的:Next.js(App Router)で、最小のAIチャットUIを作ってください。ユーザーは1行の質問を入力→送信→返答を表示、の単発QAです。コードやコマンドは私に直接入力させず、必要な操作はあなたから提案し、ファイルの追加・修正はあなたが行ってください。

前提条件:
- プロジェクトはこのフォルダ内に作成してください(create-next-appを提案し、実行と初期起動まで誘導)。
- TypeScript・App Routerを使用。
- 依存関係の追加が必要な場合は提案し、理由を短く説明してから行ってください。

必要なファイル:
- app/page.tsx:入力欄・送信ボタン・メッセージ表示・送信中インジケーター・エラー表示。use client指定。fetchで/api/chatにPOSTする。送信中はボタン無効化。
- app/api/chat/route.ts:POSTのみ許可。サーバー側でOpenAI APIのテキスト生成(Chat Completions等、公式ガイドにある方法)を呼び出し、返答テキストだけをJSONで返す。環境変数OPENAI_API_KEYはサーバー側のみで読み取り、キーの未設定時は400系で明示的なエラーJSONを返す。
- .env.local:OPENAI_API_KEY=(値は私が入れます)。.gitignoreで保護。READMEに「APIキーはコードに書かない」と注意書きを入れる。

安全なAPIキー管理:
- APIキーは.env.localに保存。クライアント側コードには絶対に露出させない。Route Handler内でprocess.envから読む。

UI要件:
- 1行テキスト入力と「送信」ボタン。返答表示領域。エラー時は赤い小さなメッセージ。
- 送信中はスピナーや「考え中...」を表示。
- シンプルなCSS(インラインまたはモジュール)で最小限の余白・幅・フォント調整。

動作確認:
- npm run devでhttp://localhost:3000を開くとフォームが表示される。
- 「テスト」と送るとAPI経由で返答が表示される。
- ブラウザの開発者ツールのNetworkで/api/chatが200で返り、JSONにtextフィールドがある。

分からないとき:
- 途中で情報が不足したら私に質問してください。選択肢がある場合は2〜3案を理由付きで提案してから実施してください。

Codexが作るものと、確認ポイント

10. 手順4: 動かして確認する

目的

ローカルで開発サーバーを起動し、実際に質問を送り、返答が表示されるか確かめます。

読者がする画面操作

成功の見分け方

つまづいたら

画面でエラー表示が出たら、Networkタブのステータスコードとレスポンス本文を確認。Codexに状況を伝えて修正を依頼します。

11. 手順5: エージェントと直す

目的

細かな使い心地や見た目を、Codexへの依頼で素早く調整します。料理の味見をして塩加減を直す感じです。

読者がする画面操作

依頼例

「エラー時に『通信に失敗しました。数分後に再度お試しください』と表示してください。再送ボタンを付けて、直前の入力を保持してください。」

成功の見分け方

12. よくあるエラー

APIキーやルート実装のエラーと対処法の注意喚起。
Photo by David Pupăză on Unsplash

13. 次に試すこと

商店の黒板に書くメニューを増やすように、少しずつ機能を足しましょう。変更のたびに公式ドキュメントで仕様を確認します(料金・制限は変わることがあります)。

14. まとめ

まとめ。Next.js AIチャットの基礎を押さえた締めくくり。
Photo by Glenn Carstens-Peters on Unsplash

最小のNext.js製AIチャットUIを、Codexへの依頼だけで形にしました。
サーバー経由と環境変数の管理を押さえたので、次の拡張に備えられます。
Route Handler、環境変数、OpenAI APIの基本は、公式ドキュメントで最新の仕様を確認してください。
この続きでは、会話の履歴やストリーミングなど、使い心地を高める工夫に進みます。

参考:公式ドキュメント