コラム|2026年10月28日|DXプラナ代表 花村 剛

前回のコラムで、当社のお問い合わせのフォームを、PHPを使わない小さなプログラムで作り直したと記しました。今回は、その一晩の経過を、時刻を追って書きます。うまくいったことだけでなく、朝につまずいたことも含めて残しておきます。お問い合わせのためだけに大掛かりなシステムを抱えている会社でも、同じやり方で小さく作り直せると考えています。
夜9時、要件を渡す
先週の金曜日の夜9時9分、お手伝いしている会社のために用意していたお問い合わせフォームの要件をAIに渡し、「まず当社のお問い合わせを、これで置き換えて試したい。設計できますか」と頼みました。お客様に出す前に、同じものを自分の会社で動かしてみたかったからです。
AIからは、すぐに設計の案と質問が返ってきました。いまのフォームで受け付けた後、何が起きているのか。記録をどう扱うのか。そのやり取りの中で、私は一つ思い違いをしていました。お客様が使っているレンタルサーバーの設定画面には、データベースの項目が「MySQL設定」と出ています。それを見て、「このサーバーではMySQLしか動かない」と書いたのです。AIは、サーバーの会社のよくある質問を示して、「中身はMariaDBです」と返してきました。MySQLから枝分かれした、よく似た別物です。私も案内を読んで確かめ、こちらに合わせると決めました。おかげで、夜のうちの試しから、データベースはお客様のサーバーと同じものを使えました。
ここから1時間ほどで、私はいくつかのことを決めました。問い合わせは全件を記録しますが、メールマガジンの配信リストには自動では入れず、担当者が内容を確かめてから決めます。届く問い合わせの多くは営業のメールで、本当の問い合わせは一部だからです。確認のメールは自動で返します。受け付けた問い合わせは管理画面で一覧して確かめ、記録も期限で自動的には消さず、担当者が期間を指定して消すことにしました。最後に、「お客様のサーバーと同じ形にしてほしい」と頼みました。
夜10時14分、このまま進めてもらうよう頼んで、パソコンを消して就寝しました。
夜10時43分、報告が届いていた
翌朝7時半前にチャットを開くと、作ったものと試験の結果が届いていました。届いたのは、私が就寝してから29分後、前の晩の10時43分です。
AIは、プログラムと設置の手順を作り、手元の環境で52項目を試し、51項目が合格していました(残る1項目は、本番で確かめる項目でした)。そのうえで、安全の面からの点検まで済ませていました。点検では、直すべき点が9件見つかっていました。たとえば、同時に何通も送られると、回数の制限をすり抜けられる。入力した文字によっては、送信できなくなる。どれも、最初の試験では見つかっていなかったものです。報告によると、9件とも直して、試験をやり直してありました。
報告の最後には、「確かめられなかったこと」も書いてありました。データベースは合わせられたが、サーバーでプログラムを動かすための設定は、手元では本番と同じものを使えなかった、という内容です。
朝、3つつまずく
7時38分から、私がサーバーに設置しました。つまずいたのは、確認用のサイトでフォームを開いてからです。設定の1行が有効になっておらず、画面にプログラムの中身が文字化けして出てきました。権限も合っていませんでした。8時13分に本番へ切り替えると、今度はフォームの外枠が消えました。
最初の2つは、前の晩に「確かめられなかったこと」として伝えられていた設定の部分でした。3つ目も、本番への切り替えで初めて出るものです。どこを疑えばよいか見当がついていたので、原因はどれも数分で突き止められました。8時19分には、本番で試しの問い合わせが届くことを確かめました。そのあと頼んだ確認メールの手直しも、18分で本番サイトに反映しました。
手を動かしたのは、約2時間10分
要件を渡してから本番で動くまで、約11時間です。そのうち9時間ほどは、私は寝ていました。私が手を動かしたのは、夜の判断(9時9分から10時14分まで)と、朝の設置と確認(7時38分から8時42分まで)で、合わせて約2時間10分です。
記録の扱いも、お客様のサーバーと同じ形にすることも、AIとのやり取りの中で私が決め、就寝前に言葉にして渡したことです。決めることを済ませてから就寝したので、作る作業は、寝ている間の29分で済んでいました。フォームは今あるサーバーの上で動かし、メールも、いま使っているメールのサービスの設定を変えただけです。サーバーとメールの料金は増えていません。AIは、ふだん使っている月額の契約の範囲で使いました。
判断の基準を先に渡したことが、後になって効いた場面もあります。渡した要件には、「PHPは使わない。部品は、Pythonに最初から付いているものを基本にし、外から足すのはデータベースにつなぐ1つだけ」と書いておきました。本番のサーバーで動かすと、Pythonは新しい版で、昔からフォームによく使われていた cgi という部品が、外されていました。もともとその部品に頼っていなかったので、手を入れずにそのまま動きました。この決まりは要件を作るときに決めたもので、今は経営レシピにも書き足してあります。
また、当社のホームページで動く仕組みを持っているのは、お問い合わせのフォームだけです。ほかのページは、表示するだけのページです。そのため、フォームに弱点が見つかっても、フォームだけを止めれば、ほかのページはそのまま見ていただけます。
ただ、短い時間で済んだのは、このフォームを作る作業だけです。その手前で、当社は時間をかけています。1月から、当社の考え方や判断の基準を、AIが使える形の文書「経営レシピ」に書き出し、そのための自社の道具(知識資産ビルダ)を使って、書き足しと直しを続けてきました。今回のように、夜の1時間で判断を次々に決められたのも、基準を言葉にすることを1月から続けてきたからだと考えています。
朝の3つのつまずきからは、もう一つ学びました。データベースは合わせられても、プログラムを動かす設定まで手元で同じにするのは難しい、ということです。
次は
お問い合わせのフォームは、ホームページの中で一番小さな「動く部分」です。ニュースの一覧なども、同じやり方で作り直せると考えています。御社のホームページで、お問い合わせのほかに動いている部分は、いくつありますか。お問い合わせ、ニュースの一覧、予約など、動いている部分を書き出してみると、どこから選び直すか、順番を決められます。
ホームページとは別に、当社は経営者の方と一緒に経営レシピをつくっています。当社の場合、最初の版をつくるのに1月の約3週間かかりました。そのときに整えた道具(知識資産ビルダ)を使うと、関連する資料がWordやPowerPoint、PDFでそろっている会社なら、最初の版は3〜5日ほど、早ければ3日でできあがります。3週間の無料トライアル(別のタブで開きます)でも、お手元の会社資料から、はじめの3〜5日で最初の版を準備しています。
前の記事:首相が「大至急」と呼びかけたPHPの脆弱性。お問い合わせだけのために、大掛かりなシステムを抱えていませんか
コラムの一覧へ