Brandon / 掲載面の点検設計

前から書いてあることは、
正しさの根拠にならない

OTA掲載面を定期的にファクトチェックする仕組み。「多角的に」を照合相手で定義し、いちばん効く1本だけ先に動かしました。

01 — 起点

葉山アルプスは、誰も裏を取っていなかった

これ葉山アルプスって何? 葉山アルプスとかあるの? …元のやつにも書いてありますね。
これは誰に頼めばいいかわかんないんだけど、定期タスクで定期的にいろんな角度からファクトチェックを行う、そういうのも入れた方がいいと思うんですよね 2026-08-04 Otake さん

逗子葉山の掲載文にある「葉山アルプス」は、現行の Airbnb にも改稿案にも載っていました。ずっと載っていたから、誰も疑わなかったという一点だけで生き延びていた記述です。

問題は固有名詞1つではなく構造の方にあります。引き継いだ掲載文は、書いた人がもう居ません。そして改稿するとき、私たちは前の文を参照します。裏を取っていない記述ほど、そのまま次の版へ複写されます。

既存の点検器の穴

listing_audit.py は禁止表現・命令形・語尾・字数を見ています。つまり言い方だけで、書いてある内容が本当かは一切見ていません

結果として何が起きていたか — 南房総の「犬のみ5匹まで」(正本は中型犬2頭)と駐車10台(正本9台)は、言い方の点検を無傷で通過していました。きれいさと正しさは別の軸です。

02 — 設計

「多角的」を、照合相手で定義する

角度を増やすとは、検査の種類を並べることではありません。何と照らすかを変えることです。相手が変われば、使う道具も、かかる費用も、腐る速さも変わります。

だから同じ巡回に混ぜません。無料で毎月回せるものと、課金して四半期に回すものは、別の生き物として扱います。

角度照合相手道具費用頻度状態
① 正本と施設SoT の数と条件決定論0円月次 稼働中
② 自分自身と同じ掲載文の別の節決定論0円月次
③ 他の施設と他施設の掲載文決定論0円月次
④ 世界と外部の実在・距離Grok live search数十円/回四半期
⑤ 現地と実物・体感人(訪問時リスト)人手訪問時

①〜③は外部APIを使いません。決定論的で、無料で、何度回しても同じ答えが出ます。外部の揺らぎと課金が入るのは④だけです。葉山アルプスの実在確認は④に当たりますが、先に①を立てました

なぜ①を先にしたか

03 — 判定

3値ではなく4値にした

従来の点検器は「両方に書いてあるもの」しか比べられませんでした。だから正本に無い主張は、比較の土俵にすら上がらなかった。葉山アルプスが生き延びたのはこの穴です。

判定意味打ち手
🔴 矛盾掲載と正本の両方にあって食い違うどちらが現行か決着させる
🟡 未裏取り掲載にあるが正本に無い。誰も裏を取っていない主張正本に足すか、掲載から下ろす
ℹ️ 掲載漏れ正本にあるが掲載に無い売り逃しか期待値のズレ
✅ 一致所見ではない。件数だけ見る
所見ゼロを、合格と読ませない

掲載文に数が書かれていない施設は、照合対象がゼロなので黙って満点で通ります。いちばん痩せた掲載面がいちばんきれいに見えてしまう。

なので「照合できる数・条件がほぼ無い」こと自体を所見として出します。所見が出ないのではなく、点検が効いていない状態を可視化しました。

04 — 初回実行

今日、6掲載面に当てた結果

3
矛盾
掲載か正本のどちらかが嘘
6
未裏取り
誰も裏を取っていない
18
掲載漏れ
既定では畳んでいる
14
一致
照合が効いた項目
南房総✅ 3項目一致
駐車台数 — 掲載「3台+隣接7台=10台」/正本「9台」(2026-07-28 Otake 確定)
ペット頭数 — 掲載「犬のみ5匹まで」/正本「中型犬2頭まで」
ペット料金 5,500円/匹 — 正本に金額の記載なし
寝室数 4室 — 正本に bedrooms の項目自体が無い
Atelier 逗子葉山✅ 5項目一致
ペット料金 — 掲載「5,500円/匹」/正本「室内犬2頭まで可・追加料金なし
延長料金 11,000円/時 — 正本に記載なし。南房総の正本と同額で、施設をまたいだ複写の疑い
BBQ料金 5,500円・事前申し込み制 — 正本に記載なし。南房総では「事前申し込み制」が現況と違っていた
Harbor 渋谷✅ 0項目
照合できる数・条件がほぼ無い — 「宿泊施設」欄が空欄で、定員・時刻・寝室構成・料金が掲載面に1つも出ていない。ゲストも判断材料を持てません
Harbor 南葉山✅ 0項目
照合できる数・条件がほぼ無い — 設備の列挙のみ。正本は定員8名・駐車2台・面積を持っているのに、掲載には出ていません
Atelier 京都✅ 4項目一致
食い違いなし。定員5名・IN 15:00・OUT 11:00・面積すべて正本と一致。
Harbor 九十九里✅ 2項目一致
食い違いなし。定員6名・駐車3台が正本と一致。
読み取れたこと

京都が所見ゼロで出ました。7月末に正本を見ながら書き直した施設です。一方、引き継いだままの南房総と逗子葉山に矛盾が集中しました。裏を取って書いた掲載文と、引き継いだ掲載文の差が、そのまま所見の数に出ています。

つまりこの検査器は、今後京都が汚れ始めたら疑うべきは施設ではなく検査器の方という校正基準を持ったことになります。

05 — 起票

見つけたものは、拾われる場所に置いた

所見をレポートに書くだけでは誰も拾いません。Frank の週次健診が数えるのは facilities/{slug}/_sot/facility.md要確認事項の箇条書きだけなので、そこへ7件を起票し、実際に数えられることを確認しました

施設足したもの健診の件数
南房総駐車台数 / 寝室数 / 近隣の建物の有無4 → 7
逗子葉山延長料金 / BBQ料金4 → 6
渋谷照合できる事実が無い2 → 3
南葉山照合できる事実が無い1 → 2

南房総の「近隣の建物の有無」は機械ではなく私が読んで見つけたものです。同じ掲載文の中に「近隣に建物はなく、静かな環境」「周辺には住居や別荘がありますので、音楽などの音量には十分な配慮を」が併記されていました。静けさを売りにしながら、音量への配慮を求めている状態です。渋谷の三宿騒音と同じ型で、これは角度②で機械化できます。

06 — 定期実行

新しい定期タスクは作らない

すでに動いている月次巡回 brandon-listing-audit-monthly(毎月1〜5日 13:00・BLADE)に相乗りさせました。掲載文の採取は共通で、判定だけを2本立てにします

python -m scripts.brand.listing_audit      # 言い方(禁止表現・語尾・字数)
python -m scripts.brand.listing_factcheck  # 内容(定員・時刻・台数・料金)

採取が月1回である以上、判定を週次にしても同じ答えが返るだけです。巡回を増やさず、同じ巡回で見る目を増やしました。

起票の下書きは --todo-draft が要確認事項へ貼れる形で出します。手書きしないので、書き写しのときに文言が痩せることもありません。

07 — これから

次に効く順番

次の一手拾える型(実例は今日の実測)費用
② 自分自身と 南房総の「近隣に建物はなく」と「周辺には住居や別荘があります」が同じ文書に併記。対義ペアの辞書で拾えます 0円
③ 他の施設と 「ベッドは NELL / 快適な睡眠をお約束いたします」が渋谷と九十九里で完全に同一。逗子葉山の延長料金は南房総と同額。複写自体は正常でも、片方が事実でなくなった時に両方が腐ります 0円
④ 世界と 葉山アルプス/ザ・パークレジデンス京都駅前/「エリアでは唯一」/駅からの所要時間。新出の固有名詞だけに絞って四半期に投げます 数十円/回
⑤ 現地と 設備の現存(渋谷のコーヒーメーカーは撤去済みなのに写真に写っている)と体感(「静か」)。訪問時に渡すリストの形にします 人手

②③は今日作った抽出の土台にそのまま乗るので、追加コストがほとんどありません。④より先に②③を出します。