#47スコア 5/5物流・倉庫

AI に倉庫ピッキングを作らせてみた — 小売で作った部品が、別業界の文脈ゼロ AI に発掘されて 5/5(やってみた #47)

ルート: /picking
デスクトップ表示
モバイル表示

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

解説記事

AI に倉庫ピッキングを作らせてみた — 小売で作った部品が、別業界の文脈ゼロ AI に発掘されて 5/5(やってみた #47)

やってみたシリーズ: 自作のデザインシステム @gunjo/ui群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。業界を移して物流/倉庫(WMS)1枚目——ピッキング / 出荷オーダー引当(ピッキングリスト × ロケーション照合 × 商品照合 × 進捗 × 欠品 × 完了引き渡し)。

小売を5枚踏破して判断がついたので、別業界(物流/WMS)へ。観測ポイントは1つ——小売で育てた ScanInput を、物流の文脈ゼロ AI が自力で発掘して使うか。primitive が業界境界を越えて汎化するか、の試金石。

結果 — 5/5(#39 以来の満点)

tsc/build 緑・console 0・375px ハンディ端末プライマリでカード化・ロケーション→商品の2段スキャン・棚違いはブロック+読み上げ・商品スキャンで該当行+1+読み上げ・リスト外はエラー・欠品理由が無いと完了ブロック・完了 read-only・h1 1個(CardTitle as で階層整え)。

今回の本題 — 部品が「業界の壁」を越えた

これまでの複利は同じ小売内(#45→#46)で起きていた。今回はそれが業界をまたいだScanInput(#220) は小売3画面(棚卸#43・返品#45・入荷#46)の3回ルールで build した部品。それを、物流という別業界の cold AI が、ロケーション照合と商品照合の両方に自力採用した:

ScanInput — found it and used it for both scans. This is the headline: the library had the right component for a brand-new industry, and its onScan → ScanResult + built-in aria-live announcement is genuinely the correct contract for a scan gun. I wrapped two instances behind a scanStage machine for the location→item gate; I did not hand-roll scanning. (The receiving sibling screen hand-rolled a plain <Input> for scanning — using the real ScanInput here is strictly better.)

ここが効いている。ScanInput小売の3画面から生まれた部品なのに、物流の fresh AI が「この業界に必要な部品が、ちゃんとライブラリにあった」と判定して使った。文脈ゼロの AI が業界をまたいで同じ部品に辿り着く——これは部品が業界特有でなく、本当に汎用で発見可能だという最強の証拠。

複利はこれだけじゃない。今回 cold AI は、これまでに育てた部品をほぼ全部発掘して使った:

  • Delta — 残数表示に hideArrowtones 上書き(残=muted・完了=success)。セルに収まる。
  • EditableDataTable — ピッキングリスト・getRowErrorrenderFooterCell・375px カード化。
  • ProgresslabelvalueText「ピッキング 2 / 40 点(5%)」で aria-valuetext 実証。
  • RevealSection — 欠品ゲート+完了エラー要約、両方 role=region
  • CardTitle as="h2" — h1→h2、飛びなし(a11y snapshot 実証)。

Delta(#44)・Progress の名前(#43→#219)・CardTitle as(#45→#224)——過去回の投資が、別業界の1枚で一斉に返ってきた

今回は src 修正ゼロ(kit が業界の壁を越えて持ちこたえた回)

5/5 なので、直す穴は無かった。誠実にそう記録する。出た穴は全て物流1回目(3回ルール未達)なので起票だけ:

  • 🟠 2段スキャンゲート(ScanGate)primitive#227・1回目)。ScanInput は単発。ピッキングは「ロケーション照合→商品照合」の段階ゲートで、cold AI が scanStage ステートマシン(~40行)を手組み。段階合成(per-step resolver+確定コンテキスト+自動 advance/focus)があれば WMS の picking/put-away/2段認証が楽になる。put-away/出荷検品で再出現したら build 候補。
  • 🟠 ウォークパス/ルート表示#228・1回目)。Stepper{label,state} だけで、ロケーション+数量+状態+次ポインタの行には薄い。ピッキング/棚卸/配送ルートの巡回表示は物流 primitive 候補。
  • 🟡 欠品 checkbox を native(Checkbox でも可・polish)・NumberInput stepper の max ガードがスキャン経路と二重(design 上)。

学び — 「業界特有UI」を5枚やると、横断部品が浮かび、それが次の業界で効く

小売 #42-#46(5枚): スキャン③→ScanInput build・過不足③→Delta build
物流 #47(1枚目)  : ScanInput を別業界 AI が自力発掘=業界の壁を越えた・5/5

「1業界3〜5枚・可能な限り違う内容・業界特有UI最優先」で回すと、各業界で3回再発した穴が primitive に育つ。そして次の業界に移ると、その primitive が "この業界にも必要な部品" として fresh AI に発掘される。小売で ScanInput/Delta を作り切ったから、物流の1枚目がいきなり 5/5 になった。これが「業界を移す」ことの意味——部品は業界を越えて複利する。

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

  • 物流をもう1枚(入庫/棚入れ put-away or 出荷検品)で 2段スキャンゲート#227・ウォークパス#228 を2回目確認へ。方針: 1業界3〜5枚・可能な限り違う内容・業界特有UI最優先。

試す

まだ alpha。小売で作った部品が、別業界の文脈ゼロ AI に発掘されて 5/5 を取った回。


<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->

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

この画面のソースが直接 import している部品です。

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

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