マイクロSaaSの技術スタックは、1年でこう変わった

株式会社ペンタコン研究所 PentaTrail開発チーム··7分で読める
目次

PentaTrailは、この1年で技術スタックを丸ごと作り替えました。

といっても、確固たる計画があったわけではありません。長くやってきたセキュリティの経験を、急速に進むAIの潮流にどう合わせるのか。作っては確かめる進め方で、何を残して何を捨てるかをその都度考え、「これは合わない」と気づくたびに乗り換えてきました。その足跡を大きく3つに分けて振り返ります。

第1章:Microsoftとノーコードで始めた(2025年4月〜7月)

最初はMicrosoftのノーコード基盤で組んでいて、使ったのはPower Platform、Dataverse、Azureです。

良い面は確かにありました。UIを中心に画面から設計を進められて、何を作るかが目に見えるので立ち上がりも速いです。ただ、使い込むほどに構造的な限界が見えてきました。

  • 人間が前提で、人間がボトルネックになります。ノーコードは「人が画面で操作する」ことを前提に作られていて、作業を自動化したりAIに肩代わりさせたりする方向とは、根っこで逆を向いていました。
  • 設定管理やバックアップの仕組みが弱く、コードのように差分を取り、履歴をたどり、壊れたら戻すという当たり前が、やりにくいのです。
  • DBのカラム名がブラックボックスです。Dataverseは内部のカラム名を自動生成するので、人が画面で触る分には困りませんが、生成AIにコードを書かせようとすると名前が分からず、予測もできません。ここが致命的でした。
  • 認証まわりの連携が大変です。外部サービスや認証システムとつなぐところで、ノーコードの枠に収めようとするほど苦労が増えていきました。

Azureも実際に触ってみると、マイクロSaaSには細かすぎました。設定の粒度も運用の前提も、最低でも複数人のエンジニアチームで開発・運用することを想定して作られており、少人数で、しかも運用をAIに寄せていきたい立場には明らかに重すぎます。良し悪しの話ではなく、想定している規模がそもそも違っていたのです。

また、いまでは考えられないことですが、1年前は、Web版のChatGPTやClaudeにソースコードをコピペし、返ってきた生成結果をVSCodeに戻してgitで管理していました。指示も結果のとりまとめも人間の手作業です。ChatGPTやClaudeも、今ほどの性能ではありませんでした。こちらの意図を十分に汲めず、AIが勝手に思い込んだ仕様で作り込んでいきます。出てきたコードは単体ではそれらしく動くのに、いざ既存のものと結合しようとすると噛み合わず、手戻りと修正を何度も繰り返す日々でした。

AIに頼りたいのにAIもまだ未熟で、足元のノーコード基盤もAIを活かせません。二重のもどかしさを抱えたまま、次の一歩に進みます。

第2章:Supabase / Vercelへ全面移行(2025年7月〜)

ノーコードの限界を感じて、それまで作ってきたものを一度手放すつもりで、「AI時代に合う基盤技術は何か」を探し始めました。

たどり着いたのがSupabaseとVercelです。2025年7月、「Supabase + Vercel」と題した最初のコミットでリポジトリを新しく切り直し、土台をノーコードからAIフレンドリーな完全コードベースの基盤へ置き換えていきました。

Supabaseを選んだ理由は、はっきりしていました。

  • ベースがオープンソースのPostgreSQLです。枯れた標準技術なので生成AIが知識を豊富に持っていて相性がよく、第1章で苦しんだ「カラム名がブラックボックス」のちょうど逆で、スキーマを完全に握れます。
  • 認証の土台が最初から入っているため、一から作る必要がありません。
  • Next.jsの開発元が出しているVercelと、公式にサポートされた形でつながります。

決済はStripeを採用しました。Checkoutも顧客ポータルもWebhookも一通り揃っていて、Supabaseとの連携実績も豊富です。奇をてらわず、実績のある定番に乗るのが正解でした。

基盤は固まっても、開発そのものはまだ綱渡りでした。この頃はClaudeやCodexをCLIで使い続けていたものの、セッションをまたぐと文脈が途切れてしまい、その継続性の弱さにずっと足を取られていました。一貫した開発を続けるのが難しく、認証をはじめ、あちこちで「どはまり」する日々が続きました。手詰まりが動き出すのは、次の章です。

第3章:AIネイティブへ(2026年2月〜)

開発そのものをAIに寄せ始めたところが、転機でした。その前の2025年10月ごろにバイブコーディング(vibe coding)という言葉を知り、同じ志の個人開発者をフォローし始めていました。とりたてて突飛な動きではなく、大きな流れの中の一人なのだと感じ始めた頃です。

2026年2月、.claude/skills を置いて、繰り返す作業をスキルとして定義し始めました。スキルというのは、AIに毎回読ませる手順書です。レビューの回し方(どの観点で、何を確認するか)、リリースの進め方(コミットからプルリクエスト、レビュー、マージまで)、仕様を固めてから実装までの流れといった進め方のコツを、AIがそのとおりに再現できる手順へ書き出していきました。属人的だった作業が、再現可能な手順に変わっていきます。

4月にはメモリ(memory)の運用を始めました。セッションをまたいで残る事実の置き場で、プロジェクト固有のコーディング規約、いま何がどこまで進んでいるかの状態、過去の失敗とその教訓を置いています。「この書き方をすると、ここで壊れる」「この前提は間違っていた」。そうした学びを書き残しておくと、次のセッションのAIが同じ罠を踏まなくなり、毎回ゼロから説明し直す消耗も大きく減りました。

アウトプットは、ここから目に見えて変わります。マージ済みのプルリクエスト(PR)の数で見ると、はっきりしています。

表1:月別のマージ済みPR数

マージ済み PR
2026年2月 3
3月 10
4月 178
5月 274
6月 250(月の途中まで)

この跳ね上がりは、体制を大きくしたからでも、スキルとメモリだけで起きたものでもありません。効いたのはAIワークフロー全体の成熟でした。スキルとメモリを足場に、開発の各工程が順にAI前提へ移っていきます。MCPで実環境を触らせ、仕様を計画(plan)に落としてautoモードで自走させ、pgTAPやvitestによるTDDで検証し、別系統のAIを突き合わせる二重のレビューを回し、CIと品質ゲートで全体を担保します。どれもそれぞれ独立した記事になる話なので、追って個別に書くつもりです。第1章で味わった「手戻りの繰り返し」も様変わりし、AIが思い込みで突っ走る頻度は大きく減りました。

伸びたのは、LLMそのものの賢さだけではありません。それを動かすハーネスや周辺ツール(スキル、メモリ、MCP、plan/auto、レビューやテストの仕組み)の進化が、同じくらい大きかったと思います。とりわけ2026年2月以降のClaudeまわりの進化はすさまじく、同じモデルでも持たせる道具と進め方次第で、出せるものがまるで変わります。SupabaseやVercelが良かったのも事実ですが、決定打は個別のライブラリ選定ではなく、進め方とその道具立てがまるごと成熟したことでした。同じ人間が同じ時間で桁違いの量を出せるようになった理由は、そこにあります。

この作り方の現物

こうして1年、作り替えながら出荷し続けているマイクロSaaSがPentaTrailです。外から見える会社の攻撃面を、AIで継続的に把握するCTEMのサービスです。

PentaTrail / CTEM を見る

PentaTrail CTEM/ASMで攻撃面を可視化しませんか?

CTEMフレームワークに基づき、外部攻撃面の発見から脆弱性検証・対応推進までを一気通貫で実現します。

お申し込みはこちら

料金を見る/他サービスとの比較・選び方