HEROZ Tech Blog

日本将棋連盟公認「将棋ウォーズ」や、AIを活用したシステム企画・開発を行う、AI企業HEROZの公式テックブログです。

Claude Code:ターミナルベースAIエージェントの実践活用

Claude Codeとは

Claude CodeはAnthropic社が開発したターミナルベースのAIコーディングエージェントです。従来のChatGPTやCopilotとは異なり、コマンドラインから直接利用でき、プロジェクト全体のコンテキストを理解してコード生成、リファクタリング、バグ修正などを実行できます。

導入手順

インストール方法

# npmを使用してインストール
npm install -g @anthropic-ai/claude-code

# yarn を使用する場合
yarn global add @anthropic-ai/claude-code

AWS Bedrock経由での利用について

AWS Bedrock経由での利用を推奨します。

メリット:

VS Code統合

拡張機能のインストール

VS Code拡張機能が提供されており、開発効率を大幅に向上させることができます。詳細な設定については、こちらの記事などを参照してください。

ワークスペース設定

ワークスペースごとに異なるモデルやAWSプロファイルを設定できるため、プロジェクトに応じた最適な設定が可能です。

{
  "folders": [
    {
      "path": "."
    },
  ],
  "settings": {
    "terminal.integrated.env.{OS毎に異なる値}": {
      "AWS_PROFILE": "{事前設定しておいたAWSプロファイル}",
      "CLAUDE_CODE_USE_BEDROCK":"1",
      "ANTHROPIC_MODEL": "us.anthropic.claude-sonnet-4-20250514-v1:0",
      "ANTHROPIC_SMALL_FAST_MODEL": "us.anthropic.claude-3-5-haiku-20241022-v1:0"
    },
  }
}

初期化

Claude Codeを起動後、/initコマンドを実行します。これにより、カレントディレクトリの構造が分析され、プロジェクト固有の設定ファイルCLAUDE.mdが自動生成されます。このファイルには、プロジェクトの構造や開発ガイドラインが含まれ、Claude Codeがより適切な支援を提供するためのコンテキストとして使用されます。

基本的な使い方

ターミナルでの実行

VS Codeのターミナルでclaude codeを起動すると、現在開いているファイルを自動認識し、プロジェクトコンテキストを理解した上でインタラクティブにファイルの読み書きを行えます。

カスタムスラッシュコマンド

反復的な複雑なタスクを効率化するため、カスタムスラッシュコマンドを定義できます。

カスタムコマンドの作成方法:

  1. マークダウン形式でプロンプトファイルを作成
  2. 適切なディレクトリに配置:
    • グローバル利用:~/.claude/command/
    • プロジェクト専用:.claude/command/
  3. ファイル名がコマンド名として登録される

これにより、複雑な指示を毎回入力する必要がなくなり、開発効率が大幅に向上します。

実践的な活用例

ファイル検索・編集

  • 大規模コードベースでの効率的な検索:関連ファイルを素早く特定し、プロジェクト全体の構造を理解
  • 複数ファイルの一括処理:複数ファイル間での分析や一括置換・修正を実行
  • コード規約の自動適用:既存のコーディング規約や慣習に従った編集を自動実行

コード生成・リファクタリング

  • 既存コードの理解とキャッチアップリバースエンジニアリングによる既存システムの理解促進
  • 機能追加の自動化:既存コード構造を理解した新機能の実装
  • レガシーコードの現代化:古いコードパターンを現代的な書き方に変換
  • テスト自動生成:適切なテストコードの自動生成

バグ修正・最適化

  • エラー解析と修正提案:エラーログからの原因特定と修正案の提示
  • 依存関係問題の解決:複雑な依存関係のトラブルシューティング
  • パフォーマンス改善ボトルネックの特定と最適化の実装

開発プロセス支援

  • PR文書の自動生成:変更内容を分析したPull Request説明文の作成
  • コードレビュー支援:レビューポイントの提示と指摘事項の自動修正
  • チーム開発効率化:ドキュメント生成やコミュニケーション支援

Gemini CLIとの連携

Claude CodeとGemini CLIを組み合わせることで、複数のAIの視点を活用したより高度な開発支援が可能になります。

Gemini CLIセットアップ

インストール

npm install -g @google/gemini-cli

認証設定

  1. APIキーの取得Google AI StudioでAPIキーを発行
  2. 環境変数設定VS Codeワークスペース設定に追加
{
  "terminal.integrated.env.{OS名}": {
    "GEMINI_API_KEY": "your-api-key-here"
  }
}
  • 認証方法選択:初回起動時にGemini API Key (AI Studio)を選択

連携活用方法

Claude CodeのCLAUDE.mdに連携設定を記述することで、「Geminiと相談しながら進めて」という指示で自動的に両AIを活用した開発が可能になります。

基本的な連携フロー:

  1. Claudeが要件をまとめてGeminiに送信
  2. Geminiの回答を取得・分析
  3. 両AIの見解を統合した最終提案を作成

活用例:

  • コードレビューでの多角的な分析
  • アーキテクチャ設計の妥当性検証
  • 複雑な技術選択での意思決定支援

この連携により、単一のAIでは得られない多様な視点からの開発支援を実現できます。

MCPサーバー設定

MCPサーバーとは

MCP(Model Context Protocol)サーバーは、Claude Codeの機能を拡張する外部ツールとして設定できます。これにより以下のようなメリットが得られます:

  • 機能拡張:Claude Codeの標準機能を超えた専門的なタスクの実行
  • 外部サービス連携AWSサービスやデータベースなどとの直接連携
  • 開発効率向上:反復的なタスクの自動化とワークフローの最適化

設定方法

MCPサーバーの設定は、コマンドライン実行またはJSON設定ファイルの編集で行えます。

コマンドによる設定

設定の適用範囲を指定できます。本記事では、ワークスペースごとのClaude環境構築を推奨しているため、ワークスペースフォルダをスコープとするprojectオプションを指定します。

AWS Diagram MCPサーバーの設定例:

今回はAWS Bedrockを使用しており、AWS Profileが設定済みであるため、AWS関連のMCPサーバーの動作環境が整っています。アーキテクチャ図を生成するサーバーを設定して、実際に作図機能を試してみます。

claude mcp add awslabs.aws-diagram-mcp-server -s project -- uvx awslabs.aws-diagram-mcp-server

設定ファイルの確認

上記コマンドを実行すると、.mcp.jsonファイルが自動生成されます。後からより詳細な設定を追加したい場合は、このJSONファイルを直接編集できます。

{
  "mcpServers": {
    "awslabs.aws-diagram-mcp-server": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "awslabs.aws-diagram-mcp-server"
      ],
      "env": {}
    }
  }
}

MCPサーバーを用いたAWSアーキテクチャ図の生成

設定したMCPサーバーを使用して、実際にアーキテクチャ図を生成してみます。

プロンプト例:

VpcStack-staging/MyVpcのAWSアーキテクチャ図を作成して./imgに保存して

このようにシンプルなプロンプトで、既存のAWSリソース構成を視覚化した図を自動生成できます。

生成結果:

MCPサーバーにより、作図を高い品質で自動化できて、ドキュメント作成や設計レビューの効率が大幅に向上します。

まとめ

Claude Codeは、従来の開発プロセスを革新する強力なツールです。導入により以下のような効果が期待できます。

開発効率の向上

  • 作業速度の大幅向上:ルーティンワークの自動化により、創造的なタスクに集中可能
  • コスト効率の改善:導入コストを大幅に上回る工数削減効果
  • 人材不足への対応:自動化により限られたリソースでの高品質な開発を実現

品質向上

  • コード品質の標準化:一貫したコーディング規約の適用
  • サービス品質の向上:これまで後回しにされていた品質向上作業の実現
  • 技術負債の解消:レガシーコードの現代化とリファクタリングの促進

学習・成長支援

  • 新技術の習得:最新のベストプラクティスや便利な機能の発見
  • 設計手法の向上:AIによる設計・実装手法の提案による学習効果
  • 技術領域の拡大:これまで困難だった技術領域への挑戦が可能に

Claude Codeは単なる開発支援ツールを超え、開発チーム全体の能力向上と、より高品質なソフトウェア開発を実現するパートナーとして機能します。