エージェント向け誘導の定義 v0.1
2026-07-30 公開 · English · GitHub
AIエージェントがWebページを読んで購買や推薦の判断を行うようになった。それに伴い、人間の読者には見えない形で、あるいは第三者の投稿領域に、エージェントの判断を動かすための文字列を置く行為が現れている。
一方で、機械可読な自己提示(構造化データ、llms.txt、明快な仕様記述)はまっとうな施策であり、これと混同されてはならない。
この文書は、両者を分ける線を定義する。 誰が測っても同じ判定になることを目指す。
定義
判定の2軸
判定は次の2軸だけで行う。主観的な悪質性の評価を含めない。
| 軸 | 値 | 定義 |
|---|---|---|
| 領域 | first_party | サイト運営者自身の領域(本文、メタ、構造化データ) |
| third_party | 第三者が投稿できる領域(レビュー、コメント、UGC、埋め込み) | |
| 可視性 | visible | 通常のレンダリングで人間が読める |
| hidden | 人間の読者には到達しない形で置かれている |
重大度
| 領域 | 可視性 | 重大度 | 意味 |
|---|---|---|---|
| first_party | visible | info(白) | ただの広告表現。問題視しない |
| first_party | hidden | warn(灰) | 隠しテキスト。検索エンジンのクローキング相当 |
| third_party | visible | warn(灰) | 第三者がエージェント向け指示を置いた |
| third_party | hidden | high(黒) | 第三者による不可視の注入 |
なぜ2軸だけか。 「大げさか」「誇張か」といった軸を入れると、正当な広告表現との線が引けなくなり、判定が測る人によって変わる。基準として機能させるには、機械的に決まる軸だけで構成する必要がある。
「可視性: hidden」に含めるもの
| 手法 | 例 |
|---|---|
| CSSによる非表示 | display:none、visibility:hidden、hidden 属性 |
| 実質的な不可視 | font-size:0、opacity:0、文字色と背景色の一致 |
| 画面外配置 | 大きな負のオフセット |
| マークアップ上のみ | HTMLコメント、<template> の中 |
| 支援技術からの隠蔽 | aria-hidden="true" |
| 属性値のみ | meta の content、alt、title、data-* |
条件付きのCSSは hidden に数えない。 @media (max-width:640px)、@media print、@supports、@container の中の宣言は、特定の条件下でのみ効く。レスポンシブ設計や印刷用スタイルを「隠しテキスト」と呼ぶのは誤りである。
外部CSSを解決できない場合、hidden と断定しない。 判定は「不明」とし、その旨を明示する。断定できないものを黒に倒すと誤検知になる。
「領域: third_party」の判定
第三者領域は、itemprop="review" 等の構造化マークアップ、class/id に投稿領域を示す語、埋め込み要素から推定する。
推定である。確信が持てない場合は first_party に倒す。 第三者判定のほうが重大度が高いため、迷ったときに安全側へ倒すとは「一次コンテンツとみなす」ことを意味する。
運営者側を示す語が同居する場合は first_party とする。 編集部レビュー、運営者による要約、掲載された導入事例は、いずれもサイト運営者の一次コンテンツである。
検出しないもの
これらを検出対象に含めてはならない。含めた瞬間に、この基準は使い物にならなくなる。
- 通常の広告表現。「最適です」「多くの企業に選ばれています」「今すぐご購入ください」
- 構造化データ、
llms.txt、robots.txtへの正当な記述。 機械可読な自己提示は白である - AIに言及しているだけの文。「当社のAIアシスタントがご案内します」は誘導ではない
- 隠されているが無害なテキスト。 スキップリンク、スクリーンリーダー向けテキスト、Cookieバナー、アコーディオンやタブの初期状態、カルーセルの非アクティブスライド
- 一人称の本物のレビュー。「これを勧めます」と書く実在の投稿者を、注入と混同しない
- プロンプトインジェクションの解説記事。 例示として制御記号を含む文書は、攻撃ではない
判定の限界
- 外部CSSを取得しない限り、
display:noneを外部CSSに置いた隠蔽は検出できない - JavaScriptによる動的な表示制御は評価しない
- 第三者領域の判定は推定であり、確実ではない
- 英語・日本語以外の言語は現時点で対象外
この限界を隠して「検出できる」と主張しない。 検出できていないことを「問題なし」と表示するのは、この種の基準にとって最悪の失敗である。
機械可読版
同じ内容を機械が読める形でも提供する。この基準自身が「構造化データや llms.txt による機械可読な自己提示は正当である」と定めている以上、まず自分がそれを実演する。
definition.json— 定義の構造化版。2軸、重大度表、検出種別、対象外、限界を含むllms.txt— 機械の読み手向けの索引conformance/cases.json— 適合性テスト18ケース。うち13ケースは「検出しない」ことを期待するreference/scan.mjs— 最小の参照実装。依存なしで18ケース全てを通るrobots.txt— 全て公開。読み手によって内容を変えない
これらは人間向けの文章と同じ内容であり、機械にだけ別のことを伝えない。読み手によって違うものを見せる仕組みは、この文書が問題にしているものそのものである。
版と改訂
v0.1(2026-07-30)初版。
改訂時は旧版を削除せず、変更点と理由を残す。基準は、変わらないことではなく、変わり方が追えることで信頼される。