こんにちは。ビズリーチのHRMOS SREチームの神田です。「HRMOS(ハーモス)」シリーズの各種サービスの信頼性向上や運用効率化をミッションとして、スクラムをベースとした開発手法で日々改善に取り組んでいます。
本稿では、私たちのチームで自然と始まった「Vibe Coding」というアプローチを紹介します。これは、生成AIの力を借りて、Daily Scrumでの日常のちょっとした会話やアイデアを即座に形にし、日々の業務を改善していく取り組みです。
この記事が、開発現場でのAI活用や、私たちのチームがどのように新しい技術を取り入れ、日々の業務をより良くしているか、その一端に触れていただく機会となれば幸いです。
はじめに:改善を阻む小さな課題
開発現場では、日々の業務に追われる中で、こんな課題に直面することがないでしょうか。
- 「このログ確認、毎回手作業でやるのは非効率だ…」
- 「自動化したいが、正式なタスクとして起票するほどでもない…」
- 「時間があるときにやろう」と考えたまま、後回しになっている
私たちSREチームにとって、こうした手作業、いわゆるトイルを削減することは重要なテーマです。しかし、実際には優先度が上がらず、こうした小さな非効率が積み重なってしまう、という課題がありました。
Vibe Codingとは? - 雑談から生まれる自動化
Vibe Codingとは、一言でいえば 「その場の雰囲気(Vibe)で、AIと一緒にコーディングする」 スタイルで、開発コミュニティで自然発生的に生まれた概念でもあります。 Vibe Codingは、こうした小さな課題を解決するのにうってつけのアプローチだと考えています。
ここでのポイントは、初手から完璧を目指さないことです。「完璧より速さ」を合言葉に、まずは動くものを作って「便利になった!」という成功体験を素早く得ることが、この活動を長続きさせるコツだと考えています。
Vibe Codingの実践方法
私たちのチームでは、以下のように実践しています。
- Daily Scrumで「こうなったらいいな」「ここが不便だな」という雑談が始まる
- 「それなら、ちょちょっとAIに作ってもらえないか?」と誰かが提案する
- その場でLLMに指示を出し、10〜30分で、あるいは会話中にプロトタイプを完成させる
- 翌日から実際にチームで使い、フィードバックを元に改善していく
Daily Scrumでの活用例
例えば、Daily Scrumでこんなやりとりがあります。あるメンバーが「昨日、複数サーバーの再起動するのに、いちいちブラウザーでログインして操作するのが地味に面倒だった」と共有したとします。すると、他のメンバーが「それなら、一括で再起動できるスクリプトが作れそうですね。ちょっとLLMに聞いてみます」と応え、その場で簡単なツールを作り始めます。
特別な準備は何もいりません。普段使っているLLM(Gemini・Copilotなど)とエディター・ターミナルさえあれば、誰でもすぐに始められます。
実例:こんなツールを作りました
このような流れで、実際にいくつかの便利なツールが生まれました。
emoreco:Slack絵文字で作業記録を自動化
- 課題: スプリントの作業時間を記録するのが地味に面倒…。
- 解決策: Slackの自分の発言に特定の時間付きの絵文字でリアクションを付けると、自動でJIRAにチケットを作成しワークログを記録するツールを作成しました。
- 使用技術: Python, Slack Bolt, JIRA API
- 開発時間: 雑談から約30分でプロトタイプが完成し、翌日から運用を開始しています。
- 効果: 割り込みタスクのトラッキングが格段に楽になり、より正確な作業時間の記録が可能になりました。
Sprint Analyzer:スプリント分析ツール
- 課題: レトロスペクティブでメトリクスを手動集計するのが大変…。
- 解決策: JIRA APIからデータを取得し、各種メトリクスをグラフで自動生成するWebアプリを作成しました。
- 使用技術: Go, Chart.js
- 開発時間: 「このデータが見たい」という一言から30分ほどで最初のグラフ表示に成功。その後も「この観点でも分析したい」といった要望やバグなどを、Daily ScrumのたびにVibe Codingで対応・機能追加しています。
- 効果: 見積もり精度の向上や未計画タスクの比率の可視化により、チームの改善ポイントが明確になりました。
kiritaro:サブタスク自動生成ツール
- 課題: サブチケット作成が地味に面倒…。
- 解決策: Slackにチケット番号を投げると、自動でJIRAにサブタスクを生成するツールを作成しました。
- 使用技術: Python, Slack Bolt, JIRA API
- 開発時間: アイデアから実装まで約40分。定型的なサブタスクのテンプレートも組み込みました。
- 効果: 作業の抜け漏れが減り、タスクの構造化が進みました。
codeops:本番作業自動化ツール
- 課題: 本番作業手順書を書くのが辛い、再現性がない…。
- 解決策: 本番作業専用のコマンドラインツールを作成。ECS再起動やRDSのスケールアップなど、緊急を要する作業を自動化しています。
- 使用技術: Go, Cobra, AWS SDK
- 開発時間: 最初のプロトタイプは1時間ほど。その後、実際の作業を通じて継続的に機能を追加。
- 効果: 手順書がシンプルになり、本番作業の再現性と安全性が大幅に向上しました。
失敗から学んだこと
もちろん、すべてがうまくいくわけではありません。
-
Google Group連携の挫折: Google GroupのメンバーからSlackのユーザーグループを自動生成しようとしましたが、実行に必要な権限の管理が複雑なことに気づきました。Vibe Codingのスピード感で解決するのは難しいと判断し、早々に断念しました。 「ダメそうならすぐ諦める」 という判断も大切です。LLMは必ずしも外部サービスの最新・正確な仕様を把握しているとは限らない、という学びも得ました。
-
AI暴走事件: 実験的なツールで意図しない高額なモデルを使用した再帰処理が走り、一瞬で数百円のAPIクレジットが消えました…。生成されたコードのレビュー・実行前の確認は必須だと痛感した出来事です。
-
Playwright-MCPでの複雑化: ブラウザ操作を自動化しようとPlaywright-MCPを使ったツール開発に挑戦しましたが、エラーハンドリングやLLMが必要以上に成功を求めて手順を逸脱してしまう問題がおき、想像以上に安定化が困難でした。Vibe Codingに向いているのは、シンプルで単機能なツールだという学びを得ました。
チームにもたらされた変化
Vibe Codingがチームに浸透してから、いくつかのポジティブな変化がありました。
- 改善サイクルの短縮(スプリント単位 → 日単位・時間単位へ)
- 「とりあえずやってみる」文化の醸成(失敗コストが低いから挑戦しやすい)
- Daily Scrumが「改善の場」に(単なる情報共有から、アクションを生み出す場へ)
明日から始める第一歩
このアプローチは、どんなチームでもすぐに試すことが出来ると考えています。
- Daily Scrumで問いかける: 「最近、何か面倒な作業はありますか?」「Vibe Codingで解決できそうなこと、あるかもしれません」
- 誰かの「めんどくさい」に耳を傾ける: 小さな不便こそ、改善の大きなチャンスです。
- その場で試してみる: うまくいかなくても大丈夫です。まずはこのスピード感を体験することが重要です。
- LLMという新しい技術の価値を引き出す工夫を楽しむ: 発展途上の技術であっても、積極的に利用し、その特性を理解し、チームで試行錯誤しながら価値を最大限に引き出す工夫を楽しみます。
まとめ
今回お話しした体験を通じて、Vibe Codingは特定のツールではなく、日常会話の延長で、AIと一緒に改善を楽しむ文化そのものだと感じています。これは、継続的な改善を志向するSREの精神や、日々の対話と適応を重視するスクラムの考え方にも通じるものです。
必要なのは、使えるLLMと、「やってみよう」という少しの前向きな気持ちだけ。
私たちHRMOS SREチームは、このように新しい技術を活用しながら、日々の改善を楽しんでいます。この記事を通じて、私たちのチームの雰囲気や文化の一端を感じていただけたなら嬉しく思います。