Claude Code のカスタムエージェント機能を使って「カオスエンジニア」を導入すると、リポジトリの潜在的な弱点を自動的に発見できる。.md ファイルを1つ置くだけで有効化でき、驚くほど多くの問題が見つかることで話題になっている。
カオスエンジニアリングとは
カオスエンジニアリングは、本番システムに意図的に障害を注入してシステムの耐障害性を検証する手法だ。Netflix が提唱した概念で、Chaos Monkey のような自動障害注入ツールが知られている。
Claude Code にカオスエンジニアリングの思考を持ったエージェントを持ち込むと、コードベースに対して「もし〇〇が壊れたら?」という視点で弱点分析を行ってくれる。
導入方法
Claude Code のカスタムエージェントは .claude/agents/ ディレクトリに .md ファイルを置くだけで使える。
以下が chaos-engineer エージェントの定義例だ:
| |
このファイルを .claude/agents/chaos-engineer.md として保存する。
使い方
エージェントを配置したら、Claude Code のチャットで以下のように指示するだけだ:
chaos-engineer を使ってこのリポジトリの弱点を分析して
Claude Code が chaos-engineer エージェントを呼び出し、リポジトリ全体を「壊す側の視点」でスキャンして問題点を列挙してくれる。
実際に見つかる問題の例
カオスエンジニアの視点でスキャンすると、通常のコードレビューでは見落としがちな問題が浮かび上がる:
1. エラーハンドリングの欠如
| |
2. タイムアウト未設定
| |
3. 環境変数の検証不足
| |
4. データベース接続の単一障害点
接続プールの設定がなく、DB がダウンすると全リクエストが詰まるケース。
5. リトライ処理の欠如
外部 API 呼び出しで一時的なネットワークエラーが起きると即エラーになる処理。
.claude/agents/ の仕組み
Claude Code のカスタムエージェントは、プロジェクトルートの .claude/agents/ に置いた Markdown ファイルで定義できる。各エージェントは:
- 専用のシステムプロンプトを持つ
- 特定のツールだけを使う権限を持てる
- 並列実行も可能
.claude/
└── agents/
├── chaos-engineer.md # カオスエンジニア
├── security-reviewer.md # セキュリティレビュー
└── performance-analyst.md # パフォーマンス分析
目的別のエージェントを複数定義しておくと、コードレビューの幅が大きく広がる。
まとめ
Claude Code のカスタムエージェント機能を使ったカオスエンジニアリングは、手軽に試せる割に発見できる問題の量が多く、実際に試した開発者から驚きの声が上がっている。
.md ファイルを1つ置くだけで有効化できるため、既存プロジェクトへの導入コストがほぼゼロなのも魅力だ。テストカバレッジが低いプロジェクトや、エラーハンドリングが甘いと感じているコードベースにぜひ試してみてほしい。