2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI Codingの新常識 「Rules and Roles」で作る開発ワークフロー

Posted at

なぜCursorを使いこなせないのか

Cursor Editorを試したものの「思い通りにコードが書けない」「指示通り動かない」——そんな経験はありませんか?あるいは、一見便利に見える生成AIが、少し複雑な指示になるとカオスを生み、逆に生産性が下がったという声も耳にします。

そんなあなたに伝えたいのが、AI Codingの新常識 として私が提唱する「Rules and Roles」という概念です。これは単なるプロンプトエンジニアリングではなく、AIにメタ的なコンテキストとワークフローを与える、極めて実践的かつ強力なフレームワークです。

対象読者

  • Cursorを試したが、使いこなせなかった方
  • Cursorでコードが崩壊し、怒りに震えた経験がある方
  • 本気でAIと共に開発生産性を10倍にしたい全ての開発者

Rules and Rolesとは

  • Rule:AIが従うべきルールや制約、メタ的な作業方針(例:要件定義は.cursor/PRD.mdに記述する、タスクリストは.cursor/tasks/sprint{number}.mdに記載し、必ずステータスを記載するなど)
  • Role:AIが担う役割(例:PM、実装エンジニア、レビュアーなど)

Cursorではこの概念をCursor Rules(ルール)とCustom Modes(ロール)という機能で実装しています。Custom Modesはv0.48(2025年3月)で登場したばかりであり、それ以前のTipsはすでに時代遅れ です。

なぜ必要なのか?AIが迷子になる構造的な理由

多くの人が直面するAIコーディングの失敗例:

  • 「とりあえず」書かせたコードが崩壊していく
  • 要件を忘れ、意図しない挙動をする
  • 不要ファイル・重複コード・過去のコンテキストを保持しないなどの混乱

これはすべて、「コンテキストの欠如」が原因です。

Claude Codeのベストプラクティスに見る「Rules and Roles」の概形

Anthropic社の公式ガイド「Claude Code: Best practices for agentic coding」では、AIコーディングにおける効果的な手法が紹介されています。これらの手法は、「Rules and Roles」の概念と密接に関連しており、以下の点で補完し合っています。

  1. CLAUDE.mdによるコンテキストの明示
    Claude Codeでは、プロジェクトのルールや作業方針をCLAUDE.mdファイルに記述することで、AIが作業時に参照するコンテキストを提供します。これは、Cursorの「Rules」に相当し、AIが一貫した行動を取るための指針となります。

  2. ワークフローの明確化と段階的実行
    Claude Codeは、以下のような段階的なワークフローを推奨しています。

    • 探索と計画:AIにコードベースを読み込ませ、問題解決の計画を立てさせる。
    • テスト駆動開発:まずテストコードを作成し、その後実装を進める。
    • 反復的な実装とレビュー:実装とテストを繰り返しながら、コードの品質を高める。
      これらのステップは、Cursorの「Custom Modes」を活用した「Roles」の設定と一致しており、AIが各フェーズで適切な役割を果たすことを可能にします。
  3. 明確な指示とコンテキストの維持
    Claude Codeでは、AIに対して具体的で明確な指示を与えることが推奨されています。これは、AIが誤った解釈を避け、期待通りの出力を得るために重要です。また、CLAUDE.mdやワークフローの活用により、コンテキストの維持が容易になります。

AI開発ワークフローの構築

このシーケンス図は、各エージェントが明確な役割(Role)と作業ルール(Rule)に従って連携し、AIが迷子になることなく開発を進める理想的なワークフローを表しています。
特に、定型的なドキュメントを共有することによって、一貫性・再現性を維持することが重要です。
これらのドキュメントは、.cursor配下に置くことが一般的となっており、Git管理することでチーム間での共有も可能となるでしょう。ただし、これらはAIエージェントによる更新が前提のドキュメントであるため、人が直接編集すべきではありません。適格なロールに指示を与え、ルールに従ってメンテナンスさせるべきです。
従って、各ロールが 「何をすべきか」だけでなく「どのようにすべきか」までを事前に明文化しておくことが極めて重要です。以下はその具体例です。

# PM Mode(Technical Product Manager)
## 役割:
* ユーザーやビジネス側からの要望を受け、実装可能な粒度にまで分解したPRD(Product Requirements Document)に落とし込む責任を担う。

## ルール:
* 要件を明文化する際に、UI/UX、技術制約、スコープの範囲(MVP/Post-MVP)を必ず確認・整理する。
* PRDの構成はテンプレートに準拠し、「目的・技術選定・想定ディレクトリ構造・リスク・未知の要素」を明示する。
* 最終成果物(PRD)は、開発と設計の「出発点かつ唯一の真実」として後続工程に連携される。
# DEV Mode(Developer Agent)
## 役割:
* PRDに基づき、ストーリー単位で正確に実装し、完全にテストされた成果物を作成する。

## ルール:
* 着手前に、story-*.mdファイルをチェックし、現在の開発ストーリーの状態を明確に認識すること。
* ストーリーが Approved でなければ実装に入らない。開発中も、完了ごとに必ず状態を更新・記録する。
* 自動テストの合格はストーリー完了の必須条件。テスト未実施のコードは完成と見なさない。
* ドキュメント更新、アーキテクチャファイルとの整合性確認、命名規則・分離責務の遵守など、コード以外の品質維持にも責任を持つ。

ShowCases

より実践的な具体例として、以下に紹介するプロジェクトは、Rules and Roles思想に基づいたワークフローを実装しています。

  1. RIPER5

    • Research / Innovate / Plan / Execute / Review の5段階で構成
    • 各段階をAIが明示的に遷移していく。メモリバンク機能が先進的
    • 難点:スタートアップコマンドなど事前準備が必要
  2. BMAD-METHOD

    • 最新のCursor RuleとCustom Modeに準拠
    • シンプルで扱いやすい構成。ドキュメント生成が中心
    • YouTubeで解説あり。初心者にもわかりやすい
  3. claude-task-master

    • Claude向けで少し趣旨からそれるが、Cursorでも応用可能
    • タスクベースの管理により、AIが目的を見失わない
    • task-masterとプロンプトを紐づけるルールを作ることができれば有用になりそう

よくある誤解と本質的な違い

  • Rules and Rolesは「プロンプトエンジニアリング」とは別次元
  • MCPやプラグイン多用が目的ではない。ワークフロー管理こそが本質
  • 思い通りにいかなければ、AIに聞け」——彼らは自分たちに与えられたコンテキストを理解している

おわりに:今日から始めるAIコーディング

生成AIを開発プロセスに活用する上で最も重要なのは、「何を、どのように進めるか」を明確に定義することです。
ここで求められているのは、人が逐一タスクリストを作成してAIに指示を与えることではありません。
そうではなく、要件の抽出からタスクの分解、実装、テストに至るまでの一連の開発サイクルを、明確なワークフローとしてAIに遵守させることが鍵となります。

その基盤となるのが、Rules(ルール)とRoles(役割) の明文化です。
Cursorはこの構造を柔軟かつ強力に定義・実行できる、現時点で最も優れたAIコーディング環境のひとつです。

たとえ過去にCursorを挫折した経験があっても、あるいはこれから新たに始めようとしている方であっても、「AIコーディングが進化する瞬間」 に立ち会うことができます。
今こそ、AIとともに開発を再定義する第一歩を踏み出しましょう。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?