中学生にも分かるAIモデル自動切り替え機能の作り方 #4
◉ AI×ビジネス活用 / 2026年07月

中学生にも分かるAIモデル自動切り替え機能の作り方 #4

2026年07月25日 読了目安:約17分 著者:AIFRONTNEWS編集部 API設計 / VS Code / エラー処理

「Autoにしたら、短い時間で応答が来ないときだけ、予備のモデルに1回だけ切り替える」仕組みを自分で作れたら便利だと思いませんか。

完成後は、画面で選んだ「Auto」だけが短いタイムアウトや一時的なサーバー障害(5xx)のときに、1回だけ予備モデルへ振り替えます。どのモデルを最終的に使ったかと、その理由がUIとログに出ます。

この記事では、準備から、VS Code内のOpenAI Codexへの依頼、動作確認、直し方までを一気に扱います。

この回のゴール

  • できること:Auto選択時だけ、短いタイムアウト/一時5xxで1回だけ予備モデルに切替え、使ったモデル名と理由を表示する。
  • 用意するもの:VS Code、OpenAI Codex拡張、Anthropic(Claude)APIキー、Node.js LTSまたはPythonのどちらか。
  • 大切な約束:APIキーは.envに保存し実値を画面や依頼文に書かない。料金や恒久エラーでは自動切替えず、直し先を明示する。
最初に知っておきたい用語
  • Claude API:文章のやり取りを行うAIの入口。アプリの「頭脳」にあたる。
  • OpenAI Codex:VS Codeの中でコード作成や修正を手伝うAI。アプリを作る「作業係」。
  • フォールバック:第一候補が一時的に使えないとき、予備に切り替える動き。
  • タイムアウト:待ち時間の上限。過ぎたら失敗として扱う。
  • HTTP 5xx:サーバーの一時的な問題を示すエラー番号の仲間。
  • 429:短時間に送信しすぎの合図。上限に当たった可能性がある。
  • stop_reason:Claudeの返答がどこで止まったかを表す値。
  • .env:アプリが秘密をしまっておく引き出し。APIキーをここに入れる。

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

この回では、次の3点を完成させます。バスが遅れたときに、駅から目的地まで一駅だけバス振替を使うようなイメージです。全線運休(恒久エラー)のときは、無理に他路線へ乗り継がず、原因を伝えて戻ります。

2. 完成イメージ

小さなWebアプリでmodel fallbackの結果をUIに表示する完成イメージ
Photo by Mockup Free on Unsplash

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

たとえ話:電車が数分遅れるだけなら、目的地に早く着くために一駅だけバスに振替えることがあります。ですが、線路の工事で終日運休なら、別のバスに乗り換えても着きません。このときは事情を知って予定を立て直します。アプリの自動切替も同じで、「一時的な遅れ」だけを1回限りで振替えます。
本文の意味:短いタイムアウトや5xxなどの“一時トラブル”時だけ予備モデルへ1回だけ切替。料金不足やモデル名の間違いなど“恒久エラー”は利用者に知らせて止めます。

技術の基礎:

4. 対象読者

初心者から中級者までVS Codeで学ぶ読者像のイメージ
Photo by Mohammad Rahmani on Unsplash

5. 必要なものと入れ方

家づくりで言うと、土台となる工具と材料をそろえる段階です。焦らず、一つずつ確認しましょう。

VS Code

  1. これは何?:ノートに文字を書くのと同じで、コードを書くためのアプリ。拡張で機能を増やせます。
  2. 用意するもの:メールアドレス、インターネット接続、Windows/macOSのPC。
  3. 入れ方・開き方:公式サイト(https://code.visualstudio.com/)を開き、Downloadを押す。インストーラーの案内に従って入れる。完了後にアプリを開く。
  4. 最初の設定:左下のアカウントアイコンからサインイン(Microsoft/GitHub)。テーマや日本語表示は好みで設定。
  5. できたか確認:「Welcome」画面が開き、左側に拡張(四つの四角)アイコンが見えたらOK。

OpenAI Codex拡張

  1. これは何?:頼れる家庭教師のように、指示した内容でコードを作ってくれる拡張。
  2. 用意するもの:OpenAIアカウント(または対応するサインイン方法)。ブラウザ。
  3. 入れ方・開き方:VS Code左の拡張アイコンを押す。検索欄に「Codex」と入力。OpenAIのCodex拡張を選び、「Install」を押す。インストール後、拡張のページで「Sign in」を押し、案内に従う。
  4. 最初の設定:サインイン完了後、サイドバーにCodexのアイコン(またはチャットビュー)が現れます。新しい作業用フォルダを「File → Open Folder…」で選んで開きます。
  5. できたか確認:右側またはサイドバーに「Codex」チャット欄が開き、「メッセージを入力」のボックスが見えたら準備完了。

Anthropic(Claude)API

  1. これは何?:質問に答えるAIの本体。アプリの頭脳役です。
  2. 用意するもの:Anthropicアカウント、支払い方法の設定(必要な場合)。
  3. 入れ方・開き方:ブラウザでAnthropic Consoleを開き、ログイン。APIキーを発行します。
  4. 最初の設定:発行したAPIキーは必ず安全な場所(.env)で使います。画面や依頼文に貼らない。
  5. できたか確認:Consoleでキーが作成されていること、必要なモデルの利用権限があることを確認。

Node.js LTSまたはPython

  1. これは何?:アプリを走らせるエンジン。車でいうとエンジン本体です。
  2. 用意するもの:どちらか一方の環境。今回はCodexにどちらかで実装してもらいます。
  3. 入れ方・開き方:公式サイトからLTS版をダウンロードしてインストール(Node.js: https://nodejs.org/、Python: https://www.python.org/)。
  4. 最初の設定:VS Codeで作業フォルダを開き、Codexのチャットを使える状態にします。
  5. できたか確認:Codexに「このフォルダにNode.js(またはPython)の簡単なHelloアプリを作って」と頼み、実行できたらOK。

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

primaryからbackupへのmodel fallbackフロー図
Photo by Hanna Morris on Unsplash

ここでの「エージェント」はCodexのことです。家づくりの大工さんに「設計図」を渡すイメージで、私たちは指示文(プロンプト)を書きます。Claude APIはできあがる家の電気配線のように、アプリの頭脳として動きます。

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

目的と操作の流れ

目的:VS CodeとCodex、実行環境を使える状態にする。なぜ:後でCodexに作業を任せるため。
操作:上の「必要なものと入れ方」の順にVS Code→Codex→実行環境を確認。Codexのチャット欄が開ければOK。

成功の見分け方とチェック

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

APIキーをenvで安全に管理する方法のイメージ
Photo by Peter Conrad on Unsplash

目的と理由

目的:APIキーを.envで安全に管理する。なぜ:鍵をむき出しで書くと、他人に家の合鍵を配るのと同じくらい危険だからです。

操作(OS別の考え方)

確認

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

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

Codexに送るプロンプト

前提:これはシリーズ第4回です。前回までに、Claude APIへ文章を送り、返答を画面に表示する小さなWebアプリがあり、画面の選択肢は「Auto/速さ重視/品質重視」です。サーバー側で各選択肢とClaudeモデルの対応表を持ち、APIキーは.envで管理し、ブラウザへキーやモデルIDを出さない設計です。

今回の依頼:
1) Auto選択時だけ、短いクライアント側タイムアウト(短めのリクエスト上限)またはHTTP 5xx/接続一時障害が発生したときに、予備モデル(backup)へ“1回だけ”フォールバックしてください。2回目以降は繰り返さず、分かるエラーで止めます。
2) 次のケースはフォールバック“しない”で、ユーザーに直し先を表示して終了:400/401/403、料金やクレジット不足、安全上の拒否、存在しないモデル、429(レート制限)。429は回避目的の連投をしないで待つ案内を出してください。
3) UIとログ:最終的に使ったモデルの「表示名」と、切替が起きた場合は短い理由(例:"timeout", "5xx")を表示・記録してください。
4) stop_reasonの扱い:Claudeの応答に含まれるstop_reasonを確認し、completeは通常完了、max_tokensはUIに"途中まで"などの注意、content_filteredは"安全上の制限"として案内を出してください。
5) 実装:Node.jsまたはPythonのどちらか1つでOK。既存機能を壊さずに最小の追加で。設定に(1) primaryモデル、(2) backupモデル、(3) Auto用の短いタイムアウトms、(4) フォールバック実行済みフラグを追加。
6) APIキーは.envから読み、サーバー側だけで使う。キーの実値をコードやHTML、ログ、画面に出さない。Gitにコミットしない仕組み(.gitignore)も確認してください。
7) 動作確認:擬似的に"タイムアウト/5xx/429/401/存在しないモデル"をテストできるモードを用意し、実APIを無駄に呼びすぎないように。テスト時はログに原因を分かりやすく出してください。
8) 不明点は作業前に質問してから着手してください。

成果物:
- 変更したサーバーコード/ルーター/設定ファイル
- UI表示の最小修正
- ログ出力の追加
- テスト用の簡易スイッチ(疑似エラー)
- READMEに使い方/テスト方法/確認ポイントを短く追記

Codexが作るものと見どころ:

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

テストシナリオ別に動作確認するチェックリストのイメージ
Photo by Glenn Carstens-Peters on Unsplash

正常系

タイムアウトのテスト

5xxのテスト

恒久エラーのテスト

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

12. よくあるエラー

APIキーや429などのよくあるエラーと対処の早見表イメージ
Photo by David Pupăză on Unsplash

APIキー未設定/権限不足(401/403)

429/料金上限

存在しないモデルID(404相当)

タイムアウト値が不適切

13. 次に試すこと

14. まとめ

一時エラーだけ1回だけの安全フォールバック設計のまとめ図
Photo by Jakub Żerdzicki on Unsplash

ポイントは2つ。
一時エラーだけに限定し、Auto時に1回だけ振替える。
そして、最終的に使ったモデル名と理由をUIとログに必ず表示する。
料金や仕様は変わる可能性があるため、最新情報はAnthropicの公式ドキュメントで確認してください。

参考文献・出典