前提事項
ここでは、Claude Codeを活用するために知っておくべき基本的な知識や大原則、またはセットアップガイドを進めるための環境条件などについて解説します。
Claude Codeとは
Claude Codeは米国Anthropic社が提供するエージェンティックコーディングツールです。
Claude Codeの特 徴
- 自然言語による指示を理解し、計画を立て、コードを書き、生成結果のふりかえりをおこないます
- ターミナル上のコマンドラインツールとして動作します
- Anthropic社が提供するClaudeモデル以外にも、AWSやGoogle Cloud上にホストされて提供されるClaudeモデルを使うことができます
Claude Codeの主な利用用途
Claude Codeをはじめとしたコーディングエージェントは、単純なコーディング用途以外にも活用が可能です。ソフトウェア開発のライフサイクル全体にわたって広くAIを活用することが生産性向上の鍵です。
- 機能開発:作りたいソフトウェアや機能を説明して、コードを生成する
- デバッグや問題の修正:バグの説明やエラーメッセージを渡すことで、問題の特定や修正を実行する
- コードベースの解説:コードベース全体にわたるプロジェクトの構造理解から、こまかい処理の詳細まで理解して解説をする。MCPや外部コマンドと組み合わせることで、外部データソースの内容も加味して情報を取得できます
Claude Codeの利用方式
Claude Codeの利用方式はおもに「claude.aiによるOAuth認証」「Anthropic Console経由のAnthropic API」「Amazon BedrockやGoogle Vertex AI経由のAPI」の3種類があります。このガイドではAmazon Bedrock経由のAPIを認証して利用することとします。
詳細なアクセス設定の方法は「セットアップ」を参照してください。
IDE統合において便利な点
本書においてはClaude CodeをVS Codeに統合して利用します。IDE統合は単純にClaude Codeとのやりとりをリポジトリ構造や編集対象ファイルを見通しながら開発できるだけでなく、エディタで閲覧しているファイルをClaude Codeのコンテキストに連携したり、ターミナルでコマンドを実行しながら作業を継続することが可能です。
Claude Code利用上の原則
エージェンティックコーディングツールは便利ですが、コードや回答を生成するために利用する大規模言語モデル(LLM)の特性として、出力は非決定的である点が、決定的なプログラムによって得られる出力との大きな差です。上手に活用するために、始める前に以下を原則として心得たうえで利用してください。
こまかく実装し、こまかくレビューをする
Claude Codeはユーザの指示を理解し、計画し、コーディングやタスクをどんどんこなしてアウトプットを生成します。何百本のソースコードでも簡単に生成できます。それでも人間の意図と寸分違わないソフトウェアが一度のやりとりで完成することはほとんどの場合ありません。人間が混入する不具合と同様に、設計不足や実装不足、あるいはまったく動作しない不具合が混入した状態で出力されることも多いです。一度に生成する量や機能数が多ければ多いほど、それらの不具合を摘出するための労力は飛躍的に大きくなります。また、一見すると綺麗で迷いのないAIが生成したコードは、結果的にその品質以上に安易に信頼してしまう傾向が強いことも課題となっています。 レビューやテスト実施を小さく保つために、実装の計画を適切な粒度へ分解し、変更範囲が小さい間にこまかくレビューやテストを繰り返し、すばやく誤りを検知するように心掛けることが大切です。 手に余る状態となったら、なにかがうまくいっていないシグナルです。すべて捨ててやり直すことも視野に入れてプロセス全体を見直しましょう。
AIフレンドリーなコード = 人間フレンドリーなコード
人間にとっての優れたソフトウェア設計原則は、Claude Codeにとっても有益です。適切に構造化され、リファクタリングされているコードベースにおいては、そうでないものに比べてAIがより良いパフォーマンスを発揮します。人間とAIの双方にとってフレンドリーなコード設計は、長期的な保守性にとって非常に重要となります。 例えば、機能名や変数名の命名を正確で端的に表現することでコードの意図や機能を示唆でき、AIが扱うコンテキストを小さく保ったり、分析対象を限定的にします。また、DRY(Don't Repeat Yourself)原則に従うことで、重複したコードが減り、AIが一貫した振る舞いを維持しやすくなります。
コンテキストを意識して作業する
マルチターンな対話を通じてClaude Codeに指示をしている間、基本的にClaude Codeはユーザとの対話をコンテキストの中に保存し続けようとします。自動圧縮の機能性はあるものの、コンテキストが膨大になることで指示への追従性が低くなり、それまでであれば発生しえないような破壊的なデグレードや期待品質より低いコードを生成することもあります。コンテキストの状況を意識し、以下のような工夫 をすることが重要です。
- セッションを再起動することでコンテキストを意図的にクリアする
- 変更を意図しない場合はプランモードに切り替えて実行する
- 破壊的な変更が起きても、手戻りが小さくなるようにリポジトリのコミット単位を小さくする
機密情報をプロンプトに含めない
Claude CodeはAnthropicやAWS、GoogleのAPI経由でClaudeモデルを利用しているため、作業を手元のVS Code内でおこなっていても、入力したコンテキストを外部にデータ送信しています。機微なデータを入力する場合は、あらかじめ規程されているルールと照らして逸脱していないかどうかを確認のうえ実行してください。
動作環境
ハードウェア要件
ハードウェア要件はありません。
オペレーティングシステム
- Windows: 制限なし ※WSL2推奨
- macOS: 制限なし
- Linux: 制限なし
いずれの環境でもNode.js 18以降がインストールされていることが推奨されています。
利用規約
Claude Codeの利用規約は以下の2つです。本ガイドではAmazon Bedrockを経由した利用方法を紹介していますが、その場合でも下記利用規約が適用されます。Claude Codeを使用すると規約に同意したとみなされますので、利用の前に規約内容を確認しましょう。