この記事は jiban-bench v1.0.0 に対応します(DOI 10.5281/zenodo.21847240)。
AI実務到達度インデックス

jiban-bench — 地盤の液状化判定

柱状図は納品される。N値も Fc も数値で残る。だが「この層は判定対象か」「FL はいくつか」は報告書のPDFに書かれて終わりで、入力から答えを再現して突き合わせる工程が無い。

2026-08-05 着手v1.0.0 出典:国土地盤情報検索サイト(KuniJiban)

何を測ったか

国交省直轄事業の実測ボーリングデータから、道路橋示方書 V 耐震設計編(平成29年11月)に従って 液状化判定(FL・PL)を通させる。試験問題に答えさせるのではなく、実務の成果物を作らせる。

入力KuniJiban の柱状図・土質試験結果国交省直轄事業の実測値
手順道路橋示方書 V(H29.11)日本道路協会
参照解上を機械的に通した結果こちらは何も決めていない

kanzei-bench で「参照解を自分で書かない」に到達したが、通関は参照解が外部にあっただけだった。 地盤は入力も手順も外部にある。

しかも入力の噛み合わせがきれいだった。液状化判定は N値と細粒分含有率 Fc の両方が要る。 Fc の試料は標準貫入試験のサンプラーから採るので、採取深度が SPT の深度と1対1で一致する

制度的な空席 — 判断そのものが検査されていない

doboku-bench は「幾何が数量の源だと制度が言いながら、その幾何を誰も検査していない」を見つけた。 地盤はもっと素朴で、判断が人の頭の中にあって検査されていない

そして FL は基礎形式と液状化対策工の要否を決める。金額が動く

参照解が静かに壊れる場所 — 平成24年版と平成29年版

着手時、記憶にあった式は平成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。

腕は4本

armA知識なし示方書の式を渡さない
armB知識のみ式を渡す
armC知識+コード実行
armD知識+実行+検査器参照解を見ず式どうしの噛み合いだけ検査する道具を持つ

各腕は参照解を置いていない隔離ディレクトリ(XML 2本と task.json だけ)で作業し、 作業ディレクトリ外の読み取りと WebSearch を禁じた。

T001 — 落ちたのは判断ではなく記憶

提出対象層応力補正N強度比判定/PL合計
armA 知識なし20/2015/1517.8/2011.7/306.0/1570.4
armB 知識のみ20/2015/1520/2030/3015/15100.0
armC +コード実行20/2015/1520/2030/3015/15100.0
armD +検査器20/2015/1520/2030/3015/15100.0

armA は判定対象土層の選定と応力を満点で通した。20点すべての対象/対象外を参照解と同じに判定し、 σv・σv' も全て合わせている。落ちたのは式のほうだった。

armA が使った式正(H29版)
cW1.0(レベル2タイプII なのに)3.3 RL + 0.67
RL (Na<14)0.0882√(Na/1.7)0.0882√((0.85Na+2.1)/1.7)
NacFC · N1cFC(N1+2.47) − 2.47
cFC の分岐点10≦FC<60%10≦FC<40%
同じ穴に落ちた こちらが記憶から書きかけた間違いを、腕も踏んだ

RL・Na・cFC の3つは平成24年版の形である。参照解を一次資料まで遡って取っていなければ、 armA と同じ答えが満点になっていた。

25.6参照解の PL(岩崎らの区分で「極めて高い」)
30.16armA の PL。安全側に外しているので事故にはならないが、対策工が過大になる

B で飽和した。だから課題を6倍にした

B・C・D が揃って満点で、腕が分離していない。式を渡した時点で終わっており、 コード実行も検査器も差を生んでいない。T001 は対象土層が6点しかなく、手計算で完走できてしまう。 現状の T001 が測れているのは「知識を渡すかどうか」の1軸だけである。

見立てが外れた Fc の点数と、判定対象点の数は別物だった

「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 で落ちたのがまさにそこだった。

第1回は採点しなかった — 腕が参照解の誤りを4件見つけた

較正も敵対テスト(12/12)も通ったうえで、armB・armC・armD が揃って参照解の側の誤りを指摘してきた。 全て検証して事実だった。

#誤り見つけた腕影響
1FC の取りこぼし。粒度 要素に値が入っている試料があり、その他/項目名 だけ見ていると拾えないB・C・D対象点 36 → 52
2D50・D10 は存在した。task.json に「本データに無い」と書いていたA・C条件3を実装
3PL を孔底より下へ外挿していたC・DPL 27.965 → 11.756
4validate.py が多ケース形式を受け付けないDarmD が回避策を自作
3 が最も重い PL の 60% が、ボーリングしていない深さから出ていた

780312 は孔長 10.63m しかないのに、最深点の小層を 20m まで伸ばしていた。

9.43-10.43m FL=0.327 寄与= 3.390
10.43-20.00m FL=0.262 寄与=16.908 ← 孔底より深い

1 の背景 1ファイルだけ見て一般化していた

以前このベンチの説明に「構造化要素はスキーマ上あるが実データは空」と書いていたが、 1ファイル(355856)だけ見て一般化した誤りだった。 較正も敵対テストも「参照解を真とする前提」の上に立つので、参照解自体が間違っていると素通りする。 規則を7項目に明示して第2回を回した。第1回の答案は捨てずに残してある。

点数では分離せず、コストで分離した

提出合計tok時間tok/対象点倍率
armA 知識なし72.2206k14分42秒39612.3×
armB 知識のみ100.0228k15分27秒43922.6×
armC +コード実行100.089k7分25秒17051.0×
armD +検査器100.092k6分47秒17641.0×

課題を6倍にしても B・C・D は分離しなかった。対象点を 6→52、ケースを 1→8 にしたが、 点数上は何も変わっていない。3本が 100.0 点で並んだ時点で、点数はもう軸を映していない。

満点が2本以上並んだのに単価が1.2倍以上開いていると、採点器が自分でそう言う。 点数だけ見て「AIは満点」で終わらせないためのもの。

単価の差は仕事量とともに開く

T001 点tok/点T002 点tok/点tok伸び
armA 知識なし70.41172572.239612.9×
armB 知識のみ100.011506100.043923.3×
armC +コード実行100.08420100.017051.8×
armD +検査器100.07979100.017641.9×
1.37×T001(対象6点)での armB / armC の単価比
2.6×T002(対象52点)での同じ比。仕事量が 8.7倍になると開く

小さい課題ではコード実行はほとんど効かない。仕事量が増えるほど効く。 1件だけ試して「大して変わらない」と結論すると読み違える。

つまりこの業種でコード実行が買っているのは正確さではなく単価である。点数で測る限りこの差は永久に見えない。 実務への言い換えも「精度が上がる」ではなく「同じ精度を何分の一の単価で出せるか」になる。

n=3 — 分離は run 間のばらつきでは説明できない

点数が飽和してコストが軸になった以上、そのコストが走らせるたびに変わる量でないことを確かめる必要がある。 armB と armC を T002 で3回ずつ走らせた。6本とも 100/100、PL は 0.002% 以内で一致。

run1run2run3平均SDCV
armB 知識のみ230,707225,229243,547233,1619,4024.0%
armC +コード実行115,948104,220111,282110,4835,9055.3%
15.6×両腕の差 122,678 は、合併SD 7,851 の 15.6倍。2.11倍という分離は分散では説明できない
15.7 対 26.0ツール呼出の平均。armB は呼出が少ないのにトークンは倍。コード実行が置き換えているのは文脈内の計算そのものだと分かる

サブエージェント禁止を明示したので、kanzei でばらつきに乗った内部並列度の交絡はこの走行には無い。 各 run は専用ディレクトリで、参照解の混入0を事前検証している。

間違え方すら安定していない

armA の失点は係数に完全に集中している。判定対象土層の選定と応力は52点すべて満点で、 8ケース・226点のスクリーニングを完璧にこなしている。落ちたのは係数だけ。 しかも間違え方が回によって違う

cFCT002 第1回T002 第2回正(H29)
10≦FC<40(FC+20)/301.0(FC<40)(FC+20)/30
40≦FCFC/20−1(FC≧60)(FC+20)/60(FC−16)/12

第1回は平成24年版の形だったが、第2回はどちらの版とも違う分岐を出してきた。 Na = cFC·N1RL = 0.0882√(Na/1.7) は両回とも共通で誤り。

実害の向きも見えた。armA は2点で「液状化しない」を「液状化する」と判定している(FL の過小評価)。 安全側の誤りなので事故にはならないが、要らない対策工に金が出る。

全腕が同じ所で判断を保留した

4腕とも、規則に書かれていない箇所を自分で見つけて明示的に申し送ってきた。ここは腕の差ではない。

armD は指示していない独立検算まで自発的に行い、σv を1mm刻みの離散和で、 PL を40万分割の数値積分で再計算して不一致0件を確認してから提出してきた。

データの実態と、まだ使っていない第2の軸

全国(bbox=46,128,30,146)本数
土質試験結果あり50,520
細粒分含有率 Fc185
液状化強度比 RL20345
土粒子の密度36

Fc が 185本しか無いのは、電子納品要領の構造化要素が実データでは空のことが多く、値が自由記述側に入っているため。 185本 × 各10〜23試料で、深度点としては2,000点超になる。取得した10本のうち9本が FL 計算可能だった。

副産物 推定と実測が同じ孔に並んでいる

液状化強度比 RL20 は室内の繰返し非排水三軸試験による実測値である。 示方書の簡易法は RL を N値と Fc から推定する。345本にはその両方が入っている。 つまり「示方書の推定式が実測をどれだけ当てているか」を、こちらが何も作らずに測れる。 本ベンチの第2の軸になる。まだ着手していない。

現在地と、残している弱点

[x]参照解 KuniJiban の実測ボーリング+土質試験、示方書 H29 の式(出典は全て SOURCES.md)
[x]較正(手計算と11量すべて一致)・敵対テスト 12/12
[x]T001(対象6点)・T002(8ケース・SPT226点・対象52点)を4腕で実走
[x]コストを採点系の正式な出力に格上げ(点数が飽和したため)
[ ]判定対象土層の条件3(D50・D10)は検査できていない
[ ]条件2の救済(FC>35% でも Ip≦15 なら対象)は Ip が無いため適用できない
[ ]FC ≧ 40% の枝は、このデータでは原理的に到達不能。条件2で先に落ちる
[ ]岩盤の除外は工学的地質区分の記号で行っており、示方書の条件そのものではない
[ ]礫質土の枝(D50≧2mm)は未実装

いずれもデータ側の欠落であって式の解釈の揺れではない。該当点は対象外として理由付きで落ちる。 液状化判定そのものを LLM に解かせたベンチマークは、調査した範囲では見つからなかった(2026-08 時点)。 日本の制度・基準に固有であることが、そのまま空席の理由になっている。