セッション開始:2026/06/09 04:05
システム管理画面の「AIプロンプト設定」ページに、3D間取りの生成モデルを選べる設定を追加する。
これまで生成モデルはコードにハードコード(gpt-5.5)されており、変更にデプロイが必要だった。
設定の意味範囲がプロンプトに留まらなくなるため、ページ名を「AI設定」へ改称する。
やること
gpt-5.4 / gpt-5.4-mini / gpt-5.4-nano、画像モデル=gpt-image-2(現状1択)AiInstruction.instructions(JSON) を拡張(model / imageModel)update-ai-instruction.ts を action() ラッパー化| 用語 | 「AI設定」=生成タイプごとの管理者設定の上位概念。内訳は生成プロンプト(generateImageInstructions)とモデル設定。用語集。 |
| ChatGPTモデル | gpt-5.4 / gpt-5.4-mini / gpt-5.4-nano の3択。デフォルト(既定値)は gpt-5.4。Responses API の model に使用。 |
| 画像モデル | gpt-image-2 の1択。1択でもセレクトUIを表示(将来追加に備える)。image_generation ツールの model に使用。 |
| 保存先 | AiInstruction(kind=SolidFloorPlan).instructions(JSON) を拡張。zod は .default() 付きで既存レコードも後方互換。DBマイグレーション不要。 |
| 対象タブ | モデル設定UIは3D間取りタブのみ。他タイプは Gemini 固定のため対象外。改称(AI設定)はページ全体。 |
| 使用モデルの記録 | 今回は見送り(保存用 chatgpt instructions スキーマ変更が必要なため)。課題化。 |
ヘッダー:「AIプロンプト設定」→「AI設定」
gpt-5.4 / gpt-5.4-mini / gpt-5.4-nano
現状1択
model / imageModel を保存api/solid-floor-plans/[id]/generate/route.ts が AiInstruction(SolidFloorPlan) を読み、solid-floor-plan-instructions スキーマで parsegenerateImage(session, { ..., model, imageModel }) へ伝播generateImageWithChatGpt が responses.create({ model }) + tools:[{ image_generation, model: imageModel }] で生成packages/database/lib/ai-instruction/solid-floor-plan-instructions.ts
model / imageModel を .default() 付き enum で追加。選択肢定数(solidFloorPlanModels / solidFloorPlanImageModels)と型をエクスポート。
apps/system-manager/actions/ai-instruction/solid-floor-plan/update-ai-instruction.ts
action() ラッパー化(認証・try/catch を集約)。model / imageModel を受理しマージ保存。
.../ai-instructions/solid-floor-plans/_components/ai-instruction-edit-form/index.tsx
「モデル設定」セクションを追加(ChatGPTモデル/画像モデルのセレクト)。zod スキーマ・defaultValues も拡張。
apps/system-manager/app/ai-instructions/layout.tsx / app/_components/header-navigation/index.tsx
タイトル・ヘッダーナビのラベルを「AIプロンプト設定」→「AI設定」へ。
apps/user/.../generate/route.ts / generate-image/index.ts / generate-image/lib/chatgpt/index.ts
model / imageModel を AI設定から生成処理へ伝播。gpt-5.5 ハードコードを撤去し選択値を使用。
turbo run check-types(system-manager / user)が成功。database パッケージは両アプリのコンパイルでトランジティブに検証。