10人ほどのスタッフを抱える中小企業のオーナーや、一人でマーケティング・デザイン・士業などを手がけるフリーランスの方へ。最近、誰かに頼んで(あるいはClaudeを使って自分で)業務ツールやウェブページを作り始めた方に、ぜひ知っておいてほしいことがあります。

コードも、オフィスの引き出しと同じです。最初は整理されていても、使い続けるうちに必ず散らかってきます。最初は30行だったファイルが気づけば500行を超え、同じ処理が3つのファイルに別々に書かれている状態になります。この状態を放置すると、「ちょっとした修正のはずが丸1日かかった」という事態が起きてきます。

この整理整頓の作業を「リファクタリング」と言います。コードの動作はそのままに、内部の構造だけをきれいにする作業です。従来は熟練エンジニアが4〜8時間かけて行う作業でしたが、Claude Code(クロードコード:AIを内蔵した開発支援ツール)を活用すると、同じ作業を1〜2時間で完了できることがあります。

私が実際に80ファイル規模のプロジェクトで試したところ、重複コードの整理とファイル分割で約4時間かかっていた作業が、Claude Codeを使って1.5時間に短縮できました。外注費に換算すると、1回あたり2〜4万円分の削減効果です。

この記事では、非エンジニアの方でも安心してClaudeにコード整理を任せられる手順を、コピペで使えるプロンプト(Claudeへの指示文)付きで紹介します。

図: リファクタリングの全体像(画像生成待ち)

リファクタリングとは「動作そのままで構造を整える」作業

まず大前提を確認します。

リファクタリングは、コードの見た目・構造を整える作業です。ユーザーから見える機能や動作は一切変わりません。倉庫の棚卸しに似ています。同じ商品でも、どこに何があるか分かりやすく並べ直すことで、次から商品を探す時間が大幅に短縮されます。

リファクタリングをすると次のメリットがあります。

  • 修正や機能追加が速くなる(探す・理解する時間が減る)
  • バグが起きにくくなる(同じ処理が1箇所にまとまるから)
  • 外注先や新しいスタッフへの引き継ぎがしやすくなる

逆に言えば、リファクタリングをしないでいると、「ちょっとした修正のはずが1週間かかった」という事態が起きやすくなります。IT企業全体では、技術的負債(ぎじゅつてきふさい:コードの散らかりが蓄積した状態)の解消に、開発コスト全体の20〜40%を費やしているという調査結果があります。

Claudeへの依頼前に2つの安全網を作る

リファクタリングを依頼する前に、2つの準備をしておくと安全です。準備なしで始めると、整理のつもりが「ツールが動かなくなった」という事態になりかねません。

準備1:作業用のブランチを切る

ブランチ(branch:コードの作業コピー)とは、本番のコードに影響を与えずに変更を試せる空間のことです。万が一問題が起きても、元の状態に戻せます。

Claude Code のチャット欄に以下をそのまま貼り付けてください。

リファクタリング用の作業ブランチを作ってください。
ブランチ名は「refactor/cleanup-2026」でお願いします。

準備2:テストを用意する

テスト(test:コードが正しく動いているかチェックするプログラム)がある状態でリファクタリングを始めると、Claudeが誤った変更を加えた場合に即座に気づけます。

テストがすでにある場合は、Claudeに「テストを全部実行して、全部通ることを確認してください」と伝えましょう。

テストがない場合は、先に作ってもらいましょう。

@lib/fetchers/rss.ts のテストを書いてください。
今の動作をそのまま記録することが目的です。
正常に動く場合・データが空の場合・エラーが出た場合の3パターンを確認してください。

この2ステップが整えば、安心してリファクタリングを始められます。

図: Claudeへのリファクタリング依頼の流れ(画像生成待ち)

実践:3パターン別のClaudeへの依頼文

リファクタリングには主に3つのパターンがあります。それぞれコピペで使えるプロンプトを紹介します。

パターン1:同じ処理が複数のファイルに散らばっている(重複コードの抽出)

たとえば、外部サービスへのアクセス処理・エラーの記録・メール送信のロジックが、3つのファイルにそれぞれ別々に書かれている状態です。これは、倉庫で同じ商品が3つの棚に分散して置かれているのと同じ状況です。1箇所にまとめると、変更するときも1箇所を直すだけで済みます。

lib/fetchers/ の中のファイルを調べて、同じような処理が複数のファイルに書かれていたら、1箇所にまとめてください。

条件:
- 既存の機能の動作は変えないでください
- 1ファイルずつ修正して、修正するたびにテストを実行してください
- テストが失敗したら、即座に止めて原因を報告してください
- まとめた後で、各ファイルが短くなっていることを確認してください

指示に「1ファイルずつ」を入れることが大切です。一気に複数のファイルを変更すると、どの変更で問題が起きたか追いにくくなります。

パターン2:1つのファイルが大きくなりすぎている(ファイル分割)

500行を超えるファイルは、1つの場所に仕事が詰め込まれすぎているサインです。これを役割ごとに複数のファイルに分割します。

app/api/cron/process-ai/route.ts というファイルが大きくなってきました。以下のように整理してください:

1. 実際の処理は lib/ai/process-pipeline.ts に移す
2. route.ts には「受け取り → 処理の呼び出し → 結果を返す」だけを残す
3. データの型定義は lib/ai/types.ts にまとめる

分割後も、APIから返ってくるデータの形が変わっていないことを確認してください。

ファイルを分割することで、新しいメンバーがプロジェクトに参加したときに「このファイルは何をするファイルか」が一目でわかるようになります。10人規模のチームでは、この整理だけで新メンバーのキャッチアップ期間が1〜2週間短縮された事例があります。

また、Claudeが関係ないファイルまで変更してしまうのが心配な場合は、/freeze 機能(ふりーず:指定フォルダ以外の編集を禁止する機能)が便利です。

/freeze lib/ai app/api/cron

このコマンドを実行すると、指定した2つのフォルダ以外は変更禁止になります。Claude Code の画面上でそのまま入力してください。

パターン3:繰り返す作業をコマンドとして登録する(定型化)

毎月コードレビューのたびに同じ指示を打ち込むのは手間です。Claude Code では、よく使う手順を「スラッシュコマンド(スラッシュコマンドとは、/ で始まる定型命令のことです)」として保存できます。一度登録すると、次回から /refactor-check と入力するだけで同じ作業が始まります。

登録の依頼文:

.claude/commands/ フォルダに「refactor-check」というコマンドを作ってください。
内容は「指定されたフォルダ内のファイルを調べて、重複している処理・大きすぎるファイル・型の不整合を一覧で報告する」ことです。

登録後は /refactor-check lib/fetchers/ のように呼び出せます。チームでClaudeを使っている場合は、このコマンドを共有することで、誰が実行しても同じ品質の確認ができます。

リファクタリング後は「別目線」でチェックする

整理した後は、変更内容を別のAIエージェントでチェックするのがおすすめです。

Claude Code では「サブエージェント(sub-agent:別の役割を持つAIエージェント)」を呼び出せます。実装を担当したAIとは別のエージェントが独立した目で確認するため、作った本人が見落としがちな問題を拾いやすくなります。

reviewer という別のエージェントを使って、今行ったリファクタリングをチェックしてください。

確認してほしい点:
- 元の動作が保たれているか
- ファイル名・関数名の命名が一貫しているか
- テストが不足している箇所はないか
- パフォーマンス上の懸念はないか

このレビュアーエージェントは、実装に携わっていない別のAIが判断するため、「作った本人が見落としがちなミス」を拾いやすくなります。外注エンジニアに第三者レビューを頼むようなイメージです。

コミットを細かく積んで「いつでも戻れる」状態を作る

コミット(commit:コードの変更を記録・保存すること)をこまめに積み重ねると、問題が起きたときに「どの時点に戻るか」を選べます。リファクタリングでは特に、細かくコミットを分けることが重要です。

リファクタリングは以下の順序で、それぞれ別々に保存してください:

1. テストだけを追加して保存
2. 新しく作る共通処理を追加して保存
3. 古いコードを新しい処理に置き換えて保存(ファイルごとに分けてOK)
4. 不要になったコードを削除して保存

各保存のコメントは「refactor: ○○の処理を△△に移動」のような形式でお願いします。

この手順を守ると、万が一「リファクタリング後に特定の機能が動かない」という事態が起きても、どのステップで問題が入ったかを特定しやすくなります。

図: リファクタリング前後の比較(画像生成待ち)

Claude CoworkとClaude Codeの使い分け

リファクタリングに関連して、2つのClaudeツールをどう使い分けるか迷う方も多いので整理します。

Claude Cowork(クロードコーワーク:ブラウザで使えるWebアプリ版のClaude)は、コードを直接変更する機能は持っていません。ただし、リファクタリング計画の相談・プロンプトの下書き作成・コードの問題点の確認などには十分活用できます。

一方、Claude Code(クロードコード:ターミナルから動かすCLIツール。CLIとはコマンドラインインターフェースの略で、文字入力でPCを操作するツールのことです)は、実際にファイルを読み書きして変更を実行できます。リファクタリングの実作業はClaude Codeで行う必要があります。

おすすめの使い方は、まずClaude Coworkで「このフォルダをどう整理すればいいか相談する」→ 方針が固まったらClaude Codeで「実際に変更を実行する」という2段階のフローです。

非エンジニアが陥りやすい3つの失敗

失敗1:一気にすべてを変えようとする

プロジェクト全体をきれいにして、という指示は、Claudeに与えるには範囲が広すぎます。まず1つのフォルダ、1つの問題に絞って依頼しましょう。問題なければ次のフォルダ、というように少しずつ広げていくのが安全です。

失敗2:テストなしで始める

テストがない状態でリファクタリングすると、コードが正しく動いているかどうかを確認する手段がなくなります。動作を確認するテストを先に書いて、と頼んでから始めましょう。

失敗3:変更範囲を伝えない

Claude は指定外のファイルも変更しようとすることがあります。作業前に「このフォルダだけ変えてください」「他のファイルは触らないでください」と明示するか、/freeze 機能で制限をかけましょう。

コストとスケジュールのめやす

参考として、小規模なWebアプリ(ファイル数約80個)でのケースを紹介します。

重複コードの抽出とファイル分割を実施した場合:

  • 作業時間:手動で約4〜6時間 → Claudeを使って約1〜1.5時間(準備・確認込み)
  • Claude APIの利用料金:1回のセッションで約200〜500円程度(プロジェクト規模による)
  • 月1回実施した場合:年間約2,400〜6,000円

外注エンジニアへの依頼と比較した場合、時給5,000〜8,000円で4〜6時間分の削減は、1回あたり2〜4万円のコスト削減に相当します。年間に換算すると24〜48万円のコスト差になります。

ただし、Claude APIの利用料はプロジェクトの規模・複雑さ・使用するモデルによって変わります。Claude.ai のProプランに含まれるケースもあるので、詳しくはAnthropicの公式料金ページを確認してください。

まとめ:まず1つのフォルダから試してみる

Claude Codeを使ったリファクタリングで大切なことは3つです。

  1. 最初にテストとブランチを用意する(安全網を作る)
  2. 小さな範囲から始めて、少しずつ広げる(1フォルダずつ)
  3. 別のサブエージェントで独立レビューをかける

最初から「全部きれいにしよう」と考えず、まず最も気になっている1つのフォルダだけを対象に試してみてください。Claudeの動き方と、あなたのプロジェクトとの相性が確認できます。

リファクタリングを月1回程度のルーチンにできると、技術的負債が積み重なるリスクを大きく下げられます。外注費や修正コストが年間数万〜数十万円単位で変わってくる可能性があります。

この記事で紹介したプロンプトをそのままコピーして、まず1つのフォルダに試してみてください。