見出し画像

仕様書探しに疲れた事務員がClaudeにDB化を頼んだ話

もうちょっと楽に探せないかな。

公共工事には「共通仕様書」というものがある。材料の規格、施工の方法、検査の基準。全部ここに書いてある。大阪市の自分の勤務先に関連するだけでも水道局、建設局、港湾局と管轄ごとに別のファイルで、合わせて300を超える。

めったにやらない工種の決め事を確認するたび、HPで本編を開いて、なければ参考資料に飛んで、ウロウロ探す。かなりめんどくさい、でもしないわけにはいかない探し物。

この300のファイルが、Claude Codeで8分のうちにデータベース(以下DB)になった。今はCoworkに訊くだけで答えが返ってくる。


Coworkで全部できると思っていた

Cowork(Claudeのデスクトップアプリ)を入れたとき、最初に思いついたのが共通仕様書の検索だった。『Acrobatで文字起こしさせたら検索できるんちゃうか』と前から考えながら、大阪市建設局の仕様書をダウンロードしたまま放置していた案件だ。

2月23日。祝日で自宅にいた。スマホのClaude.aiアプリを開いて、こう聞いてみた。

共通仕様書というフォルダを作って、各局の仕様書を入れておく。スキルを発動させたら、特記仕様書と合わせて施工管理に必要な箇所を教えてくれるようにできますか?

Claude.aiの答えは「概ねできます。ただし制約と工夫が必要です」だった。

ここから壁打ちが始まった。自分の希望を言うと、それを実装するのに何が必要なのかを説明してくれる。方法が複数あるときは、それぞれのメリットとデメリットを並べてくれる。

非エンジニアにとって、どういうシステムで構築したら良いのかという引き出しは多くない。だからこそ、この壁打ちが大事だった。自分がやりたいことを言葉にする。Claudeが選択肢を出してくれる。その中から選ぶ。これを繰り返していくうちに、フォルダ構成が固まり、スキルファイルの設計が見えてきた。

祝日の自宅。スマホでClaude.aiに構想を打ち込み始めた

最初にやったのは、仕様書のダウンロードだ。大阪市のHPには共通仕様書のPDFが公開されている。1つずつ手で落とすのは気が遠くなるので、CoworkにURLを渡して一括でダウンロードしてもらった。一連の作業を見て、これをスキル化してもらうことにした。skill creator(スキル作成用の公式スキル)を発動してから作る方法もあるみたいだけど、どんな風に作業を行えるのか分からないので、一度通しで作業をしてもらい、それをスキル化してもらう方法を選んだ。Coworkがスキルファイルを作ってくれた。

スキルを作ったタスクでは動いていたのに、別のタスクに切り替えたら使えなくなった。Claude.aiに聞くと、「/」で呼べるのはプラグインだけで、スキルとは別物だという。『いやいや、YouTubeとかで「/」からスキル使ってたで、どういうことなん?』と思ったが、その時は深追いせずに先に進んだ。

スキルを改修するたびにもう一つ困ったことがあった。毎回「読み込み専用なので保存できませんでした。作業フォルダに保存します」と、スキルがあちこちに散らばっていく。このままでは管理できなくなる。保存先を決めたいとCoworkに相談したところ、スキルはパッケージングを行って、Customizeからアップロードして登録する仕組みだとやっと分かった。

スキルの改修を繰り返しながら、少しずつ形にしていく

スキルが動くようになってからは改修の連続だった。最初のダウンロードでは、セクション別のサブフォルダが作られず、1つのフォルダに全部入ってしまった。共通仕様書のHPと同じような階層にしたり、「DL-PDF」と打てばPDFだけダウンロードするトリガーキーを付けたり。こうした改修を何度も繰り返した。

このスキルで建設局・港湾局・水道局の仕様書を一気にダウンロードして、300を超えるファイルが手元に揃った。はじめてきちんとスキルを作り上げたことが、かなりうれしかった。

この時点で、CoworkのUIがチャットでやり取りを行い成果物を作ってくれること、スキルを作れば同じ作業を繰り返してくれることにとても魅力を感じていた。Claude Codeはエンジニア向けの黒い画面にコマンドを打つような世界で、自分には縁がないと思っていた。Coworkで十分やれる。そう思っていた。


回り道だらけのDB構築

ダウンロードが済んだ。次はこの300を超えるファイルを、検索できるようにしたい。

Coworkに頼んだ。「この共通仕様書のファイル群から、必要な情報を検索したり、参照したり、様式から書類の作成を行いたい。検索しやすくて手動でも探せるようなものにするには、どういう風にするのが良いと思う? プランを立ててください」

出てきた計画は5ステップ。全PDFからのテキスト抽出、マスター索引の作成、建設局は節・条レベルの詳細索引、検索用スキルの作成、そして命名ルールの策定。

そして完成したらどんなことができるかも教えてくれた。「養生」「舗装」と聞けば該当する条文を探してくれる。水道局で見つからなければ建設局にも横断検索をかけてくれる。「着手前の提出書類の様式はどこ?」と聞けば、該当するテンプレートファイルを案内してくれる。

『横断で探してくれるんや。様式も聞くだけで出てくるんや』。十分だと思った。じゃあ作ってもらおう。

ここで、今思えば無茶な指示をした。300を超えるファイルを、一気に食べさせたのだ。「今立てた計画の実装をお願いします」と。

何時間経っても、ウニみたいなアイコンが伸び縮みしている。

ハングアップしたのかもしれない。でも、もし裏で作業が続いていたら。止めたら全部やり直しになる。諦めきれなかった。

帰って良いんだろうか。不安を感じながら、その日は帰った。

翌朝。出社してCoworkを開いたが、相変わらずウニのまま。さすがに諦めてタスクを終了した。

翌朝出社しても、まだウニが回っていた

Claude.aiに相談した。一気に処理するのではなく、10件ずつ小分けにすればいいという話になった。Claude.aiがスキルファイルを修正してくれたので、ローカルフォルダのSKILL.mdを差し替えた。Coworkに改めて計画の確認を行い修正箇所があれば、Claude.aiに戻り相談しスキルを修正、差し替えてCoworkに渡す。Coworkが実行して、うまくいかなければまたClaude.aiに持っていく。この往復でスキルのバージョンが上がっていった。

スキルを改修していく中で、認識されないファイルが出てきた。何度やってもおかしい。Claude.aiに中身を貼り付けて見てもらったら、原因は設定ファイルの書式ミスだった。ただ、そのファイルを書いてくれたのもClaudeだった。Claudeが書いたものを、Claudeが直す。マッチポンプみたいな話だが、それより気になったのは直し方だった。自分が書き間違えたんじゃないみたいにしれっと修正してくる。『いや、書いたのお前やろ』と思ったが、どうやらこれがClaudeのデフォルトの挙動らしい。謝ってほしいわけじゃないけど、なんかモヤモヤする。

Coworkがスクリプトを書き、DBを構築した。4,259件。完走した。検索テストもしてみた。

実は自分が勤めている会社は水道管の布設を下請業者にお願いすることが多かった。なのでこの規定もつい最近知ったばかりで、『答えられるかな?』と思いながら聞いてみた。「水道局の埋戻写真の撮影ピッチは?」

混み合う時間帯だったのか3度ほど検索が止まったのだが、その度に続きを促すと、「40m以内に1箇所」と答えてくれた。簡単に何処に載ってそうか当たりを付け、内容を確認し答えてくれた。

『こんな簡単に答えてくれるの? 今まで探しまくっていたのがこんなにあっさり。』

かなりの驚きと嬉しさが入り交じる、最初のテストだった。

ところが別のタスクで仕様書を検索しようとしたら、DBを見に行かずネットを調べに行ってしまう。おかしいと思ってDBを作ったタスクに戻って確認してもらったら、Coworkで書いたつもりのDBファイルが、自分のPC側では中身が空になっていた。テキストはちゃんと届くのに、DBみたいな特殊なファイルだけ届かない。

Coworkの限界が見えた。もう近寄りがたいと言っていたら進まない。Claude Codeに、初めて仕事をお願いすることにした。


8分で変わった景色

まずはVSCodeをインストールして、Claude Code拡張機能を入れないといけない。手順を聞こうとClaude.aiを開いたつもりが、Coworkの新しいタスクに書き込んでしまった。初めてClaude Codeを触る緊張もあって、送った後に気づいたけど『まあいいか』とそのまま進めた。Coworkもちゃんと答えてくれた。

手順は問題なく進んだ。次はClaude Codeに渡すプロンプトだ。これもCoworkが作ってくれた。スキルもv6に修正して、DB構築はClaude Code、検索はCoworkという役割分担を明記してくれた。Coworkで一度完走しているから、期待される結果も具体的に書かれていた。総ファイル数、総レコード数、エラー0件。あとは貼り付けてEnterを押すだけだった。

あれだけ遠ざけていたClaude Codeだが、画面表示が少し違うだけでCoworkとほとんど変わらなかった。

8分。

300を超えるファイルが、4,259件のレコードに変わった。エラー0件。期待値と完全に一致した。

8分。エラー0件。期待値と完全に一致した

あの1日ウニを眺めていた時間は何だったのか、と思った。

最初のテスト検索で「カルバート」と打ったら文字化けした。Windows環境の文字コードの問題だった。Claude Codeが「検索自体は動いている、表示の問題だけ」と判断して、2回目で正常に表示された。38件ヒット。

テストで歩車道境界ブロックの基礎コンクリートのサイズを調べてみたら、水道局の仕様書には該当がなかった。すると、自動で建設局の仕様書に横断検索をかけて、道路工事設計標準図集の該当ページを見つけてきた。

結果そのものより、そこに至る工程を見ている方が驚きだった。質問の内容を理解して、適切な文言で検索して、水道局になければ建設局にも探しに行く。今までのDBでは考えられなかった動き方だった。

2日で3回の再構築をした。1回目はPDFの回転処理。仕様書のPDFの中に、横長の図面をA4縦に合わせるためか90度回転して格納されているものがあった。文字がきちんと認識できないので、回転させて保存し直してからDBを作り直した。2回目はフォルダの配置変更。参照用の仕様書を_referenceフォルダにまとめて移動したので、パスが変わった分を再構築した。毎回エラー0件で完走した。完璧を求めて設計してから動かすのではなく、動かしながら環境を整えていった。

Claude.aiのチャットからDBを直接見られないかも試した。ローカルのファイルには触れないので無理だった。ただし、リリース当初からFilesystem MCPという仕組みがあり、Customize画面のコネクタからFilesystemを追加すれば、チャットからローカルファイルを読み書きできた。当時の自分はその存在を知らなかった。

それからテストや検索をちょこちょこ使い始めていたのだが、Claudeを利用し始めてから1ヶ月ほどが経った頃、全体のフォルダ構成やCLAUDE.mdの整備を行った。CLAUDE.mdというのは、Claude Codeにプロジェクトの前提条件や作業ルールを伝えるための設定ファイルだ。共通仕様書のルールとして記載した中で、一番大事だったのはこれだ。

仕様書は契約時点の版を使用すること。誤った版の使用は契約違反になる。

公共工事では、仕様書の版を間違えることは法的な問題に直結する。だからここはAIに自動判断させず、複数の版がある場合は人間に選ばせる設計にした。AIに全部任せるのが正解ではない場面がある。

工事写真の整理中、Claude Codeが写真を振り分けるのに舗装構成はどれ?と訊いてきた。これって共通仕様書のDBを使って貰って、調べて貰えば良いんじゃないかと気が付いた。今までも仕様書で知りたいことがあったとき、Coworkに質問し回答してもらっていたが、このように二次的な使い方をするのははじめてだ。

物は試しに検索スキルを使って情報を探してくれるように頼んでみた。結果はきちんと探しに行ってくれたのだが、その情報がなかった。DBに未登録だったのだ。Webも探したが見つからない。以前ダウンロードしてローカルに保存してあったPDFから確認してもらった。大阪市のHPから消えていたのか、URLが変わったのかは分からない。でもローカルにはちゃんとデータが残っていた。ダウンロードして保存しておく価値が、ひいてはDBに登録しローカルに保存しておく必要性が、思わぬ形で証明された。

最近も、出来形管理の許容差を調べてもらった。もう日常の道具として回っている。

もう日常の道具として回っている

共通仕様書のDB化でわかったこと

今回のDB化を振り返って、気づいたことが5つある。

  • 基本方針を決めれば、骨組みは自ずと決まる。 どんなことがしたいのか、そのために何が必要なのか。まずここを決める。そこが決まれば機能の追加もお願いできるし、実運用しながらバージョンアップしていけばいい

  • Claude.aiで壁打ちしてから実装に回すと、思っていたものに近いシステムができる。 非エンジニアは引き出しが少ない。だからこそ、希望を言葉にしてClaudeに選択肢を出してもらい、その中から選ぶプロセスが大事だった

  • 基本を知らなくても、「分からなかったらClaudeに聞く」で致命傷にはならなかった。 マッチポンプ的なこともあったけど、一つ一つ課題は解決していった。ハマって動けなくなることはなかった

  • 回り出したら、修正もバージョンアップも自分でできる。コストも微々たるもの。 今までは業者に頼むしかなかった。でも今は思い立ったらその場で直せる。かかるのは作業の時間と、PCの電気代と、AIの月額使用料だけだ

  • アップロード・ダウンロードなしでチャットから直接ローカルファイルを読み書きできる方法が、リリース当初からあった。 Customize > コネクタからFilesystemを追加するだけだ。当時の自分は知らなかったし、その情報に触れる機会もなかった。チャットで壁打ちしてから実装する非エンジニアにとって、これは特に効く。一度試す価値はある

次に試すこと:このDBの仕組みを使って、工事書類の仕事をClaudeにお願いするときの活用方法を組み立てていく。施工計画書の作成も視野に入れている。

最初は大変だった。でも回り出したら、あの探し物の時間には戻れなくなった。



いいなと思ったら応援しよう!