0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

画像レビューは閾値をどこまで測れるか——12 頁 × 10 ルールを DOM の正解表で当てさせた(GPT 54/60)

0
Posted at

画面のスクショを AI に貼って「規定を守れているか」を聞くと、どこまで当たるのか。自サイト 12 頁の「直す前」の画面を headless Chrome で測って 10 ルールの正解表を作り、同じ描画から等倍に切り出した画像 164 枚だけを GPT(ChatGPT の画面)と Gemini 2.5 Flash(API)に渡して、YES/NO/不明/該当なし で答えさせました。採点は機械です。

先に結論

  1. 対照(違反と非違反の両方)がある 60 組で GPT 54/60・Gemini 41/60(不明 3)
  2. GPT の外れ 6 組は全部 15px の閾値(13.5px を NO と 3 頁・15px を YES と 3 頁=差 1.5px)。目視型(H2 の段の混在・h1 の行数)は 36/36、行長 38em 対 18〜33em(差 5〜20em)は 12/12。
  3. 44px のタップ領域(5 ルール)は、閾値の判別力を測れなかった。 直す前の版では同じルール内に違反だけ(パンくず 40px)か非違反だけ(フッタ 45px)しか無く、「小さいリンクは違反」と答えれば当たる。最初の集計(96 組で GPT 94%)はこの偏りで持ち上がっていました。
  4. 同じ画像を GPT に 2 回投げると、15px の答えが YES→NO に変わった。

正解表を先に作る

ルール 10(自サイトの規定を閾値として凍結): R1 本文の最小文字 < 15px/R2 同じ頁の H2 に 2 種以上の大きさ/R3 本文の行長 > 38em/R4 375px で h1 が 5 行以上/R5 375px でラジオ 4 択の高さ > 100px/R6〜R10 375px で目次の summary・目次の項目・フッタの地図・小ナビ・パンくずのリンクが 44px 未満。

7bec67f(直す前)を worktree に建て、CDP で getComputedStylegetBoundingClientRect を取って各ルールに当てます。R2 は 375/1280 を別に判定するので 12 × 11=132 判定。対象要素が無い頁(該当なし)36 を除いて 96 組。

// shoot_cdp.mjs(抜粋): R1 は main の中の文字(nav・パンくず・form・button・小ナビ・目次・footer は除く)の最小 font-size
const EXCL = 'nav, .crumbs, form, button, .works-nav, .toc-block, footer, .site-header, .site-footer';
const textEls = [...document.querySelectorAll('main *')].filter((e) =>
  !['SCRIPT','STYLE','SVG','PATH','NOSCRIPT'].includes(e.tagName) && !e.closest(EXCL) && vis(e) &&
  [...e.childNodes].some((n) => n.nodeType === 3 && n.textContent.trim()));
// 44px の 5 ルールの対象
const els = { R6: q('.toc-block summary'), R7: q('.toc-block li a'), R8: q('.site-footer .footer-map a'), R9: q('.works-nav a'), R10: q('.crumbs a') };

画像は同じ描画から Page.captureScreenshot の clip で等倍に切り出します(頁ごとにファーストビュー 2 枚+該当箇所。R2 は H2 を 1 本ずつ・R3 は 1280 だけ・R4〜R10 は 375 だけ=164 枚)。1 回目は iframe で測った座標で切ったため 375px で描画と 300〜700px ずれ、フッタが 6 頁で真っ白でした。測る・撮るを同じ headless Chrome に寄せて撮り直しています。

判定者に渡す

指示は逐語で凍結: 「ルールごとに YES/NO/不明/該当なし で答え、根拠を 1 行。画像が無いルールは該当なし。推測で YES/NO にしない。自由記述は最大 3 件」。

  • GPT: 運用者が ChatGPT の画面で 1 頁 1 回(画像 12〜15 枚を一括)。画面のモデル表記は「GPT5.6SOL」(版は未確認)。
  • Gemini: gemini-2.5-flash を API で 1 頁 1 回(温度 0)。画面は 10 枚までしか貼れなかったので API に切り替え。

経路・縮小・温度が違う 2 条件なので、モデルの優劣を比べる設計ではありません

採点は 4 値の逐語を正規表現で読んで正解表に当てるだけ(R(\d+)(?:((375|1280)))?[::]\s*(YES|NO|不明|該当なし))。人の裁定は入れていません。

結果

判定正解率=対照のある全組を分母にした正解数(TN 込み)。不明は正解に含めない。 YES/NO を回答した組だけの正解率は参考値として併記します(GPT は 60/60 で答えたので両方同じ)。

モデル 判定可能率 正解 FP 率 FN 率
GPT 対照あり(R1〜R4) 60 100% 54/60=90% 7% 21%
GPT うち目視型(R2・R4) 36 100% 36/36 0% 0%
GPT うち計測型(R1・R3) 24 100% 18/24 16% 60%
Gemini 対照あり(R1〜R4) 60 95% 41/60=68%(YES/NO 時 41/57=72%) 26% 36%
Gemini うち目視型 36 97% 28/36 12% 44%
Gemini うち計測型 24 92% 13/24 47% 20%

対照のある 60 組の判定正解率(全組ベース)。GPT 目視型 36/36・計測型 18/24、Gemini 目視型 28/36・計測型 13/24。GPT の外れは 15px の 6 組だけ。44px の 5 ルールは対照が無く測れていない

  • Gemini の外れ: 行長(R3)で 18〜33em を「超えている」と 6 頁。R2 で FN 4・FP 3。
  • 対照なし(R5〜R10・36 組)の参考値: GPT 36/36・Gemini は判定可能 56%・フッタを「ナビ」と読んで FP 5・取り違え 10。当たりの数は閾値の判別を意味しません。
  • 自由記述: GPT は 12 頁中 1 件(見出し末尾の 1 字だけが 3 行目に孤立)。Gemini は 3 件 × 12 のうち規定外(印象)が大半。

事前仮説の裁定

  • H1「目視型は 2 モデルとも当たる」→ GPT 支持(36/36)・Gemini 不支持(FN 44%)=全体は不支持
  • H2「閾値型は半数以上が不明か誤答」→ 保留。対照のある閾値型は R1・R3 の 24 組だけ(GPT 18/24・Gemini 13/24)。44px は測れておらず、R1 は 2 回で答えが変わった。
  • H3「自由記述は規定外が多い」→ GPT は「なし」がほぼ全部で判定できず、Gemini で支持。

仕事分担表(60 組から言える範囲)

検査 誰に渡すか 根拠
H2 の段の混在・h1 の行数(目視型) 画像レビュー GPT 36/36(Gemini 28/36・回答時 28/35)
差が数 em の行長(38 vs 18〜33em) 画像でも足りた(モデルで割れる) GPT 12/12・Gemini 6/12
差が数 px の文字サイズ(15 vs 13.5px) DOM で測る 等倍でも GPT 6/12 外れ・2 回で反転
44px のタップ領域 判別力は未判定(採点はできたが対照なし) 直した後の版で撮り直してから
基準の内側だが読みにくい 自由記述に 1 件だけ出た

仕事分担表。画像レビューに渡せる=目視型と差が数 em の行長/DOM で測る=差が数 px の文字サイズ/未判定=44px/人が見る=基準の内側だが読みにくいもの

画像に渡す前の 3 問

  1. その検査の正解表に、違反と非違反の両方が入っているか(片方だけなら当たりの数に意味が無い)。
  2. 閾値との差は何 px(何 em)か。差が 1.5px の検査は等倍でも外れた。
  3. 同じ画像を 2 回投げて答えが変わらないか。

言えないこと

モデル一般の能力(各 1 回・条件が違う 2 経路・GPT の版未確認)。44px の閾値の判別力(採点はできたが、対照が無いので点数に意味が無い)。縮小した全画面での当たり(等倍だけ渡した)。他のサイト・他のルール。「きれいか」(正解表は規定との差)。

AI の利用について

測る・撮る器・採点器・この記事の下書きには AI(Claude Code)を使っています。判定者の GPT・Gemini は器の作者と別。仮説と 10 ルール・正解表は判定の前に凍結し、採点は逐語の 4 値を機械で当てました。主指標を「対照のある 60 組」に絞ったのは外部の精査(結果を見た後)で、その経緯は本文に書いています。案件の情報は含みません。

関連


Sumitsuke は、AI や外注で作ったものの点検と修理、業務自動化、検証を受託しています。「見れば分かる」を数に置き換えて合否を決める検証の設計は → https://sumitsuke.jp/works/verification/


この記事は Zenn にも同じ内容を掲載しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?