#129スコア 4.5/5運輸:鉄道

AI にきっぷの払戻し画面を作らせてみた — 昨日作ったコンポーネントが、今日の画面で自力発見された(やってみた #129)

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

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

解説記事

AI にきっぷの払戻し画面を作らせてみた — 昨日作ったコンポーネントが、今日の画面で自力発見された(やってみた #129)

⁠やってみたシリーズ⁠: 自作のデザインシステム @gunjo/ui群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。⁠鉄道の利用者向け 深掘りの締め⁠——⁠きっぷの払戻し・遅延証明書⁠(払戻対象・手数料/払戻額・申込フロー・遅延証明書)。これで航空・鉄道の両シリーズが完走。

結果 — 4.5/5(連載最高スコア)

tsc 緑・375px mobile-first。予備知識ゼロの AI(群青を一度も触っていない設定):

⁠最難関の3つ=汎用コンポーネントの「近い代用」ではなく、まさにこの画面のために作られていた。⁠ AmountBreakdown(運賃合計 − 払戻手数料 = 払戻額が⁠1つのコンポーネント⁠・控除は destructive トーン+符号グリフ+式キャプション)・TicketStub(遅延証明書の QR が⁠ほぼタダ⁠)・PageHeader(モバイルのアプリバー)。⁠実質の手組みはほぼゼロ。⁠

観測の核1 — 「昨日 作る → 今日の画面で自力発見」

TicketStub は昨日 #128 で作ったばかり⁠。それが #129 で——

⁠遅延証明書=TicketStubformat="qr" がそのまま嵌まった。摩擦ゼロ。これのために作られていた。⁠

連載の法則「作った土台は翌画面で別の予備知識ゼロの AI が自力発見する」が、⁠作った翌日に最速で再現⁠。AmountBreakdown(#103 で作った=倉庫/会計の事業者向けの文脈)も、今回 ⁠利用者向けの払戻し内訳⁠で「ライブラリで最も価値あるコンポーネント」と評価=⁠事業者向けで固めた土台が利用者向けでそのまま効く⁠ことの証明。

観測の核2 — 実バグを踏み抜いた(PageHeader のハマりどころ)

予備知識ゼロの AI が⁠実際のバグ⁠を踏んだ:

PageHeaderleadingonBack はソース上、排他だった⁠back = leading ? leading : onBack ? <button/> : null。装飾の leading の chevron と onBack を両方渡したら、⁠chevron が本物の戻るボタンを黙って覆い隠し、クリックハンドラと aria-label を両方落とした⁠tsc は無傷。⁠型を信じた予備知識ゼロの開発者は、壊れた・アクセシブルでない戻るボタンを出荷してしまう。⁠

⁠即修正 PR#380:両方を描画し、どちらも黙って落とさない。onBack の戻るボタン+leading を fragment で並べる。⁠昨日 作った PageHeader(#125) の隠れたアクセシビリティのバグを、翌々日の予備知識ゼロの AI が炙り出した。⁠ これも「別業界での自力発見」の一種——⁠コンポーネントを使い倒すほど、隠れた欠陥も露出する。⁠

新しい欠落(課題に記録)

  • 🟠 ⁠CheckboxCard / CheckboxCardGroup⁠RadioCard(#121) の⁠複数選択の双子⁠。払戻し対象(乗車券・特急券を別々に選ぶ)が手組みの Checkbox+ラベルカードに。「⁠どの明細を払戻すかの選択は、あらゆる払戻し/返品/明細操作の最初の一歩⁠」=#378
  • 🟡 ⁠StatusScreen の success/受付完了 の variant⁠=今は error ページ専用(404/500)+min-60vh で、画面内の完了表示に使えない=#379
  • ⁠Stepper を by-use-case 索引に追加⁠(多段のウィザード/フォーム進捗の項目が欠けていた)。

⁠今回 src 変更 = PageHeader のバグ修正⁠(昨日作ったものの欠陥を翌々日に修正)。

学び — 「使い倒しは、コンポーネント化と検証と修繕を同時に進める」

鉄道の利用者向けを締めるこの1枚で、3つが同時に起きた:

  1. ⁠検証⁠:昨日作った TicketStub が翌日に自力発見(法則の最速再現)。
  2. ⁠業界越え⁠:事業者向けで固めた AmountBreakdown が利用者向けでそのまま「最も価値あるコンポーネント」に。
  3. ⁠修繕⁠:使い倒しが PageHeader の隠れたハマりどころを露出させ、即修正。

深掘りの真価は「新しいコンポーネントを作る」だけじゃない。⁠作ったコンポーネントを別の文脈で使い倒すことが、検証・業界越え・バグ露出を同時に駆動する。⁠ 14業種の事業者向けと、今の利用者向けの深掘りで、この複利が回り切った。

📊 コンポーネント化スコアボード(作成済 ⁠11個⁠・出荷済み修正多数)

AmountBreakdown / ActionQueue / ListCard / Gantt-segments / SeatMap / LoyaltySummaryCard / RadioCard / FilterChips / PageHeader / Itinerary / TicketStub 進行中:CheckboxCard・StatusScreen success・StatusLevel・BottomActionBar・AmenityRow

📋 利用者向けバックログ — 航空・鉄道 完走

  • ✈️ 航空:全6枚 完了 ✅
  • 🚆 ⁠鉄道:全6枚 完了 ✅⁠(定期券/駅ナビ/きっぷ/駅ナカ提案/払戻し + 既存4)

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

  • 次のモードへ:⁠バスの事業者向け(運行管理)or 利用者向け(路線・時刻・予約)⁠。鉄道・航空で固めた土台が、バスでどれだけそのまま効くか=業界を越える地力テスト。

試す

昨日作ったコンポーネントが今日の画面で自力発見され、事業者向けの土台が利用者向けで効き、使い倒しが隠れたバグを炙り出した——深掘りは、コンポーネント化と検証と修繕を同時に回す。

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

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

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

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

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

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