jiban-bench v1.0.0 に対応します(DOI 10.5281/zenodo.21847240)。柱状図は納品される。N値も Fc も数値で残る。だが「この層は判定対象か」「FL はいくつか」は報告書のPDFに書かれて終わりで、入力から答えを再現して突き合わせる工程が無い。
国交省直轄事業の実測ボーリングデータから、道路橋示方書 V 耐震設計編(平成29年11月)に従って 液状化判定(FL・PL)を通させる。試験問題に答えさせるのではなく、実務の成果物を作らせる。
kanzei-bench で「参照解を自分で書かない」に到達したが、通関は参照解が外部にあっただけだった。 地盤は入力も手順も外部にある。
しかも入力の噛み合わせがきれいだった。液状化判定は N値と細粒分含有率 Fc の両方が要る。 Fc の試料は標準貫入試験のサンプラーから採るので、採取深度が SPT の深度と1対1で一致する。
doboku-bench は「幾何が数量の源だと制度が言いながら、その幾何を誰も検査していない」を見つけた。 地盤はもっと素朴で、判断が人の頭の中にあって検査されていない。
そして FL は基礎形式と液状化対策工の要否を決める。金額が動く。
着手時、記憶にあった式は平成24年版だった。そのまま書いていれば、較正も敵対テストも 「参照解を真とする前提」の上に立っているので素通りしていた。
| 平成24年版 | 平成29年版(本ベンチ) | |
|---|---|---|
| 補正N値 | Na = c1·N1 + c2(係数2つ) | Na = cFC(N1+2.47) − 2.47(係数1つ) |
| RL (Na<14) | 0.0882√(Na/1.7) | 0.0882√((0.85Na+2.1)/1.7) |
改訂の根拠である土木研究所資料 第4352号まで遡って式(3.6)(3.7)(3.8)を取った。 KuniJiban を運営しているのと同じ土木研究所である。
ボーリングデータから導けない値は、参照解に決めさせずタスクの与件として明示する。
| 与件 | なぜ与件か |
|---|---|
| 地下水位 | 孔内水位は複数回測られ、値が割れる(T001 は 3.40 / 1.46 / 4.13 / 3.41 m)。設計水位の選定は一意でない |
| 単位体積重量 γt | 本データに測定値が無い。実務では試験値か示方書の一般値 |
| khgL | 地域区分と地盤種別の判定を経るので、示方書の表を参照解に取り込むことになる。分離した |
これで参照解は「与件 + 示方書の式」だけで決まる。こちらの裁量はゼロになる。 較正は関数を一切呼ばずリテラルの四則演算だけで手計算と突き合わせ、11量すべて差 0。敵対テスト 12/12。
各腕は参照解を置いていない隔離ディレクトリ(XML 2本と task.json だけ)で作業し、 作業ディレクトリ外の読み取りと WebSearch を禁じた。
| 提出 | 対象層 | 応力 | 補正N | 強度比 | 判定/PL | 合計 |
|---|---|---|---|---|---|---|
| armA 知識なし | 20/20 | 15/15 | 17.8/20 | 11.7/30 | 6.0/15 | 70.4 |
| armB 知識のみ | 20/20 | 15/15 | 20/20 | 30/30 | 15/15 | 100.0 |
| armC +コード実行 | 20/20 | 15/15 | 20/20 | 30/30 | 15/15 | 100.0 |
| armD +検査器 | 20/20 | 15/15 | 20/20 | 30/30 | 15/15 | 100.0 |
armA は判定対象土層の選定と応力を満点で通した。20点すべての対象/対象外を参照解と同じに判定し、 σv・σv' も全て合わせている。落ちたのは式のほうだった。
| armA が使った式 | 正(H29版) | |
|---|---|---|
| cW | 1.0(レベル2タイプII なのに) | 3.3 RL + 0.67 |
| RL (Na<14) | 0.0882√(Na/1.7) | 0.0882√((0.85Na+2.1)/1.7) |
| Na | cFC · N1 | cFC(N1+2.47) − 2.47 |
| cFC の分岐点 | 10≦FC<60% | 10≦FC<40% |
RL・Na・cFC の3つは平成24年版の形である。参照解を一次資料まで遡って取っていなければ、 armA と同じ答えが満点になっていた。
B・C・D が揃って満点で、腕が分離していない。式を渡した時点で終わっており、 コード実行も検査器も差を生んでいない。T001 は対象土層が6点しかなく、手計算で完走できてしまう。 現状の T001 が測れているのは「知識を渡すかどうか」の1軸だけである。
「Fc が22〜23点ある気象大学校の孔を使えば4倍重くなる」と見立てたが、データに当たったら外れていた。 値が 42〜97% と高く、判定対象土層の条件2(FC ≦ 35%)でほとんど落ちるので対象点は3〜4点しか残らない。 関東ロームとシルトの堆積地なので当然だった。corpus 10孔を実測して、1孔あたりの対象点は最大6点が上限と分かった。
1孔6点が上限なら、孔を増やすか地震動ケースを増やすしかない。両方やった。 4孔 × 2地震動 = 8ケース、SPT 226点。同じ孔を2つの地震動で解かせるので、 cW の場合分けを外すと片方だけ壊れる——armA が T001 で落ちたのがまさにそこだった。
較正も敵対テスト(12/12)も通ったうえで、armB・armC・armD が揃って参照解の側の誤りを指摘してきた。 全て検証して事実だった。
| # | 誤り | 見つけた腕 | 影響 |
|---|---|---|---|
| 1 | FC の取りこぼし。粒度 要素に値が入っている試料があり、その他/項目名 だけ見ていると拾えない | B・C・D | 対象点 36 → 52 |
| 2 | D50・D10 は存在した。task.json に「本データに無い」と書いていた | A・C | 条件3を実装 |
| 3 | PL を孔底より下へ外挿していた | C・D | PL 27.965 → 11.756 |
| 4 | validate.py が多ケース形式を受け付けない | D | armD が回避策を自作 |
780312 は孔長 10.63m しかないのに、最深点の小層を 20m まで伸ばしていた。
9.43-10.43m FL=0.327 寄与= 3.390
10.43-20.00m FL=0.262 寄与=16.908 ← 孔底より深い
以前このベンチの説明に「構造化要素はスキーマ上あるが実データは空」と書いていたが、 1ファイル(355856)だけ見て一般化した誤りだった。 較正も敵対テストも「参照解を真とする前提」の上に立つので、参照解自体が間違っていると素通りする。 規則を7項目に明示して第2回を回した。第1回の答案は捨てずに残してある。
| 提出 | 合計 | tok | 時間 | tok/対象点 | 倍率 |
|---|---|---|---|---|---|
| armA 知識なし | 72.2 | 206k | 14分42秒 | 3961 | 2.3× |
| armB 知識のみ | 100.0 | 228k | 15分27秒 | 4392 | 2.6× |
| armC +コード実行 | 100.0 | 89k | 7分25秒 | 1705 | 1.0× |
| armD +検査器 | 100.0 | 92k | 6分47秒 | 1764 | 1.0× |
課題を6倍にしても B・C・D は分離しなかった。対象点を 6→52、ケースを 1→8 にしたが、 点数上は何も変わっていない。3本が 100.0 点で並んだ時点で、点数はもう軸を映していない。
満点が2本以上並んだのに単価が1.2倍以上開いていると、採点器が自分でそう言う。 点数だけ見て「AIは満点」で終わらせないためのもの。
| 腕 | T001 点 | tok/点 | T002 点 | tok/点 | tok伸び |
|---|---|---|---|---|---|
| armA 知識なし | 70.4 | 11725 | 72.2 | 3961 | 2.9× |
| armB 知識のみ | 100.0 | 11506 | 100.0 | 4392 | 3.3× |
| armC +コード実行 | 100.0 | 8420 | 100.0 | 1705 | 1.8× |
| armD +検査器 | 100.0 | 7979 | 100.0 | 1764 | 1.9× |
小さい課題ではコード実行はほとんど効かない。仕事量が増えるほど効く。 1件だけ試して「大して変わらない」と結論すると読み違える。
つまりこの業種でコード実行が買っているのは正確さではなく単価である。点数で測る限りこの差は永久に見えない。 実務への言い換えも「精度が上がる」ではなく「同じ精度を何分の一の単価で出せるか」になる。
点数が飽和してコストが軸になった以上、そのコストが走らせるたびに変わる量でないことを確かめる必要がある。 armB と armC を T002 で3回ずつ走らせた。6本とも 100/100、PL は 0.002% 以内で一致。
| 腕 | run1 | run2 | run3 | 平均 | SD | CV |
|---|---|---|---|---|---|---|
| armB 知識のみ | 230,707 | 225,229 | 243,547 | 233,161 | 9,402 | 4.0% |
| armC +コード実行 | 115,948 | 104,220 | 111,282 | 110,483 | 5,905 | 5.3% |
サブエージェント禁止を明示したので、kanzei でばらつきに乗った内部並列度の交絡はこの走行には無い。 各 run は専用ディレクトリで、参照解の混入0を事前検証している。
armA の失点は係数に完全に集中している。判定対象土層の選定と応力は52点すべて満点で、 8ケース・226点のスクリーニングを完璧にこなしている。落ちたのは係数だけ。 しかも間違え方が回によって違う。
| cFC | T002 第1回 | T002 第2回 | 正(H29) |
|---|---|---|---|
| 10≦FC<40 | (FC+20)/30 | 1.0(FC<40) | (FC+20)/30 |
| 40≦FC | FC/20−1(FC≧60) | (FC+20)/60 | (FC−16)/12 |
第1回は平成24年版の形だったが、第2回はどちらの版とも違う分岐を出してきた。
Na = cFC·N1 と RL = 0.0882√(Na/1.7) は両回とも共通で誤り。
実害の向きも見えた。armA は2点で「液状化しない」を「液状化する」と判定している(FL の過小評価)。 安全側の誤りなので事故にはならないが、要らない対策工に金が出る。
4腕とも、規則に書かれていない箇所を自分で見つけて明示的に申し送ってきた。ここは腕の差ではない。
Na=58.9 で (Na−14)^4.5 項が効き RL=44.06 という非物理的な値になる。示方書に上限の規定が無いため字義どおり計算した、と4腕とも注記armD は指示していない独立検算まで自発的に行い、σv を1mm刻みの離散和で、 PL を40万分割の数値積分で再計算して不一致0件を確認してから提出してきた。
| 全国(bbox=46,128,30,146) | 本数 |
|---|---|
| 土質試験結果あり | 50,520 |
| 細粒分含有率 Fc | 185 |
| 液状化強度比 RL20 | 345 |
| 土粒子の密度 | 36 |
Fc が 185本しか無いのは、電子納品要領の構造化要素が実データでは空のことが多く、値が自由記述側に入っているため。 185本 × 各10〜23試料で、深度点としては2,000点超になる。取得した10本のうち9本が FL 計算可能だった。
液状化強度比 RL20 は室内の繰返し非排水三軸試験による実測値である。
示方書の簡易法は RL を N値と Fc から推定する。345本にはその両方が入っている。
つまり「示方書の推定式が実測をどれだけ当てているか」を、こちらが何も作らずに測れる。
本ベンチの第2の軸になる。まだ着手していない。
FC ≧ 40% の枝は、このデータでは原理的に到達不能。条件2で先に落ちるいずれもデータ側の欠落であって式の解釈の揺れではない。該当点は対象外として理由付きで落ちる。 液状化判定そのものを LLM に解かせたベンチマークは、調査した範囲では見つからなかった(2026-08 時点)。 日本の制度・基準に固有であることが、そのまま空席の理由になっている。