AIコーディング道場で開発コンテナを活用した並列開発をやってみた
こんにちは、株式会社 tacoms で SRE をやっている はぶちん (@modokkin) です。
9月に入ったのにまだまだ暑い日が続きますね。この時期は毎日植物の水やりも大変ですが、ガーデナーにとってはそれが楽しかったりもする今日この頃です。
さて、今回は AI コーディング道場 2 期に参加して、中間発表 LT を終えましたのでその内容を記事にしたいと思います。
発表スライド
なぜ AI コーディング道場に参加したのか
私は、情シスとインフラ領域を得意としているタイプで、コーディングには苦手意識があり、実務では避けて通ってきてしまいました。
現職では私以外のメンバーはみんなコーディングに長けており、やはりそれなりに思うところはありました。
また日常でも「こんな仕組みがあればいいのに」と思うことが割とあったのですが、実現できずにいました。
- 水やりタイマーを IoT 化したい
- M5Stack を使って自宅の HEMS を活用したい
- 植物管理サービスを自分で作りたい
そんなもやもやを抱えていた時、AI コーディング道場の勉強会を見て「これなら自分でもチャレンジできそう」と感じました。
開発コンテナが必要だと感じた理由
SNS では「AI がローカル環境を破壊してしまった」という事例を見かけることがありました。実際、 AI エージェントに開発を任せていると、予期しない変更を加えようとすることがあるんですよね。
そこで開発コンテナの出番です。並列で開発する際に各アプリケーション間の干渉を最小限に抑えられますし、同じリポジトリの複数ブランチで並列開発・動作確認ができるようになりました。
サービスリリース時もスムーズにインフラを構築できるという算段です。
必須かと言われるとそうでもないのですが、この辺りは得意分野なので、まああったら便利やろ。ぐらいの感覚でとりあえず試してみました。
並列開発の実践:Tsumiki と Serena を同時に試す
AI コーディング道場では、クラスメソッド様謹製の Tsumiki と Serena という 2 つのツールを使って、同じ植物管理サービスを 2 パターンで開発してみました。
Tsumiki での開発
Tsumiki はシンプルにスラッシュコマンドとして使えるので、導入ハードルが低いのが特徴です。
/kairo-tasks "可能な限り止まらず現在予定しているタスクを実行してください"
こんな感じでコマンドを実行すると、AI が自律的にタスクを進めてくれます。
ただ、開発自体はスムーズに進めてくれるのですが、フロントの開発が上手くいっていないことを認識してくれず、CSS が適用されない残念な時期をしばらく過ごしました。
Serena での開発
Serena は強力なツールですが、プロンプトの重要性は変わらないので、補助的な使い方が良さそうだと感じました。
こちらは Playwright を使う前の段階で、それっぽい見た目の画面が構築できました。ログイン画面も良い感じです。特に指示してないのにパスワードルールも堅牢なものを作ってくれました。
苦労した点と解決への道のり
Playwright MCP の共用コンテナ問題
複数の開発コンテナから Playwright MCP を共用しようとした時、コンテナから接続できない問題にぶつかりました。Playwright 自体のセッティングも初めてだったので、結構手こずりました。
但し、Playwright自体の容量も大きく、各コンテナで起動するのは非効率なので共用化して正解でした。
また、Playwrightを使い始めてからフロントエンドのテストのクオリティが目に見えて向上し、UIの不具合を早期に発見できるようになりました。
Docker Compose のポートマッピング
Vite フロントエンドのサービスがちゃんと立ち上がらなかったり、Docker Compose でマッピングしているポートとコンテナのポートの整合性が取れない問題も発生しました。
認証の引き継ぎ問題
ClaudeCode を開発コンテナ上で動かす際、ホストマシンのセッション情報を引き継ごうとしたんですが、うまくいかず。結局、コンテナをクリーンビルドする時には毎回ブラウザ認証が必要で、これは今も課題です。
でも、Playwright の共通コンテナがうまく動作した時は、インフラ構築特有の達成感がありました(それ自体は目的ではないのですが)。
VibeTunnel で実現する新しい働き方
プールでの Vibe Coding は半分ネタでしたが、VibeTunnel 自体は本当に便利でした。外出先や子どもの面倒を見ているときでも、ちょっとしたプロンプトのやり取りができてしまいます。
また、VibeTunnel が Zellij(tmux みたいなやつ)に対応しているのですが、組み合わせて間違えてターミナルを終了しても継続できるようにしました。これで安心してどこからでも開発を続けられます。
AI コーディング道場で得た学び
他の参加者からの刺激
特に印象的だったのは、Katato さんの YouTube コンサルを AI にやらせて再生数が実際に伸びた体験をサービス化した事例です。実体験に基づいたサービスの説得力を感じました。
週 3 回のもくもく会の価値
強制的に時間を確保できて、メンターの方からアドバイスもいただける。主催者の真吾さんが「一緒に人生変えましょう!」と言ってくれていたのですが、その効果はすでに体感しています。今後もプロダクトを作り切って、本当の意味で人生を変えていきたいですね。
これから AI コーディングを始める人へ
これはメンターの方からの受け売りなのですが、まずは本当に作りたいプロダクトではなく、テスト的にハードルの低いプロダクトから始めることをおすすめします。DoHyunさんが提供してくれたRealWorld のチュートリアルもとても良い経験になりました。
もし近くに相談できる開発者がいたら、その人がどのように AI コーディングを行っているか実践的な方法を教えてもらうといいです。いなかったら技術コミュニティに飛び込みましょう。AI コーディング道場もその一つです。
まとめ
コーディングできる人はさらに強く、苦手な方も作りたいものがあれば作れるいい時代になりましたね。
植物管理サービスはまだ開発途中ですが、まずは自分の課題を解決するためにサービスをローンチし、同じ悩みを抱えるガーデナー達を救うべく開発を進めたいと思います。
この記事がどなたかの参考になれば幸いです。
Discussion
この記事は以下の仕組みで書きました