🧠

RulesOps: 自律改善型Vibeコーディング

に公開

monox-blog1-banner

MONO-X AI tech Blog#1

はじめまして!MONO-Xの山下マナトです。
今年エンジニアとして新卒入社し、AI系のSaaSとiOS/Androidアプリを開発しています。

この度、MONO-X AI tech Blogをみんなで順番に書いていくことになりました!今回はそのトップバッター記事としてAI開発に欠かせない『バイブコーディングの基礎』についてお送りします。お楽しみください^ ^


Vibe Coding(バイブ コーディング)とは

monox-blog1-vibecoding

OpenAIのアンドレイ・カルパシー氏が提唱した、新しいAI開発スタイルです。

厳密な設計書ではなく、開発者の「こんな感じ」という 感覚(Vibe) を頼りに、AIと対話しながら開発を進めるのが特徴です。

  1. 指示: 開発者がAIにやってほしいことを伝える
  2. 生成: AIがコードを書く
  3. 判断: 開発者がコードを確認し、採用や修正を決める

このように、AIとの対話を通じて、人間は全体の方向性を決める「司令塔」の役割を担いながら、アプリケーションを構築していくのが特徴で、70%くらいの完成度のものが一瞬で実装できるため、現在非常に注目されており、幅広く取り入れられています。

AI開発でよくある3つの悩み

AIとの開発では、便利な一方でこんな悩みが出てきませんか?

  • 悩み1:指示したことを忘れてしまう

    • 前に伝えたルールや文脈を無視して、一貫性のないコードを書いてくる。
  • 悩み2:全体像が分からなくなる

    • AIが書いたコードが複雑になりすぎて、今どこまで開発が進んでいるのか把握できない。
  • 悩み3:情報が古くて使えない

    • ライブラリの古い使い方をするなど、最新の正しい情報に基づいていない。

これらの悩みは、AIとの付き合い方を少し工夫するだけで解決できます。今回はVibe Codingをより快適にするいくつかの方法を紹介します。

3つの悩みを解決するシンプルな対策

  • 対策1:PDCAによる自己改善のサイクルをルール化する(PDCA + RulesOpsによる開発)

    • 毎回守ってほしいルール(コーディング規約など)を最初に提示し、AIに記憶させましょう。
  • 対策2:作業の進捗を可視化する(GitHub MCPを使用してIssue管理)

    • GitHubのIssue機能などを使って作業を一つずつ管理し、全体像を見失わないようにしましょう。
  • 対策3:参考にしてほしい最新情報をAIに与える(Context7 MCPの使用)

    • 公式ドキュメントのURLなど、参照してほしい情報をAIに直接渡して、それを基にコードを書いてもらいましょう。

monox-blog1-troubles-shootings

RulesOpsによる自己改善

AIコンテキストを失い、同じ失敗を繰り返す問題を解決します。そのための自己改善の仕組みを作りましょう。

使えば使うほど改善するAIを作る

monox-blog1-pdca
これから紹介するMCPとPDCAサイクルを活用したRulesOpsの全体像

AIが開発の中で自律的に知見を蓄積し、手法を改善していく、「使えば使うほど改善する」サイクルを確立する運用手法です。
PDCAによる継続的改善の中にRulesの運用を組み込み、知見の蓄積と活用プロセスを体系化します。

AIコーディングツール(Cursor IDE, Claude Codeなど)には、主に2種類のルール機能があります:

  • User Rules

    • グローバル設定: すべてのプロジェクトで共通して適用される基本ルール
    • 開発者が管理: 個人の開発スタイルや一般的なベストプラクティスを定義
    • 例: コーディング規約、命名規則、一般的な技術選択の指針
  • Project Rules

    • プロジェクト固有設定: 特定のプロジェクトでのみ適用されるルール
    • AI自身が更新可能: 開発を進める中でAIが自動的に学習・更新する仕組み
    • 例: プロジェクト固有のアーキテクチャパターン、使用ライブラリの制約、チーム固有の設計方針

User Rulesの定義

まず、AIにPDCAによる開発をUser Rulesで義務付けます。
Cursor IDEの設定またはClaude Codeの場合~/.claude/CLAUDE.mdに以下のような文を含むルールを定義します。

## 基本方針とPDCAサイクル

### 開発の基本原則
- **重要**: すべてのタスクは必ずPLANフェーズから開始する
- PDCAサイクルに基づく継続的改善
...
#### PLAN(計画)フェーズ - 必須開始点
<!-- PLANフェーズに行うことを書く -->
#### DO(実行)フェーズ - 実装
<!-- DOフェーズに行うことを書く -->
#### CHECK(評価)フェーズ - 検証
<!-- CHECKフェーズに行うことを書く -->
#### ACTION(改善)フェーズ - 改善・知見蓄積
<!-- ACTIONフェーズに行うことを書く -->
...

PDCAサイクルによる実装を義務付けることで、コードの提案(DO:実行)だけではなく、その直後に、開発から得られた知見の獲得(ACTION:改善)を行い、次のサイクルでは、知見の参照により計画立てた効率的な実装の準備が行うことができます。(PLAN:計画)
これにより、同じミスを繰り返す確率がガクッと減ります。

それでは、もっと具体的にPDCAそれぞれのセクションにどのようにRulesOpsを取り込んでいくか。
以下のように書きます。

  • PLAN
    • 命令によって参照する知見の決定
    • 知見を踏まえた問題解決のアプローチの計画立て(ToDOを作成させると良い)
  • DO
    • PLAN通りにステップバイステップで実装
  • CHECK
    • 実装した成果物の評価
    • 計画と実装の照合
  • ACTION
    • CHECKフェーズで見つかった知見をルールに記述することで次以降の計画をさらに改良

Project Rulesの定義

Project RulesはAI自身が編集を行えることが強みです。これを利用して、PDCAを回して得られた知見はProject Rulesに貯めていきます。
Cursor IDEを例に以下のように構成します。

.cursor/
└── 📂 rules/
    ├── 📄 general.mdc          # AI自動更新:Project Rulesのエントリポイント
    ├── 📄 frontend.mdc         # AI自動更新:フロントエンド固有
    ├── 📄 api.mdc              # AI自動更新:API設計パターン
    └── 📄 test.mdc             # AI自動更新:テスト戦略
    |
    ...

ポイント:
general.mdを「目次」として機能させることが重要です。PLANフェーズでAIに「まずgeneral.mdc(Project Rulesの目次)を見て、今回のタスクに関連するルールファイルを選んで参照する」ように指示します。
(ユーザが@で参照するruleを決める手間の省略と、AIがすべてのruleファイルを探索することによる使用トークンの削減が期待できる。)

また、ACTIONフェーズでruleの追加更新を行います。それに伴い、general.mdcもProject Rulesの構成が変わるたびに更新することを義務付けます。

【具体例】AIがルールを更新する流れ

  1. PLAN+DO(計画+実行): 策定した計画通りに実装を行う。

  2. CHECK(評価): AIが『get_data()という関数は、データ量が多いとパフォーマンスが著しく悪化する』という問題を発見したとします。

  3. ACTION(改善): AIは自らapi.mdcファイルを開き、以下のような知見を追記します。


- **【パフォーマンス注意】**: `get_data()`は大量データに不向き。代わりに`get_data_stream()`を使用すること。

次回以降のPLAN(計画): 将来、似たような実装を行う際、AIはこのルール(api.mdc)を読み込み、「今回はget_data_stream()を使おう」と、より賢い計画を立てることができます。

monox-blog1-cursor-pdca
Curosr IDEで実践。PDCAに沿って、PlanフェーズでToDOを作成してくれている。

これでProject Rulesを参照、更新し続けることをPDCAの中に組み込んだRulesOpsによる自己改善の仕組みが完成しました。

MCPの使用

monox-blog1-mcp

Model Context Protocolの略で、大規模言語モデル(LLM)と外部のデータソースやツールを連携させるための方法を定めたものです。
これにより、例えばこんなことができます。

  • AIエージェントにリアルタイムの天気情報を読ませる。
  • AIエージェントがFigmaファイルを読み込んでデザインに沿った実装を行う。
  • AIエージェントがSlackに文章を投稿

など、AIの弱点であったリアルタイムな情報を参照できるようにしたり、他のSaas製品を操作できたりします。

作業の進捗を可視化して、AIの実装を把握

AIによる自律的な開発は強力ですが、一方で「AIが裏で何をしているのか分からない」というブラックボックス化の問題を生みがちです。コードベースが成長するにつれ、人間が全体像を把握するのは困難になります。

この問題の解決策として、AI自身に開発の進捗をGitHub Issueへ報告させる仕組みを構築します。

GitHub Issueとは:

  • 複数人での情報共有
  • 課題や進捗を一覧で管理
  • 開発の透明性向上

が可能になるタスク管理ツールの1つで、GitHub Issueの作成更新をPDCAに組み込みます。

PLANフェーズ: 実装の計画を立てて、その計画内容をGitHub MCPからIssueとして書き込む
ACTION: タスクが完了、または一区切りついたら、AIは再びMCPを呼び出し、Issueを更新またはClose

これにより、AIがどんな方法で実装しようとしているか、そしてその作業結果と進捗状況を、いつでもGitHub上で一覧できます。

私はAIとGitHubの連携をGitHub MCPを用いて行なっていますが、GitHub CLIでも可能です。

GitHub CLIの使い方については、MONO-X AI tech Blogで紹介する予定なので、そちらも是非みてみてください。

AIに最新の情報を参照してもらう

monox-blog1-claudecode-use-context7
↑ Claude CodeでContext7を呼び出し最新のライブラリを参照

AI開発ツールは非常に強力ですが、その知識は学習した時点の情報で止まってしまいがちです。これでは、プロジェクト独自の最新ルールや、新しく導入したライブラリの仕様などをAIに反映させることができません。

この「情報の鮮度」問題を解決するのが、Context7 MCPのようなMCP(Model Context Protocol)サーバーです。

Context7 MCPは、AIが参照すべきドキュメントやルールを一元管理する「AI専用の最新知識ベース」として機能します。AIは何かを開発する際、まずこのサーバーに問い合わせることで、常に最新かつ正確な情報に基づいて回答を生成できるようになります。

これにより、古い情報による手戻りや、誤った実装をAIが提案するリスクを大幅に削減できます。

仕組みと具体例

monox-blog1-context7
LLMに最新のドキュメント情報を教え続けるContext7 MCP

  1. 情報の登録: 開発者は、プロジェクトの仕様書、APIドキュメント、コーディング規約などをContext7 MCPサーバーに登録しておきます。
  2. AIへの指示: 開発者がAIに「新しい認証APIを使ってログイン機能を実装して」と指示します。
  3. MCPサーバーの介入: MCPサーバーは、AIが応答を生成する直前に介入します。登録された情報の中から「新しい認証API」の最新ドキュメントを見つけ出します。
  4. コンテキストの提供: その最新ドキュメントを、AIのプロンプトにコンテキスト(背景情報)として自動で追加します。
  5. 正確な応答: AIは提供された最新のコンテキストを元に、正しい仕様に沿ったコードを生成します。

つまり、MCPサーバーはAIにとって「常に最新資料を渡してくれる優秀な司書」のような役割を果たしてくれるのです。

Install方法

  • Cursor IDEの場合
    mcp.jsonに以下のように記述
{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    }
  }
}
  • Claude Codeの場合
claude mcp add --transport http context7 https://mcp.context7.com/mcp

GitHub MCPとContext7 MCPの設定

以下のようにmcp.json(Cursor), .mcp.json(Claude Code)を定めることで、GitHub MCPとContext7が使えるようになります!

{
  "mcpServers": {
    "context7": {
      "url": "https://mcp.context7.com/mcp"
    },
    "github": {
      "command": "docker",
      "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/github/github-mcp-server"
      ],
      "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "***"
      }
    }
  }
}

まとめ

以上!今回はAI開発の新常識「バイブコーディング」と、それを使いこなすための3つの便利ワザを紹介しました!

  • AIが賢くなる「RulesOps」: PDCAサイクルでAIを育てて、同じミスを繰り返させない!
  • 進捗が丸わかり「GitHub MCP」: AIの作業をIssueで見える化して、開発の迷子を防ぐ!
  • いつでも最新情報「Context7 MCP」: 古い情報にサヨナラ!AIに最新ドキュメントをカンニングさせる!

これらを活用すれば、AIはただのツールじゃなく、一緒にプロジェクトを育ててくれる最高の相棒になります。ぜひ試してみてくださいね!

ではまた!

monox-blog1-bool
↑ 特に意味のない画像


参考:

【実践】AI駆動開発を10倍快適にする【AIDD】 - 数理の弾丸(YouTube)

AI Vibe Coding Tutorial + Workflow (Cursor, Best Practices, PRD, Rules, MCP) - ByteBrad(YouTube)

Getting Better Results from Cursor AI with Simple Rules - Andi Ashari(Medium)

Context7

GitHub MCP Server - GitHub

Discussion