Technology
問い合わせフォームの必要性を考えて作った話
ホームページに問い合わせフォームを実装する。それだけ聞くと、何の変哲もない作業に思える。
だが、少し考えればすぐに分かることがある。今どき、mailto:のリンクを1本置いただけのコーポレートサイトは、もはや絶滅危惧種だ。理由は単純で、そんなことをすればbotスパムの嵐が来る。だからフォームを立てて、そこで無駄なメールを弾く——これがもう業界の常識になっている。
問題は、どういう仕様で実装するかだった。ここをAIと壁打ちすることにした。
中途半端は逆効果、という結論 技術訴求のサイトを作っている以上、この手の対策を疎かにはできない。むしろ中途半端な対応の方がまずいという話をAIとした。
というのも、お問い合わせフォームというのは、一部のハッカーにとって腕試しの場でもある。突破できたことを誇示するように、スパムボットハッカーカルチャーのネットスラング「Leet(リート)」由来の数字——「337」やら「31337」やらを平然とぶち込んでくる輩がいる。生半可なガードでは、むしろ「この程度か」と足元を見られるだけだ。
気づけば5層構造になっていた話 そんな壁打ちの結果、大人げないと自分でも思うほど徹底したスパム対策案がまとまった。ハニーポット、Cloudflare Turnstile、Redisによるレート制限、AIによる文面判定、メール送信——気づけば5層構造である。
面白かったのは、この対策をさらに過剰にしようとしたところで、当のAIから「コーポレートサイトにはオーバースペックです」と止められたことだ。作っている最中に、作らせている側より冷静な判断をされるというのは、なかなか妙な感覚だった。
スパム排除にAIの振り分けまで使うのは、正直やり過ぎの感はあった。ただ費用対効果を考え、このアーキテクチャは全てオープンソース、使うツールも無料枠の範囲に収めることにした。ここまでやって、月々の追加コストはほぼゼロである。
そもそも、このフォームで仕事を取ろうとは思っていない ここまでの話は、いわば技術的にどう作るかの話だった。だが、もう一つ、これぐらい割り切って作れた理由がある。
そもそも論として、私はこのフォームで新規の仕事を取ろうとは思っていない。ジェイ・スピリッツは、一見の仕事をまず請けない。大抵は今までの取引先か、その紹介で、うちでしかやれない仕事を持ってきてもらうことがほとんどだ。
高飛車に対応しているつもりはないが、こちらから「こんなことができます、何でもできます、よろしくお願いします」と間口を広げたところで、こちらの技術を理解していない相手とうまくいくわけがない。相手のレベルを見ずに仕事を受けると、結局トラブルになる。それだけの話だ。
ただ、これは相手をITリテラシーの高低で振り分けているという意味ではない。真摯に相談してくれるかどうか、そして「我々にしか対応できないことを、我々に必要としてくれているか」——ここを、人を見て、話をして判断する。これは創業当初からのポリシーである。
だから、高度なAIシステム構築しか請けませんという話でもない。簡易なファイルサーバーの構築や、社内LAN構築のような仕事に対応することもある。費用も、その依頼の身の丈に合った額を提案するようにしている。
アピール文言が足りない、と言われた話 話がそれたが、フォームだけでなく、このホームページ自体がそもそも集客のためのものではない。SEOでこのサイトを見つけてもらおうという発想も、正直あまりない。
このサイトは、ハッカーが実力を誇示するのと同じような意味合いで、誰かに紹介されたり、こちらが誰かを紹介したりする際に「こんなことをやっています」と見せるためのパンフレットのようなものだ。
リニューアルしたこのサイトを、世に溢れる某SEO評価ツール——販売促進を頑張ることこそ正義とする、いわゆるSEO屋謹製のそれ——にかけてみた。結果、「商材や技術力を積極的に売り込む文言要素が少ない」という評価が返ってきた。彼らの物差しに乗せれば、これは改善点として指摘される類のものなのだろう。
だが、これを読んで、むしろ膝を打った。ここまで書いてきたような、間口を広げない、売り込まない、という思想が、売り込み偏重のツールの評価軸の上に、意図せず数値として浮かび上がっていたからだ。狙って削ぎ落としてきたものが、狙った通りに「削ぎ落とされている」と、よりにもよって売り込み至上主義のツールに判定される——これほど分かりやすい答え合わせもない。
では、なぜ窓口を閉じなかったのか ここまで読むと、一つの疑問が浮かぶはずだ。集客もしない、SEOも狙わない、新規の仕事も取る気がない。それなら、いっそフォームなど置かずに閉じてしまえばいい——そう思われても不思議はない。
だが、そうしなかった。
理由は単純で、人との出会いというのは、結局のところ一期一会だからだ。今までの取引先やその紹介だけで回っていくと思っていても、その「紹介」の最初の一歩は、大抵どこかで偶然の接点から始まっている。その偶然を、全部切り捨ててしまうのは違う気がした。
だから、間口は極限まで絞り込みながらも、完全には閉じない。5層のスパム対策で機械的なノイズは徹底的に排除する。だが、その先に残った、人間の言葉でこちらに何かを伝えようとしてきた相手を判断するのは、AIではない。私自身だ。
スパムを弾くところまではAIに任せる。だが、誰と仕事をするかを決めるところは、最後まで人間の判断に残しておく。そういう意味で、あのフォームは単なる問い合わせ窓口というより、いわば社会の窓——閉じきらずに、そこだけ開けておいた、ということなのだと思う。