
日本最大級の自治体における防災ドキュメント基盤 ── 約6,000万円規模・3年契約の案件で、数千ページの文書に対する「類似検索」をどの技術で実現すべきか。専任アーキテクトを雇うほどではない、でも社内だけでは決め切れない。この隙間を埋める形で、株式会社ミズナラは Leach 生成AI顧問を活用しました。CTO 小田 将之 様、CEO 木下 祐馬 様にお話を伺います。
「弁護士のように時間チャージで技術顧問をやってくれる人って、市場にほとんどいないんです」── 株式会社ミズナラ CTO 小田 将之 様
※本記事で紹介する防災領域の取り組みには、ミズナラの前身体制で行われたプロジェクトを含みます。本文中の約6,000万円規模という記載は、当該取り組み全体(インフラを含む)の規模感を示したものであり、Leach の顧問料や保守契約の金額を指すものではありません。公開上の配慮から、顧客名や一部の固有情報は伏せて記載しています。
支援サマリー

- 約6,000万円:日本最大級の自治体における防災領域案件の規模感(3年契約・インフラ含む)
- 7候補→1案:MySQL全文検索/Aurora PostgreSQL+pgVectorなど、コスト・運用負荷・要件適合で比較
- 保守工数ほぼゼロ:公開から約1年、類似検索は社内で日常的に利用。運用は落ち着いたまま
- PDF1本で完結:「これ以上お願いするのが申し訳ない」と発注時間を残したまま設計確定
本事例でご活用いただいたサービスについて詳しくはLeach 生成AI顧問をご覧ください。
企業プロフィール



小田 将之 様|株式会社ミズナラ CTO
木下 祐馬 様|株式会社ミズナラ CEO
1. ミズナラとは ── 大規模ドキュメントを扱うための土台をつくる
ミズナラは、大規模なドキュメントをどう管理し、どう編集し、どう発信しやすくするかをテーマに取り組んでいる会社です。自社では、大規模ドキュメント管理を見据えた「Wordless」や、AI時代のオフィスツール「OffiStill」を研究開発しています。
現実の業務文書は Markdown だけでは完結しません。表データや図、引用関係を含めて「業務に耐える粒度」で扱える仕組みが要るんです。今回の案件も、その延長線上にありました。
少人数のチームで、受託と自社プロダクトの R&D を並行しています。だからこそ、全部を自前で抱え込むのではなく、要所だけ外部の強い人に入ってもらうという発想を重視していました。Leach さんにお願いしたのも、まさにその文脈です。
2. 導入前の課題 ── 類似検索は必要だが、仕様書と予算の制約で技術が決め切れない

相談対象は、日本最大級の自治体における防災ドキュメント基盤でした。約6,000万円規模・3年契約の案件で、大量のPDFや画像からOCRでテキスト化した情報を蓄積し、Web上で検索・閲覧できるようにするものです。既存のデータベースは MySQL、全文検索も MySQL でまかなっていました。
一番大きかったのは、「似た記述を探したい」要件はあるのに、どの技術を選ぶべきか社内だけでは決め切れなかったことです。既存の MySQL 全文検索では表現力に限界がある。かといって、その先の正解が見えていなかった。
依頼した時点では、正直「似たようなドキュメントを探せる仕組みがほしい」というかなりふわっとした相談でした。そこに対して冨永さんから「それならベクトル検索が候補になります」と提案をもらった。ミズナラ単体では、そこにたどり着けていなかったんです。
自治体案件ならではの「達成率100%必達」という制約
検索機能だけを見れば選択肢はいくつもあります。でも、自治体案件では「仕様書に書いた以上は、きちんと動かして達成率を落とさない」ことが絶対なんです。途中でもっといいアイデアが浮かんでも、仕様書にないことをやればガントチャートが崩れ、達成率が落ち、補助金が打ち切られかねない。
だからガントチャートはバッファを積んで組み、年次ごとの達成率を100%に近づけることを最優先します。その制約のなかで、類似検索という新しい要素を入れないといけなかった。「良い技術」ではなく「制約に収まる技術」を選び切れるかどうかが勝負でした。
ミズナラが当時抱えていた論点は、次の3つに集約されます。
- 「似た文書を探したい」という要望を、どの技術で実現するかが見えていなかった。ミズナラ側ではベクトル検索という選択肢にたどり着けておらず、Leach 側から意味検索の方向性を提案。
- 検索精度だけでなく、運用負荷・予算上限・説明責任を同時に成立させる必要があった。専任のインフラ担当がいないため、Serverless 前提で無理なく回せる構成にしたい。
- 仕様書と納期を崩せない。新規要素を入れるにしても、達成率と納期に響かない設計でなければ採用できない。
3. Leachを選んだ理由 ── 雇用ではなく、数十時間の設計支援が欲しかった

実装そのものより、設計とアーキテクチャの壁打ち相手が欲しかったからです。フルタイムで採用するほどではない。でも数十時間だけでも実力のあるアーキテクトに入ってもらえたら、全体が一気に前に進む感覚がありました。
冨永さんは AIIT(産業技術大学院大学)つながりで知っていて、アーキテクトとしての評判が良く、AWS の知見も深い。AWS 全12冠の実績もあります。相談当時はまだ生成AIが今ほど発達する前で、インフラのベストプラクティスをネット検索で探すのにも限界があった頃です。そこを埋めてくれる相手として、ほぼ一択でした。
実際に相談してみて良かったのは、技術の正解を提示するだけでなく、どの軸で選ぶべきかという判断基準まで一緒に並べてくれたことです。Slack での返答も早く、論点が溜まりません。
もう一つ大きかったのは、プロジェクトのコスト内に収まること。約6,000万円規模と言っても、専任アーキテクトを雇うのは現実的ではない。だからこそ「設計だけを必要な時間分だけ頼める」形がちょうど良かったんです。
ミズナラが求めていたのは、開発を丸ごと委託することではありません。必要だったのは、次の役割に限定された支援でした。
- 技術選定の比較軸を、今回の制約に合わせて整理する
- コスト感と運用負荷を、導入前に試算する
- 実装で踏みがちな落とし穴(罠ポイント)を先出しする
この「設計だけを切り出して頼みたい」というニーズに、Leach の生成AI顧問が噛み合いました。
4. 支援内容 ── 7候補の比較と「罠ポイント」の先出し

Leach が主に支援したのは、類似検索の方式選定です。最初の「似たようなドキュメントを探したい」というふわっとした相談に対して、まずベクトル検索を提案。そのうえで、7つの候補を並べ、コスト・運用負荷・要件適合の3軸で比較しました。

有力案として整理されたのは PostgreSQL + pgVector。さらに Aurora PostgreSQL と RDS for PostgreSQL の両方を並べ、どちらを採るかの判断基準まで提示しています。最終的には、既存 MySQL が Aurora Serverless v2 で動いていたこと・コスト感・移行のしやすさを踏まえ、Aurora Serverless v2 を中心に進める方針で着地しました。
良かったのは、各選択肢について、今の規模でのコスト感まで試算してもらえたことです。サーバコストには上限があって、それを超えたら即アウト。専任のインフラ担当もいないので、運用の重さまで含めて判断できたのは大きかったです。OpenSearch のような選択肢もありましたが、今回はそこまで重い仕組みは要らない。「強い技術」ではなく「今回の制約に合う技術」を選べたのが価値でした。

「設計と罠ポイントさえ事前にわかっていれば、今の時代、実装はまあできる。そこを整理してもらえたのが大変助かった」── 株式会社ミズナラ CTO 小田 将之 様
納品された PDF は、正直それだけで十分すぎると感じました。時間の上限を決めてお願いしていたのですが、残りの時間を無理に消化してもらう必要がないと思ったくらいです。「これ以上お願いするのが申し訳ない」という感覚でした。
さらに Leach は、比較表だけでなく、実装で実際にハマりやすい論点を事前に共有しました。pgVector の導入タイミング、初期化の順序、Docker 環境と Aurora 環境での差分、そして CloudFront キャッシュの運用設計まで。単なる技術調査ではなく、「実装でつまずく場所まで先回りする」支援になっていました。
5. 運用1年後の今 ── 検索は定着し、保守はほぼ発生していない
pgVector 導入時のつまずきどころを事前に回避
実際に進めてみると、検証と立ち上げはかなりスムーズでした。特に助かったのは、pgVector のインストールと初期化の罠。Docker と Aurora で「いつ、どう入れるか」は意外と迷う論点なんですが、事前に相談していたので詰まらずに済みました。
CloudFront の手動運用を CI/CD に組み込む

支援は検索基盤だけにとどまりませんでした。デプロイ後の CloudFront キャッシュ削除についても、運用改善の提案が行われています。

