#68スコア 3.5/5製造

AI に生産計画を作らせてみた — Meter の「保留プレビュー」が計画 UI の主役だった(やってみた #68)

ルート: /production-planning
デスクトップ表示
モバイル表示

375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。

解説記事

AI に生産計画を作らせてみた — Meter の「保留プレビュー」が計画 UI の主役だった(やってみた #68)

⁠やってみたシリーズ⁠: 自作のデザインシステム @gunjo/ui群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。⁠製造5枚目⁠——⁠生産計画 / 負荷山積み⁠(生産ガント × 能力vs負荷 × 製造オーダ一覧 × 納期遵守 × 再計画)。

製造の5枚目はプラントの生産計画。オーダをラインに割り付け、負荷を能力に対して均す画面。前回(#67)に続き ⁠src 修正ゼロ⁠——だが2回連続で新しいコンポーネントを作らずに済んだのは「ライブラリが成熟して、残る欠落が大型の分野特化コンポーネントだけになった」サインでもある。

結果 — 3.5/5

tsc/build 緑・console 0・375px・多ラインガント・負荷マトリクス(188%超過セルがライブ)・再計画 Sheet(容量プレビュー付き)・納期遵守 KPI・h1 1個。スケジューリング特化で 3.5(ダッシュボード/CRUD なら 4.5)——理由は核のガントが無いから。

今回の主役 — Meter の incoming(保留プレビュー)が、計画 UI のために生まれたみたいに効いた

倉庫充填用に作った Meter が、能力 vs 負荷にそのまま効いた。しかも⁠保留変更のプレビュー⁠ incoming が刺さった:

Meter がいちばんの見どころ。⁠ ライン vs 能力に手こずらず曲がり、能力超過の方向を⁠そのまま⁠表現した: direction="higher-is-worse"(既定)が max 以上で自動的に destructive トーンに;thresholds={{warning:0.8, over:1}} が計画担当者の感覚に合う;インラインの 188%↑ が色に頼らず超過を伝える。そして incoming——「保留中の変更の結果をプレビューする、この出荷を追加したら」と説明されている——が、⁠「このジョブをこのラインに移したら」にそのまま化けた⁠。再計画のプレビューが確定前に 9h + 6h → 188% を見せた。⁠この1つの prop が、計画 UI にとってライブラリで最良のものだ。⁠

倉庫の「積んだら何%になるか」のプレビューが、計画の「このオーダを移したら能力超過するか」に⁠そのまま⁠化けた。DataTable(オーダの一覧・並べ替え/絞り込み/行の色付け)・Delta(余裕/超過の符号付きの差)・Badge(割付状況/優先度/納期判定)・Sheet(再計画パネル) が残り60%を⁠自前コードゼロ⁠で賄った。Meter は #65/#66/#67/#68 と⁠4回連続、別業界で実戦採用⁠

最大の欠落 — スケジューリングの核「ガント」が無い(#142・2回目)

  • 🔴 ⁠複数ラインで軸を共有するガント/リソースタイムラインが無い⁠。最も近いのは SegmentTimelineCard だが⁠1行の Card 固定⁠(独自ヘッダ/凡例・各カードが独立に min/max 再計算)で、N ラインが1つの日軸を共有する密なグリッドにできない。予備知識ゼロの AI は ProductionGantt.tsx を手組み(日軸ヘッダ・ライン行・(day/horizon)*100 配置バー・今日マーカー)。これは #142(#27 週次スケジューラで記録済)の⁠2回目⁠ — ただし⁠時間軸への配置レイヤー⁠は WeekView(#27) と リソースタイムライン/ガント(#68) の2つの顔を持つ大型コンポーネント。予備知識ゼロの AI 曰く「SegmentTimelineCard の内部は、もう ResourceTimeline の80%だ」。3回ルールで作る。

課題に記録だけ

  • 🟡 ⁠山積みグラフに閾値トーンが無い⁠#285・1回目)。BarChart averageValue は基準線1本のみ・バーごとの閾値トーン無し、StackedBarChart も超過の意味づけ無し。「能力線を超えたバーが赤」が描けない(予備知識ゼロの AI は Meter マトリクスで回避)。
  • 🟡 Meter に「超過!」バッジの差込口が無い(tone+↑+数値で伝わるので手で <Badge>能力超過</Badge> を追加)・inline の が aria-valuetext に未収載(数値は入るので許容)。

学び — 2回連続でコンポーネントを作らずに済んだのは「成熟のサイン」

#67(親が複数の DAG 系譜)→#68(複数ラインで軸を共有するガント) と⁠2回連続で src 修正ゼロ⁠。これは手抜きじゃなく、⁠ライブラリが小さな修正のフェーズを超えて「大型の分野特化レイアウトコンポーネント(グラフ/時間軸)だけが残る」フェーズに入った⁠ことを示す。コンポーネント単体でのカバー率は高く、Meter/DataTable/Delta/Badge/Sheet が大半を摩擦ゼロで賄う。残る欠落は「系譜グラフ(#281)」「ガント/スケジューラ(#142)」のような、それ自体が大プロジェクトのコンポーネント。これらは急がず、3回ルールで再出現を待って腰を据えて作る。Meter の業界越え(4回連続)が示すように、⁠作法の骨格を捉えた小〜中のコンポーネントはもう揃っている⁠

次回予告(やってみた #69)

  • ⁠製造6枚目(出荷/在庫引当)で製造を締め → 別業界へ⁠(教育/公共など)。ガント#142・系譜#281 の3回目も観測。

試す

まだ alpha。倉庫充填用 Meter の保留プレビューが生産計画の再計画にそのまま効き、2回連続で「残るは大型コンポーネントだけ」を確かめた回。

この連載は、作者が AI(Claude と Codex)と協働で制作しています。実験・検証の設計、判断、公開前の事実確認は人間が行い、実作業と下書き執筆は AI が担っています。

使用した @gunjo/ui コンポーネント

この画面のソースが直接 import しているコンポーネントです。

cold AI が組み上げた実コード

ファイル名をクリックでソースを展開できます。

業界別「AI指示書パック」、先行登録を受付中です。