{
  "title": "Cursorと過ごした1年：エージェントからアーキテクトへ、私のワークフローの進化",
  "excerpt": "Cursorとの歩みは、ツール自体の成熟と重なっています。シンプルなエージェントから、洗練されたアーキテクチャパートナーへ。この記事では、@メンション、MCP、プランモード、カスタムコマンドを通じて私のワークフローがどのように進化したかを詳しく紹介します。",
  "content_html": "<p>CursorをメインのIDEにしてから1年以上が経ちました。その影響は、言葉では言い尽くせないほどです。DylogでConversational AIプラットフォームを構築する機械学習エンジニアとして、また個人プロジェクトでエージェント型インフラを実験する立場として、AIネイティブ開発の進化をリアルタイムで体験してきました。Cursorとの歩みは、ツール自体の成熟と重なっています。シンプルなエージェントから、洗練されたアーキテクチャパートナーへ。</p><p>この記事は、その旅の振り返りです。ワークフローがどのように進化し、プランモード・カスタムコマンド・コンテキストエンジニアリングの強力な組み合わせに頼るようになったかを詳しく紹介します。より速く、よりスマートに、そしてより明確にプロダクトを構築するために。</p><h2>フェーズ1：エージェントに主導権を渡す</h2><p>最初の使い方はシンプルでした。Cursorを強化版オートコンプリートとして扱っていたのです。コメントを書いて<code>Cmd+K</code>を押し、エージェントにコードを生成させる。魔法のようでしたが、ブラックボックスでもありました。私は乗客で、エージェントが運転していたのです。</p><p>そこに登場したのが<strong>@メンション</strong>です。エージェントに本物のコンテキストを与える、最初の体験でした。コードベースを理解してくれることを祈るのではなく、何を見るべきかを明示的に伝えられるようになりました。</p><ul><li><code>@file</code>：特定のファイルを参照する</li><li><code>@folder</code>：ディレクトリ全体を含める</li><li><code>@codebase</code>：プロジェクト全体を横断検索する</li><li><code>@web</code>：外部ドキュメントを取り込む</li><li><code>@docs</code>：ライブラリの公式ドキュメントを参照する</li></ul><p>これは大きな飛躍でした。エージェントが推測するのではなく、私と同じコンテキストで作業できるようになったのです。「<code>@file:utils/helpers.ts</code>のパターンに合わせてこの関数をリファクタリングして」と言えば、ちゃんと理解してくれる。</p><p><img src=\"/assets/images/cursor-at-mentions.png\" alt=\"Cursor @ mention context\" class=\"post-img\" width=\"1639\" height=\"935\" /><br/><span class=\"post-img-caption\">Cursorの@メンションドロップダウン。@file、@folder、@codebase、@web、@docsなど、明示的なコンテキスト制御を可能にするオプションが表示されている</span></p><p>しかし、コンテキストが改善されても、生成・デバッグ・再生成のループに陥ることが多くありました。大きなタスクに対して、エージェントにはアーキテクチャ的なビジョンが欠けていたのです。</p><h2>フェーズ2：MCPがすべてを変える</h2><p><strong>Model Context Protocol（MCP）</strong>の登場は、本格的な転換点でした。MCPによってCursorを外部ツールやデータソースに接続できるようになり、エージェントはコード生成器から、ワークフロー全体にアクセスできる真のアシスタントへと進化しました。</p><p>私が統合し始めたMCPは以下の通りです：</p><ul><li><strong>GitHub</strong>：IssueやPRを直接コンテキストに取り込む</li><li><strong>Linear</strong>：タスク管理との統合</li><li><strong>Slack</strong>：チームコミュニケーションのコンテキスト</li><li><strong>カスタムMCP</strong>：社内APIやデータベース向け</li></ul><p>MCPを使えば、「Linear Issue #234に記載された機能を実装して」と言うだけで、エージェントがIssueを取得し、要件を理解し、構築を始めてくれます。もはやコードだけの話ではなく、開発エコシステム全体の点と点をつなぐことになったのです。</p><p><img src=\"/assets/images/cursor-mcp-integrations.png\" alt=\"MCP integrations in Cursor\" class=\"post-img\" width=\"1639\" height=\"935\" /><br/><span class=\"post-img-caption\">MCPの設定パネル。GitHub、Linear、Slack、カスタムサーバーなど、開発エコシステム全体でCursorの機能を拡張する統合が表示されている</span></p><h2>フェーズ3：プランナーの台頭</h2><p><strong>プランモード</strong>の登場は、次のゲームチェンジャーでした。AIに委任するのではなく、AIと協働していると初めて感じた瞬間です。Ray Fernandoのようなデベロッパーのワークフローにインスパイアされ、2ステップのプロセスを使い始めました。</p><ol><li><strong>Opusでプランニング：</strong>Claude Opusのような強力なモデルを使って、詳細なステップバイステップの実装計画を生成します。高レベルのゴールを与えると、ファイル名・関数シグネチャ・ロジックを含む具体的なタスクの連続に分解してくれます。</li><li><strong>Sonnet/GPTで実行：</strong>そのプランをSonnetやGPT-5.2のような高速・低コストなモデルに渡し、各ステップを実行させます。安価なモデルは優れたアーキテクトである必要はなく、勤勉なビルダーであれば十分です。</li></ol><p>このワークフローは大幅な改善をもたらしました。「何を」と「どのように」を分離し、コードが書かれる前に編集・承認できるレビュー可能な成果物（プラン）が手に入ります。トークンのコスト削減にも大きく貢献しました。</p><p><img src=\"/assets/images/cursor-plan-mode.png\" alt=\"Cursor Plan Mode workflow\" class=\"post-img\" width=\"1639\" height=\"935\" /><br/><span class=\"post-img-caption\">左側に<code>.cursor/plans/</code>ファイルの詳細な実装計画、右側に対応する生成コードを表示した分割ビュー。アーキテクチャと実行の分離を示している</span></p><h2>フェーズ4：アーキテクトの誕生（コマンド＋プランニング）</h2><p>これが今の私のスタイルです。プランモードは依然としてワークフローの中心ですが、そこに<strong>カスタムコマンド</strong>と<strong>ルール</strong>のセットを重ね、プロセスを微調整し、アーキテクチャの原則をIDEに直接組み込んでいます。</p><h3>現在のセットアップ</h3><p><strong>ルール（<code>.cursorrules</code>）：</strong>コーディング標準・推奨パターン・アーキテクチャ上の制約を定義したルールセットを持っています。エージェントはすべてのタスクの前にこれを読み込み、コードベース全体の一貫性を確保します。</p><p><strong>カスタムコマンド：</strong>最もよく使うワークフローをラップしたコマンドを構築しました。</p><ul><li><code>/plan</code>：Opusを使って詳細な実装計画を生成する</li><li><code>/refactor</code>：指示に基づいてファイルをリファクタリングする</li><li><code>/test</code>：指定した関数のテストスイートを生成する</li><li><code>/review</code>：ルールに照らしてコードをレビューし、改善点を提案する</li></ul><p><strong>キューイングメッセージ：</strong><code>Ctrl+Enter</code>を使って、エージェントが作業中にフォローアップの指示をキューに入れます。現在のタスクを中断せずに先を考え、勢いを維持できます。</p><p><img src=\"/assets/images/cursor-custom-commands.png\" alt=\"Cursor custom commands and rules\" class=\"post-img\" width=\"1639\" height=\"935\" /><br/><span class=\"post-img-caption\">Cursorのコマンドパレット。/plan、/refactor、/test、/reviewなどのカスタムコマンドと、コーディング標準とアーキテクチャ上の制約を定義する<code>.cursorrules</code>ファイルが表示されている</span></p><h2>進化の一覧</h2><table><thead><tr><th>フェーズ</th><th>主な機能</th><th>何が変わったか</th></tr></thead><tbody><tr><td>1</td><td>エージェントモード＋@メンション</td><td>コンテキストが推測から明示へ</td></tr><tr><td>2</td><td>MCP統合</td><td>外部ツールとデータへのアクセスが可能に</td></tr><tr><td>3</td><td>プランモード</td><td>アーキテクチャと実行が分離</td></tr><tr><td>4</td><td>コマンド＋ルール</td><td>ワークフローが再現可能かつ個人化</td></tr></tbody></table><h2>なぜこれが重要なのか</h2><p>エージェントからアーキテクトへのこの進化は、単なる個人的な生産性ハックではありません。ソフトウェア開発の未来を垣間見るものです。私たちはコードを書く世界から、<strong>システムを記述する</strong>世界へと移行しています。私たちの仕事はアーキテクトであること、設計図を定義すること、そしてエージェントに構築を任せることです。</p><p>Cursorは、私が使ってきたどのツールよりも、このシフトを理解しています。コードを生成するだけでなく、複雑さを管理し、コンテキストを維持し、以前は想像もできなかったスケールで構築するためのレバレッジを開発者に与えることが重要なのです。</p><p>まだAIをシンプルなコード生成器として使っているなら、@メンション・MCP・プランモード・カスタムコマンドをぜひ探求してみてください。AIを使う開発者から、AIを指揮するアーキテクトへと変わる旅が始まります。</p>",
  "source_hash": "sha256:28f88bf2defdd63f9461e06dc7a0d3d6066e0a7aec0f54068b058ced00879783",
  "model": "claude-sonnet-4-6",
  "generated_at": "2026-05-08T19:46:54.485081+00:00"
}