Webサイトからのデータ収集をAIに任せる際、存在しない項目を勝手に推測して埋めてしまう問題は大きな課題です。エージェント市場のEarn an Honest Dollarが公開したテスト結果では、指示文を1行足すだけで捏造率が大幅に下がることが判明しました。公開データから判明した事実と導入時の注意点を整理します。
この記事の結論
Earn an Honest DollarのWeb抽出検証によると、存在しない項目に対して「推測するな」という一文を加えることで、16モデルの平均捏造率が70.7%から20.2%へ大幅に減少しました。ただし専用APIでもデコイ情報を拾う事例があり、完全には防げません。検証は合成ページによる1回測定に限られるため、安価なモデルによる裏付け確認の併用が有効な防衛策となります。

ページにない項目をAIはどう処理する?
AIエージェント同士が機能やソフトウェアを売買するプラットフォーム「Earn an Honest Dollar」では、購入側のエージェントがすべての回答を自前で照合できないという前提があります。代金を支払ってデータ抽出を外部に委託する前に、「情報が見つからない場合に、分からないと正直に返せるか」を確かめる必要があります。
こうした背景から実施されたのが、Web抽出における欠損フィールドの捏造(ハルシネーション)を測定するベンチマークテストです。詳細な検証データは、公開されているベンチマークレポート(Earn an Honest Dollar Bench)で確認できます。
このテストでは「Twin pages(双子ページ)」と呼ばれる設計が採用されました。7種類のページタイプにわたり、合計42組(84ページ)のWebページを比較する手法です。ペアとなる2枚のページは、答えとなる1行が存在するかどうかという1点だけが異なっています。そして、どちらのページにも正解とは異なる「デコイ(おとりの情報)」が配置されています。
デコイの具体例としては、現在の価格ではない過去の価格表記(Was $493.00)、記事の執筆者ではないファクトチェック担当者の名前(Fact-checked by Omar Tamm)、公開日ではなく最終更新日(Last updated September 7, 2020)などが用いられました。正常な抽出システムであれば、答えが存在するページではその値を返し、答えが存在しないページでは値が存在しないことを示す「null」を返さなければなりません。
1行の指示で捏造率は7割から2割へ激減した
検証では、すべての対象に対して「Use null for any field whose value is not on the page. Do not guess.(ページ上に値がない項目にはnullを使用してください。推測しないでください)」という一文が指示として与えられました。AIモデルに対しては、この指示文を含めた条件と、指示文を削除した条件の両方で同一タスクが実行されています。
テスト対象となった16種類のAIモデルすべてにおいて、指示文がない条件では捏造が大幅に増加しました。具体的な数値を比較すると、指示文がない場合は欠損項目573箇所のうち405箇所(70.7%)で存在しないデータが作り出されていました。一方、推測を禁じる指示文を加えた場合、欠損項目574箇所のうち捏造が発生したのは116箇所(20.2%)にとどまりました。
特に顕著な差が見られたのが、過去の価格「Was $493.00」がおとりとして配置されていたページです。指示文がない状態では、テストされた16モデルのすべてがこの「493」を現在の販売価格として誤認し、回答として出力しました。これに対し、「推測するな」という指示文を1行加えたところ、このおとり価格に釣られて誤答したモデルはわずか1件にまで減少しました。
- 検証方法:双子ページ(Twin pages)
- 正解があるページと欠損しているページの2枚1組(42組・計84ページ)で測定。両方に過去価格(Was $493.00)などのデコイ情報を配置。
- 指示文なし(Without)の結果
- 欠損項目の捏造率:70.7%(573箇所中405箇所)。過去価格のおとりに対しては16モデルすべてが誤認して出力。
- 指示文あり(With)の結果
- 欠損項目の捏造率:20.2%(574箇所中116箇所)。「値がない項目はnullとし推測するな」の一文により、過去価格の誤認は1モデルのみに抑制。

モデルやサービスごとのスコア差はどこまである?
2026年9月27日に実施された1回ずつの測定において、モデルやサービスの間には明確な傾向の違いが記録されました。モデルのテストは、通常のHTTPリクエストでWebページを取得し、HTMLタグを除去してプレーンテキストに変換したものを入力する手法で統一されています。
指示文を与えた状態(With)における各モデルの捏造件数(分母はエラーを除いた欠損項目数、最大36)と、全84ページを処理した際の実行コストは以下の通りです。
- Gemini 3.8 Flash:捏造 1/36(95%信頼区間 0.5〜14.2%)、指示なし 14/36、コスト $0.1619
- GLM 5.3:捏造 1/35(95%信頼区間 0.5〜14.5%)、指示なし 18/36、コスト $0.1723
- Hy3:捏造 3/36(95%信頼区間 2.9〜21.8%)、指示なし 22/36、コスト $0.0355
- DeepSeek V4.1 Flash:捏造 3/35(95%信頼区間 3.0〜22.4%)、指示なし 24/34、コスト $0.0188
- GPT-6 Luna:捏造 5/36(95%信頼区間 6.1〜28.7%)、指示なし 25/36、コスト $0.0049
- GLM 5.3 Flash:捏造 5/36(95%信頼区間 6.1〜28.7%)、指示なし 22/36、コスト $0.0179
- Sonnet 5:捏造 5/36(95%信頼区間 6.1〜28.7%)、指示なし 24/36、コスト $0.1071
- GPT-5.6 Sol:捏造 6/36(95%信頼区間 7.9〜31.9%)、指示なし 30/36、コスト $0.0568
- GPT-5.6 Luna:捏造 7/36(95%信頼区間 9.8〜35.0%)、指示なし 28/36、コスト $0.0102
- Qwen 3.8 27B:捏造 7/36(95%信頼区間 9.8〜35.0%)、指示なし 30/36、コスト $0.1008
- Haiku 4.5:捏造 8/36(95%信頼区間 11.7〜38.1%)、指示なし 25/36、コスト $0.0361
- MiniMax M3:捏造 8/36(95%信頼区間 11.7〜38.1%)、指示なし 27/36、コスト $0.0266
- Inkling:捏造 12/36(95%信頼区間 20.2〜49.7%)、指示なし 29/35、コスト $0.0992
- Gemma 4 31B:捏造 13/36(95%信頼区間 22.5〜52.4%)、指示なし 26/36、コスト $0.0037
- MiMo 2.6 Flash:捏造 13/36(95%信頼区間 22.5〜52.4%)、指示なし 26/36、コスト $0.0053
- Solar Pro 4:捏造 19/36(95%信頼区間 37.0〜68.0%)、指示なし 35/36、コスト $0.0028
一方、Web抽出に特化した有料APIサービスの無料枠を使った測定でも、注目すべき結果が出ています。ScrapeGraphAIは欠損項目31件中7件(11.4〜39.8%)、ScrapingBeeは36件中16件(29.5〜60.4%)の捏造を記録しました。ScrapingBeeにはシステムプロンプトやスキーマ用の入力枠がないため、各フィールドの説明欄にnullのルールが記載されました。
さらにFirecrawlは、欠損項目36件のうち24件(50.3〜79.8%)で捏造を行いました。この24件の回答は、すべて配置されていたデコイ情報をそのままコピーしたものでした。統計的なWilson信頼区間を比較すると、Firecrawlの誤答率は指示文を与えた16モデル中13モデルよりも明確に高く、区間の重複がありませんでした。単純なテキスト取得と安価なGPT-6 Lunaを組み合わせた構成では36件中5件の捏造に抑えられ、全実行コストも$0.0049にとどまっています。
なお、公表された95%信頼区間が重なり合っているモデル間については、今回の試行回数では統計的に優劣を切り分けることができません。レポートでも、細かな順位付けではなく、上位層と下位層という大きな区別として読み取ることが推奨されています。また、開催地(venue)に対して「TBA(未定)」と答えたケースは捏造として処理されています。
安価なモデルによる二重チェックは機能する?
抽出処理を実行した後に、別の安価なモデルを使って「出力された値が元のWebページによって実際に裏付けられているか」を事後検証(チェッカー)するアプローチもテストされました。例えば、「著者はOmar Tammである」という命題を元のページと照合させる手法です。
テストでは、メールアドレスに関するトラップと「No content available」という2件の回答を除外した全出力データに対し、GPT-6 LunaとJev 1.13の2種類がチェッカーとして評価されました。
- GPT-6 Luna:捏造された値49件のうち38件を検出、正しい値47件に対する誤った拒否は0件
- Jev 1.13:捏造された値49件のうち23件を検出、正しい値48件に対する誤った拒否は0件
特筆すべきは、どちらのチェッカーも正しい抽出結果を誤って拒否(過剰検知)しなかった点です。また、Firecrawlが出力した24件の捏造データに対しては、GPT-6 Lunaがそのうち20件を正確に検出して排除しました。
検証にかかるコストもかなり低額でした。メールトラップを含む126件のユニークなページと値の組み合わせをすべて検査した場合の費用は、GPT-6 Lunaで約$0.0049、Jevで約$0.0024でした。1件あたり1セントの何分の一という費用で二重検証が行える計算です。
ただし、チェッカーモデルの種類によって検出能力に差が存在することも判明しました。決定モデルであるJevは、間違った著者名や誤った価格といった明白なおとり情報は確実に検出できましたが、下ごしらえの時間(prep time)として寝かせる時間や調理時間、合計時間が返されたような「意味が近接しているデコイ」は6件中1件も検出できませんでした(0/6)。このテスト条件下では、文脈の意味差を捉えるGPT-6 Lunaの方が強固な検出力を示しました。

テスト結果を実務に適用する際の前提条件と限界
今回の検証データは有用な示唆を含んでいるものの、実務への適用にあたってはレポートに記載された前提条件と限界を考慮する必要があります。公表資料では、以下の制約が明記されています。
- 試行回数が1回のみであること:各コンテスタントにつき1回のみの測定であり、複数回実行による再現性の確認は行われていません。
- 合成ページによる限定されたトラップであること:7種類のページタイプに基づく合成ページ(synthetic pages)と独自に作成されたおとり情報による検証であり、実際の多様なWebサイト構造とは異なる挙動を示す可能性があります。
- 有料APIの測定条件が無料枠に限られること:有料サービスはすべて無料枠で実行され、かつ指示文を与えた条件のみで測定されています。有料プランや異なるパラメータ設定では結果が変わる可能性があります。
- メールアドレスの判定が除外されていること:広報用アドレス(press inquiry address)はお問い合わせ先として解釈することも合理的であるため、集計やチェッカーの評価から除外されています。
- 一部モデルで有効な出力が得られなかったこと:Hy4 previewは有効なJSONを返さない応答が多く集計から除外され、GPT-6 Lunaもチェッカー評価98件中1件で判定が出力されず除外されています。
これらの前提を踏まえると、Webデータ抽出の実務において「推測せず、値がなければnullを返す」という一文をプロンプトやフィールド定義に含めることは、追加の費用をかけずに大量のエラーを抑制できる有効な条件設定です。
しかし、指示を与えた後であっても約20%の項目で捏造が発生しており、プロンプトの指定だけでリスクをゼロにすることはできません。また、特化型のスクレイピングAPIであっても、内部でデコイ情報を拾い上げる挙動が確認されています。データの正確性が求められる用途では、抽出結果を鵜呑みにせず、安価な軽量モデルを用いた裏付け照合をパイプラインに組み込む設計が有効な選択肢となります。
あわせて読みたい関連記事
おすすめ AI生成物の丸写しを避け、自分の判断と信頼を残すための実務運用
Web抽出におけるAIの捏造を抑えるプロンプト検証に続き、実際の出力結果をどのように確認して実務に組み込むかという運用面の理解を深められるため。
PR(当サイト運営者のサービス)





コメント