建築設計事務所が過去の確認申請の質疑・指摘の記録を OpenSearch に入れ、新しい計画で指摘されやすい点を申請の前に探す
確認申請の図書をまとめる前に、用途・構造・規模・申請先が近い過去の計画で審査機関から受けた質疑・指摘を探し、条項ごとの件数と根拠の記録を付けた確認項目の一覧にします。担当者は一覧を見て、図書を出す前に直す点を決めます。
- 生成AI
- Azure OpenAI Service/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 不動産/建設
- 対象部門
- 品質管理
- 対象業務
- 内容確認・チェック/情報検索
- 主な課題
- 属人化している/情報が見つからない/確認ミスが多い
- AIで行う処理
- 検索(RAG)
- 主な効果
- 判断支援/属人化解消/検索時間短縮
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 担当者が計画の概要(用途、構造、階数、延べ面積、所在地、申請先)を固める
- 似た計画を担当した人に、「前に何を言われたか」を聞いて回る
- 思い当たる案件のフォルダを開き、質疑書と回答書を1件ずつ読む
- 今回の計画に当てはまりそうな指摘を、メモに書き出す
- メモを見ながら図書を確かめ、直す点を決める
- 確認申請の図書を出す。審査の途中で指摘を受け、回答と補正をする
- 人担当者が、計画の概要と特徴を事前確認の依頼のフォームに入れる
- 自動Claude(Amazon Bedrock)が、計画の概要から検索の手がかり(用途の区分、構造、規模、特徴の語句)を取り出す
- 自動OpenSearch で、用途・構造・規模・申請先で絞り、特徴の語句で過去の指摘を探す
- 自動同じ条件で、条項ごとの指摘の件数を集計する
- 自動Claude が、引けた指摘だけを使って、条項ごとの確認項目の一覧を作る
- 自動プログラムが、一覧の記録の番号が検索の結果にあるか、件数が集計と一致するかを確かめる
- 人担当者が一覧を見て、根拠の指摘と回答書を開き、今回の計画に当てはまるかを判断する
- 人当てはまるものを図書で確かめ、直す点を決める
各工程の詳しい説明を読む
- 担当者が計画の概要(用途、構造、階数、延べ面積、所在地、申請先)を固める
- 似た計画を担当した人に、「前に何を言われたか」を聞いて回る
- 思い当たる案件のフォルダを開き、質疑書と回答書を1件ずつ読む
- 今回の計画に当てはまりそうな指摘を、メモに書き出す
- メモを見ながら図書を確かめ、直す点を決める
- 確認申請の図書を出す。審査の途中で指摘を受け、回答と補正をする
(a)探す手段が人の記憶しかない。 2番と3番は、誰に聞くか、どの案件を開くかで結果が変わります。担当者が入社して数年なら、10年前の案件は知りようがありません。
(b)窓口の見方の違いが共有されない。 「この特定行政庁は、この点を図面の中に書くよう求める」という知識は、その窓口に何度も出した人の頭の中にあります。その人が担当を外れると、同じ指摘を一から受け直します。
(c)同じ指摘を何度も受ける。 審査で指摘を受けて補正するたびに、審査の期間が延びます。前に受けた指摘と同じ内容を、別の担当者がまた受けていることが、回答書を並べると分かります。
(d)制度が変わった後の記録が少ない。 2025年4月の改正の後、木造の2階建ての住宅などで構造の審査が加わりました。改正後の指摘はまだ数が少なく、担当者の記憶にも少ないので、探すときに見落とされます。
- 【人】 担当者が、計画の概要と特徴を事前確認の依頼のフォームに入れる
- 【自動】 Claude(Amazon Bedrock)が、計画の概要から検索の手がかり(用途の区分、構造、規模、特徴の語句)を取り出す
- 【自動】 OpenSearch で、用途・構造・規模・申請先で絞り、特徴の語句で過去の指摘を探す
- 【自動】 同じ条件で、条項ごとの指摘の件数を集計する
- 【自動】 Claude が、引けた指摘だけを使って、条項ごとの確認項目の一覧を作る
- 【自動】 プログラムが、一覧の記録の番号が検索の結果にあるか、件数が集計と一致するかを確かめる
- 【人】 担当者が一覧を見て、根拠の指摘と回答書を開き、今回の計画に当てはまるかを判断する
- 【人】 当てはまるものを図書で確かめ、直す点を決める
3番目と4番目を分けているのが、この設計の分かれ目です。 3番目は「似た指摘を読む」ため、4番目は「どの条項が多いかを知る」ためです。似た指摘の上位10件だけを読むと、件数の多い条項でも、文の書き方が違う指摘は上位に出ません。 集計は全件を数えるので、その抜けを補います。
7番目で、担当者は根拠を必ず開きます。 一覧は要点だけで、当時の計画と今回の計画のどこが同じでどこが違うかは、元の質疑書と回答書を読まないと分かりません。
02今回想定するシステム構成
案件のフォルダ(質疑書・指摘事項・回答書、補正の記録) │ 取り込み(毎晩、確認済証の交付で案件を閉じたもの) ▼ AWS Lambda ── 指摘を1件ずつに分け、条項・用途・構造・規模・申請先を付ける ▼ Amazon OpenSearch Service └── 指摘の索引(指摘・回答 text、条項・用途・構造・申請先 keyword、延べ面積・階数・年月) ▲ │【トリガー】事前確認の依頼のフォームの送信 AWS Lambda ├──▶ Claude(Amazon Bedrock)── 計画の概要から検索の手がかりを取り出す ├──▶ OpenSearch ── bool のクエリ(filter で絞り、should で特徴を探す) ├──▶ OpenSearch ── 条項ごとの terms の集計 ├──▶ Claude(Amazon Bedrock)── 引けた指摘だけで一覧を作る └──▶ 記録の番号と件数の照合 ▼ 事前確認の一覧(案件のフォルダと担当者へのメール) ▼ 【担当者が根拠の質疑書と回答書を開き、当てはまるかを判断】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(Sudachi Analysis、bool のクエリ、terms の集計) | Azure AI Search、Vertex AI Search(Agent Search) |
| 生成AI | Claude(Amazon Bedrock の Converse API、構造化出力) | Azure OpenAI(Microsoft Foundry)、Gemini API |
| 連携 | AWS Lambda(取り込みと正規化、検索と集計の呼び出し、照合) | AWS Step Functions |
| 保管 | Amazon S3(取り込んだ記録の写し、一覧と検索の記録) | 社内のファイルサーバー |
| 依頼の受付 | 社内のWebフォーム | メールの定型の様式 |
案件のフォルダの質疑書と回答書は、いまあるものをそのまま使います。 足すのは毎晩の取り込みと、依頼ごとの検索の仕組みです。最初の準備作業は、指摘に条項を付ける決まりを作ることです。 審査機関の様式によっては条項が書かれていない指摘があり、取り込みのときに付ける必要があります。
日本語の指摘の文は、形態素解析で語に分けて索引にします。 Amazon OpenSearch Service には Japanese(kuromoji)Analysis がすべてのドメインに入っており、Sudachi Analysis も「日本語に推奨」として OpenSearch 1.3 以降で使えます。 Sudachi は任意のプラグインで、パッケージをドメインに関連付けて使います。
絞り込みには bool のクエリの filter を使います。 filter は関連度の点に影響せず、結果はおおむねキャッシュされます。用途・構造・申請先のように「違えば比べる意味がない」条件は filter に置き、特徴の語句は should に置いて点を付けます。
件数は terms の集計で数えます。 項目の値ごとにバケツを作って文書の数を数えるもので、既定で返すバケツは10個です。条項の項目は keyword 型で持ちます。
生成AIは、Amazon Bedrock の Claude を Converse API で呼び、outputConfig.textFormat で渡したスキーマに沿った JSON で受け取ります。
03どうやって実装するのか
処理の起点を決める
トリガーは2つあります。 1つは毎晩の取り込みで、確認済証が交付されて閉じた案件の質疑・指摘を索引に入れます。もう1つは事前確認の依頼のフォームの送信で、ここで検索を動かします。
取り込みは、審査が終わった案件だけにします。 審査の途中の案件は、回答書が書きかけで、指摘に対する事務所の答えが決まっていません。答えの決まっていない指摘を引くと、担当者が未確定の回答をまねるおそれがあります。
依頼は、計画の概要が固まった時点で1回、図書をまとめる直前にもう1回出せるようにします。 2回目は計画の変更を反映した条件で探し直し、1回目の一覧から増えた指摘と消えた指摘を分けて出します。
計画変更の確認申請も、同じ依頼で扱います。 変更の内容をフォームに書けば、変更に関わる条項の指摘を探します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 計画の概要 | 用途、構造、階数、延べ面積、高さ、所在地(特定行政庁)、申請先、防火の地域、計画の特徴の自由記述 | 事前確認の依頼のフォーム |
| 過去の指摘 | 指摘の文、指摘の番号、審査機関、指摘を受けた年月、図書の種類 | 案件のフォルダの質疑書・指摘事項 |
| 過去の回答 | 回答の文、補正した図面の番号、補正の要否 | 回答書、補正の記録 |
| 案件の属性 | 用途、構造、階数、延べ面積、特定行政庁、申請先、確認済証の交付の年月 | 案件の台帳 |
| 条項の一覧 | 条項の番号、見出し、関連する条項 | 事務所で作る表 |
質を決めるのは、案件の属性が指摘に付いているかです。 指摘の文だけを索引に入れると、共同住宅の指摘と戸建て住宅の指摘が混ざって引けます。属性は案件の台帳から引いて、指摘の1件ずつに写します。
条項の一覧は、事務所の言い方をそろえるために作ります。 審査機関の様式では「法第35条」「令第126条の2」と書くところもあれば、「排煙」「避難」と見出しで書くところもあります。一覧に条項の番号と見出しを並べ、取り込みのときに番号へそろえます。
データの取得方法を決める
質疑書・指摘事項は、案件のフォルダから PDF と Word を取り出し、指摘の番号ごとに1件に分けます。 審査機関の様式は数種類なので、様式ごとに「指摘の番号」「指摘の文」「回答の文」の位置を決めて取り出します。 様式の決まらない古い記録は、取り込みの対象から外して一覧に残します。
取り出した指摘には、次の項目を付けて索引に入れます。
| 項目 | 型 | 何に使うか |
|---|---|---|
finding_text(指摘の文) | text(Sudachi) | 特徴の語句で探す |
answer_text(回答の文) | text(Sudachi) | 回答の中の語句でも探す |
article(条項の番号) | keyword | 集計と絞り込み |
use_group(用途の区分) | keyword | 絞り込み |
structure(構造) | keyword | 絞り込み |
authority(特定行政庁)・reviewer(申請先) | keyword | 絞り込み、窓口ごとの集計 |
floor_area(延べ面積)・stories(階数) | 数値 | 規模の範囲で絞る |
reviewed_on(指摘を受けた年月) | 日付 | 制度の改正の前後を分ける |
case_id・finding_no | keyword | 根拠の記録に戻る |
article は1件に複数入ることがあります。 「排煙と内装制限の両方」のような指摘は、両方の条項を付けます。集計では両方の条項に1件ずつ数えられるので、その旨を一覧に書きます。
case_id と finding_no を文書の識別子にして上書きで入れます。 同じ案件の取り込みをやり直しても、同じ指摘が二重に入りません。
AIへ渡す前に整形する
- 様式ごとに指摘を分ける … 指摘の番号の行を見つけ、次の番号までを1件にします
- 条項の番号をそろえる … 「法35条」「建基法第35条」「法第三十五条」を
法35にそろえ、見出しだけの指摘には条項の一覧から候補を付けます。候補が2つ以上ならarticle_unsureの印を付けます - 用途の区分をそろえる … 「共同住宅」「マンション」「賃貸住宅」を事務所の区分にそろえます
- 固有名詞を記号に置き換える … 建築主の氏名、所在の地番、審査の担当者の氏名を記号に置き換えます
- 制度の区分を付ける … 指摘を受けた年月が2025年4月より前か後かで
regimeを付けます - 辞書を整える … 「避難上有効なバルコニー」「竪穴区画」のような語を、Sudachi のユーザー辞書に入れます
2番目の article_unsure は、集計から外して別に数えます。 条項の候補を推測で決めて集計に入れると、件数の多い条項が実際より多く見えます。
6番目のユーザー辞書は、更新がすぐには効きません。 Amazon OpenSearch Service の公式ページは、Sudachi の辞書のファイルを関連付け直しても、次のブルー/グリーンのデプロイまでドメインに反映されないとしています。急ぐなら、新しいパッケージで新しい索引を作って入れ直し、索引の別名(エイリアス)を付け替えて切り替えます。
AIに処理させる
生成AIにさせることは2つです。 1つは、計画の概要から検索の手がかりを取り出すこと、もう1つは、引けた指摘を条項ごとの一覧にまとめることです。
| させること | 中身 | 判断できないときの扱い |
|---|---|---|
| 用途の区分を選ぶ | 計画の用途を、事務所の用途の区分から選ぶ | 区分が2つ以上に当たれば両方を返す |
| 特徴の語句を取り出す | 自由記述から、指摘につながりそうな語句(「吹抜け」「既存不適格」「避難階段1か所」など) | 取り出せなければ空にする |
| 指摘を条項ごとにまとめる | 引けた指摘の要点と、当時の回答の要点 | 回答が無い指摘は no_answer |
| 今回の計画との違いを書く | 引けた指摘の案件と今回の計画の、用途・規模・構造の違い | 属性が欠けていれば unknown |
| させないこと | 理由 |
|---|---|
| 条項ごとの件数を数える | 件数は集計の結果を写す |
| 法に適合しているかの判断 | 建築士の仕事 |
| 引けていない指摘を足す | 記録に無い指摘は、事務所の経験ではない |
| 窓口の見方を一般化する | 「この行政庁は必ずこう言う」と書かない。件数と記録で示す |
| 条文の解釈を書く | 条文の解釈は、指摘と回答の記録の範囲で示す |
3行目がいちばん起きやすい失敗です。 生成AIは建築基準法の一般的な知識を持っているので、引けた指摘に無い条項まで「よくある指摘」として足します。足された項目は事務所の記録ではなく、根拠を開けません。 照合で記録の番号の無い項目を捨てます。
4行目の「一般化しない」も同じ理由です。 1件の指摘から「この窓口はこの点に厳しい」と書くと、担当者は件数を見ずに決まりとして覚えます。 件数と年月を並べ、判断は担当者に任せます。
指示内容を固定する
あなたは建築設計事務所の設計監理部で、確認申請の前に過去の指摘を
確かめる立場です。下の【検索で引けた指摘】と【条項ごとの件数】だけを
使って、今回の計画で確かめる項目の一覧を作ってください。
【作るもの】
- 条項ごとに、引けた指摘の要点と、当時の回答の要点をまとめる
- 各項目に、根拠にした指摘の case_id と finding_no を必ず付ける
- 引けた指摘の案件と今回の計画の違い(用途・規模・構造・申請先)を書く
【厳守事項】
- 【検索で引けた指摘】に無い指摘や条項を足さないでください。
一般的に指摘されやすいと思う点があっても書かないでください。
- 件数は【条項ごとの件数】の値を写してください。数え直さないでください。
- 計画が法に適合しているか、指摘を受けるかどうかを書かないでください。
- 「この窓口は必ず」「いつも」のような言い方をしないでください。
- regime が before_2025_04 の指摘には、制度の改正前の記録であることを
note に書いてください。
- 回答の文が無い指摘は、answer_summary を空にし status を no_answer に
してください。回答を推測で書かないでください。
- 建築主の氏名や所在の地番が記号に置き換わっている箇所を、元に戻そうと
しないでください。
【今回の計画の概要】{plan}
【検索で引けた指摘】{hits}
【条項ごとの件数】{article_counts}
【条項の一覧】{articles}
「一般的に指摘されやすいと思う点があっても書かない」を明記しないと、項目が増えます。 増えた項目はもっともらしく、担当者は根拠を開かずに読み流します。この一覧の価値は事務所の記録であることなので、記録に無いものは1行も入れません。
「数え直さない」も同じ理由です。 生成AIに引けた10件から数えさせると、集計の値と食い違います。件数は集計の側にだけ置きます。
出力形式を固定する
{
"request_id": "PC-2026-1102",
"plan": { "use_group": "共同住宅", "structure": "RC", "stories": 5,
"floor_area": 1850, "authority": "A市", "reviewer": "B機関" },
"items": [
{
"article": "令126の2",
"title": "排煙設備",
"count_same_reviewer": 7,
"count_all": 23,
"findings": [
{ "case_id": "K-2023-114", "finding_no": "12",
"finding_summary": "", "answer_summary": "",
"regime": "after_2025_04", "status": "ok" }
],
"differences": "",
"note": ""
}
]
}
JSON にする1つ目の理由は、照合を機械にできることです。 case_id と finding_no の組が検索の結果に無ければ、その指摘を捨てます。count_same_reviewer と count_all は集計の値と比べ、違えば集計の値で上書きして記録に残します。
2つ目は、根拠に1回で戻れることです。 一覧の画面では case_id から案件のフォルダの質疑書を開けるようにします。
スキーマは Bedrock の決まりに合わせます。 すべての object に additionalProperties: false を付けます。数値の minimum・maximum は使えないので、件数の範囲はプログラムで確かめます。任意の項目は全体で12個までなので、項目はすべて required にし、空の場合は空の文字列で返させます。
集計は、検索とは別のリクエストで、次の形で取ります。
{
"size": 0,
"query": { "bool": { "filter": [
{ "term": { "use_group": "共同住宅" } },
{ "term": { "structure": "RC" } },
{ "range": { "floor_area": { "gte": 1000, "lte": 3000 } } }
] } },
"aggs": {
"by_article": { "terms": { "field": "article", "size": 20 } },
"same_reviewer": { "filter": { "term": { "reviewer": "B機関" } },
"aggs": { "by_article": { "terms": { "field": "article", "size": 20 } } } }
}
}
size を20にしているのは、既定の10では件数の多い条項が切れることがあるからです。 terms の集計は、各シャードが上位の候補を返して合わせる仕組みで、doc_count_error_upper_bound が除かれた値の最大の件数を示します。 この値が大きいときは、一覧に「件数は概数」と出します。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 案件のフォルダ | Lambda が毎晩読む | 閉じた案件の質疑書・回答書を取り込む |
| 案件の台帳 | Lambda が読む | 用途・構造・規模・申請先を指摘に写す |
| Amazon OpenSearch Service | 検索と集計のリクエスト | 指摘を探し、条項ごとに数える |
| Claude(Amazon Bedrock) | Converse API(構造化出力) | 手がかりの取り出しと一覧の作成 |
| 案件のフォルダ・メール | Lambda が書き出す | 一覧を今回の案件のフォルダに置き、担当者に知らせる |
過去の案件のフォルダには書き込みません。 取り込みは読むだけで、記号に置き換えた後の写しを S3 に置きます。 元の質疑書と回答書は、案件のフォルダにあるものが正です。
確認申請の図書にも書き込みません。 一覧は担当者が図書を確かめるための材料で、図書を直すのは担当者です。
人が確認する
- 件数の多い条項から見る … 同じ申請先の件数と全体の件数を並べて見ます
- 根拠の質疑書と回答書を開く … 当時の計画と今回の計画のどこが同じかを確かめます
- 改正前の記録を分けて見る …
regimeが改正前の指摘は、改正後の審査の範囲で当てはまるかを考え直します - 当てはまるものを図書で確かめる … 直す点を決め、図書の確認の記録に書きます
- 当てはまらなかったものを記録する … 一覧のどの項目を外したかと、理由を残します
3番目を省かないでください。 改正の後、都市計画区域などの内では、平家かつ延べ面積200㎡以下の建築物以外は、構造によらず構造規定などの審査が必要になりました。 改正前の木造の2階建ての住宅の記録には、構造の指摘がそもそも無いことがあります。指摘が無いことを、問題が無いことと読まないでください。
目標は、1件30分で一覧を見終えることです。 一覧の項目が15を超えるときは、件数の少ない条項を後回しにし、同じ申請先で2件以上ある条項から確かめます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 計画の条件に合う過去の指摘が無い | 絞り込みを1段ずつ外して探し直し、どの条件を外したかを一覧に書く |
| 初めての申請先 | 申請先の絞り込みを外し、同じ特定行政庁の記録を出す。「この申請先の記録なし」と書く |
| 生成AIの一覧に、検索の結果に無い記録の番号がある | その項目を捨て、捨てたことを記録する |
| 一覧の件数が集計と違う | 集計の値で上書きし、記録する |
article_unsure の指摘が多い | 集計から外して別に数え、条項の一覧に見出しを足す |
| 質疑書が画像の PDF で文字が取れない | 取り込みを止めて一覧に残す。人が文字にするか、取り込みの対象から外す |
| 審査の途中の案件の指摘が混ざる | 確認済証の交付の年月が空の案件は取り込まない |
| 用途が複合(店舗併用の共同住宅など) | 用途の区分を2つ付け、どちらでも引けるようにする |
| 構造化出力の応答が途中で切れる | 応答の最大の長さを見直し、条項ごとに分けて呼び直す |
| 新しいスキーマの初回で時間がかかる | 初回は最大約90秒かかる。読み取りのタイムアウトを120秒以上にする |
1行目は、思ったより多く起きます。 用途・構造・規模・申請先を全部かけると、10年分でも当てはまる案件が数件になる計画があります。外す順を「規模 → 申請先 → 構造」と決めておき、用途は外しません。用途が違う指摘を並べても、担当者には使えないからです。
記録を残す
- 依頼のフォームの入力(計画の概要)と、生成AIが取り出した検索の手がかり
- OpenSearch に送ったクエリと集計のリクエスト、返ってきた結果
- 生成AIの入力と出力の全文
- 照合で捨てた項目と、件数を上書きした項目
- 担当者が当てはまると判断した項目と、外した項目と理由
- 実際の審査で受けた指摘(審査が終わった後に、今回の一覧と並べる)
最後の行が、この構成を育てる材料になります。 審査で受けた指摘が一覧に出ていたか、出ていなかったかを数えると、探し方の弱いところ(条項のそろえ方、辞書の不足、絞り込みの強さ)が分かります。
記録は、案件の保存の期間に合わせて残します。 後から「この指摘は事前に分かっていたか」を問われたとき、どの記録を見せ、担当者がどう判断したかを示せるようにします。
04実装レベルの3段階
最小構成では、件数がさばけません。 確かめるための段階です。 半自動化で、1件90分が50分程度になります。 探す時間はほぼ無くなりますが、引けた指摘を読んで一覧にまとめる作業が手で残ります。本格構成で30分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化で担当者が自分で探すと、条項のそろえ方の誤りや、辞書に足りない語がすぐに分かります。そこを直してから生成AIを足すと、一覧の質が上がります。
05工数削減シミュレーション
導入後 20件 × 30分 ÷ 60 = 10 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 共同住宅・店舗・事務所・福祉施設などの確認申請を毎月十数件以上出している建築設計事務所や、設計部を持つ工務店・デベロッパー。審査機関から受けた質疑書・指摘事項と回答書が案件のフォルダに何年分もたまっているのに、新しい計画では担当者の記憶と先輩への聞き取りで「前に何を言われたか」を探している場合。複数の特定行政庁・指定確認検査機関に申請しており、窓口ごとの見方の違いを事務所で共有できていない場合。
- 確認申請が月に数件で、担当者が全部の指摘を覚えていられる場合。過去の質疑・指摘の記録を残しておらず、補正した図書しか手元に無い場合(先に記録の残し方を決める必要があります)。法適合の判断そのものを自動にしたい場合(この構成は過去の指摘を並べるまでで、計画が法に適合しているかの判断は建築士が行います)。
07最小構成で試す方法
- 過去2年で、同じ申請先に出した共同住宅の案件を10件選ぶ
- 10件の質疑書と回答書から、指摘を1件ずつ表計算のファイルに書き出し、条項の番号を付ける
- ファイルの絞り込みと集計の機能で、条項ごとの件数を数える
- 手元のAIサービスに、これから出す1件の計画の概要と、書き出した指摘を貼り、「この指摘の中から、今回の計画で確かめる項目を条項ごとにまとめてください。指摘に無いことは書かないでください。指摘の番号を付けてください」と指示する
- 出てきた一覧を、その計画の審査で実際に受けた指摘と、後で並べる
この段階で確かめたいのは、過去の指摘が次の計画の役に立つかどうかです。 役に立つなら、探し方を整える意味があります。
| 出てきた内容 | 判断 |
|---|---|
| 実際の審査の指摘の多くが一覧にあった | 取り込みと索引の作成に進む |
| 指摘に無い項目を足す | 指示の書き方と照合で直る。構成は有効 |
| 条項の番号が付けられない指摘が多い | 条項の一覧と、取り込みの決まりが先 |
| 審査の指摘が一覧にほとんど無い | 申請先や計画の種類ごとに、記録が足りていない |
4行目が出ても、すぐにやめる理由にはなりません。 10件は少ないので、同じ用途で申請先を広げてもう一度試します。それでも当たらないなら、その種類の計画では過去の記録より、条文からの確認(UC-1610 の形)のほうが向いています。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 記録に無い「よくある指摘」が一覧に入る | 指示で禁じ、記録の番号が検索の結果に無い項目を捨てる |
| 件数が集計と合わない | 件数は集計の値を写す。生成AIに数えさせない |
| 改正前の記録を、改正後と同じに読む | regime を付け、一覧に改正前の記録であることを書く |
| 条項の書き方がそろわず集計が割れる | 条項の一覧で番号にそろえ、候補が2つ以上なら集計から外す |
| 共同住宅と戸建ての指摘が混ざる | 用途・構造・規模を filter で絞る |
| 絞り込みが強すぎて何も引けない | 外す順を決めて1段ずつ外し、外した条件を一覧に書く |
| 件数の多い条項が集計から切れる | terms の集計の size を既定の10より大きくする |
| 建築用語が語に分かれて引けない | Sudachi のユーザー辞書に入れる。反映は次のブルー/グリーンのデプロイか、索引の入れ直し |
| 審査の途中の回答が引ける | 確認済証の交付が済んだ案件だけを取り込む |
| 1件の指摘から窓口の傾向を言い切る | 「必ず」と書かせない。件数と年月で示す |
| 一覧を見て図書を確かめた気になる | 根拠の質疑書と回答書を必ず開く決まりにする |
上の3行が、運用に乗るかを決めます。 1行目と2行目は生成AIの性質で、指示と照合の両方で止めます。 3行目は制度の変化で、記録が多いほど古い前提が混ざることを忘れないでください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 過去の計画の用途・規模・所在地、審査機関からの指摘、事務所の回答です。戸建て住宅の記録には、建築主の氏名や住所が含まれます。
- 建築主の情報を記号に置き換えてから索引に入れる … 指摘を探すのに、建築主の氏名や地番は要りません。取り込みのときに置き換え、元の文書は案件のフォルダにだけ置きます
- 建築主との取り決めを確かめる … 設計の契約で、計画の情報を他の計画の検討に使うことを妨げる取り決めが無いかを確かめます
- データの扱いを確かめておく … Bedrock のリージョンと、推論のプロファイルの種類によって処理される地域が変わります。どのリージョンで処理するかを決めてから使います
- 法適合の判断をこの構成に置かない … 一覧は過去の記録です。計画が法に適合しているかは建築士が判断し、審査は審査機関が行います
- 審査機関とのやり取りを外に出さない … 指摘の記録は、審査機関と事務所のあいだのやり取りです。索引は事務所の中だけで使い、外部に公開しません
- 担当者ごとの指摘の数を評価に使わない … 誰の案件で指摘が多かったかを並べると、評価の材料に見えます。記録は次の計画のためのもので、集計は条項と窓口の単位にだけ使います
誤りが起きた場合のリスクは、記録に無い項目を事務所の経験として信じることと、改正前の記録に指摘が無いことを問題が無いと読むことの2つです。 前者は照合で、後者は regime の印と人の確認で防ぎます。
10まず何から始めるか
1週目:条項の一覧と用途の区分を作る
設計監理部で、条項の番号と見出しの一覧と、用途の区分を作ります。審査機関の様式の書き方を数種類集め、どう番号にそろえるかを決めます。
2週目:10件で試す
同じ申請先の共同住宅10件の指摘を書き出し、これから出す計画で一覧を作らせます。記録に無い項目を足していないか、件数を数え直していないかを見ます。
3週目:取り込みの処理を作る
直近3年の閉じた案件から、指摘を1件ずつに分け、属性を付けて OpenSearch に入れます。この時点では生成AIを使わず、担当者が絞り込みと集計で探します。
4週目:辞書と絞り込みを直す
担当者が探して引けなかった語をユーザー辞書に入れ、外す順の決まりを確かめます。
2か月目: 依頼のフォームと、生成AIの手がかりの取り出し・一覧の作成・照合を足します。3か月目以降: 実際の審査で受けた指摘と一覧を並べ、1件90分が何分になったかを実測します。同じ申請先で同じ指摘を受け直すことが減ったと確かめられた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 建築基準法の改正(令和4年6月17日公布)で、木造建築物の建築確認検査や審査省略制度の対象を見直し、非木造と同様の規模としたこと。都市計画区域等の内では、平家かつ延べ面積200㎡以下の建築物以外は構造によらず構造規定等の審査が必要になったこと。4号特例が、2階建て以下の木造住宅等の小規模建築物で建築士が設計した場合に構造耐力関係規定等の審査を省略するものであったこと | 国土交通省: 建築確認・検査の対象となる建築物の規模等の見直し | 2026-10-28 |
bool のクエリの filter が関連度の点に影響せず、結果がおおむねキャッシュされること。must か filter があるとき minimum_should_match の既定が0であること | OpenSearch Documentation: Boolean query | 2026-10-28 |
terms の集計が項目の値ごとにバケツを作ること。size の既定が10であること。keyword 型などの項目が対象であること。doc_count_error_upper_bound が除かれた値の最大の件数を示すこと | OpenSearch Documentation: Terms aggregation | 2026-10-28 |
| Japanese(kuromoji)Analysis がすべてのドメインに入っていること。Sudachi Analysis が日本語に推奨とされ OpenSearch 1.3 以降で使えること。Sudachi の辞書を関連付け直しても次のブルー/グリーンのデプロイまで反映されず、新しいパッケージで索引を作り直して別名で切り替える方法があること | Amazon OpenSearch Service: Plugins by engine version | 2026-10-28 |
Converse API で outputConfig.textFormat に JSON のスキーマを渡せること。すべての object に additionalProperties: false が要ること。数値の minimum・maximum が非対応であること。任意の項目が12個までであること。新しいスキーマの初回に最大約90秒かかり、読み取りのタイムアウトを120秒以上にするよう勧めていること | Amazon Bedrock User Guide: Structured outputs | 2026-10-28 |
計画が法に適合しているかの判断は、建築士と審査機関が行うものです。 本記事は公式の文書で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2174)についてのご相談はこちらから。
