AI にタクシーの評価・サポート画面を作らせてみた — 索引が「動かない部品」に誘導した回(やってみた #150・節目)
/taxi-support375px のビューポートで撮影。縦長のページはフレーム内をスクロールします。
解説記事
AI にタクシーの評価・サポート画面を作らせてみた — 索引が「動かない部品」に誘導した回(やってみた #150・節目)
やってみたシリーズ: 自作のデザインシステム
@gunjo/ui(群青)を、文脈ゼロの cold な AI に実 UI で作らせる連載。タクシー toC を深掘り(配車#147・予約#148・履歴#149 に続く4枚目。toB6 に対し toC を厚く継続中)——乗車後の評価・忘れ物・サポート(★評価・FAQ・忘れ物問い合わせ・問い合わせ履歴)。連載 #150 の節目。
結果 — 3.5/5、chrome と FAQ は良いが「評価の入力」が無い
tsc 緑・375px mobile-first。cold AI(群青を一度も触っていない設定):
chrome とリストは強い。 PageHeader/BottomActionBar/ListCard/SearchableAccordion/FilterChips は優秀でモバイル向けに作られている。だが画面の主役=評価の入力がある場所に、まさに穴がある。
Ratingは表示専用で、索引はその read-only に誤誘導する。post-ride 評価アプリにとって致命的。
観測の核 — 索引が「動かない部品」に誘導した(最悪の誤誘導)
評価★の入力——Rating を当てたくなる。だが:
cold AI「
Ratingはrole=imgの表示専用=onChange も focusable star も無い。post-ride 評価の主役は★を『設定する』ことなのに。星の radiogroup(focusable ボタン+hover preview+矢印キー+per-star SR ラベル+≥44px)を手組みした。しかも索引は『star rating/review input』を read-only のRatingに誘導する=文脈ゼロ開発者は onChange を配線し、何も起きず、source を読んで初めて気付く。これは単なる穴でなく『能動的な間違った答え』。Ratingのlabelprop が interactive にしそうに見えるのも誤誘導を強める。」
→ #406 RatingInput(Rating の interactive な双子=focusable star・onValueChange・hover・半星・SR ラベル)+索引是正 PR#407(Rating=表示専用と明記し input は星 radiogroup へ)。消費者側の問い合わせ状況(受付→対応中→回答済)も ApprovalSteps(社内承認)を流用=InquiryStatus も #406 に併記。
学び — 「穴」と「能動的な誤誘導」は違う。後者の方が危険
これまで cold-test が炙り出した欠陥は4種(穴・誤誘導・越境の浅さ・嘘の型表面 #145)。だが #150 の Rating は最も危険な誤誘導の形:
- ただの「穴」(部品が無い)なら、索引が「無い」と言えば adopter は手組みに向かう(#147 BottomActionBar はこれ)。
- だが「動く部品に見えるが動かない」(Rating は表示専用なのに input に見える+索引が input 用途に誘導)は、adopter が成功したと思って配線し、無反応で詰まる——最も発見が遅れる。
これは #145 の「嘘の型表面」(getRowState が型に在るのに silently 無視)の従兄弟だ。型・名前・索引が『動く』と暗示するのに動かない——文脈ゼロ AI が「信じて使う」から露見する。対策は2つ:(1) 表示専用部品の docstring/索引に『これは input でない』を明記(#407 で実施)、(2) interactive な双子を build(RatingInput #406)。表示と入力は別部品=Rating(表示)↔RatingInput(入力)、Meter(表示)↔Slider(入力)、ExpiryBadge(表示)↔DatePicker(入力)。「表示の部品があるなら、入力の双子も要る」を索引が裏切ってはいけない。
拾った点
- ✅ SearchableAccordion が FAQ に完璧適合(検索+カテゴリ+グループ Q&A+空状態が1部品)。
- 🟡 ToggleGroup を「良かった点」のタグ複数選択に流用(chips multi-select として索引に出ていない)。
今回 src build なし(3.5/5・Rating 索引是正・RatingInput/InquiryStatus 起票)。
📊 結晶化スコアボード(build 済 15個)
…PageHeader / Itinerary / TicketStub / Stringline / StatusBoard / ExpiryBadge / BottomActionBar 進行中:RatingInput/InquiryStatus・SectionList・DateTimePicker/PlaceField・ApproachCard・StatusLevel 2/3
📋 タクシー toC 進捗(深掘り継続)
- 🚕 タクシー:toB 6 / toC 4(配車/予約/履歴/サポート) ← toB6 に近づく・あと2枚で対称
- 残り toC 候補:会員/サブスク/クーポン・法人配車
次回予告(やってみた #151)
- タクシー toC をさらに(会員/クーポン or 法人配車)で toB6 と対称に。※どこを掘るかは KeEem に確認。
試す
- gunjo.jp / 星評価 Rating / 検索アコーディオン SearchableAccordion / npm
@gunjo/ui/ GitHub / 前回まで #1〜#149 - GunjoUI by UIXHERO
索引が「動く部品に見えるが動かない Rating」へ誘導した——表示の部品があるなら入力の双子も要る。それを索引が裏切ってはいけない。表示と入力は別部品。
<!-- 公開前: 相互URL差込/スクショ確定/EN(dev.to)ミラー -->
使用した @gunjo/ui コンポーネント
この画面のソースが直接 import している部品です。
cold AI が組み上げた実コード
ファイル名をクリックでソースを展開できます。