Skip to content

AI Building Generator ​

AI Building Generator icon

概要 ​

自然言語プロンプトから BuildingData を AI が生成 するコンポーネントです。LLM プロバイダ (OpenAI / Anthropic / Google Gemini) のいずれかを選択し、.mbpkey で管理する API キーを使って呼び出します。生成方式は Hybrid(ルールベース抽出 + LLM 補完)が既定で、RuleOnly(LLM 不使用・無料)/ LLMOnly も選択できます。

  • グループ: 1. Import & Generate
  • ニックネーム: AIGen
  • Exposure: Secondary
  • v5.5.0 新規

重要 (Must Read) ​

⚠️ AI は誤りを犯す可能性があります。設計内容は必ず設計者自身が確認してください。

本コンポーネントは Comp_I09 Diff & Approval と組み合わせて使うことを前提に設計されています。AI 出力を直接 Comp_S01 BuildModel 等に渡すことは推奨されません。

詳細: AI 機能 利用規約

機能 ​

  • 3 プロバイダ対応 (OpenAI / Anthropic / Google Gemini)
  • 3 生成モード: 0=Hybrid(ルール抽出 + LLM 補完)/ 1=RuleOnly(LLM 不使用)/ 2=LLMOnly
  • v5.5.0 schema 全面対応プロンプト (Justification / Revit_Family_Type / Design_Phase / Slab_On_Beam)
  • Is_Void 欠き取り規約のプロンプト規則(規則 16、v5.7.0)
  • Grid_Nodes(交点オフセット)生成のプロンプト規則(規則 17、v5.9.0)
  • 応答検証と自動棄却(下記「検証と自動棄却」参照 — Error は再試行、Warning は通過)
  • コスト上限ガード(MaxCostUSD)と実コスト出力
  • Rate Limiter (連続呼出抑制)
  • Response Cache (同一プロンプトの再実行で API 呼出抑制、60 分 TTL)
  • Prompt Sanitizer (プロジェクト名等の機密情報自動除去)
  • 初回利用時に PrivacyNoticeForm で同意取得
  • セキュリティ監査 R-001 / R-002 / R-006 / R-014 対応済

入力パラメータ ​

パラメータ名型デフォルト説明
Prompt (P)Text—自然言語プロンプト(多言語対応。例: "3F RC office, 30m x 20m" / "5 階建ての S 造工場、平面 50m × 30m、階高 6000")
Provider (Pro)Integer1AI プロバイダ: 0=OpenAI / 1=Anthropic / 2=Gemini
Model (M)Text""(任意)モデル名 override(空ならプロバイダ既定)
KeyFile (K)Text—.mbpkey ファイルの絶対パス(Comp_L02 ApiKeyManager で作成。Mode=1 では不要)
MaxTokens (MT)Integer16000LLM 応答の上限トークン(大きな建物では増やす。途中切断は JSON 検証で失敗する)
MaxCostUSD (MC)Number1.01 回の生成あたりのコスト上限 (USD)
Mode (Mo)Integer0生成モード: 0=Hybrid / 1=RuleOnly (LLM 不使用) / 2=LLMOnly
Run (R)Booleanfalsefalse→true のエッジで生成実行(再計算での重複実行を防止)
UseCache (C)Booleantrueレスポンスキャッシュ使用(60 分 TTL)

出力パラメータ ​

パラメータ名型説明
BuildingData (Data)Generic生成された建物データ(初回実行まで空)
Cost ($)Number直近の生成の実コスト (USD)
Log (L)Text (List)生成プロセスのログ
Success (S)Boolean直近の生成が成功したか

schema 出力ルール ​

PromptBuilder が LLM に指示する主なルール:

  1. JSON object のみ出力 (説明文等は混入禁止)
  2. $schema は https://makebuildingpro.com/schema/v5.5.0 を使用
  3. version フィールドは "5.5.0"
  4. ユーザーが明示要求しない場合、新規 optional フィールド (Justification, Revit_Family_Type 等) は省略 (default に従う)
  5. Justification は Top/Center/Bottom、Design_Phase は 4 enum 内、を厳守
  6. 大梁は 1 グリッドベイのみ(多ベイ禁止)、位置フィールド(Floor / Grid_Intersection / Start_Grid / End_Grid / Area_Code)は必須
  7. 規則 16(v5.7.0): 欠け・セットバック・L字はレコード削除ではなく Is_Void: true で表現(床区画 → 両側欠けの大梁 → 全ベイ欠けの柱、の順)
  8. 規則 17(v5.9.0、v5.10.0 改訂): 通りの折れ・斜行は部材オフセットではなく Grid_Nodes(交点移動)で表現。順序保存・疎記録(零行禁止)を明記。床面部材は移動交点に追随する(v5.10.0〜。歪みは V-Q Warning で通知。参照ベイを非凸にする移動は V-N2 Error で棄却)

検証と自動棄却(ResponseValidator) ​

LLM 応答は ResponseValidator で検証され、Error があると棄却して再試行します(Warning は再試行を発生させません)。

版検証内容
v5.5.0JSON パース / 必須フィールド (Global, Grids, Levels) / 寸法妥当性 / Justification・Design_Phase enum
v5.6.0断面フィールド正規化・材料カタログ補完(自動修復)。dangling 参照は Error に昇格: 全 Layout の Type_ID → 対応 Catalog、Floor → Levels、Grid 参照(Grid_Intersection / Start_Grid / End_Grid / Area_Code)→ Grids の実在を検証
v5.7.0方式D 検証: V-VOID-1(支持喪失)/ V-VOID-4(空中柱)/ V-OFF-1(区画交差オフセット)の Error を棄却対象に追加
v5.9.0Grid_Nodes の V-N 群 Error を棄却対象に追加(V-N1 順序保存 / V-N4 dangling / V-N10 面ゲート等 — V01 と同じ判定核 GridNodeRuleCore を共用)
v5.10.0V-N10(面ゲート)を撤去(床面部材が移動交点に追随可能に)。V-MF-1(マット基礎 1 ベイ制約)の Error を棄却対象に追加

読み込み後は Grids/Levels の Distance も自動復元されるため、生成データはそのまま下流に渡せます(承認ゲート I09 経由を推奨)。

セキュリティ機構 ​

Layer内容
PromptSanitizer機密候補 (プロジェクト名・氏名・住所・電話・メール・URL) を [REDACTED] で抹消
RateLimiter同一プロバイダへの連続呼出を抑制
ResponseCache同一プロンプトに対する重複呼出を抑制
ResponseValidator戻り値の JSON parse + schema 必須項目 + セマンティック検証(dangling / V-VOID / V-OFF / V-N)
LogMaskerAPI キー / Bearer トークンを log 出力前に必ずマスク

Grasshopper メニュー連携 ​

GH メインメニュー → MakeBuildingPro → AI Setup... から API キー設定 UI を直接開けます。

関連 ​

更新履歴 ​

  • v5.10.0: プロンプト規則 17 を改訂(床面部材は移動交点に追随 — V-N10 面ゲート撤去)。V-MF-1(マット基礎 1 ベイ制約)の Error を含む応答を自動棄却
  • v5.9.0: Grid_Nodes(交点オフセット)生成に対応(プロンプト規則 17)。V-N 群の Error を含む応答を自動棄却
  • v5.7.0: Is_Void 欠き取り規約をプロンプト規則 16 として追加。V-VOID-1 / V-VOID-4 / V-OFF-1 の Error を含む応答を自動棄却
  • v5.6.0: dangling 参照(Type_ID / Floor / Grid)を Error に昇格して棄却。断面フィールド正規化・材料カタログ補完を追加