メインコンテンツへスキップ
       

AIエージェントで法務省の司法試験ページを読むときの障壁―403拒否,二重のリンク,PDFの表の崩れ及び確認手順(AI作成)

第1 この記事の対象と確認の方法

1 対象

(1) なぜ法務省の司法試験ページを取り上げるのか

司法試験及び予備試験の日程,合格者数,出題の趣旨及び採点実感は,法務省HPで公表されている。
これらの資料をAIエージェント(ウェブページの取得,PDFの読取り及び要約を自動で行うAI)に調べさせると,「ページを開けない」「資料が見つからない」「数字を取り違える」という失敗が起きやすい。
本記事は,法務省HPの司法試験のページを例に,どこでどのような失敗が起きるかを実際に確かめ,AIに資料を読ませるときの確認手順をまとめる。

(2) この記事で扱わないこと

本記事は,公開されている資料を正しく読むための確認手順を扱うものであり,サイト側の取得制限をすり抜ける方法は扱わない。
AIによる取得をサイト運営者が拒否する仕組みとその法的な位置付けは,robots.txtで生成AI学習・AI要約を拒否できるかで扱っている。

2 確認の方法と確認日

令和8年9月26日に,法務省HPの司法試験の入口ページ,その下の7ページ,令和8年の結果・短答式試験・試験問題の各ページ及び予備試験の年度一覧のページを取得し,令和8年の受験状況・短答式試験結果・試験問題等のPDF8本を読み取った。
ページの取得は,取得するプログラムが名乗る名前(User-Agent)を変えて繰り返した。
PDFは,文字を順に取り出す方法と,文字の座標から行を組み直す方法の両方で読み,頁の画像と照合した。
法務省HPの設定は予告なく変わることがあるので,以下の結果は同日時点のものである。

第2 入口で起きる拒否

1 プログラムの名乗りによって結果が変わる

(1) 同じページでも拒否されることがある

法務省HPは,Amazonの配信網(CloudFront)を通して配信されている。
同じ司法試験の入口ページを,名乗りだけを変えて取得したところ,結果は次のとおりであった。
PDFも同じ扱いであり,curlの名乗りでは受験状況のPDFも拒否された。

名乗りの例主な使い手結果
curl,Wgetコマンドでの取得拒否(403)
python-requests,axios,Go-http-clientPython・JavaScript・Goで書いたプログラムの既定の名乗り拒否(403)
HeadlessChrome画面を表示しないブラウザの既定の名乗り拒否(403)
GPTBot,ChatGPT-UserOpenAIの取得用の名乗り拒否(403)
OAI-SearchBot,ClaudeBot,Claude-User,Googlebot検索又はAIサービスの取得用の名乗り取得できた(200)
通常のChrome人が使うブラウザ取得できた(200)

(2) 同じ事業者でも名乗りによって扱いが違う

この結果からは,拒否が「AIかどうか」で一律に決まっているのではなく,個別の名乗りごとに決まっていることが分かる。
例えば,OpenAIの名乗りでも,ChatGPT-Userは拒否され,OAI-SearchBotは取得できた。
このため,あるAIサービスでは法務省HPを読めたのに,別のサービスでは読めないということが起きる。
ただし,これは確認日時点の結果であり,どの名乗りを拒否するかはサイト側でいつでも変えられる。

2 拒否の画面は障害のように見える

拒否されたときに返ってくるのは,ステータスコード403と,「The request could not be satisfied.」で始まる英語の汎用の画面である。
この画面には,「too much traffic or a configuration error」(アクセスの集中又は設定の誤り)という説明がある。
そのため,AIエージェントは「一時的な障害」と判断して同じ取得を繰り返したり,「サイトが停止している」と報告したりしやすい。
同じ時刻に通常のブラウザで開けるかを確かめれば,障害ではなく取得の拒否であることが分かる。

3 robots.txtの記載と実際の拒否は一致しない

法務省HPのrobots.txtには,冒頭に「Block all crawlers except AdsBot.」(AdsBot以外の全てのクローラーを拒否する)というコメントがある。
しかし,実際の指定は,全てのクローラーに対して一つの階層(/isa/kouji/kouji2/)の取得を禁じているだけであり,司法試験のページは禁止されていない。
コメントは機械が読む指定ではないが,AIエージェントがコメントを読んで「取得禁止のサイト」と判断し,調査をやめてしまうことがある。
他方で,robots.txtが禁止していないページでも,第2の1のとおり配信網の側で拒否されることがある。
robots.txtの記載だけでは,実際に取得できるかどうかは分からない。

4 拒否されたときの対応

名乗りを通常のブラウザに偽って取得し直せば,技術的には取得できることが多い。
しかし,サイト側が特定の名乗りを拒否しているのは,自動取得による負荷その他の理由から意図して設定しているものと考えられる。
資料を確認する目的であれば,人がブラウザで開いて確かめるか,ブラウザを操作する機能を持つAIエージェントを使い,必要なページだけを間隔を空けて開くのが穏当である。

第3 目的の資料にたどり着けない原因

1 本文よりもメニューが多い

(1) 入口ページのリンクの内訳

司法試験の入口ページには,203本のリンクがあるが,司法試験に関する本文のリンクは7本だけであり,残りは法務省HP全体のメニューである。
その下の各ページにも,60本から80本前後の共通のメニューが付いている。

(2) 要約型の取得ツールへの影響

ページを要約してから答える型の取得ツールは,本文よりも量の多いメニューの文字列に引っ張られ,関係のない項目を答えに混ぜることがある。
本文の範囲だけを読むように指示するか,本文のリンクだけを一覧にさせてから次に進むと,この混入を減らせる。

2 URLから中身が分からない

年度別のページのURLは,令和8年の結果が「jinji08_00290」,令和9年の実施が「jinji08_00297」のような番号であり,年度から推測できない。
PDFも「001468124.pdf」のような番号だけのファイル名である。
そのため,令和8年の短答式試験の結果のPDFに着くには,入口,「司法試験の結果について」,「令和8年司法試験の結果について」,「令和8年司法試験短答式試験結果」の順に4段階をたどる必要がある。
AIエージェントにURLを推測させると,存在しないページや別の年度のページを開くことがある。
年度別ページの所在は,法務省HPの司法試験・予備試験の資料の所在で一覧にしている。

3 リンクの文字が短く,見出しを読まないと中身が分からない

令和8年の短答式試験結果のページには「憲法」「民法」「刑法」という文字のリンクがあり,令和8年の試験問題のページにも同じ文字のリンクがある。
前者は各科目の正答及び配点,後者は各科目の短答式試験の問題であり,リンクの文字だけでは区別できない。
AIエージェントにリンクの一覧を作らせるときは,そのリンクがどの見出しの下にあるかも一緒に書き出させる必要がある。

4 予備試験の年度一覧のリンクが二重になっている

(1) 二重のリンクの形

「司法試験予備試験の実施について」及び「司法試験予備試験の結果について」のページでは,年度ごとのリンクが,リンク先に「$a.url」という文字列を持つ外側のリンクの中に,本来のリンクを入れた二重の形になっている。
同じ形のリンクは,司法試験の「その他(在学中受験資格に関するQ&Aを含む)」のページにもある。
「$a.url」は,ページを作るシステムの差込み用の文字列がそのまま残ったものと考えられる。

(2) ブラウザとプログラムでの違い

ブラウザは,リンクの中にリンクがある書き方を受け付けず,外側のリンクを閉じてから内側のリンクを作るので,年度をクリックすれば本来のページが開く。
これに対し,ページの文字列からリンク先を取り出す単純なプログラムは,外側の「$a.url」をリンク先として拾い,存在しないページ(404)を開こうとする。
AIエージェントが「予備試験の年度別ページへのリンクが壊れている」と報告したときは,内側のリンク先を確かめる必要がある。

5 最終更新日で新旧を判断できない

司法試験の入口ページの最終更新日時は,確認日の時点で令和7年6月22日(日本時間)のままであった。
これに対し,その下の「司法試験の実施について」のページは令和8年8月7日(日本時間)に更新されており,令和9年の実施日程が追加されている。
入口ページの更新日時だけを見たAIエージェントは,「最近の更新はない」と誤って判断しかねない。

6 検索ツールの要約をそのまま信じない

法務省HPには,論文式試験問題・出題趣旨という題名のページがある。
確認に用いたウェブ検索ツールの要約は,このページを「令和8年から過去の年度まで」の論文式試験の資料をまとめたページと説明していた。
しかし,実際のページは,旧司法試験(司法試験第二次試験)の平成14年度から平成22年度までの問題と出題趣旨を掲載したものであった。
検索ツールの要約は,題名から中身を推し量って書かれることがあるので,ページを開いて掲載範囲を確かめる必要がある。

第4 PDFの表で起きる読み違い

1 文字を順に取り出すと項目と数字の対応が崩れる

(1) 令和8年司法試験の受験状況のPDF

令和8年司法試験受験状況は,文字データを持つPDFであり,スキャンした画像ではない。
それでも,文字を順に取り出すと,「出願者」「受験予定者」「欠席者」等の項目名が先にまとめて並び,数字はその後に別の順序で並ぶ。
数字の先頭は採点対象者の「3,822」と前年の「3,815」であり,出願者の「4,069」はその後に出てくる。
項目名と数字を上から順に対応させると,「出願者3,822人(前年3,815人)」という,もっともらしい誤りになる。

(2) 選択科目別の人数でも同じことが起きる

同じPDFの選択科目別の欄では,倒産法,租税法及び経済法の次に,知的財産法の人数(450人)ではなく,試験地別の欄の北海道地方の人数(95人)が出てくる。
順に対応させると,知的財産法の受験者を95人と誤る。
紙面の上では二つの欄は上下に離れているが,PDFの内部では文字の並び順が紙面の順序と一致していないためである。

(3) 座標で組み直すと正しく読める

文字ごとの座標(紙面上の位置)を使い,同じ高さにある文字を一行にまとめ直すと,「出願者 4,069人(前年 4,074人)」のように,紙面と同じ対応で読めた。
組み直した結果は頁の画像と一致し,選択科目別の人数の合計と試験地別の人数の合計は,いずれも採点対象者数の3,822人と一致した。
合計の検算は,読み違いを見つける簡単な方法である。

2 横に並んだ表が混ざる

令和8年短答式試験の科目別得点のPDFは,憲法,民法及び刑法の3つの得点別人員の表を横に並べた作りである。
文字を順に取り出すと,3つの表の同じ行の数字が交互に並び,どの数字がどの科目のものかが分からなくなる。
このようなPDFでは,表の見出しと列の位置を座標で確かめてから数字を読む必要がある。

3 字間の空白で検索が外れる

受験状況のPDFでは,「出 願 者」「東 北 地 方」のように,文字の間に空白が入っている。
AIエージェントが「出願者」や「東北地方」という語でPDFの中を探すと,該当箇所が見つからない。
空白を除いた文字列で探すか,前後の数字の並びで位置を確かめる必要がある。

4 取得ツールが正常なPDFを「破損」と答える

Claude Codeに付属するウェブ取得ツール(WebFetch)に受験状況のPDFを読ませたところ,「PDFファイルは破損しており」と答え,数字を返さなかった。
実際には,同じPDFは正常に開け,文字データも入っていた。
取得ツールが「破損」「取得できない」と答えたときは,それを資料の状態として報告させず,PDFを保存して別の方法で開き直す必要がある。

5 スキャンした画像のPDFではなかったこと

確認した8本のPDFは,いずれも文字データを持っており,スキャンした画像だけのPDFはなかった。
部首用の特殊な文字コードが混じって漢字が化ける現象も見られなかった。
障壁は文字が読めないことではなく,読めた文字の並び順が紙面と一致しないことにある。
スキャンした画像のPDFの表をAIに読ませる方法は,スキャンPDF・文字データのあるPDFの表をAIに正確に読み取らせる方法で扱っている。

第5 公表の時期とPDFの差替えによる誤り

1 段階的に公表されるので「未公表」と「無い」を取り違える

令和8年司法試験の結果のページには,確認日の時点で,受験予定者数,受験状況,短答式試験の結果,実施状況及び試験問題だけが掲載されていた。
令和8年司法試験の実施日程等についてによれば,合格発表は令和8年11月11日であり,最終の合格者数等はその時点では未公表であった。
この状態でAIエージェントに「令和8年の合格者数」を尋ねると,「公表されていない」と答えるか,前年の数字を令和8年の数字と取り違えるかのどちらかになりやすい。
資料が見つからないときは,公表予定日を確かめてから「未公表」と書かせる必要がある。

2 PDFは更新すると番号が変わる

法務省HPのPDFは,内容を更新すると新しい番号で掲載し直されることがある。
令和8年予備試験の試験会場のPDFは,令和8年8月31日の更新後は「001469583.pdf」であり,更新前の「001465664.pdf」は確認日の時点で開けなかった(404)。
AIエージェントが過去に記録したPDFのURLを使うと,存在しないページを開いて「資料が削除された」と報告することがある。
PDFのURLが開けないときは,そのPDFが掲載されていた年度別ページを開き直して,新しい番号を確かめる必要がある。

第6 AIエージェントに法務省の資料を読ませるときの確認手順

1 取得の段階

(1) 拒否と障害を見分ける

①ステータスコード403と英語の汎用画面が返ったら,同じ時刻に通常のブラウザで開けるかを確かめる。
②開ければ取得の拒否であり,名乗りを偽って取り直すのではなく,ブラウザを操作する方法で必要なページだけを開く。
③robots.txtのコメントだけで取得の可否を判断しない。

(2) 資料の所在を確かめる

④URLを推測させず,入口から年度別ページをたどらせるか,所在を一覧にした資料から開かせる。
⑤リンクの一覧には,リンクの文字だけでなく,そのリンクがある見出しも書き出させる。
⑥リンク先が「$a.url」になっていたら,内側のリンク先を確かめる。
⑦検索ツールの要約で見つけたページは,開いて題名と掲載範囲を確かめる。

2 読取りと報告の段階

(1) PDFの数字を確かめる

⑧PDFは保存してから開き,取得ツールの「破損」「取得できない」という答えをそのまま報告させない。
⑨表の数字は,文字の座標で行を組み直して読み,頁の画像と照合する。
⑩合計が分かる表では,内訳の合計が合計欄と一致するかを検算する。

(2) 時点を確かめる

⑪資料が見つからないときは,公表予定日を確かめてから「未公表」と書かせる。
⑫PDFのURLが開けないときは,掲載元の年度別ページを開き直して新しい番号を確かめる。
⑬報告には,確認した日時と,確認したページ又はPDFのURLを書かせる。

第7 関連記事

AIに資料を読ませるときの確認については,次の記事で扱っている。
①スキャンPDF・文字データのあるPDFの表をAIに正確に読み取らせる方法
②robots.txtで生成AI学習・AI要約を拒否できるか――技術的効果と著作権法上の限界
③AIが参照しやすい司法情報アーカイブとしての山中弁護士ブログ―機械可読性と一次資料確認の限界
④法律事務所のAIエージェント業務設計-目的・コンテキスト・権限・完了条件をどう分けるか
⑤山中弁護士がAI作成又はAIリライトの記事を投稿するときに行っているハルシネーション防止方法

司法試験の資料そのものについては,法務省HPの司法試験・予備試験の資料の所在―年度別の実施・結果・出題趣旨・採点実感のページ一覧及び司法試験とは―受験資格,5年間の受験期間,試験科目,合格判定及び合格後の流れで扱っている。

第8 出典

1 法務省HPのページ

①法務省「司法試験」
②法務省「司法試験の実施について」
③法務省「令和8年司法試験の結果について」
④法務省「令和8年司法試験短答式試験結果」
⑤法務省「令和8年司法試験問題」
⑥法務省「司法試験予備試験の実施について」
⑦法務省「司法試験予備試験の結果について」
⑧法務省「その他(在学中受験資格に関するQ&Aを含む)」
⑨法務省「論文式試験問題・出題趣旨」
⑩法務省HPのrobots.txt

2 法務省・司法試験委員会の公表資料(PDF)

①令和8年司法試験受験状況
②令和8年司法試験短答式試験の科目別得点
③令和8年司法試験の実施日程等について(令和7年11月11日司法試験委員会決定)
④令和8年司法試験予備試験の試験会場(令和8年8月31日更新)