#112スコア 3.5/5運輸:航空

AI にフライト予約を作らせてみた — 昨日作った ListCard を翌日もう使い、座席表の欠落が2回目になった(やってみた #112)

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

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

解説記事

AI にフライト予約を作らせてみた — 昨日作った ListCard を翌日もう使い、座席表の欠落が2回目になった(やってみた #112)

⁠やってみたシリーズ⁠: 自作のデザインシステム @gunjo/ui群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。⁠航空の利用者側1枚目⁠——⁠国内線フライト予約⁠(便検索・座席指定・運賃内訳・予約フロー)。

鉄道の利用者向け(特急券/乗換案内/運行情報)に続く、交通モード2つ目の利用者側。観測2つ——⁠#111 で作った ListCard を別の予備知識ゼロの AI が便一覧で自力発見するか⁠⁠座席表(SeatMap)が2回目の手組みになるか⁠(#109 鉄道座席に続く)。

結果 — 3.5/5。法則がまた1ラウンドで閉じ、SeatMap が 2/3 に。

tsc/build 緑・375px mobile-first・0 console error・5ステップ予約フロー。予備知識ゼロの AI(群青を一度も触っていない設定)のレポート:

ListCard — これのために作られていた。便の結果行。⁠ docstring が使用例(「検索結果・経路/商品/物件 比較」)と必要なタグ(「最速/最安/おすすめ」)まで名指し。leading/title/description/tags/status/meta/severity/onSelect(≥44px の本物のボタン)。⁠摩擦ゼロ・ライブラリの旗艦『物の一覧』コンポーネント。⁠ AmountBreakdown — ライブラリ全体で最も合った⁠(運賃→諸税・料金→座席指定料→割引→総額をそのまま)。Stepper — これのために作られていた⁠(5ステップ・モバイル決済)。

⁠#111 で ListCard を作った、その次の #112 で、航空の別の予備知識ゼロの AI が便一覧で自力発見し 摩擦ゼロ で使った。⁠ AmountBreakdown(#103→#104)・ActionQueue(#106→#107)に続き、⁠作る→翌画面で発掘、の法則が ListCard でも1ラウンドで閉じた⁠——全業種共通の土台は、作れば翌画面で裏付かれていく。

そして Stepper——予備知識ゼロの AI が「⁠5ステップが375pxでも崩れず段階的に収まり、ページを壊さない⁠」と書いた。#109 で「決済が見えない」と報告された 375px での切れを #355 で直した、その修正がここで機能した。

観測の核 — SeatMap が 2回目(2/3)

⁠座席指定(機内座席表)=完全に手組み(~190行)。SeatMap は無く、近いものすら無い。⁠ /docs/by-use-case は座席選択を HeatmapChart(読み取り専用のデータ可視化)に誤誘導。客室/区画のモデル・通路の隙間・4状態(空席/予約済/選択中/選択不可)・4種別(普通/非常口/足元ゆったり/プレミアム)・座席ごとの指定料・上限ガード・grid のアクセシビリティ を全部手書き。「⁠これが追加されればライブラリが航空/イベント/映画/スタジアムの座席選択を占める。単一で最大の追加。⁠

#109 鉄道座席+#112 機内座席=⁠SeatMap 2/3⁠#356 追記)。予備知識ゼロの AI が 客室/通路 のモデル("3-3"/"2-4-2"/"2-2")・座席ごとの {種別,料金,状態,窓側/通路側}・定員の上限・375px の横スクロール必須まで設計。⁠あと1回(映画/スタジアム/イベント/レストラン席)で3回ルール → 作る。⁠ SeatMap を作る時に索引の HeatmapChart 誤誘導も是正する。

⁠今回 src の新規コンポーネントなし⁠(3.5/5・ListCard の別業界での自力発見+SeatMap 2/3 が成果)。⁠AmountBreakdown が運賃に5回目の業界越え・ListCard が2業種目⁠

学び — 全業種共通の土台は翌モードで効き、モード固有の土台は積み上がる

利用者向けの全業種共通の土台 ListCard は、鉄道で作って航空で即発掘された——⁠事業者向けで見た「全業種共通の土台は業界をまたいで翌画面で裏付く」が、利用者向けでも、しかも交通モードをまたいで起きた。⁠ 一方 SeatMap は利用者向けのモード固有の土台(座席選択)で、鉄道→航空で 2/3 まで積み上がった。⁠全業種共通の土台(StatGroup/AmountBreakdown/ActionQueue/ListCard)は3回ルールで一気に効き、モード固有の土台(SeatMap/TransitItinerary/Stringline)はモードをまたいで証拠が貯まる⁠——両方を3回ルールが選り分け続けている。残る多言語化(NumberInput の英語 aria-label)は #326 LocaleProvider 待ち。

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

  • 航空の事業者向け(フライト運航ボード・機材繰り Gantt)で Gantt の区切り付きの帯 3回目を狙う、あるいは SeatMap 3回目(映画/イベント席)で作る合図、あるいは次のモード。

試す

昨日作ったコンポーネントを翌日もう使い、座席表の欠落が2回目に。全業種共通の土台は翌モードで効き、モード固有の土台は積み上がる。

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

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

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

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

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

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