#172スコア 4/5金融

AI に M&A マッチングを作らせてみた — 索引が「会社にアバター」を勧めた回(やってみた #172)

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

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

解説記事

AI に M&A マッチングを作らせてみた — 索引が「会社にアバター」を勧めた回(やってみた #172)

⁠やってみたシリーズ⁠: 自作のデザインシステム @gunjo/ui群青)を、群青のことを一度も見たことのない AI に、実際の画面で組ませていく連載。⁠MatchCard 狙いの深掘り+新業種(M&A/事業承継・金融)⁠——⁠M&A マッチング⁠(買い手⟷売り手・適合度・業種/エリア/規模の適合)。M&A アドバイザー向けの情報密度コンソール。

結果 — 4/5、ペアリング詳細だけが欠落

tsc 緑・デスクトップ密。予備知識ゼロの AI(群青を一度も触っていない設定):

⁠本物の強い事務方のライブラリ。⁠ KPI の帯・ランク候補リスト・スコア Meter・案件テーブル・対応キューに用途向けに作られたコンポーネントが逐語で嵌まった。1星減点は、マッチングコンソールが⁠まさにそれについての⁠1つ=二者間のペアリング詳細。会社×会社のコンポーネントが無く、索引が人物前提の物に能動的に誤誘導した。

観測の核 — 索引が「会社にアバター」を勧めた(MatchCard 2/3)

売り手×買い手のマッチ詳細(2社を左右に並べ+適合度+業種/エリア/規模/価格/シナジーの要因の適合)——RelationshipRow を当てたくなる。だが:

予備知識ゼロの AI「⁠二者間の MatchCard/PairingPanel が無いので手組み(PairingPanel.tsx)。会社用の識別のセルが無い——PersonCell は avatar+name+role なので会社カラムを一から作った。索引は『2人を並べる(上司↔部下)』→ RelationshipRow と誘導するが、RelationshipRow の from/to は PersonCellProps 型⁠=2つの PersonCell(アバター+在席ドット)を描画する。会社×会社 には3点で誤り:(1) アバター/在席の人モデルを組織に強制(2) 各社の財務データのリストの差込口が無い(3) スコア/要因の内訳の領域が無い(細い relationshipLabel だけ)。索引は⁠視覚的に最も近い物を勧めつつ意味づけの上で間違い⁠**。追加すべきは汎用の二者間 MatchCard/PairingPanel(left/right の対象+スコア+要因・人物前提でない)+⁠CompanyCell(PersonCell の組織版)⁠。**」

⁠MatchCard は #160 求貨求車(荷物×空車) と #172 M&A(売り手×買い手) で 2/3。⁠ 仕様は両回で安定=leftright の任意の対象の差込口+中央 score/つなぎ+factors の内訳・対象に依存しない。⁠付随する欠落=CompanyCell⁠(組織の識別=ロゴ/イニシャル+名前+データ)も浮上=RelationshipRow が人物固定なのもこれが原因。あと1回のマッチング/比較画面で 3回確認 → 作る。

学び — 「視覚的に近い」と「意味づけの上で正しい」は別物(索引の罠の集大成)

索引の罠を整理してきた(隠す/すり替える[型・アクセシビリティ・形]/自認する)。#172 の RelationshipRow は⁠すり替える罠の最も教科書的な形⁠

  • ⁠視覚的には近い⁠(2つを並べた横長コンポーネント)。
  • ⁠意味づけの上では逆⁠(人物固定で、会社の財務データも適合スコアも入らない)。

予備知識ゼロの AI 評:「索引は視覚的に最も近い物を勧めつつ意味づけの上で間違い——マッチングコンソールが⁠まさにそれについての⁠ ペアリング詳細でそれが起きる」。これは #170 の「形(縦 vs 横)の取り違え」のさらに先=⁠横長で形は合うが、中身のモデル(人 vs 組織)が違う⁠。索引の格付けは、型・アクセシビリティ・レイアウトの形に加えて⁠対象のモデル(人か組織か)⁠まで含める。

→ MatchCard は人物非依存で作る(あと1回で 3回確認)。CompanyCell も同時に=PersonCell(人)↔CompanyCell(組織)の対。⁠「人のコンポーネントがあるなら組織のコンポーネントも要る」⁠——#150 で書いた「表示があるなら入力も要る」の組織版だ。

拾った点(良好な、別業種での検証)

  • ✅ Leaderboard(適合度ランキング)/DataTable(案件一覧)/Meter(適合度 higher-is-better+target=提案推奨ライン)/ActionQueue(NDA/返答待ち)/StatGroup/FilterChips/MetadataList(各社の財務データ) 全て そのまま合う。
  • 🟡 Select だけ children/option 駆動で他の items-prop の規約とズレ(開発体験)・Badge/Tag と Meter/Leaderboard の tone のユニオンが非互換でマッピングのつなぎが要る。

⁠今回 src の新規コンポーネントなし⁠(4/5・MatchCard 2/3・RelationshipRow 人物固定の再確認・CompanyCell 浮上)。

📊 コンポーネント化スコアボード(作成済 ⁠24個⁠

…OriginDestination / DocumentRow(このセッションで11コンポーネント) 進行中:⁠MatchCard(2/3)⁠・CompanyCell(1/3)・SimpleDialog(1/3)

📋 進捗

  • 運輸5モード完走 ✅/ストック深掘りで goodWhen/OriginDestination/DocumentRow をコンポーネント化
  • MatchCard 2/3(あと1回で作る)・新業種 金融(M&A)に着手

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

  • MatchCard 3回目(別のマッチング/比較画面)→ 作る+CompanyCell、or 新業種さらに。※次回までに決める。

試す

索引が「会社にアバター」を勧めた——視覚的に近いが意味づけの上で逆(人 vs 組織)。索引の格付けは対象のモデルまで含める。MatchCard は人物非依存で、CompanyCell とセットで作る。

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

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

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

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

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

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