合同会社Techno Vision AO

連載「YOKOSO PAY の舞台裏」第 2 回

YOKOSO PAY の開発体制AI ネイティブな DevOps で、速く、確かに出す

この記事のまとめ

  • ほぼ 1 人のエンジニアと AI のエージェントで、開発から運用までを回しています。 直近 3 か月で main に取り込んだ変更は 540 件あまり。9 月半ばからの 5 週間で、本番へのリリースは 12 回です
  • 速く出しても壊さないよう、CI/CD・シフトレフト・Infrastructure as Code を組み合わせています。 不具合は本番の前の 3 か所の品質ゲートで止まり、止まったら AI が理由を読んで直します
  • AI に任せる範囲と、人が責任を持つ範囲を分けています。 お金や権限に関わるところは人がレビューし、最後は開発とは別のメンバーが実機で確かめます

はじめに

合同会社Techno Vision AO は、町おこしのプラットフォーム「YOKOSO PAY」を作り、運営しています。第 1 回ではシステムの構成を紹介しました。

第 2 回は開発体制です。受託開発や技術の提携を考えている IT 事業者・エンジニアの方に向けて、どんな考え方で、どんな仕組みを使い、その結果どうなっているかを紹介します。

YOKOSO PAY は、少人数で開発から運用・営業までを回しています。開発は、ほぼ 1 人のエンジニアと AI のエージェントです。それでも速く、雑にならずに作れるのは、やり方を人の頭の中に置いていないからです。コードと同じ場所 (Git のリポジトリ) に、開発の決まり・開発環境の作り方・設計の判断・インフラの設定・テストまで書いて残しています。受け取った人は、やり方まで丸ごと引き継げます。だから、人が増えれば、そのまま同じ品質で広がります。

開発体制の全体像

取り組みねらいYOKOSO PAY での仕組み
AI ネイティブ開発開発の手を増やし、速く作るClaude Code を並列で動かす・指示書・skills・MCP
CI/CDいつでも安全に出せる状態を保つGitHub Actions・PR ごとのプレビュー・demo への自動デプロイ・リリースゲート
シフトレフト (品質ゲート)不具合を早く、安く止めるコミット前の hooks・PR の CI・本番前の全件テスト
Infrastructure as Codeインフラも、コードと同じ流れで確かめるTerraform・PR に plan・毎晩の drift 検出
テスト戦略変更で、今まで動いていたものを壊さないテストピラミッド・回帰テスト・否定系のテスト
証跡 (エビデンス)「確かめた」を、後から見られる形で残すMCP で画面を撮る・コンソールの検査
ヒューマン・イン・ザ・ループAI の誤りを、人が止める急所のレビュー・危険度で使い分ける AI レビュー・プロダクト検証会
アジャイル使う人の声で、短い周期で直す検証会 → 提出・採択・実装・検証 → すぐ本番へ
YOKOSO PAY の開発の流れ
図 1YOKOSO PAY の開発の流れ押すと拡大します

AI ネイティブ開発: エージェントを並列で動かす

ねらい開発の手を AI のエージェントで増やし、人は「何を作るか」と「それが正しいか」の判断に集中する。少人数でも、何本もの作業を同時に進める。

AI のエージェントで開発を速くする仕組み
図 2AI のエージェントで開発を速くする仕組み押すと拡大します

仕組み

エージェントの道具YOKOSO PAY での使い方
hooksコミットの前に 6 本の検査を挟む。外れたら、止めた理由をエージェントに返す
subagentsテストを回す専任のエージェント。変えたファイルから、回すテストの範囲を絞る
skills決まった仕事の手順を部品にしたもの。アラートの原因の調べ方・リリースノート・手動の確認手順の作り方
MCPエージェントが外の道具を使う口。chrome-devtools MCP でブラウザを操作し、画面を確かめて撮る

効果何本もの作業を同時に進め、main への取り込みは直近 3 か月で 540 件あまり (1 日あたり 6 件ほど) になっています。新しく加わった人も、リポジトリを取ってスクリプトを流せば、同じ環境・同じ決まりで、その日から作業を始められます。

CI/CD: いつでも安全に出せる状態を保つ

ねらい変更を小さく分けて毎日取り込み、いつでも本番に出せる状態を保つ (継続的インテグレーション・継続的デリバリー)。まとめて大きく出すより、壊れたときに原因を絞りやすく、戻すのも速い。

仕組み

出し方は、変更の大きさで分けています。 少人数なので、開発に集中する期間と、お客様のところへ導入・営業に出る期間を分けて回しています。

効果開発の速さと安定を測る 4 つの指標 (DORA の指標) で見ると、次のとおりです。

指標意味YOKOSO PAY
デプロイの頻度どれだけの頻度で本番に出しているか9 月半ばからの 5 週間で 12 回
変更のリードタイム取り込んだ変更が本番に届くまでの時間9 月 13 日〜10 月 17 日に本番に出した 149 件は、中央値 0.8 日 (75% が 3 日以内)
変更の失敗率本番に出した変更のうち、障害や戻しが要った割合利用が増えたら測る
復旧までの時間障害が起きてから戻るまでの時間利用が増えたら測る

今は、速さの 2 つ (デプロイの頻度・変更のリードタイム) を測っています。安定の 2 つは、利用がまだ少なく、障害の件数が少なすぎて割合や時間に意味が出ないので、利用が増えてから測ります。

シフトレフト: 不具合を、早い段階で止める

ねらい不具合は、見つかるのが後になるほど、直すのに手間がかかる。だから、なるべく早い段階で機械が止める (シフトレフト)。止める場所 (品質ゲート) を決めておけば、人の注意に頼らずに済む。

仕組み: 品質ゲートを 3 か所に置いています。

1. コミットの前 (Claude Code の hooks)

エージェントがコミットするときは、その前に 6 本の検査が走ります。1 本でも外れると、コミットそのものができません。

最後の 2 本は、実際に起きた失敗から作りました。手数料の数字は画面ごとに計算していたため、1 つの画面で書き忘れると、そこだけ数字が食い違いました。目で見比べても気づきにくいので、機械で止めています。一度起きた失敗は、検査にして二度と起こさないようにしています。

2. PR (GitHub Actions)

3. 本番の前

止まったら、エージェントが自分で直す

hooks は、止めるときに理由と検査の出力をエージェントに返します。CI で落ちたときも、エージェントがログを読みます。エージェントは理由を読んで直し、もう一度通します。このフィードバックループは仕組みとして組んであるので、AI のモデルが新しくなるほど、同じ仕組みのまま、見つけて直せる範囲が広がっていきます。

効果不具合は、本番に届く前に、コミット・PR・リリースのどこかで止まります。止まった理由を人がいちいち伝えなくても、エージェントが通るまで直します。

Infrastructure as Code: インフラも、コードと同じ流れで

ねらいインフラの設定を画面で手作業で変えると、誰が何を変えたかが残らず、同じ環境を作り直せない。インフラもコードにして、変更をレビューし、いつでも同じものを作れるようにする。

仕組み

効果設定の入らないままコードが動く、ということが起きません。実際に、新しい仕組みの権限の設定が足りないまま main に入ったとき、apply が止まり、デプロイも止まりました。権限を足して流し直すまで、設定の無い新しいコードは動きませんでした。

テスト戦略: 変更で、今まで動いていたものを壊さない

ねらい速く作るほど、ある変更が、今まで動いていた別の機能や、前に直した不具合を、知らないうちに壊しやすくなる。テストを層に分けて置き、変更のたびに自動で確かめる。直した不具合は必ずテストにして、同じ不具合を二度と起こさない。

仕組み

種類道具数
API の単体テスト・結合テストpytest約 6,400
画面の単体テストVitest約 260
画面の E2EPlaywright165 本のファイル

効果一度直した不具合が、別の変更で静かに戻ってくることを、テストが止めます。テストが落ちたとき、何を守るためのテストだったかを、課題まで辿れます。

証跡 (エビデンス): 「確かめた」を残す

ねらいテストが通っても、画面が正しく見えるとは限らない。画面に関わる変更は、実際に動かして確かめ、その証拠を、レビューする人も後から振り返る人も見られる形で残す。

仕組み

コンソールを見る決まりは、実際の失敗から作りました。以前、ある一覧の画面では、データの取得に失敗したときに空の一覧を出していたため、サーバで失敗が起きても画面には「0 件」と出るだけで、誰も気づけませんでした。今は、確認用の環境ではサーバの失敗を画面の下に赤い帯で出し、確かめる側からも塞いでいます (本番では出しません)。

効果これまでに残した画面の証跡は約 2,300 枚です。レビューのときも、半年後に振り返るときも、同じ画面を見て判断できます。

ヒューマン・イン・ザ・ループ: AI の誤りを、人が止める

ねらいAI は、コードとしては正しくても、商売としては間違っている変更を、自信を持って出すことがある。AI に任せる範囲と、人が責任を持つ範囲を分け、最後は人が判断する。

仕組み

効果AI の速さを使いながら、お金や権限に関わる判断は人が持ちます。AI の変更で急所のテストが破れたら、それが人に判断を回す合図になります。

アジャイル: 使う人の声で、短い周期で直す

ねらい作ったものを、使う人の目で早く確かめ、見つかったことを短い周期で直していく。

仕組み: テーマごとに「プロダクト検証会」を開き、開発とは別のメンバーが、機能が仕様どおりに動くか、お客様やお店にとって操作しやすいかを、実機で確かめます。見つかった不具合や要望は記録し、次の流れで最後まで追いかけます。

順番状態何をするか
1提出見つけた人が、種別 (不具合・改善の提案・新しい機能の要望・仕様の確認) と、希望する優先度を書く
2採択責任者が優先度を決め、直す人を決める
3実装直す人が直す
4検証直ったかを確かめる。駄目なら、何が駄目だったかを書いて実装に戻す
5完了確かめ終わったものを閉じる

効果2026 年 8 月から 10 月までの約 10 週間で、検証会を 29 回開きました。見つかった改善や修正は、小さく分けてすぐに本番に出します (上の「CI/CD」の変更のリードタイム)。

あえて採らなかった判断

すべての変更を、取り込んだらすぐ本番に出す

継続的デプロイ (取り込んだら自動で本番に出す) は採っていません。決済やお店の運営に関わるので、新しい機能は demo で検証会を通してから出します。改善と修正は小さく分けてすぐ出し、新しい機能は確かめてから出す、という使い分けです。

PR ごとに、全件のテストを回す

テストが増えるにつれて、PR のたびに全件を回すと、待ち時間が延びていきました。待ち時間が長いと、確かめる回数が減り、かえって雑になります。そこで、PR では変えた機能に関わる結合テストだけを回し、全件は main で定期的に回し、さらにリリースする版で全件が通っていることを本番の前に確かめます。速さと確かさを、回す場所で分けています。

画面の E2E を、CI で回す

Playwright の E2E は 165 本ありますが、CI では回していません。見た目の比較 (VRT) の差分のノイズが多く、毎回の実行の量に見合わなかったためです。代わりに、変えた範囲の E2E を手元で回し、証跡とコンソールの検査で確かめています。再開するときの条件と手順は、決めて残してあります。

数字で見る

2026 年 10 月 24 日の時点の数です。「直近 3 か月」は 7 月 24 日からです。

何数
開発の体制ほぼ 1 人のエンジニア + AI のエージェント
検証と取りまとめの体制副業のメンバー 3 人 (PM 1 人・検証 2 人)、リモートで 1 人あたり月 30 時間ほど (合わせて月 90 時間ほど)
main に取り込んだ変更 (PR、直近 3 か月)540 件あまり (1 日あたり 6 件ほど)
本番へのリリース (9 月半ばからの 5 週間)12 回
変更のリードタイム (9 月 13 日〜10 月 17 日の 149 件)中央値 0.8 日
自動テスト (テストの関数)約 6,600
画面の証跡 (これまでの合計)約 2,300 枚
プロダクト検証会 (8 月 10 日〜10 月 16 日)29 回

今の体制と、人が増えたときに伸びるところ

今の体制: 開発は、ほぼ 1 人のエンジニアと AI のエージェントです。検証と全体の取りまとめは、副業で関わる 3 人のメンバーが、リモートで、空いている時間に受け持っています。全体を取りまとめる PM が 1 人、実際に手を動かして検証するメンバーが 2 人です。関わる時間は 1 人あたり月 30 時間ほど、3 人を合わせて月 90 時間ほどです。この体制で、約 10 週間に検証会を 29 回開き、main への取り込みは 1 日 6 件ほどのペースで回しています。

伸びるところ: 1 人あたり月 30 時間ほどでは、その時間は検証でいっぱいで、今は開発に回す余裕がありません。ただ、検証のメンバーは、検証会を通して仕様と画面をいちばんよく知っています。開発環境とやり方はリポジトリに残してあり、品質は AI のエージェントと品質ゲートが支えます。そのため、関わる時間が増えれば、検証のメンバーを、そのまま開発のメンバーに引き上げられます。

人が増えたときに、やり方を一から教え直す必要はありません。増えた分が、そのまま速さと品質になります。もっと深く関わってくれる仲間が加われば、今の仕組みのまま、開発の速さも品質も、もう一段上に行けます。

この仕組みで、開発をお手伝いします

ここで紹介した仕組みは、YOKOSO PAY だけのものではありません。同じ進め方で、次のようなご相談をお受けしています。

まとめ

次回は、本番で動いているシステムを、どう守り、どう異常に気づき、どう直しているかを紹介します。

ご意見・ご相談

開発の進め方へのご意見や、受託開発・開発体制づくりのご相談をお待ちしています。

お問い合わせのフォーム

YOKOSO PAY

旅行者・お店・町をつなぐ観光アプリ

YOKOSO PAY のご紹介を見る