AI にタクシー法人配車を作らせてみた — タクシーが 事業者向け6+利用者向け6 で本当に完走(やってみた #152)
/taxi-corporate375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI にタクシー法人配車を作らせてみた — タクシーが 事業者向け6+利用者向け6 で本当に完走(やってみた #152)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。タクシーの利用者向け 最後の1枚(配車#147・予約#148・履歴#149・サポート#150・会員#151 に続く6枚目)——法人配車・タクシーチケット(個人/法人切替・電子チケット・利用目的・経費規定・承認・利用明細)。これで 事業者向け6+利用者向け6 対称=タクシー本当の完走。
まず — 今度は本当に完走(事業者向け6+利用者向け6 対称)
#147 で、実作業と下書きを担う相棒の AI が「タクシー完走」と早とちりし、私が「は?利用者向け 一回で完成???」と待ったをかけた。その後 利用者向けを #147→#152 で6枚掘り、事業者向け 6枚(配車/乗務員/営収/車両/苦情/需要予測)と 利用者向け 6枚(配車/予約/履歴/サポート/会員/法人)が対称に。鉄道・航空(各 事業者向け5+利用者向け6)に並ぶ。今回は「完走」と言って良い。
結果 — 3.5/5、汎用の土台は ~70%、事業者を通じて利用者に届くタイプ(B2B2C)固有の層が欠落
tsc 緑・375px mobile-first。予備知識ゼロの AI(群青を一度も触っていない設定):
消費者向けモバイルの背骨は強い。 PageHeader/BottomActionBar/RadioCard/ApprovalSteps/TicketStub/ExpiryBadge/ListCard/AmountBreakdown が ~70% を速く・正しいアクセシビリティで。だが事業者を通じて利用者に届くタイプ固有の3つ=アカウント切替・配車入力・規定サマリ が、まさに手組みさせられた3つ。
観測の核 — 事業者を通じて利用者に届くタイプを定義づける操作「個人⇄法人」にコンポーネントが無い
予備知識ゼロの AI「最も明確な欠落=セグメント切替/アカウント切替/プロフィール切替のコンポーネントが無い。個人⇄法人(自費⇄経費・個人⇄業務)は あらゆる 事業者を通じて利用者に届くタイプのアプリを定義づける操作。
Switchは二択で意味が違う・Tabsは内容の切替で trigger が h-9=36px(44px未満)・RadioCardは背が高すぎ。role=radioの2列グリッドを手組みした。追加すべき筆頭・索引すら必要性を認識していない。」
→ #409 を課題に記録:SegmentedControl/AccountSwitcher(2-4セグメントの単一選択・≥44px・ToggleGroup のモバイル版)。実は 出発/到着(#110/#140)・払戻し/遅延証明(#129)でも手組みされており、実質すでに3回超。TicketStub のプリペイド残高の差込口(利用可能額/上限/期限)・NavRow(アイコン+ラベル+右向き矢印を端に寄せた行)も併記。
学び — 「完走」とは 事業者向けと利用者向けの画面 が対称になること
#147 の早とちりから #152 の本当の完走まで、タクシーで学んだのは「完走」の定義:
- ❌ 事業者向けを作り込んで利用者向けを1枚で締める(#147 の誤り)。
- ✅ 事業者向けと利用者向けが同じだけ厚い(事業者向け6+利用者向け6)。
なぜ利用者向けを事業者向けと対称にするのか——利用者向け(消費者側)こそ欠落が出る場所だから。タクシーの利用者向け 6枚で出た欠落:BottomActionBar(作った)・RatingInput・SectionList・DateTimePicker・ApproachCard・ReferralCard・SegmentedControl…事業者向け6枚では1つも出なかった新コンポーネントが、利用者向け6枚で7つ以上。事業者向けの土台は成熟しているが、利用者向けの土台はまだ欠落が多い。だから完走=事業者向け+利用者向け 対称を基準にすると、最も弱い側(利用者向け)から掘ることになり、欠落が出る。「利用者向け 一回で完成?」と待ったをかけたのは、この「弱い側から掘る」規律を守るためだった。
拾った点
- ✅ ApprovalSteps が消費者向けの承認状態(申請→承認待ち→承認済/差戻し)に適合・索引も正しく誘導。
- ✅ ExpiryBadge がチケット期限で自力発見=乗務員/資産/クーポン/チケット の4つの領域を横断。
- 🟡 Button 既定が <44px(#362 再確認・作り込んだモバイルのコンポーネントは44px だが、素の Button は size=xl まで上げないと届かない)。
今回 src の新規コンポーネントなし(3.5/5・タクシー完走・SegmentedControl 等を課題に記録)。
📊 コンポーネント化スコアボード(作成済 15個)
…PageHeader / Itinerary / TicketStub / Stringline / StatusBoard / ExpiryBadge / BottomActionBar 進行中:SegmentedControl(3回超)・ReferralCard・RatingInput・SectionList・DateTimePicker・NavRow
📋 モード進捗 — タクシー完走で4モード完成
- ✈️ 航空:事業者向け5+利用者向け6 ✅/🚆 鉄道:事業者向け5+利用者向け6 ✅/🚕 タクシー:事業者向け6+利用者向け6 ✅(完走)
- 🚌 バス:事業者向け2+利用者向け3(事業者向けが薄い・非対称)/🚚 トラック:未着手
次回予告(やってみた #153)
- 残る非対称=バスの事業者向けを厚く(鉄道/航空/タクシーの 事業者向け5-6 に対しバスは 事業者向け2)or トラック新モードを 事業者向け→利用者向け で。※次回までに決める。
試す
- gunjo.jp / 承認ステップ ApprovalSteps / チケット券面 TicketStub / 有効期限 ExpiryBadge / npm
@gunjo/ui/ GitHub / 前回まで #1〜#151 - GunjoUI by UIXHERO
タクシーが 事業者向け6+利用者向け6 で本当に完走した——「完走」とは 事業者向けと利用者向け が対称になること。弱い側(利用者向け)を必ず掘るから、欠落が出る。
この連載は、作者が AI(Claude と Codex)と協働で制作しています。実験・検証の設計、判断、公開前の事実確認は人間が行い、実作業と下書き執筆は AI が担っています。
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import しているコンポーネントです。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。