🎃

Cursor を Devin のように使う:計画・再計画による効率的な開発ワークフロー

に公開

はじめに

AI 開発ツールの革命が進む中で、Devin は特に注目を集めている AI エンジニアです。Devin の最も魅力的な機能の一つは、複雑なタスクを受け取った際の自動計画作成動的な再計画能力です。

Devin の計画機能とは

Devin は単純にコードを生成するだけではありません。タスクを受領すると、以下のような高度な計画プロセスを実行します:

  1. コンテキスト分析: ユーザーの指示と既存のコードベースを理解
  2. 初期計画立案: 目標達成のための具体的なステップを作成
  3. 実行と監視: 各ステップを実行しながら進捗を監視
  4. 動的調整: 問題発見や新しい要求に応じて計画を柔軟に修正

この計画機能により、Devin は複雑な開発タスクを体系的に処理し、高い成功率を実現しています。

なぜ計画機能が重要なのか

開発プロジェクトにおいて、計画なしの実装は失敗への近道です。特に以下の理由から、計画機能は開発効率に大きく影響します:

  • 明確な方向性: 何をいつまでに完成させるかが明確
  • リスク管理: 潜在的な問題を事前に予測・対策
  • 品質保証: 段階的な検証により高品質な成果物を確保
  • コミュニケーション: チーム内での進捗共有が容易

具体例:ウェブアプリ開発での計画(仮想例)

例えば、「ユーザー認証機能付きの TODO アプリを作成してください」という指示を受けた場合、Devin のような AI は以下のような計画を立てることが想定されます:

注意: 以下は Devin の計画機能を理解するための仮想的な例です。実際の Devin の動作とは異なる場合があります。

Phase 1: プロジェクト構造の設計
- フロントエンド・バックエンド技術スタックの選定
- データベース設計
- API エンドポイント設計

Phase 2: 基本機能の実装
- ユーザー登録・ログイン機能
- TODO CRUD 操作
- データベース連携

Phase 3: UI/UX の完成
- レスポンシブデザイン
- ユーザビリティテスト
- セキュリティ対策

Phase 4: デプロイメント
- 本番環境設定
- パフォーマンス最適化
- 最終テスト

このような詳細な計画により、開発プロセス全体が可視化され、効率的な実装が可能になります。

Devin の計画機能分析

Devin の真の価値は、単なる計画作成だけでなく、動的な計画管理にあります。ここでは、Devin がどのように計画を立て、調整していくのかを詳しく分析します。

初期計画作成プロセス

Devin が新しいタスクを受け取った際の計画作成は、以下のステップで行われると考えられます:

1. コンテキスト収集フェーズ

📋 情報収集の例:
- ユーザーの指示内容の解析
- 既存コードベースの構造把握
- 技術的制約の確認
- 利用可能なリソースの評価

2. 目標分解フェーズ

大きな目標を実行可能な小さなタスクに分解:

  • 主要機能の特定: 必須要素と付加価値要素の区別
  • 依存関係の整理: タスク間の前後関係を明確化
  • 優先順位の設定: 重要度と緊急度による順序決定

3. 実行計画の構築

具体的なアクションプランの作成:

  • チェックポイント配置: 検証・確認が必要なポイント
  • リソース割り当て: 必要な技術・ツールの配分
  • 実行順序の決定: 最適な作業フローの設計

動的調整メカニズム

Devin の計画機能で最も興味深いのは、実行中の計画調整です:

再計画のトリガー条件

以下のような状況で計画の見直しが発生します:

  1. 新しい要求: ユーザーからの追加指示や仕様変更
  2. 技術的問題: 予想外のエラーやパフォーマンス問題
  3. 環境変化: 利用可能ツールの変更や制約の追加

計画調整の実例(仮想シナリオ)

🔄 調整前の計画:
Phase 1: HTML/CSS でのページ構造作成
Phase 2: JavaScript での TODO 追加・削除機能
Phase 3: ローカルストレージでのデータ保存

❗ 問題発生: ユーザーから「編集機能も追加してほしい」という新しい要求

🔄 調整後の計画:
Phase 1: HTML/CSS でのページ構造作成
Phase 2: JavaScript での TODO 追加・削除機能
Phase 3: TODO 編集機能の追加
Phase 4: ローカルストレージでのデータ保存

Cursor で実現する計画的開発

Cursor でも Devin のような計画機能を実現することができます。しかも、人間が計画プロセスに関与することで、Devin よりも良い結果を得られる場合があります。

ここでは、Cursor を使って Devin のような計画的な開発を行う方法と、その優位性について説明します。

人間と AI が協力することの優位性

従来の AI 開発ツールとは異なり、Cursor での計画的アプローチには以下の利点があります:

🔍 透明性の確保

  • 計画の内容を事前に確認・議論できる
  • 各ステップの意図と目的が明確
  • 予期しない変更を防げる

🎯 正確性の向上

  • 人間の経験と知識で計画を改善
  • 複雑なケースでのミス防止
  • ドメイン知識の活用

🔄 柔軟な調整

  • リアルタイムでの計画修正
  • 段階的な検証とフィードバック

実践的なワークフロー

Step 1: 計画ファイルの作成

最初に、Cursor に計画 MD ファイルを作成してもらいます。以下のような簡単な指示で十分です:

👤 ユーザー: 
「React で TODO アプリを作りたいです。ユーザー認証機能も必要です。
/plan ディレクトリに計画 MD ファイルを作成してください。」

Cursor は以下のような構造の計画ファイルを作成してくれます:

# プロジェクト計画: [プロジェクト名]

## 目標
- [具体的な目標を記載]

## 技術スタック
- [使用する技術を列挙]

## 実装フェーズ
### Phase 1: [フェーズ名]
- [ ] タスク1
- [ ] タスク2
- [ ] タスク3

### Phase 2: [フェーズ名]
- [ ] タスク1
- [ ] タスク2

## 検証ポイント
- [各フェーズでの確認事項]

Step 2: 計画の確認と議論

作成された計画を人間が確認し、Cursor と議論します:

💬 確認ポイント:
- 技術選択は適切か?
- タスクの順序は最適か?
- 不足している要素はないか?
- 実現可能性は十分か?

Step 3: 段階的実行

計画に基づいて、一つずつタスクを実行:

  1. タスク実行: Cursor に具体的な実装を依頼
  2. 検証: 実装結果を確認
  3. 計画更新: 完了したタスクをチェック
  4. 次ステップ: 必要に応じて計画を調整

具体的な対話例

以下は、実際の Cursor との対話例です:

👤 ユーザー: 
「TODO アプリを作りたいです。まず計画を立ててください。」

🤖 Cursor:
「計画ファイルを作成しました。以下の構成で進めることを提案します:
- HTML/CSS での基本レイアウト
- JavaScript での機能実装
- ローカルストレージでのデータ保存」

👤 ユーザー:
「良いですね。ただ、React を使いたいので計画を修正してください。」

🤖 Cursor:
「承知しました。React ベースに計画を更新します。」

計画の編集と更新

人間による編集

  • 計画ファイルを直接編集可能
  • 専門知識を活用した改善
  • プロジェクト要件の詳細化

Cursor による更新

  • 技術的な実現可能性の検証
  • 最新のベストプラクティスの適用
  • 依存関係の自動調整

品質管理のメカニズム

チェックポイント設定

各フェーズで以下を確認:

  • 機能性: 実装した機能が正常に動作するか
  • 品質: コードの品質と保守性
  • 要件: 元の要求を満たしているか

段階的検証

Phase 1 完了 → 検証 → Phase 2 開始
          ↓
      問題があれば計画を調整

Devinとの比較

手法 計画の透明性 エラー率 柔軟性 自動化レベル
Devin
Cursor での計画的開発

まとめ

本記事では、Cursor を使って Devin のような計画的開発を実現する方法について説明してきました。

重要なポイントの振り返り

Devin の計画機能の価値

  • 自動計画作成と動的な再計画機能
  • 複雑なタスクの体系的な処理
  • 開発プロセス全体の可視化

Cursor での計画的開発の優位性

  • 透明性: 計画の内容を事前に確認・議論できる
  • 正確性: 人間の経験と知識で計画を改善
  • 柔軟性: リアルタイムでの計画修正が可能
  • 効率性: 簡単な説明から詳細な計画を自動生成

実践的なワークフロー

  1. 計画ファイルの作成: Cursor に簡単な要求を伝える
  2. 計画の確認と議論: 人間が計画をレビューし改善
  3. 段階的実行: Phase ごとに実装と検証を繰り返す

この手法の本質

Cursor での計画的開発の本質は、人間と AI の最適な役割分担にあります:

  • 人間の役割: 方向性の決定、品質管理、創造的判断
  • AI の役割: 詳細な計画作成、技術的実装、一貫性の保持

この組み合わせにより、Devin のような完全自動化では難しい複雑なプロジェクトでも、高い成功率と品質を実現できます。

今すぐ始められること

この手法を試すために、まずは小さなプロジェクトから始めてみてください:

👤 あなた: 
「シンプルな TODO アプリを作りたいです。
まず/plan ディレクトリに計画ファイルを作成してください。」

このように Cursor に依頼するだけで、計画的な開発の第一歩を踏み出せます。

最後に

AI 開発ツールの進化は目覚ましく、Devin のような強力なツールが登場しています。しかし、完全に AI に任せるのではなく、人間と AI が協力して計画を立て、実行していくことで、より良い結果を得る場合があります。


最最後に

Jicooではエンジニアを全方位的に募集しておりますので、ご興味ありましたらカジュアル面談も可能ですので応募いただけると嬉しいです!
https://www.wantedly.com/companies/jicoo/projects
ここまで読んでいただいて、ありがとうございました。

この記事は Cursor を使って作成しました。

Discussion