はじめに
「Claude Codeって、指示のたびに確認を求めてくるの?もっと自動でやってほしい」
「複数のファイルにまたがる大きな変更を一気にお願いしたい」
「エージェントという言葉をよく聞くけど、具体的に何ができるの?」
Claude Codeの真の力はエージェントとして自律的に動く点にあります。単発のコード修正ではなく、「〇〇という機能を実装して」という大きな指示に対して、計画を立て、複数のファイルを次々と編集し、テストまで自律的に行う能力がClaude Codeの最大の強みです。
前回の第5回:CLAUDE.mdで記憶を持たせると組み合わせることで、エージェントモードの効果が最大化します。
目次
- エージェントモードとは何か
- 通常モードとエージェントモードの違い
- エージェントモードの動作フロー
- 実践:大きなタスクをエージェントに任せる
- サブエージェント(マルチエージェント)とは
- WordPress開発でのエージェント活用事例
- エージェントモードで気をつけること
- まとめ
1. エージェントモードとは何か
基本概念
エージェントモードとは、Claude Codeが一つの大きな目標に対して、自律的に計画を立て、複数のステップを順次実行する動作モードです。
通常の会話AIは「質問→回答」の1ターンで完結しますが、エージェントモードでは:
- 目標を理解する
- 達成するための手順を自分で計画する
- 各ステップを順次実行する(ファイル読み込み→編集→コマンド実行→確認)
- 途中の結果をもとに次の行動を判断する
- 目標が達成されたら終了を報告する
というサイクルを自律的に繰り返します。
なぜエージェント型が強力なのか
人間が開発作業を行う場合、「仕様を読む→コードを書く→テストする→バグを直す→再テストする」という複数ステップを踏みます。エージェントモードのClaude Codeはこれと同じサイクルを自律的に実行します。
2. 通常モードとエージェントモードの違い
| 比較項目 | 通常の使い方 | エージェントモード |
|---|---|---|
| タスクの規模 | 単一ファイルの変更 | 複数ファイルにまたがる変更 |
| 指示の粒度 | 具体的な変更内容を指示 | 目標・成果物を指示 |
| 実行ステップ | 1〜3ステップ | 5〜20以上のステップ |
| 自律性 | 各ステップで確認を求める | 計画の範囲内で自律的に実行 |
| 向いているケース | CSSの修正・関数の追加 | 新機能の実装・大規模リファクタリング |
3. エージェントモードの動作フロー
「WordPressサイトにお気に入り機能を追加して」という指示を例に動作を説明します。
【ユーザーの指示】
> ログインユーザーが投稿をお気に入りに追加できる機能を実装して。
データはユーザーメタで管理すること。
【Claude Codeの動作】
Step 1:計画を立てる
「以下の手順で実装します:
1. functions.phpにお気に入り追加・削除の関数を追加
2. REST APIエンドポイントを登録
3. お気に入りボタンのHTMLをsingle.phpに追加
4. JavaScriptでAJAX処理を実装
5. CSSでボタンのスタイルを設定」
→ ユーザーが承認
Step 2:functions.phpを読み込んで既存の構成を確認
Step 3:お気に入り関数を追加
Step 4:REST APIエンドポイントを登録
Step 5:single.phpにボタンHTMLを追加
Step 6:JavaScriptファイルを作成
Step 7:CSSを追加
Step 8:WP-CLIでキャッシュをクリア
Step 9:実装完了を報告
4. 実践:大きなタスクをエージェントに任せる
効果的な指示の出し方
エージェントモードで効果を発揮するには、目標と制約を明確に伝えることが重要です。
良い指示の例:
> このWordPressサイトに以下の機能を実装してください:
目標:ユーザーが記事を「後で読む」リストに保存できる機能
要件:
- ログインユーザーのみ使用可能
- データはユーザーメタに保存
- セッション後も保持される
- 「後で読む」ページで一覧表示できる
制約:
- プラグインファイルは変更しない
- 子テーマ(my-child-theme)内で完結させる
- WordPressのコーディング標準に従う
プランモードで計画だけを確認する
-p フラグを使うと、実際の実行前に計画だけを確認できます。
claude -p "後で読む機能を実装する計画を立てて"
計画を見てから、修正が必要であれば指示を調整してから本格的に実行できます。
5. サブエージェント(マルチエージェント)とは
Claude Codeは複数のエージェントを並列で動かすマルチエージェント機能にも対応しています。
サブエージェントの仕組み
メインのClaude Codeが「リーダーエージェント」として全体を統括し、特定のサブタスクを複数の「サブエージェント」に並列で割り当てます。
リーダーエージェント
「WordPressプラグインを開発する」
↓ タスクを分割して並列実行
├── サブエージェントA:「データベーステーブルの設計と作成」
├── サブエージェントB:「管理画面のUI実装」
└── サブエージェントC:「フロントエンドのJavaScript実装」
並列実行により、大規模な作業を大幅に短時間で完了できます。
マルチエージェントを使う場面
- 大規模なプラグイン開発
- 複数のページテンプレートの一括リファクタリング
- テストコードの一括生成
マルチエージェントの詳細な活用法は第10回:応用編で解説します。
6. WordPress開発でのエージェント活用事例
事例① カスタムプラグインの新規開発
> 以下の仕様でWordPressプラグインを新規作成してください:
プラグイン名:My Site Announcer
機能:管理画面から設定できるサイト上部のお知らせバー
要件:
- 管理画面でお知らせテキスト・背景色・表示期間を設定できる
- フロントエンドでcookieを使って「閉じる」ボタンで非表示にできる
- ショートコードで任意の場所にも表示できる
wp-content/plugins/my-site-announcer/ に作成すること。
Claude Codeが自律的にプラグインディレクトリを作成し、必要なファイル(メインPHP・管理画面・フロントJS・CSS)を次々と生成します。
事例② レガシーコードの一括リファクタリング
> functions.phpを全体的にリファクタリングしてください。
目標:
- 重複コードの排除
- 長すぎる関数を分割
- 非推奨関数の置き換え
- 適切なコメントの追加
制約:
- 既存の機能は完全に維持すること
- 変更前後でサイトの動作に変化がないこと
- リファクタリング後にwp_debug_logでエラーがないことを確認すること
事例③ テスト環境の構築
> このWordPressプロジェクトにPHPUnitのテスト環境を構築して、
functions.phpの主要な関数のテストを作成してください。
- composer.jsonにPHPUnitを追加
- テスト用の設定ファイルを作成
- 既存の関数10個に対してユニットテストを作成
- npm testで実行できるようにpackage.jsonも更新
7. エージェントモードで気をつけること
必ずGitでバックアップしてから使う
エージェントモードは複数のファイルを一気に変更するため、意図しない変更が広範囲に及ぶ可能性があります。必ず事前にGitでコミットしておきましょう。
git add -A
git commit -m "Backup before Claude Code agent task"
本番環境では使わない
エージェントモードはローカル開発環境での使用を前提としています。本番環境のファイルに対して直接使用することは避けてください。
計画を必ず確認する
エージェントが計画を提示した段階で内容を必ず確認し、意図と合っているかを確かめてから承認してください。「とりあえず進めて」と言いたくなる気持ちはわかりますが、計画確認は重要なステップです。
8. まとめ
エージェントモードとは:
- 大きな目標に対して自律的に計画→実行→確認を繰り返すモード
- 複数ファイルにまたがる作業を一気に処理できる
- 目標と制約を明確に伝えることが成功の鍵
WordPress開発での活用シーン:
- カスタムプラグインの新規開発
- レガシーコードの大規模リファクタリング
- テスト環境の構築
安全に使うための原則:
- 事前にGitでバックアップ
- ローカル環境でのみ使用
- 計画は必ず確認してから承認
次回の第7回:Git連携・コミット・PR自動化では、Claude CodeとGitを組み合わせてバージョン管理を自動化する方法を解説します。
よくある質問(FAQ)
Q. エージェントモードはどうやって起動するのですか?
A. 特別なコマンドは不要です。大きなタスクを自然言語で指示するだけで、Claude Codeが自動的にエージェントとして動作します。claude を起動して、複数ステップにわたる指示を出してみてください。
Q. エージェントが途中でエラーになったらどうなりますか?
A. エラーが発生した場合、Claude Codeはエラー内容を確認して自律的に修正を試みます。修正できない場合はエラーの内容を報告して、追加の指示を求めます。
この記事はClaude Code入門シリーズ(全10回)の第6回です。← 第5回:CLAUDE.md | 第7回:Git連携 →
ご質問はお問い合わせページからお気軽にどうぞ。