スプーキーズのちょっとTech。

SPOOKIES社内のより技工的な、専門的なブログページです。

Slackがちょっと便利になるツールをAIだけ頼って開発した話。

どうも。 AIありきの仕事に慣れすぎて、もう一年前には戻れないと感じている鈴木とまっちゃんです。

さて、この度社内ソリューションとして、ちょっと使いやすいSlackのグループ編集ツール「SlackGroupManager」をほぼAIの力だけで開発したので、その道のりをブログにします。

きっかけ

2025年3月。 AIコーディングエージェントやバイブコーディングが実用の域に達し始めた頃。 スプーキーズでも、当然AIの業務導入は話題になりました。

「見せてもらおうか、(当時)最新のAIの性能とやらを。」

ちょうど「Slackのグループ割当のUIが使いづらい」という悩みが社内の業務改善チケットの中に転がっていたので、一旦ベンチマークを兼ねてGitHub Copilotに社内ソリューションを作らせようと試みたことから話は始まります。

完成までの道のり

最初に選んだのはNext.js。 SlackAPIを叩く都合上プロキシが必要だったためです。 また、FEとBEを分ける構成にするとコード量が増えてコンテキストを消費し、仮にモノレポであっても完成できないんじゃないかと思ったことも理由の一つでした。

人間ならSlackのAPI仕様を調べて、セットアップして、コード書いて、とどうやっても一日はかかるだろうと言う仕事を、当時のGitHub Copilotくんは一時間そこらで動くものを作り出してしまったのです。 このときの感動は今でもはっきり覚えています。

が、しかし当時のAIコーディングは考慮不足も多く、社内ツールとしてイントラに載せるにしても改修が必要で、AIの力だけではデプロイにまでは辿り着けませんでした。 またお陰様で他の案件が忙しくなったのもあり、優先順位が低かったこのプロジェクトは一時的に止まってしまいます。

そして半年以上経った先月、流石にデプロイさせて一旦プロジェクトに終止符を打とうと再度動き出します。 ツールもGithubCopilotからCodexに、モデルもClaude Sonnet 3.7からGPT-5-Codexに進化。 また、最近社内でCloudflareが各所で導入されており、このソリューションもCloudflareスタックで固めようという方向性にシフト。 これにより、構成から根本的に見直され、Codexによる大改修が始まりました。

技術構成

最終的には、下のような技術構成になりました。

  • React
  • Hono
  • Slack API
  • Cloudflare Workers
  • Cloudflare Zero Trust

半年前GitHub Copilotに作ってもらった Next.js ベースのアプリを、フロントエンドとバックエンドに分離し、Workers上で動かすための構成にしました。 この作業は、Codexを使って行いました。

プロンプトはシンプルで、

このNext.jsのプロジェクトを、ReactとHonoを使用して、Cloudflare Workersでデプロイできるようにしてください

のように指示を投げて完成させました。 ただ、パッケージが古かったので、ncuを使ってパッケージの更新をして完了!

詳細な構成として、バックエンドは Hono で API ルーティングを管理し、静的アセットは Workers の Assets 機能で配信する、というかなりオーソドックスな構成です。 シンプルイズベストですね

今後どういうふうにしていきたい?

Slack APIのレートリミットが厳しく、本番の運用には耐えられないかもしれません... ということで、KVを活用したAPIのキャッシュなどに力を入れていきたいですね 💪

また、誤操作などで権限を振ってしまうと大変(!)なので、確認ダイアログなども作成して誤操作防止などにも力を入れていきたいです!