AI Building Generator
概要
自然言語プロンプトから 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) | Integer | 1 | AI プロバイダ: 0=OpenAI / 1=Anthropic / 2=Gemini |
| Model (M) | Text | ""(任意) | モデル名 override(空ならプロバイダ既定) |
| KeyFile (K) | Text | — | .mbpkey ファイルの絶対パス(Comp_L02 ApiKeyManager で作成。Mode=1 では不要) |
| MaxTokens (MT) | Integer | 16000 | LLM 応答の上限トークン(大きな建物では増やす。途中切断は JSON 検証で失敗する) |
| MaxCostUSD (MC) | Number | 1.0 | 1 回の生成あたりのコスト上限 (USD) |
| Mode (Mo) | Integer | 0 | 生成モード: 0=Hybrid / 1=RuleOnly (LLM 不使用) / 2=LLMOnly |
| Run (R) | Boolean | false | false→true のエッジで生成実行(再計算での重複実行を防止) |
| UseCache (C) | Boolean | true | レスポンスキャッシュ使用(60 分 TTL) |
出力パラメータ
| パラメータ名 | 型 | 説明 |
|---|---|---|
| BuildingData (Data) | Generic | 生成された建物データ(初回実行まで空) |
| Cost ($) | Number | 直近の生成の実コスト (USD) |
| Log (L) | Text (List) | 生成プロセスのログ |
| Success (S) | Boolean | 直近の生成が成功したか |
schema 出力ルール
PromptBuilder が LLM に指示する主なルール:
- JSON object のみ出力 (説明文等は混入禁止)
$schemaはhttps://makebuildingpro.com/schema/v5.5.0を使用versionフィールドは"5.5.0"- ユーザーが明示要求しない場合、新規 optional フィールド (
Justification,Revit_Family_Type等) は省略 (default に従う) - Justification は
Top/Center/Bottom、Design_Phase は 4 enum 内、を厳守 - 大梁は 1 グリッドベイのみ(多ベイ禁止)、位置フィールド(Floor / Grid_Intersection / Start_Grid / End_Grid / Area_Code)は必須
- 規則 16(v5.7.0): 欠け・セットバック・L字はレコード削除ではなく
Is_Void: trueで表現(床区画 → 両側欠けの大梁 → 全ベイ欠けの柱、の順) - 規則 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.0 | JSON パース / 必須フィールド (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.0 | Grid_Nodes の V-N 群 Error を棄却対象に追加(V-N1 順序保存 / V-N4 dangling / V-N10 面ゲート等 — V01 と同じ判定核 GridNodeRuleCore を共用) |
| v5.10.0 | V-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) |
| LogMasker | API キー / Bearer トークンを log 出力前に必ずマスク |
Grasshopper メニュー連携
GH メインメニュー → MakeBuildingPro → AI Setup... から API キー設定 UI を直接開けます。
関連
Comp_D10_ApiKeyManager— API キー管理Comp_I09_DiffApproval— 必須の承認ゲートComp_I04_GenerateBuildingInformation— 決定論的生成 (AI ではない、無料・高速。I06 の Mode=1 と同等)Comp_V01_BuildingDataValidator— 生成データの完全検証- AI 機能 利用規約
- MCP 連携について — Claude Desktop 等から
add_*ツールで建物編集する別経路
更新履歴
- 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 に昇格して棄却。断面フィールド正規化・材料カタログ補完を追加