Freeive

Fail School·公開 2026.05.14·閲覧 51

エンジニア向けAIビルドコース(CursorとClaude Codeを3倍増幅器として使う)

「AIがエンジニアを代替する」という見出しの嘘。CursorとClaude Codeをスキル増幅器として使う方法、良いプロンプトのパターン7種、.cursorrulesとCLAUDE.mdの実例。

AIはエンジニアを代替しません。よく使うエンジニアが、使えないエンジニアを代替するのです。

「AIがエンジニアを代替する」見出しの嘘

去年の今ごろLinkedInやニュースレターを埋め尽くしたフレーズを覚えていますか。「LLMがシニアエンジニアの仕事を消す」「Cursor1つでチーム全体が要らない」。あの記事たちは2つを見落としていました。

第一に、あの見出しを書いた人たちのほとんどは、AIツールをちゃんと使ったエンジニアではありませんでした。第二に、本当に消えたのは開発の仕事ではなく不充実なエンジニアたちです。Cursorを使うジュニアと使わないジュニアの生産性差は今2倍から5倍まで開いています。

SlackやGitHubのような韓国スタートアップの開発チームではすでに起きていることです。あなたが躊躇しているあいだに、隣のチームのエンジニアはClaude Codeでモノレポリファクタリングを自動化しています。問題はAIではなく「どれだけ上手に使うか」です。

上手に使うエンジニアの3つの能力

AIツールが普及するほど、エンジニア間の格差は逆説的に広がります。スキルではなく考え方の差によって。

1. コンテキスト設計

Cursorに一行投げても、あなたがプロジェクト構造やコーディング規約をきちんと理解していなければAIコードは無用です。コンテキスト設計とは、AIが「あなたのプロジェクトを理解できるように」明示的に情報を構造化する力です。.cursorrulesにチーム規約、CLAUDE.mdにプロジェクトルールを書いておけば、毎回同じ説明を繰り返す必要がなくなります。30%のトークン節約効果まであります。

2. 検証感覚

AIが生成したコードを受け取り「これで合ってる?」と疑うエンジニアと「いいね、マージしよう」のエンジニアは別物です。良いエンジニアはまず論理の流れを読み、型をチェックし、エッジケースを考えます。「この関数がnullを受けたら?」「並行性は?」 こうした問いをAI生成コードにも適用します。

3. デバッグ力

「このコード、なぜ動かない?」と聞くとき、上手なエンジニアはログ、エラー、スタックトレースを読んで問題をAIに説明できます。「Cannot read property 'map' of undefined」というメッセージだけ渡すと、AIも焦点を失います。「Line 45でuser.ordersがundefined、ここはAPIが常に配列を返すべき」と文脈まで渡せば、Claude Codeは原因を5秒で見つけます。

CursorとClaude Code、2つのツール、2つの哲学

「Cursor vs Claude Code」論争の正解は両方使うこと。ただし、いつどちらを使うかを知っておく必要があります。

Cursorはペアプログラマー。IDEのどこにいてもAIが一緒。タブ補完、インライン編集(Ctrl+K)、Chat、Composerまで。1ファイルを素早く修正するとき、エッジケースを1〜2個処理するときはCursorが最強。IDE内で完結する体験なので、文脈を逃しにくい。

Claude Codeは監督。「このモノレポで決済関連の型をすべて探してStripe v3スキーマにリファクタ」と言えば、計画を立てスキャンし、複数ファイルを同時に修正します。複雑なリファクタ、複数モジュールにまたがる機能追加にはClaude Codeが効率的。チーム全員がClaudeを使うなら、CLAUDE.mdを共有して文脈を一貫させられます。

韓国スタートアップの例で、Team-Attentionのチョン・グボン氏は「Cursorは5分の作業、Claude Codeは30分以上かかる複雑な作業に使う」と話しました。Sionic AIのパク・ジンヒョン氏は「マルチLLMワークフロー」に言及。Claudeを他のツール(コードレビュー、ビルド検証)とMCPでつなぐと、1回の指示で分析→仮説→実装→検証まで自動化できます。

選択基準:1〜3ファイル、5分以内ならCursor。モジュール全体、設計が必要ならClaude Code。

良いプロンプトのパターン7種

パターン1. Plan → Execute 分離

この機能を実装する前にまず計画して。
- 変更するファイル
- 各ファイルの主な変更点
- 想定リスク
そのあとでコードを書いて。

AIが性急にコーディングするのを防ぎます。計画段階で「DBマイグレーションも必要」と指摘されれば、コードを書き直さずに済みます。

パターン2. Spec-driven(仕様先)

次のTypeScriptインターフェースを満たす関数を作って。

interface UserCreateRequest {
  email: string;
  age: number;
  // ...
}

エラーケースはInvalidInputErrorをthrow。

仕様を先に渡すと、AIの生成方向が明確になります。

パターン3. Example-driven(例3〜5個)

// プロンプト: このパターン通りにvalidation関数を書いて
validateEmail('test@example.com') // true
validateEmail('invalid.email')    // false
validateEmail('a@b.c')            // true
validateEmail('')                 // false

例は千の説明より効果的。AIがパターンを学んで、エッジケースまで自動処理してくれます。

パターン4. Constraint-first(制約を明示)

次の制約のもとで実装:
- 同期関数のみ
- 依存追加禁止
- 関数サイズ20行以下
- 正規表現禁止

制約があるとオーバーエンジニアリングを防げます。

パターン5. Diff-based(差分で)

下のコードの中だけ変更して。
関数全体を書き直さず、最小変更で。

リファクタリング時に役立ちます。

パターン6. Review-first(レビュー基準を先)

このコードをレビューするとき、特に次を見て:
- 重複コード
- nullチェック
- N+1
- 抜けたエラーハンドリング

そのあとで修正案を出して。

シニアレビュアー役をAIにあらかじめ定義するパターン。

パターン7. Iterative refinement(反復改善)

まず基本実装。
次に性能を10倍改善して。

一度にすべて要求すると一貫性が落ちます。段階的に改善すると、各段階で最適化された結果が得られます。

AIをシニアコードレビュアーにする方法

「コードレビュー」はエンジニアが最も嫌い、最も大事な仕事です。Claude CodeのCode Review機能はこのために設計されていますが、そのまま使っても意味がない。良いレビューはあなたのチームの基準を反映していなければなりません。

まず.cursorrulesまたはCLAUDE.mdにレビュー基準を書きます。

# Code Review基準

1. 型安全性
   - TypeScript strict mode
   - すべての関数の入出力型を明示
   - any禁止

2. エラー処理
   - すべてのPromiseにcatch
   - API呼び出しはエラーメッセージ付きでログ

3. パフォーマンス
   - DBクエリのN+1チェック
   - memo/useMemoの最適化
   - バンドル+10KBで拒否

4. セキュリティ
   - SQL injection, XSS
   - 機密データは.envに隔離

これでPRごとに「コードレビュー開始」と言うだけで、Claude Codeがあなたの基準でレビューしてくれます。シニア並みの速度、偏りなし、疲労による品質劣化なし。

韓国のCorcaチームのペ・フィドン氏:「レガシーコードベースにAIを入れたら、厳しすぎてチームが反発。CLAUDE.mdに『このレガシー区画は例外』と書いた瞬間から、AIはチームに合わせてレビューしてくれた。」

実例:.cursorrulesとCLAUDE.md

.cursorrules例(Next.js + TypeScript)

# .cursorrules

コーディングスタイル
- 関数は最大30行
- 変数名はcamelCase
- 定数はUPPER_SNAKE_CASE
- コンポーネントはFC<Props>

エラー処理
- try-catchはServer Actionsのみ
- 常にconsole.error + UIフィードバック

パフォーマンス
- 画像はnext/image
- バンドルサイズの変化をビルドログに表示

CLAUDE.md例

# CLAUDE.md

技術スタック
- Node.js + Express + TypeScript
- PostgreSQL(Supabase)
- React 18 + Tailwind
- Vercel

必須ルール
- すべてのAPIエンドポイントは/api/v1
- DBクエリはPrisma ORMのみ
- 環境変数は.env.exampleで定義してから

コンベンション
- ErrorはAppError継承
- Middlewareは/middlewaresのみ
- 型は/typesに集約

直近の成功パターン
- API応答: { success, data, error }
- 非同期はBull Queue
- 検証はzod + class-validator

新機能実装プロンプトテンプレート

[機能名]を実装。

要件: [仕様]

制約:
- TypeScript strict
- テストカバレッジ70%+
- 1000件のデータ処理 < 500ms

まず計画を立て、テストから書いて。

まとめ

AIはエンジニアを代替しません。代わりによく使うエンジニアが使えないエンジニアを代替します。これがこの記事の核心です。

次の記事では、AIに任せてはいけないことを学びます。Cursorが最強でも、アーキテクチャの決定はあなたがすべき。セキュリティも。ビジネスのコアロジックも。その境界を精確に知った瞬間、あなたはAI時代の本当のエンジニアになります。

参考資料

  1. Team-Attention(2026)「Claude Codeと作るAIワークフロー」Claude Code Meetup Seoul
  2. Corca(2026)「レガシーコードベースでエージェントと人を共に強くする環境構築」Claude Code Meetup Seoul
  3. SLEXN(2025)「AI-IDEのContext管理:Cursor, Windsurf, Qodoの比較」
  4. SK DevOcean(2025)「LLMを活用したコードレビュー自動化」
  5. Claude Code Code Review Guide
  6. Cursor: コンテキスト活用

前の記事:非エンジニアでも1週間でアプリを作る
次の記事:100万ウォンの失敗、AIに任せてはいけないこと


キム・ミンチュル、Freeive CEO、フェイルスクール

#フェイルスクール#ビルド#Cursor#ClaudeCode#AI開発#.cursorrules#CLAUDE.md#プロンプトパターン

Comments

コメント 0

サインイン状態を確認中…

コメントを読み込み中…

Recent

他の日記も。