東日本の学校データ整備が終わったので、同じAIエージェントの調査方法とデータ投入ロジックを西日本にも広げました。
対象は27府県。調査工程は全部走り、テストも通り、最終レポートもできました。ところが、本番適用候補は0件でした。
正直、笑えなかった。
先に、今回直した進め方を書きます
結論は、一括処理をやめて次の順番へ戻しました。
1県を最後まで完成
↓ 人が確認
3〜4県の小さなブロック
↓ 人が確認
次のブロックへ
さらに、学校データと入試データを別々に判定します。
- 学校と学科が確定したら、学校データは候補に残す
- 入試情報が非公表なら、その指標だけNULLにする
- 問題は学校、募集単位、年度、指標まで小さく切る
- 新規地域が既存DBに0件なのは、失敗ではなく正常と扱う
当たり前に見えます。東日本でも、実際にはこの形で少しずつ広げていました。
それなのに西日本では「前に成功したロジックがあるから、一気にいける」と考えてしまいました。ここが入口でした。
高校選びを、地図と記録で考えられるようにしています
自作でmanabi-mapというWebサービスを作っています。住所を起点に通える高校を地図で見て、親子で比較・記録・検討できる進路管理サービスです。
学校名だけでなく、学科、入試倍率、学校再編、分校や校舎の扱いまでデータとして持つ必要があります。地域を広げるほど、単純なCSV追加では済まなくなります。
リポジトリはこちらです。Starをいただけると励みになります。
東日本では、小さく分けたから進められました
東日本対応でも、最初から全部がきれいだったわけではありません。
都道県ごとに公式資料の形式が違います。推薦と一般選抜を分ける県もあれば、複数志望を延べ人数で数える県もあります。学校全体の募集と、学科単位の募集が同じ表に混ざることもあります。
そこで、東日本では県ごとに次の工程を分けました。
公式資料を探す
↓
制度と数字の意味を決める
↓
県単位のデータを作る
↓
SQLと代表校を確認する
↓
小さなまとまりで適用する
公式に学校別合格者が出ていなければ、合格者数はNULLのままにしました。受検者より合格者が多く見える行も、制度上の集計範囲が違うなら補正せず、注意フラグを付けました。
「全部埋める」より「分からないものを分からないまま安全に残す」が効きました。
以前、その過程は次の記事にも書いています。
西日本では、成功した部品を一括実行へ載せました
西日本では、東日本で増えた安全策をかなり盛り込みました。
- 学校の改称と、廃止・新設を区別する
- 本校、分校、校舎を名前だけで統合しない
- 学校と学科へ安定した識別子を付ける
- 3年度分の公式資料を追跡する
- 既存地域のデータが変わらないことを検査する
- 書き込み前にSQLを止める安全装置を置く
個々のルールは必要です。テストも通りました。
ただし、27府県を1回の大きな実行として扱いました。途中で人が確認せず、解決できない部分だけ保留して最後まで走る設計です。
終わってみると、27府県すべてがHOLDでした。調査記録や制度判断は大量に残っています。それでも、適用候補へ昇格した学校、学科、入試データは0件でした。
最後まで走り切ったように見えて、出口が全部閉じていました。途中に小さな検問所を置かなかったので、間違った通行条件が全地域へ広がっていました。
「西日本が0件」の意味が、おかしかった
最終レポートを見たとき、最初は「安全側へ倒した結果だから仕方ない」と考えました。
でも、会話の中でこう聞かれました。
東日本の調査方法やロジックを適用して、西日本0件ってどういうこと?
その通りです。
西日本に学校がなかったわけではありません。公式資料も見つかっています。学校数の候補や制度上の注意点も整理されています。
0件だったのは「現在の本番DBへ照合できた西日本校」と「今回の適用候補」です。この2つを同じ意味で扱っていました。
新規データなのに、既存DBで先に答え合わせしていました
処理は次の循環に入っていました。
既存DBに西日本の学校がまだない
↓
学校IDへ照合すると0件
↓
対応先がないので県全体をHOLD
↓
学校を追加する候補SQLも除外
↓
いつまでも照合結果は0件
新しい家を建てる前に、住所録にその家が載っているか確認していました。載っていないから建築を中止する。そんな順番です。
既存データの更新なら、DB上のIDへ1件だけ対応することは重要です。でも、新規地域ではDBに存在しないことが正常です。
必要だったのは、本番DBとの照合だけではありませんでした。
- 既存校なら、本番DB上の識別子へ照合する
- 新規校なら、追加候補の中で決定的な識別子を作る
- 一時的なDBへ学校、学科、入試データの順に入れる
- その中で1件だけ対応することを検証する
「まだ存在しない」と「対応不能」を分ける必要がありました。
図にすると、既存DBだけを答え合わせ先にした瞬間に循環が生まれています。候補データを一度組み立てる場所を間に置けば、新規追加と本当の未解決を分離できます。
入試データの不足で、学校データまで落としていました
もう1つありました。
西日本の判定では、学校、学科、3年度分の入試データ、公式出典、本番対応を1つの県判定へまとめていました。
たとえば学校一覧が確定していても、ある年度の学校別合格者が公式に出ていなければ、3年度の表が完成しません。その結果、入試データだけでなく学校データまで県ごとHOLDになります。
東日本では、公式非公表をNULLとして通した県があります。西日本では、安全策を増やした結果、その余白を失っていました。
安全に厳しくすることと、全部そろわないと何も通さないことは別でした。
調査完了率と、成果完成率を混ぜない
今回、一番痛かったのは進捗の見方です。
表面上は、27府県すべてで調査、裁定、生成、監査の工程が終わっています。工程消化率だけを見れば100%です。
ところが、実際に使える学校・学科・入試の候補行は0でした。
後から見積もり直すと、実質的な進捗は3分の1ほどでした。公式資料の入口、制度差、学校数候補、安全用の共通処理は再利用できます。しかし、利用者に届くデータは完成していません。
大量のAIエージェントやトークンを使うと、「たくさん調べた」と「成果物が完成した」が近く見えます。ここは別の数字で持つべきでした。
- 調査を開始した県数
- 学校データが非空になった県数
- 入試データが非空になった県数
- 一時DBでSQL検証を通過した県数
- 人が代表校を確認した県数
進捗バーに入れるなら、下の4つです。最初の1つだけでは足りません。
見えていた進捗と、数え直した進捗はこれだけ違いました。左の数字だけを見ている間は、全部が順調に見えていました。
1県、3県、4県へ広げ直します
新しい計画では、まず1県だけを最後まで完成させます。
学校と学科を作り、入試データをつなぎ、一時DBでSQLを通し、数校の表示まで確認します。そこで人が止めて見る。通過したら、次は3〜4県です。
判定も2層へ分けました。
学校データ: PASS / 一部除外付きPASS / HOLD
入試データ: PASS / 一部除外付きPASS / HOLD
入試データがHOLDでも、学校データのPASSは取り消しません。公式に出ていない数字はNULLでよく、怪しい数字を推計して埋める必要もありません。
確認回数は増えます。でも、共通の間違いを27倍に広げてから戻るより、ずっと安いです。
今回の教訓は、ロジックより順番でした
東日本で使ったデータ形式、検査、識別子、出典管理は、西日本でも使えます。部品は間違っていませんでした。
ハマったのは、部品を置く順番です。
- 新規データを、存在する前の本番DBだけで照合しない
- 学校masterと周辺データの完成条件を分ける
- 非公表と未調査と対応不能を、同じHOLDへ入れない
- 一括処理の前に、非空の1県を最後まで通す
- 作業工程ではなく、利用可能な候補行で進捗を見る
AIエージェントは、決めた工程をかなり粘り強く回してくれます。だからこそ、最初の停止線がずれていると、ずれたまま遠くまで走ります。
これは効いた。悪い意味で。
manabi-mapはこんなときに刺さります
- 自宅から通える高校を地図で眺めたい人
- 親子で学校を比較し、気になる理由や見学メモを残したい人
- 学校名だけでなく、学科や入試情報も一緒に確認したい人
- AIを使った地域データ整備の実例を追いたい人
リポジトリは公開しています。IssueやPRも歓迎です。
Starをいただけると開発の励みになります。使ってみて「ここが分かりにくい」があれば、IssueでもXのDMでも大歓迎です。
おわりに
次は、1県を最後まで完成させてから確認します。
一気に進められそうなときほど、小さく止める。しばらくは、このやり方でいきます。
📎 図解版・関連リンクをまとめたページがあります:
https://ishizakahiroshi.github.io/articles/2026/2026-07-17_ai-agent-zero-release-candidates/
※ ヘッダー画像とインフォグラフィックは AI(画像生成)で作成しています。
※ 本文の挿絵も AI(画像生成)で作成しています。
書いた人: ishizakahiroshi
群馬の北部で、保護猫2匹と暮らす、在宅エンジニア(何でも屋)
https://ishizakahiroshi.github.io/
https://github.com/ishizakahiroshi
X(業務委託・各種相談はこちら):
https://x.com/ishizakahiroshi
バックエンド・インフラ・AI連携まわりで、業務委託のご相談を受け付けています。フルリモートです。スポットや週2〜3時間からでも歓迎で、いろんな案件に携われたらうれしいです。こんな相談、歓迎です。




