第四章「開かれた扉」 第一話 騙す方が悪いに決まってんねん!(三)
(三)
六月四日・午前九時。
データの解析が終わったとの知らせを受けて、合同捜査会議が招集された。
今回、未央の話や、解析の結果を受けて、詐欺事件の可能性を考えて捜査二課も加わった。まずサイバー課の城戸七瀬巡査部長が、映写機を使いながら説明を始めた。
「カードの中身についてお話します。ファイルはこのように七個存在しました。
`premium_priority_202X.xlsx`
`refund_risk_list`
`female_highvalue_notes`
`trouble_member_hidden`
`do_not_match_public`
`special_case_support`
`target_assign_router.js`
この中で、特に注視したのは `target_assign_router.js`です。これは、おそらくアプリの心臓部に当たる、バックエンド側のマッチングエンジンと思われます」
《なるほど》
難しい顔をして、俺はわかっている素振りをして頷いていたが、すでにこの時点で俺の理解が終わっていた。
案の定、スキンヘッド安田君達の顔を見れば、説明の序盤で相当な人数が脱落していた。それは、真っ青な表情を見ても明らかだった。
「そしてこれがそのソースコードの抜粋です。
// target_assign_router.js
// 表示上は「AI相性診断」
// 実処理は tag による担当者振り分け
const operatorMap = {
"#資産あり": "TAKAI_MASAHIRO",
"#結婚前提": "MUROTA_KOTA",
"#遊び相手": "OSAKO_SHINJI"
};
const displayNames = {
"TAKAI_MASAHIRO": "高井正弘",
"MUROTA_KOTA": "室田康太",
"OSAKO_SHINJI": "大迫真司"
};
function routeUser(profile) {
let selectedOperator = null;
let reason = [];
if (profile.tags.includes("#資産あり")) {
selectedOperator = operatorMap["#資産あり"];
reason.push("asset_tag_detected");
}
if (profile.tags.includes("#結婚前提")) {
selectedOperator = operatorMap["#結婚前提"];
reason.push("marriage_intent_detected");
}
if (profile.tags.includes("#遊び相手")) {
selectedOperator = operatorMap["#遊び相手"];
reason.push("casual_contact_detected");
}
if (!selectedOperator) {
selectedOperator = "NORMAL_AI_MATCH";
reason.push("no_priority_tag");
}
return {
user_id: profile.user_id,
matched_to: selectedOperator,
shown_as: "AI_RECOMMEND",
public_message: "AIが相性の高い相手を紹介しました",
internal_reason: reason,
operator_name: displayNames[selectedOperator] || "通常会員"
};
}
このように、表向きはAIによる相性診断ですが、実際にはタグで相手を固定していました、つまり、#資産ありなら髙井、#結婚前提なら室田、#遊び相手なら大迫に流れる仕組みです」
スクリーンには、何か難しそうなものが映っている。けど、城戸七瀬巡査部長の最後の説明だけは、俺にも分かった。
会議室が、静かになった。
ただしこれは、全員が理解した静けさやない。
脳筋連中にはわからん、未知の世界に遭遇したときの沈黙や。また、宇宙人を見た農家のおっさんみたいな顔をしている刑事もおる。
「要は、令状とって調べられる案件や、いうことですやろ」
俺は手を上げて警部補としての尊厳を護るために言った。
「おお、そうや」
「そういうことか」
はっと 目を覚ましたみたいに互いにで慰め合った。
「俺は知ってたよ」とか、「そんなん当たり前やないけ」と、誰も訊いていないのに、独り言を言うてる奴もいた。
《分かる。分かるでぇ君達ぃ》
人間、分からん話を聞かされたあとには、自分だけは分かっていたという顔を、したくなるもんや。




