この記事の図は、英語の画面と出力で記録したものです。

案DをStudioで開く、または編集できる案件・数量表付きのA3図面(日本語/英語)・新しいレジ待ちの比較を保存できます。Corner Marketは架空の店舗です。モデルを正解と照合できるように、既知の配置からこの検証用に図面を描きました。

案件には4つの案を保存しています。Aは図面どおり、Bは店主が了承した4件の修正後、Cは最初の見た目の仕上げ、Dは部品の細部・質感・外部モデルの鉢植えを加えた更新版です。以前の案Cの案件・案Bの図面・元の比較も残しています。案Dの更新と新しい計算結果へ進むか、以下で最初の制作から順に読めます。

最初の依頼:案A〜C

添付の平面図(Corner Marketの1階)から、Laydyneで店舗をモデル化して、2D図面・3D画像・レジ待ちのシミュレーション・数量を一式出してください。寸法は図面どおりに。図面から読めないところは仮定として明示してください。

最初の案A〜Cの試行では、AIは別のエージェントのセッションで、見たのは図面とLaydyneの公開エージェントガイドだけです。ローカルの検証用サーバーで、Proアカウントで開いたStudioのMCP(Streamable HTTP)に、小さなコマンドラインのMCPクライアントから接続しました。呼出しはすべて記録しています。

入力:平面図1枚

AIが受け取った平面図
唯一の入力。架空の16×12 mの店舗の1:100平面図(2000×1730 px)。合成した図面で、実在の場所ではありません。

外寸16.00×12.00 m、外壁0.20 m、間仕切り0.10 m。売場にゴンドラ4本・壁面棚・冷蔵ケース3台・青果台2台・ベーカリー、待ち列付きのレジ2台、倉庫とWCがあります。棚の高さは図面にありますが、壁・扉・窓・台・カウンターの高さは書かれていません。

最初の案A〜CでAIがMCPを使って行ったこと

最初の試行のMCP呼出しは86回。最初の一式に34回、修正に18回、仕上げに34回で、失敗は最初の一式での2回だけでした。この回数と以下の時間は案Cまでの記録で、後の案Dの更新は別に扱います。

  1. 読み取りと作成。 新しい案件を作り、床に図面を敷いて、外角2点で縮尺を合わせました(1 pxあたり0.01 m)。trace_underlayが壁・開口・矩形を返し、残りはAIが図面を見て読みました。edit_space 1回で、壁・間仕切り・扉・窓・什器・レジ・レジ機・待ち列・部屋の34部品を追加。各部品に、図面から読んだことと仮定した内容を記録しています。measure_underlay_fitでは、図面の線からのずれが中央値5.4 mm(95%値7.2 mm、最大2.1 cm)でした。
  2. 検査。 check_spaceが4件の問題を見つけました(後述)。AIは図面どおりの寸法を保ち、それぞれの理由を報告しました。
  3. シミュレーション。 工程の一覧と見本1件を読み、この店の部品を使うレジ待ちの工程を作って、レジ1台と2台で計算しました。
  4. 受け渡し。 1:100の図面、3D画像、数量、検査の指摘、案件全体。ブラウザにも保存しました。

最初と最後のMCP呼出しの間は、最初の一式が13分4秒、修正が2分20秒、仕上げが7分2秒で、うちツールの実行時間は19.6秒・8.6秒・17.2秒です。最初の呼出し前に図面とガイドを読んだ時間と、店主の返答を待った時間は含みません。ほかの作業方法との比較ではありません。

失敗した2回は、どちらもAIが対処できる理由とともに返りました。1回目は図面画像のチェックサム不一致です。検証用のコマンドラインクライアントが、画像のバイトではなくbase64の文字列からハッシュを計算していました。AIは正しいチェックサムで画像を送り直し、クライアントはその後に修正しました。2回目は、工程の分岐が最後の手順になっていなかったためで、AIが分岐を最後へ移しました。

最初の一式:案A〜C

改訂後の平面図
Studioから出力した案Bの平面図。A3・1:100、部屋の面積と通路幅。
  • 数量表付きの図面(PDF):案B、A3・1:100、Rev Bの3ページ。面積表と部品の参照番号付きの平面図、寸法とすべての部品IDを載せた数量表2ページ。文字を検索できます。
  • 編集できる案件:案A・B・C、レジ待ちの工程と保存した比較。開くと案Cが表示されます。
  • 案Cの3D画像:元の3D画像、題名の帯がない960×600の版、下の通りからの画像です。ページ冒頭の画像は案Dへ更新しています。
  • 面積:床192.00 m²、売場162.42 m²、倉庫14.00 m²、WC 3.40 m²、待ち列の区画は各2.88 m²。

Laydyneの検査が見つけたこと

既定の通行幅0.9 mで、check_spaceは図面どおりのモデルに4件の問題を報告しました。最初の一式は寸法を図面どおりに保ち、4件を一覧にして渡しました。店主の返答は次のとおりです。

検査で見つかった4件、ありがとうございます。直してください。WCの扉は0.90 mに広げてよいです。青果台は倉庫の扉の前を空けて、2台の間も通れるように動かしてください(台の大きさは変えないで)。ベーカリーの奥の行き止まりも、通れるか、ふさぐか、どちらかにしてください。直したら、2D図面・3D画像・レジ待ちのシミュレーション・数量を出し直してください。

指摘重要度図面どおり店主が了承した修正
WC扉重大有効幅0.80 m0.90 mへ拡幅
青果台1重大倉庫扉の前0.9 mの範囲にかかる南へ0.35 m移動
青果台1と2の間要対応台の間0.60 m青果台2を南へ0.75 m移動し、間を1.00 mに
ベーカリー要対応倉庫間仕切りとの間に0.60 mの行き止まり北へ0.60 m移動して間仕切りに付け、隙間をふさぐ

AIは図面どおりの版を案Aとして保存し、変更を事前確認してから適用、案Bとして保存しました。compare_design_optionsの結果は移動3・変更4で、いずれも上の4部品です。ほかの30部品と数量は変わっていません。再検査は指摘0件でした。家具の背や間の隙間6か所は、空けるべき通路ではなく助言として示されます。

AからBへの変更
Studioが描いたA(図面どおり、破線)からB(改訂後)への変更。移動3部品・変更4部品。

最初の比較:レジは1台か2台か

店舗の実データはないため、AIは仮定を明示しました。

  • 来店はランダム(ポアソン到着)で70分間。最初の10分は集計に含めません。
  • 1人が11台の什器から無作為に1〜4か所へ立ち寄り、各10〜60秒。
  • 会計は24〜80秒、平均48秒。
  • レジ2台のときは空いているレジ、なければ列の短いほうへ。開いているレジには必ず店員がいるものとします。
  • 歩行は什器を避けて1.0 m/s。各条件を同じ乱数で20回計算し、区間は95%です。
来店(人/時)レジ1台:平均待ちレジ1台:最長の列レジ2台:平均待ち
3018秒2.5人2秒
4540秒3.8人3秒
6091秒6.1人6秒
75243秒11.6人11秒
90551秒23人16秒

60人/時の保存した比較(仕上げ後の配置、対にした20回)では、平均待ちはレジ1台で91秒、2台で6秒でした。差は−85秒(95%区間−111〜−60秒)です。レジ1の最長待ちは286秒から57秒へ、最長の列は6.1人から1.4人へ減ります。1台では列がQueue 1(約3人分)からあふれ、ゴンドラA・B間の通路まで伸びます。AIはこれを、再生した2D画像で確認しました。

レジ1台で会計できるのは最大で約75人/時(3,600秒÷48秒)で、待ちはそのかなり手前から伸びます。このモデルでは、1台で回るのは来店がおよそ30〜45人/時までで、それ以上なら2台目を開けるべきという結果です。修正も仕上げも、この結果を変えませんでした。同じ工程・同じ乱数で、レジ2台・60人/時の平均待ちは案A・B・Cとも5.96秒です。動かした部品はレジから離れており、仕上げでは何も動かしていません。

案C:お店らしい見た目に仕上げる

お客さんに見せる画像のため、店主がもう一度依頼しました。

図面どおりで、検査も通りました。ありがとうございます。お客さんに見せる3D画像を、本物のお店らしくしてください。棚に商品が入っていて、冷蔵ケースや青果台、ベーカリー、レジ、店の表(看板・入口のひさし)も実際の店に近い見た目にしてほしいです。寸法・位置・通路は今の図面のままでお願いします。

AIは什器の外形・位置・通路と、シミュレーションが使うidとタグをすべて保ちました。見た目の部品は既存の外形の内側に置き、人の通行を妨げない設定にしています。例外は南壁の外の店構えと、青果台に載せた陳列です。Laydyneの食品店・店構えのカタログから、図面の什器に合うものを使いました。

カタログ品置いた場所AIが変えたこと
grocery-produce-table(2台)青果台1・2の上。1.20×1.80 mの外形に合わせて回転セット付属の台を消し、図面の台を残して木箱の下に置いた(高さ0.90→0.75 m)。段台、木箱12山、「FRESH」の値札レール2本が加わる
storefront-entrance-canopy南壁の入口の上支柱2本が床の外に立ち検査で指摘されるため外し、片持ちのひさしに。高さを2.65→2.25 m(高さ2.2 mの扉の上)へ
fascia-sign南壁の入口の上(x 5.00〜11.00 m)店名「Corner Market」。幅を4.0→6.0 mに広げ、仮定した3.0 mの壁に収まるよう2.45〜2.95 mへ下げた

ほかはカタログの構成をまねて手で作りました。冷蔵ケースごとに商品の段4段・ガラスの扉面・扉枠5本・「CHILLED」の表示(計33部品)、ベーカリーに商品入りの見た目と「BAKERY」の看板、レジのカウンターに番号札「1」「2」。壁面棚も商品入りにし、ゴンドラは1本ごとに商品の色を変え、南の外壁を店構えと同じ濃いグレーにしました。ひさしと看板のため床の南側に1.6 mの張り出しを取りましたが、床面積・外形・経路は変わりません。

部品は34から88に増え、増えた54部品はすべて飾りです(ブロック33、木箱の山12、看板9)。事前確認でセット付属の台の重なり12件と、床外の支柱2件を解消した後、check_spaceは指摘0件でした。同じ乱数で再計算したレジ待ちも、ばらつきを超える差はありません。MCPの呼出しは34回で失敗はなく、結果を案Cとして保存しました。

通りから見た仕上げ後の店
案Cを南西から低い角度で。店名看板、片持ちのひさし、CHILLEDの表示、窓越しのレジ番号札。

最初の試行で使わなかったカタログ品と理由:

  • grocery-glass-door-coolerは2.25×0.80×2.25 mで、図面の冷蔵ケースは2.80×0.90×2.00 m。
  • grocery-gondola-runは長さ4.50 m・高さ1.80 mで両端にエンドが付き、図面のゴンドラは4.80 m・1.60 m。
  • gondola-end-capは、冷蔵ケース前の1.45 mの通路や待ち列の側にはみ出す。
  • grocery-bakery-counterは3.80×2.30 mのベーカリー売場一式で、図面のベーカリーは0.90×3.00 mの棚。
  • grocery-checkout-laneは2.40×2.30 mで、衝動買いの棚が待ち列と通路に入る。図面のレジは0.80×1.60 m。
  • basket-standは図面になく、通行を妨げる什器が増える。置くなら店主の了承が要る。
  • grocery-storefrontとstorefront-glazing-bayは高さ3.6 mの壁・窓・扉を持ち、南壁・窓と、シミュレーションが出入口に使う入口を置き換えてしまう。

案D:配置を保ち、部品と質感を更新する

10月16日の更新では、案Cを元に、新しい部品・GLB取込み・画像の材質をMCPから使いました。元の主要34部品のid・寸法・位置・タグをすべて保ち、青果台2台も案Cの高さ0.75 mのままです。過去の案A〜C、工程3案、保存した比較4件は案件に残しています。

更新したもの変えたこと保ったもの
既存の13什器fitToでゴンドラ4本・壁面棚1本・冷蔵ケース3台・青果台2台・ベーカリー・レジ2台へ詳細な型を適用。商品、値札レール、扉と取手、果物、パンのトレー、ベルトとスキャナーを描く既存の部品と測定した外形。本体を二重に置かない
店構え窓枠・入口枠・片持ちのひさし・取付け看板を既存の建物に合わせる図面と工程が使う壁・窓・出入口
画像を使う3つの材質床のタイル、一部の什器本体の木目、壁の塗装面床面積、什器の寸法、商品の固有色
外部モデル1点KenneyのpottedPlant.glbを移動できる部品として追加し、数量にも含める原GLBのバイト列・出典・ライセンスを案件に保持。高さ1.05 mは仮定で、元の平面図にはない追加物

タイル・木材・壁の写真は、Poly HavenのCC0素材であるInterior Tiles、Wood Floor Deck、Beige Wall 001を使いました。鉢植えはKenneyのCC0 Furniture Kitです。画像は出典とともに保存ファイルへ埋め込み、開き直すときに出典サイトへ取りに行きません。

案Dの正面
既存の間口に壁の質感・枠・ひさし・看板を加えた案D。図面の壁・窓・出入口はそのままです。
客側から見た案Dのベーカリー
0.90×3.00 mの外形を保ち、パン・トレー・値札レールを加えたベーカリー。本体に木材の画像を貼っています。
案Dへ取り込んだ鉢植え
GLBから取り込んだKenneyの鉢植え。高さ1.05 mは仮定で、入力図面にはない追加物として数量に含めています。

最終モデルは配置された58部品のうち、数量に含む35部品と、集計から除く装飾23部品に分けています。装飾の印は数量上の扱いで、通行を妨げるかどうかとは独立です。追加した鉢植えは数量に含めます。床は192.00 m²のまま、新しいcheck_spaceの結果は指摘0件でした。外部モデルの検査は床への投影による安全側の近似で、穴や下を通れる空間もふさぐ場合があり、現地の安全を認証するものではありません。

案Dの配置でレジ待ちも計算し直しました。来店60人/時、来店が続く時間70分、最初の10分を集計から除外、観測は100分、対にした乱数20回です。変えるのは開けるレジの数だけです。

案Dの指標レジ1台レジ2台
平均待ち91.08秒5.96秒
レジ1の最長列(20回の平均)6.10人1.35人
レジ1の最長待ち(20回の平均)285.66秒56.67秒

対にした平均待ちの差は−85.12秒、95%区間は−110.65〜−59.59秒でした。以前の比較と近い値ですが、案Dで新しく計算した結果です。保存した案Dの比較と根拠資料を確認できます。

新しいPDFは日本語・英語ともA3の3ページで、1:100の平面図と数量表を含み、集計対象35部品すべてのidを文字検索できます。平面図はSVGでも保存できます(日本語/英語)。編集できる案Dの案件には、過去の記録を含む配置4案・工程4案・比較5件を保存しています。画像・原GLB・保存履歴を含めて7.76 MBです。冒頭の画像は題名の帯がない版もあります。

モデルの正確さ

修正前の最初のモデル(図面どおり)を、図面の元になった配置と照合し、29項目の位置と大きさを比べました。28項目が完全に一致し、29項目すべてが10 cm以内でした。一致しなかったのはWCの南の間仕切りで、WCの西の間仕切りと接する端が0.10 m東から始まっています。壁の線は同じです。高さは図面に一部しかないため採点していません。詳しくは根拠資料にあります。

最初の制作で見えた不足と、その後の改善

以下は案A〜Cを作った時点の道具と出力の記録です。案Dでは、什器の寸法合わせ・命名・装飾の数量除外・表面の材質を改善しました。ほかの項目まで今回直ったという意味ではありません。

  • 読み取り。 trace_underlayは、WC扉と倉庫扉の脇の短い間仕切りを返さず、0.90 mの倉庫扉を1.49 mの開口として読み、破線の待ち列の区画を返さず、売場とWCを1つの領域として返しました。これらはAIが手で入力しました。什器の読み取り誤差は1 mm未満でした。
  • 部品。 最初の試行で使った間仕切りはガラスの種類でした。WCはAIが不透明の材質を指定するまで3Dでガラス張りに見え、当時の数量表には「Glass partition」と出ました。部屋は手で描いたゾーンです。
  • 工程でのレジ。 最初の試行では、開けるレジの台数と各待ち列をまとめて指定する命令がなく、AIは重み付きの分岐を使いました。分岐は最後の手順に置く必要がありました(失敗1回)。待つ客は1点に立つ扱いで、通路にかかった列がほかの客の歩行を遅らせることはありません。
  • 図面。 元のA3図面では、壁面棚やレジのような幅の狭い部品の名前が消え、壁沿いの寸法の連なりも出ませんでした。入力の平面図より寸法の情報が少なくなりました。
  • 検査。 check_spaceは、ベーカリー奥の行き止まりも通路として扱い、店主がふさぐ方を選びました。
  • 修正。 当時のcompare_process_optionsではパラメーターを変えられず、レジ1台での修正前後の比較は、対にした比較ではなく2回のスイープを並べて読みました。保存した案はそれぞれ建物全体を持ち、書き出しは328 KBから、案Bで779 KB、案Cで1.10 MBに増えました。measure_underlay_fitは、了承された移動と読み誤りを区別しませんでした。
  • 応答。 当時のget_process_catalogはsectionなしだと124 KBを返しました。結果のJSONの位置もツールによって違い、get_view_imageは説明文が先に来ました。
  • カタログのセットと図面の什器。 当時のplaceはセットを決まった大きさで置き、自前の本体が既存部品と二重になりました。この店で合ったのは青果台だけです。現在は寸法を指定でき、fitToで既存部品へ対応する詳細な型を適用できます。案Dの13什器でこの方法を使いました。
  • 置いた部品の名前。 当時のplaceは汎用のidとラベル(display-1、ひさしはblock-3、店名看板はsign-3)を付け、2回目の編集が必要でした。現在は配置時にidとラベルを指定でき、既存什器へ型を適用するときはそのidを保ちます。
  • 飾りの数量への混入。 当時の出力ではブロック・木箱の山・看板が棚と同じ「備品」に数えられ、案Cの図面では備品が15から36に増え、面積表から冷蔵ケースと青果台の行が消えました。旧冷蔵ケースのセットもガラス扉を間仕切り、扉枠を柱として数えていました。そのため、最初に引き渡した図面は案Bでした。 現在は数量から除外する装飾を指定でき、通行を妨げるかどうかとは別に扱います。案Dの新しい図面はこの区分を使っています。
  • 店の表。 最初のセットは高さ3.6 mの間口が前提で、ひさしと看板を手で下げ、床外に出るひさしの支柱を外しました。元の画像には歩道や道路がありません。現在は既存の壁・開口に枠、片持ちのひさし、取付け看板を合わせられ、看板の文字も向きに従います。これらの部品が周囲の街並みを作ったり、その後の壁の編集へ自動で追随したりするわけではありません。
  • 商品と仕上げ。 案Cの商品は無地の色の箱でした。案Dでは値札レール、ボトルと包装、果物、パン、レジのベルトやスキャナーを持つ詳細な型と、床や什器の本体へ貼る画像の材質を使いました。天井、照明設備の設計、実在する商品のパッケージまでは扱っていません。
  • ロボットの基地。 清掃・搬送のシミュレーションだけが使う2つの基地点が、最初の2回の書き出しでは角から0.3 mの位置にあり、壁に対するロボットの余裕の内側でした。Studioはファイルを開くときにこれを動かします。案Cの書き出しではすでにStudioが置く位置にあったため、公開した案件は書き出したままです。

元のファイルは当時の試行の根拠として変更せず残しています。案Dは同じ店でその後の改善を確かめたもので、元の86回の試行をやり直したり置き換えたりしたものではありません。

限界

  • 架空の店舗と合成した図面。 実在の場所・売上・人員のデータはありません。モデルを採点できるよう、既知の配置から図面を描きました。
  • 高さは仮定。 壁と間仕切り3.0 m、扉2.1 m(入口2.2 m)、窓の腰高0.6 m、青果台0.9 m(案C・Dでは0.75 m)、レジカウンター1.0 m。案Dの鉢植えは高さ1.05 mと仮定した追加物で、元の平面図にはありません。仮定は部品に記録しています。
  • 見た目の細部。 商品・看板・画像の材質は配置を伝えるために使い、鉢植えは追加した物として数量に含めています。写真のような実店舗の再現、製品仕様の確認、内装設計の完成を示すものではありません。
  • 通行幅はLaydyneの既定値0.9 mで判定しています。外部メッシュや高さによって形が変わる曲面は、形全体を床へ投影する安全側の近似を使います。凹み・穴・下を通れる空間もふさぐため、詳細な形では通れる場所を拒否する場合があります。計画段階の検査で、建築基準やバリアフリーの適合判定ではありません。
  • レジ待ちのモデルは群集の物理や途中で帰る客を扱わず、売上も予測しません。来店数と会計時間は仮定で、実店舗に当てはめるには15分ごとの客数と実測の会計時間が必要です。
  • 最初の案A〜Cは1つのエージェントによる1回の試行で、案Dは別の更新作業です。コマンドラインのMCPクライアントとローカルの検証用サーバーを使いました。ツールが返した内容を示すもので、ほかの人が同じ作業にかける時間を示すものではありません。

モデル作成・検査・図面・書き出しは無料アカウントで使えます。シミュレーションの実行にはProが必要です。

案D:編集できる案件・図面と数量表(日本語PDF/英語PDF)・レジ待ちの比較・根拠資料

最初の案A〜C:案Cの案件・案Bの図面・レジ待ちの比較・根拠資料