3ヶ月前、私はバックエンド開発者をもう一人雇おうかと考えていました。困惑させるほどのバックログがあり、クライアントに約束した機能が14個、2人で手一杯、そして私は営業電話とプルリクエストの間でコンテキストスイッチングをしていました。本当にバカなやり方でした。そのとき、私はClaude Codeを正しく使い始めました。チャットウィンドウに関数を貼り付けるだけではなく、です。つまり、実際の日々のフローに統合することです。私たちは6週間でそのバックログをクリアしました。2番目の開発者は雇いませんでした。
これはピッチじゃないです。起こったことです。
「正しく」というのは実際には何か
ミートアップで話す人の多くは、AI コーディングツールを同じ怠けた方法で使っています。関数を貼り付けて、何か返されて、エディタに貼り付けて、壊れて、諦める。これはワークフローじゃない。これは絶望です。
私にとって正しく使うということは、Claude CodeがClaude Code CLIを通じてターミナル内に存在し、実際のリポジトリで直接動作し、実際のファイルを読み、サニタイズされたスニペットではないということです。その違いは莫大です。昨年、米国のヘルスケア・クライアントのために構築した4,000行のWordPressプラグインの完全なコンテキストを持つと、出力は使用可能です。40行の貼り付けだけで盲目的に動作しているときは、推測しているだけです。
MacBook Pro M3で実行しています。エディタはまだVS Codeで、Prettier、ESLint、GiLensのいつもの疑い深いツールです。Claude Codeはそれらのいずれも置き換えません。それらの横に並んでいます。
実際に使ってるセットアップ
- Claude Code CLIをnpm経由でグローバルインストール
- 各プロジェクトルートの.claude ディレクトリに、CLAUDE.mdファイルがあります。これは基本的に、Claude向けに私が書くプロジェクトについてのブリーフです。スタック、規約、何に手をつけないか。
- iTerm2の分割ペイン。左にコード、右にClaudeセッション
- Claude生成の変更があるたびにGitコミット、例外なし。何度も痛い目に遭ってます
その最後のポイント。2022年に遡ると、Shopify移行のクライアントプロジェクト、マンチェスターの家具小売業者のプロジェクト、AIアシスト編集が3時間蓄積しても、コミットしませんでした。セッション全体が破損しました。6時間の仕事が消えました。今は強迫的に、ほぼ神経症的なほどコミットします。Claude Codeあろうがなかろうが。
朝のルーチン(敢えてつまらないほど具体的です)
8時半には会社にいます。Exmouth Marketのコーヒーショップでコーヒーを買う。Notionを開いて、その日のボードを確認してから、ターミナルを開く。
毎朝Claude Codeで最初にやることは、私が「コンテキストダンプ」と呼び始めたもの。プロジェクトを開いて、claudeを実行して、前日どこまでやったかについて1段落説明する。最近のgit diffを自動的に読む。これに約3分かかるが、自分のコードを20分も再読して何をしていたか思い出すことがない。それだけで十分に価値がある。
その後、私は仕事をします。Claude に機能をゼロから書くよう求めていません。時々そうしますが。ほとんどの場合、私は遅く見せるが、創造性がゼロのタスクを行うよう求めています。
例えば:
- すでに書いた関数のPHPUnitテストケースを書く
- 貼り付けたJSON レスポンスからTypeScript インターフェースを生成する
- 分割する必要があるとわかっているけど、考えたくない300行のコンポーネントをリファクタリング。
- 内部APIの初版ドキュメンテーション
これらのどれも面白くない。全部で私が持っていない1時間を食っていた。
実際に時間が節約できる場所(数字付き)
Seahawkは現在12,000以上のサイトを構築しました。その大部分はWordPress、テーマ、プラグイン、WooCommerce カスタマイズです。WordPressの開発に退屈だが技術的に正確なカテゴリのタスクがあります。カスタムフック、REST APIエンドポイント登録、Settings APIで設定ページを構築します。
先月、時間を計測しました。ゼロからWooCommerceカスタム配送方法クラスを書くこと。歴史的には、テストを含めて約45分かかります。Claude Codeが平文の英語でビジネスロジックを説明しながらスキャフォルドを作成するのに対して、12分です。そして、スキャフォルドは優れています。CLAUDE.mdで指示したため、WordPress コーディング標準に従います。
これは10%改善ではない。別次元の速度だ。
より大きな効果は、コンテキストスイッチングのコストの削減だ。機能実装の途中でクライアントから全く別のプロジェクトのバグについてメッセージが来た時、以前は無視するか(よくない)、頭がごっちゃになるか(これもよくない)のどちらかだった。今はClaudeに現在のタスクがどこまで進んでいるかを詳細にまとめたコメントブロックを書かせて、バグ修正に切り替えて、直して、戻ってきてコメントを読んで、約4分で戻ってこられる。以前は、その復帰に20分かかっていた。
限界が露出する場面
正直に言おう。この部分が勝利以上に重要だ。
Claude Codeは、歴史的な背景から意思決定がなされた理由を理解することが必要な場面では、本当に使い物になりません。Seahawkで扱ったフィンテック案件、ロンドン拠点の決済スタートアップ向けダッシュボードがありました。複雑な状態管理があったのは、私たちが関わる前から存在する理由がありました。彼らのレガシーAPIがレスポンスをバッチ処理する際の特殊なエッジケースです。Claudeは何度も「修正」しようとしました。提案はすべて技術的には綺麗でしたが、完全に間違っていました。それは知らないことを知らなかったのです。
これは誰も十分に話さない障害モード。出力は正しく見える。基本的なレビューに合格する。そして本番環境で木曜日の夜に、ユーザーがその端的なケースに当たるとき、壊れる。
今の私のルール:Claude Codeは「Raviに聞かずに変更しないこと」というコメントがある部分には触れない。(Raviは我々のシニアバックエンド開発者だ。)完全にこれに従う。
他にも苦手な場面がある:
- 依存関係が3段階以上のマルチファイルリファクタリング
- 2年未満の比較的新しいサードパーティSDKに関わることになると、自信満々に架空のメソッド名を生成します。
- デザイナーのピクセルパーフェクトなコンプに合わせる必要があるCSS(ほぼ合致するが、細かいエラーで頭を抱える)
- パフォーマンス最適化では、ボトルネックが明らかでない場合、見当違いのポイントを最適化してしまいます。
2番目のポイント特に。私は1月にResendのAPIをNext.jsプロジェクトに統合していた。Claudeはa.send() メソッドを参照し続けてたが、Resend Node SDKに存在しない。Claudeの確信に満ちた間違いをデバッグするのに、単にドキュメントを自分で読むより長くかかった。教訓を得た。あらゆるSDKについて、実際のREADMEをコンテキストウィンドウに先に貼り付ける。
実際に機能するプロンプトパターン
何ヶ月も反復してきた。悪いプロンプトは悪い出力を生む。ここにたどり着いたのが俺の現在地だ。
インターンではなく、シニア開発者になれ。「Xをする関数を書いてくれ」と聞くな。「Xを実装する必要がある。制約はYだ。既に除外した選択肢がZだ。まず何をするか考えてくれ。その後で書くなら」と言え。考えさせろ。その後の出力は劇的に良くなる。
ペルソナとスタークを与えろ。俺は文字通りこう書く:「あなたはセキュリティの脆弱性を導入しないことを深く気にかけるシニアWordPress開発者だ。クライアントはヘルスケア企業だ。サニタイゼーションとノンス検証を他の何より優先しろ」。これはバカバカしく感じるか?ああ。機能するか?同じくああ。
出力のフォーマットを指定しろ。「関数だけくれ、説明なし」または「関数をくれ、その後に俺が手動で検証すべきことの箇条書き」。構造化されていない出力は時間を無駄にする。
常に手を伸ばすパターンが一つある:
- 目標を1文で述べる
- 関連する既存コードを貼り付け、その目的を説明するコメントを追加する
- 制約を明記する(「PHP 7.4 との後方互換性が必須」)
- まずアプローチを尋ねる。コードはその後
- アプローチをレビューして、必要なら異議を唱えてから、コードを求める
5 ステップ。オーバーヘッドに聞こえるかもしれない。毎回、不正なコードを 15 分短縮してくれる
これが委譲を変えた方法
これが最も驚いたところです。Claude Codeは単に僕を速くしたのではなく、ジュニア開発者に手渡すものを根本的に変えました。
以前は、Seahawk のジュニア開発者は最初の2週間を、私たちの慣例とスタックに慣れるだけで終えていました。今は、よく書かれた CLAUDE.md ファイル付きのプロジェクトを彼らに渡して、Claude Code を使ってスキャフォルドコードを生成し、慣例に照らし合わせてレビューするよう伝えます。彼らは3週間ではなく3日で実際の仕事に貢献できています。
CLAUDE.mdファイルが、以前は時間単位のウォークスルーで私がやっていたメンタリングを担当するようになりました。これは意味のある変化です。メンタリングしたくないからではなく、むしろその逆です。今はメンタリングの会話が「すべてのフォームでwp_nonce_field()を使用することを忘れずに」ではなく、意思決定とトレードオフについて論じるようになったからです。
Anthropicのモデル仕様ドキュメントは、Claudeが動作するガードレールについて知りたいなら読む価値があります。それらを理解することで、その傾向に対抗するのではなく、一緒に仕事をすることができます。
創業者向けの視点
AI コーディングツールについての記事のほとんどは開発者向けに書かれている。それは構わない。だが Claude Code が対処する創業者特有の問題があり、それが十分に言語化されているのを見たことがない。
エージェンシーを運営していてコードも出荷しているとき、最大の敵はスキルギャップではありません。再進入コストです。価格設定の電話で40分引っ張られて、その次は CSS の回帰を修正する必要があり、その後チームメンバーとの1対1があります。構築していた機能に戻る頃には、スレッドをあまりにも完全に失ってしまい、再開するより最初からやり直す方が簡単に感じます。
Claude Code を適切に使えば、再参入コストを劇的に削減できる。前に触れたサマリーコメントブロックのトリックもそうだ。さらに私は、完了したことと次にやることとブロックされていることの箇条書きで、自分あてに Slack メッセージを素早く生成するのに使っている。10 秒で済む。10 分の再構築を節約できる。
あなたをより良いマネージャーにしてくれるわけではありません。あなたのカレンダーをクリアしてくれるわけでもありません。ただし、あなたが創業者で、それでいてまだコードを書いている場合(そうであるべき創業者がもっといるはずです)、あなたのコーディング時間に対する特定の、痛みを伴う税金を取り除きます。
FAQ
フルタイム開発者でなければ Claude Code は価値があるか?
正直なところ、おそらくそうでもないでしょう。毎日ツール内で作業し、良いコンテキストファイル(CLAUDE.md、明確なプロジェクト概要など)を構築することに時間を投資するとき、その価値は複利で増えていきます。週に一度のぞき込む程度なら、コンテキストを再確立するのに時間を使う方が、節約できる時間より多くかかります。GitHub Copilotは時折のユーザーに向いているかもしれません。より周囲的で、意図的なセットアップが必要ありません。
コード品質についてはどのように対処していますか。生成されたものをただ信頼しているだけですか。
盲目的にではなく。Claude が生成したすべてのファイルは ESLint と Prettier 設定を自動的に通します。認証、支払い、データ処理に関わるものについては、手動で1行ずつレビューします。ユーティリティ関数とテストについては、もっとリラックスしています。リスクに基づいてキャリブレートします。OWASP Top Ten は、ユーザー入力を処理する AI 生成コードをレビューするときに役立つ心的チェックリストです。
WordPress特に対応していますか?
期待以上です。ただし注釈があります。WordPressを深く理解しています。フック、フィルター、Settings API、WooCommerceの内部構造。しかし、より新しいGutenbergブロック開発(特にInteractivity API)の知識は不完全です。ブロック関連のものは常にBlock Editor Handbookに照らして検証しています。
コストはどうですか?
Claude Pro に月20ドル払っています。私の使用レベルでは、時間の節約は週4~6時間程度です。自分の時給で計算してみてください。私にとっては考える価値もない問題です。
---
それでも私は大量のコードを自分で書きます。プロンプトを書くだけの人間になって、実際の関数に触れることのない人になることには関心がありません。しかし、AIコーディングツールが職人仕事を変えていないふりをする創業者は自分を欺いています。問題は、それらを使うかどうかではありません。十分な厳密さを持って使用して実際の価値を得ているのか、それとも十分な無分別さで使用して実際の問題を導入しているのか、ということです。
私にとって、その両者の違いは Claude Code を有能だが経験の浅い開発者として扱うことで決まりました。頭が良い。処理が速い。適切なブリーフが必要。レビューが必要。ミッションクリティカルなものの近くに放置するのは厳禁です。
そのフレーミングがすべてを変えました。
