建築基準法203問 — 条文を渡すと、モデルは何割正しいか
2026-11-01 ・ 20問の実際の質問と回答つき
建築の実務でLLMを使うとき、怖いのは「間違えること」より「自信満々に間違えること」です。容積率を1つ読み違えれば、その後の設計も確認申請も全部やり直しになります。
そこで、正解をモデルに書かせないベンチマークを作りました。正解はe-Gov 法令API の条文そのものと、条文の式に数値を入れた決定論的計算だけから生成しています。採点も機械的に決まり、判定するLLMは入っていません。誰でも追試できます。
結果(203問・temperature 0・各1回)
| モデル | 条文なし | 条文を渡す(RAG) | 1問あたり | 中央値 |
|---|---|---|---|---|
| openai/gpt-5.5 | 90.1% | 99.5% | $0.0245 | 3.7秒 |
| google/gemini-3.5-flash | 81.3% | 99.0% | $0.0052 | 4.1秒 |
| gemini-2.5-flash | 59.6% | 99.0% | $0.0028 | 4.5秒 |
| openai/gpt-5.6-luna | 87.7% | 98.0% | $0.0022 | 2.9秒 |
| openai/gpt-5.4-nano | 37.9% | 93.1% | $0.0014 | 3.8秒 |
| qwen/qwen3.5-flash-02-23 | 33.0% | 61.1% | $0.0003 | 2.7秒 |
7種の内訳は 数値穴埋め23 / 条文同定27 / 建蔽率30 / 容積率30 / 採光補正係数40 / 誤り検出23 / 応用計算30。
数字より面白かった3つのこと
1. 条文を渡すだけで、ほぼ別のモデルになる。いちばん伸びたのは最安クラスでした。gemini-2.5-flash は 59.6% → 99.0%、gpt-5.4-nano は 37.9% → 93.1%。「法令を知っているか」をモデルに期待するのは、もう設計として間違いです。条文を検索して渡す側の作り込みのほうが、モデルの格上げより効きます。
2. それでも残る差は「計算の段数」に出る。1段の公式当てはめ(建蔽率・容積率)はRAGを渡すと全モデルがほぼ満点。差が残ったのは、前面道路制限で容積率を決めてから敷地面積を掛け、さらに建蔽率側と並べる2段の応用計算でした(gpt-5.4-nano 87%、qwen 67%)。実務で使うのはこの形なので、ここを見ないと選定を誤ります。
3. いちばん安いモデルは、いちばん不安定だった。qwen3.5-flashは1問0.05円前後で最安ですが、同一設定・同一203問を2回測ると 61.1% → 91.6% と振れました(82問が正誤反転。プロンプトのトークン中央値は2,355→2,353で、渡した条文はほぼ同一)。安さの前に再現性が必要です。実用上の最適点は gpt-5.6-luna(98.0%・1問0.22円・2.9秒)でした。
実際の20問と、モデルの回答
下はタスクセットから7種をまんべんなく20問抜き出し、4モデルの回答をそのまま載せたものです(回答は最大600字で切り詰め)。正解は条文か計算から機械的に決まっており、モデルの回答を正解にしていません。
Q1. [条文の数値] num-hou-20-102
建築基準法(構造耐力)について、次の条文の【 】に入る数値は何か。数値だけ答えよ。
「二 高さが六十メートル以下の建築物のうち、木造の建築物(地階を除く階数が四以上であるもの又は高さが十六メートルを超えるものに限る。)又は木造以外の建築物(地階を除く階数が四以上である鉄骨造の建築物、高さが【 】メートルを超える鉄筋コンクリート造又は鉄骨鉄筋コンクリート造の建築物その他これらの建築物に準ずるものとして政令で定める建築物に限る。) 次に掲げる基準のいずれかに適合するものであること。」
正解: 二十 根拠: 建築基準法第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 20 |
| gemini-2.5-flash | ○ | 20 |
| openai/gpt-5.6-luna | ○ | 20 |
| openai/gpt-5.4-nano | ○ | 二十 |
Q2. [条文の数値] num-hou-20-49
建築基準法(構造耐力)について、次の条文の【 】に入る数値は何か。数値だけ答えよ。
「二 高さが六十メートル以下の建築物のうち、木造の建築物(地階を除く階数が四以上であるもの又は高さが【 】メートルを超えるものに限る。)又は木造以外の建築物(地階を除く階数が四以上である鉄骨造の建築物、高さが二十メートルを超える鉄筋コンクリート造又は鉄骨鉄筋コンクリート造の建築物その他これらの建築物に準ずるものとして政令で定める建築物に限る。) 次に掲げる基準のいずれかに適合するものであること。」
正解: 十六 根拠: 建築基準法第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 16 |
| gemini-2.5-flash | ○ | 16 |
| openai/gpt-5.6-luna | ○ | 16 |
| openai/gpt-5.4-nano | ○ | 16 |
Q3. [条文の数値] num-hou-20-5
建築基準法(構造耐力)について、次の条文の【 】に入る数値は何か。数値だけ答えよ。
「一 高さが【 】メートルを超える建築物 当該建築物の安全上必要な構造方法に関して政令で定める技術的基準に適合するものであること。」
正解: 六十 根拠: 建築基準法第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 60 |
| gemini-2.5-flash | ○ | 60 |
| openai/gpt-5.6-luna | ○ | 60 |
| openai/gpt-5.4-nano | ○ | 60 |
Q4. [条文の数値] num-hou-20-93
建築基準法(構造耐力)について、次の条文の【 】に入る数値は何か。数値だけ答えよ。
「三 高さが六十メートル以下の建築物(前号に掲げる建築物を除く。)のうち、第六条第一項第一号又は第二号に掲げる建築物(木造の建築物にあつては、地階を除く階数が三以上であるもの又は延べ面積が【 】平方メートルを超えるものに限る。) 次に掲げる基準のいずれかに適合するものであること。」
正解: 三百 根拠: 建築基準法第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 300 |
| gemini-2.5-flash | ○ | 300 |
| openai/gpt-5.6-luna | ○ | 300 |
| openai/gpt-5.4-nano | ○ | 300 |
Q5. [条文の同定] cite-hou-20
建築基準法の条文を特定したい。次の内容はどの条文に規定されているか。「建築基準法」第〇条の形で条番号まで答えよ。
内容: 構造耐力
正解: 建築基準法第20条 根拠: 建築基準法第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 建築基準法第20条 |
| gemini-2.5-flash | ○ | 建築基準法第20条 |
| openai/gpt-5.6-luna | ○ | 建築基準法第20条 |
| openai/gpt-5.4-nano | ○ | 建築基準法第20条 |
Q6. [条文の同定] cite-hou-26
建築基準法の条文を特定したい。次の内容はどの条文に規定されているか。「建築基準法」第〇条の形で条番号まで答えよ。
内容: 防火壁等
正解: 建築基準法第26条 根拠: 建築基準法第26条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 建築基準法第26条 |
| gemini-2.5-flash | ○ | 建築基準法第26条 |
| openai/gpt-5.6-luna | ○ | 建築基準法第26条 |
| openai/gpt-5.4-nano | ○ | 建築基準法第26条 |
Q7. [条文の同定] cite-hou-27
建築基準法の条文を特定したい。次の内容はどの条文に規定されているか。「建築基準法」第〇条の形で条番号まで答えよ。
内容: 耐火建築物等としなければならない特殊建築物
正解: 建築基準法第27条 根拠: 建築基準法第27条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 建築基準法第27条 |
| gemini-2.5-flash | ○ | 建築基準法第27条 |
| openai/gpt-5.6-luna | ○ | 建築基準法第27条 |
| openai/gpt-5.4-nano | ○ | 建築基準法第27条 |
Q8. [建蔽率] bcr-000
建築基準法第53条により、次の建築物の建蔽率の限度を求めよ。
・用途地域: 第二種中高層住居専用地域
・都市計画で定められた建蔽率: 6/10
・防火地域・準防火地域のいずれでもない、耐火建築物、街区の角にある敷地
割合を分数(例: 6/10)で答えよ。
正解: 7/10 根拠: 建築基準法第53条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 7/10 |
| gemini-2.5-flash | ○ | 7/10 |
| openai/gpt-5.6-luna | ○ | 7/10 |
| openai/gpt-5.4-nano | ○ | 7/10 |
Q9. [建蔽率] bcr-001
建築基準法第53条により、次の建築物の建蔽率の限度を求めよ。
・用途地域: 工業地域
・都市計画で定められた建蔽率: 6/10
・防火地域・準防火地域のいずれでもない、準耐火建築物、角地ではない
割合を分数(例: 6/10)で答えよ。
正解: 6/10 根拠: 建築基準法第53条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 6/10 |
| gemini-2.5-flash | ○ | 6/10 |
| openai/gpt-5.6-luna | ○ | 6/10 |
| openai/gpt-5.4-nano | ○ | 6/10 |
Q10. [建蔽率] bcr-002
建築基準法第53条により、次の建築物の建蔽率の限度を求めよ。
・用途地域: 第二種低層住居専用地域
・都市計画で定められた建蔽率: 5/10
・準防火地域内、その他の建築物、角地ではない
割合を分数(例: 6/10)で答えよ。
正解: 5/10 根拠: 建築基準法第53条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 5/10 |
| gemini-2.5-flash | ○ | 5/10 |
| openai/gpt-5.6-luna | ○ | 5/10 |
| openai/gpt-5.4-nano | ○ | 5/10 |
Q11. [容積率] far-000
建築基準法第52条により、次の建築物の容積率の限度を求めよ。
・用途地域: 第一種中高層住居専用地域
・都市計画で定められた容積率: 50/10
・前面道路の幅員: 11 m(特定道路の加算は考慮しない)
割合を分数(例: 40/10)で答えよ。
正解: 44/10 根拠: 建築基準法第52条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 44/10 |
| gemini-2.5-flash | ○ | 44/10 |
| openai/gpt-5.6-luna | ○ | 44/10 |
| openai/gpt-5.4-nano | ○ | 44/10 |
Q12. [容積率] far-001
建築基準法第52条により、次の建築物の容積率の限度を求めよ。
・用途地域: 第一種低層住居専用地域
・都市計画で定められた容積率: 10/10
・前面道路の幅員: 16 m(特定道路の加算は考慮しない)
割合を分数(例: 40/10)で答えよ。
正解: 10/10 根拠: 建築基準法第52条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 10/10 |
| gemini-2.5-flash | ○ | 10/10 |
| openai/gpt-5.6-luna | ○ | 10/10 |
| openai/gpt-5.4-nano | ○ | 10/10 |
Q13. [容積率] far-002
建築基準法第52条により、次の建築物の容積率の限度を求めよ。
・用途地域: 第二種低層住居専用地域
・都市計画で定められた容積率: 15/10
・前面道路の幅員: 6 m(特定道路の加算は考慮しない)
割合を分数(例: 40/10)で答えよ。
正解: 15/10 根拠: 建築基準法第52条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 15/10 |
| gemini-2.5-flash | ○ | 15/10 |
| openai/gpt-5.6-luna | ○ | 15/10 |
| openai/gpt-5.4-nano | ○ | 15/10 |
Q14. [採光補正係数] day-000
建築基準法施行令第20条2項により、次の開口部の採光補正係数を計算せよ。
・用途地域: 準住居地域
・開口部から隣地境界線(または対向部)までの水平距離 D = 0.53 m
・開口部の中心までの垂直距離 H = 1.5 m
・開口部は道路に面しない
・外側に幅90cm以上の縁側がある
小数第3位までで答えよ(例: 1.234)。
正解: 0.504 根拠: 建築基準法施行令第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 0.504 |
| gemini-2.5-flash | ○ | 0.504 |
| openai/gpt-5.6-luna | ○ | 0.504 |
| openai/gpt-5.4-nano | ○ | 0.504 |
Q15. [採光補正係数] day-001
建築基準法施行令第20条2項により、次の開口部の採光補正係数を計算せよ。
・用途地域: 第二種中高層住居専用地域
・開口部から隣地境界線(または対向部)までの水平距離 D = 1.2 m
・開口部の中心までの垂直距離 H = 4.0 m
・開口部は道路に面しない
小数第3位までで答えよ(例: 1.234)。
正解: 0.400 根拠: 建築基準法施行令第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 0.400 |
| gemini-2.5-flash | ○ | 0.400 |
| openai/gpt-5.6-luna | ○ | 0.400 |
| openai/gpt-5.4-nano | ○ | 0.400 |
Q16. [採光補正係数] day-002
建築基準法施行令第20条2項により、次の開口部の採光補正係数を計算せよ。
・用途地域: 第二種低層住居専用地域
・開口部から隣地境界線(または対向部)までの水平距離 D = 2.71 m
・開口部の中心までの垂直距離 H = 5.0 m
・開口部は道路に面しない
・外側に幅90cm以上の縁側がある
小数第3位までで答えよ(例: 1.234)。
正解: 1.296 根拠: 建築基準法施行令第20条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 1.296 |
| gemini-2.5-flash | ○ | 1.296 |
| openai/gpt-5.6-luna | ○ | 1.296 |
| openai/gpt-5.4-nano | ○ | 1.296 |
Q17. [誤りの検出] false-000
次の記述は建築基準法に照らして正しいか。誤りがある場合は正しい数値と根拠条文(法令名と条番号)を示せ。
「ただし、当該建築物又は当該工事に係る部分の床面積の合計が十二平方メートル以内である場合においては、この限りでない。」
正解: 誤り。正しくは「十」(建築基準法第15条) 根拠: 建築基準法第15条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 誤り。
正しい数値:十平方メートル以内
根拠条文:建築基準法第15条第1項ただし書
正しくは「当該建築物又は当該工事に係る部分の床面積の合計が十平方メートル以内である場合」です。 |
| gemini-2.5-flash | ○ | 誤り。
正しい数値:十平方メートル
根拠条文:建築基準法第15条第1項 |
| openai/gpt-5.6-luna | ○ | 誤り。正しくは「十平方メートル以内」。
根拠:建築基準法第15条第1項ただし書き。 |
| openai/gpt-5.4-nano | ○ | 誤りです。
正しくは、「十平方メートル以内」です。
根拠条文:**建築基準法第15条(届出及び統計)第1項**(「ただし、当該建築物又は当該工事に係る部分の床面積の合計が十平方メートル以内である場合」) |
Q18. [誤りの検出] false-001
次の記述は建築基準法に照らして正しいか。誤りがある場合は正しい数値と根拠条文(法令名と条番号)を示せ。
「3 前二項の規定の適用については、第一号又は第二号のいずれかに該当する建築物にあつては第一項各号に定める数値に二十分の一を加えたものをもつて当該各号に定める数値とし、第一号及び第二号に該当する建築物にあつては同項各号に定める数値に十分の二を加えたものをもつて当該各号に定める数値とする。」
正解: 誤り。正しくは「十分の一」(建築基準法第53条) 根拠: 建築基準法第53条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 誤り。
正しい数値:十分の一
根拠条文:建築基準法第53条第3項
※「二十分の一」ではなく、「十分の一」。 |
| gemini-2.5-flash | ○ | 誤り。
正しい数値:十分の一
根拠条文:建築基準法第53条第3項 |
| openai/gpt-5.6-luna | ○ | 誤り。第一号又は第二号のいずれかに該当する建築物については、第一項各号に定める数値に**十分の一**を加える。
正しい数値:**十分の一**
根拠条文:**建築基準法第53条第3項**(第一号又は第二号のいずれかに該当する場合)
なお、第一号及び第二号の双方に該当する場合の**十分の二**は正しい。 |
| openai/gpt-5.4-nano | × | 誤りです。
正しくは、**建築基準法第53条(建蔽率)第3項**のとおりです。
- 第一号又は第二号のいずれかに該当する建築物:**第一項各号に定める数値に十分の一を加えたもの**
- 第一号及び第二号に該当する建築物:**第一項各号に定める数値に十分の二を加えたもの**
したがって、設問文の「**二十分の一**」は不適切で、**十分の一**が正しいです。 |
Q19. [面積上限の算定] app-000
建築基準法第52条・第53条により、次の敷地に建てられる建築物の「延べ面積の上限」と「建築面積の上限」を求めよ。
・用途地域: 田園住居地域
・敷地面積: 120 m²
・都市計画で定められた容積率: 6/10
・都市計画で定められた建蔽率: 6/10
・前面道路の幅員: 5 m(特定道路の加算は考慮しない)
・防火地域・準防火地域の指定なし、角地ではない
「延べ面積=○m²、建築面積=○m²」の形式で、小数第1位まで答えよ。
正解: 延べ面積=72.0m²、建築面積=72.0m² 根拠: 建築基準法第52条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 延べ面積=72.0m²、建築面積=72.0m² |
| gemini-2.5-flash | ○ | 延べ面積の上限:
1. 都市計画で定められた容積率による上限
120 m² × (6/10) = 72.0 m²
2. 前面道路の幅員による容積率の制限(建築基準法第52条第2項第1号)
前面道路の幅員が5m(12m未満)であり、用途地域が田園住居地域であるため、前面道路の幅員に乗じる数値は「10分の4」。
5 m × (4/10) × 120 m² = 240.0 m²
上記1と2のいずれか低い方の数値が容積率による延べ面積の上限となるため、72.0 m²。
建築面積の上限:
1. 都市計画で定められた建蔽率による上限(建築基準法第53条)
120 m² × (6/10) = 72.0 m²
2. 建蔽率の緩和
防火地域・準防火地域の指定なし、角地ではないため、建蔽率の緩和は適用されない。
したがって、建築面積の上限は72.0 m²。
延べ面積=72.0m²、建築面積=72.0m² |
| openai/gpt-5.6-luna | ○ | 延べ面積=72.0m²、建築面積=72.0m² |
| openai/gpt-5.4-nano | ○ | 延べ面積=72.0m²、建築面積=72.0m² |
Q20. [面積上限の算定] app-001
建築基準法第52条・第53条により、次の敷地に建てられる建築物の「延べ面積の上限」と「建築面積の上限」を求めよ。
・用途地域: 第一種住居地域
・敷地面積: 400 m²
・都市計画で定められた容積率: 30/10
・都市計画で定められた建蔽率: 8/10
・前面道路の幅員: 11 m(特定道路の加算は考慮しない)
・防火地域・準防火地域の指定なし、角地ではない
「延べ面積=○m²、建築面積=○m²」の形式で、小数第1位まで答えよ。
正解: 延べ面積=1200.0m²、建築面積=320.0m² 根拠: 建築基準法第52条
| モデル | 判定 | 回答 |
|---|---|---|
| openai/gpt-5.5 | ○ | 延べ面積=1200.0m²、建築面積=320.0m² |
| gemini-2.5-flash | ○ | 延べ面積=1200.0m²、建築面積=320.0m² |
| openai/gpt-5.6-luna | ○ | 延べ面積=1200.0m²、建築面積=320.0m² |
| openai/gpt-5.4-nano | ○ | 延べ面積=1200.0m²、建築面積=320.0m² |
方法(全部書きます)
- 条文は e-Gov 法令API から取得(建築基準法・同施行令・同施行規則、本則851条)。条文を機械的に解析して問題と正解を生成
- 誤り検出問題は、条文の一節の数値を1つだけ改変して作問(改変前の原文が正解の根拠)
- 計算問題は条文の式をコードに実装し、乱数で条件を振って生成。正解はコードが計算
- 採点は完全機械採点(数値一致・条番号の正規化・分数の等価判定)。LLM judge は使っていません
- RAGは外部依存なしのハイブリッド検索(BM25+見出し完全一致+5-gram包含一致)。条文は1問あたり最大6,000字
- API経由(teai.io)・temperature 0・max_tokens 12,000。エラー0件の状態で集計
- 自己テスト(APIを叩かない回帰テスト)で「正解が必ず採点を通る」ことと「根拠条文が必ず検索で入る」ことを検証(203/203)
正直な限界
各モデル1回・temperature 0なので分散は測れていません(qwenだけ同一設定で2回測り、61.1%と91.6%に振れたので、他も振れる可能性があります)。問題は法令の本則テキストから機械的に作れる範囲に限られ、通達・条例・運用・特定行政庁の判断は入っていません。実務の適法性判断をこのベンチマークの点数で代替することはできません。Claude系はゲートウェイ上流の503が続き測定できず、表から除外しています(当方の実装起因ではありません)。