Contents
1. Claude Code とは?
Claude Code は、Anthropic が提供する大型言語モデル Claude 系列(現在は Claude 3 Sonnet/Opus)をベースにした、次の機能を備えた開発支援ツールです。
| 機能 | 内容 |
|---|---|
| 対話型 REPL | ターミナル上で自然言語質問 → コード生成・説明・レビューをリアルタイムに取得 |
| 単発クエリ | claude "コードレビューしてください" のように 1 回の呼び出しで完結 |
| プランモード(Plan) | 「要件だけ」からプロジェクト全体像、タスク分解、ロードマップを自動生成 |
| メモリファイル(Memory / CLAUDE.md) | テキストベースのファイルを事前に登録し、会話中で参照可能。Git 管理ができる点が特徴 |
注意
本稿で紹介する「CLAUDE.md 記憶機構」や「プランモード」は Anthropic の公式ドキュメント(Claude API reference)に記載されている機能です。2026 年版といった将来予測は現時点では未確認のため、事実として扱っていません。
2. API キーの取得と安全な保管
2.1 取得手順(公式)
- Anthropic コンソール にサインアップまたはログイン
https://console.anthropic.com/ - 左メニューの “API keys” を選択 → “Create new key”
- 必要に応じて Read‑only 権限や有効期限を設定し、キーをコピー
取得したキーは
sk-ant-...の形式です。表示された瞬間に必ず安全な場所へ保存してください。
2.2 推奨される保管方法
| 方法 | メリット | 実装例 |
|---|---|---|
.env ファイル + dotenv ライブラリ |
ソースコードから分離、.gitignore に追加すれば漏洩防止 |
bash # .env 例 CLAUDE_API_KEY=sk-ant-xxxxxxxxxxxx |
| OS 標準のシークレットストレージ (macOS: Keychain, Linux: Secret Service, Windows: Credential Manager) |
OS が提供する暗号化・アクセス制御を利用 | macOS security add-generic-password -a $USER -s CLAUDE_API_KEY -w "sk-ant-..." |
| クラウドシークレットマネージャ(AWS Secrets Manager、GCP Secret Manager 等) | インフラと統合し、ローテーションも自動化可能 | bash export CLAUDE_API_KEY=$(aws secretsmanager get-secret-value --secret-id claude-key --query SecretString --output text) |
ベストプラクティス
- キーは コードリポジトリにコミットしない(.gitignoreに必ず追加)
- 必要最小限の権限だけを付与する(Read‑only が利用できるエンドポイントは限定的に設定)
- 定期的にローテーションし、古いキーは速やかに無効化
3. Claude Code CLI のインストールと基本操作
3.1 インストール方法(公式パッケージ)
| OS | 推奨コマンド |
|---|---|
| macOS (Homebrew) | bash brew tap anthropic/claude && brew install claude-cli |
| Linux / macOS (pip) | bash python3 -m pip install --upgrade claude-cli |
| Windows (winget) | powershell winget install Anthropic.ClaudeCLI |
インストール後は
claude --versionでバージョンが表示されれば成功です。
3.2 環境変数の設定例
|
1 2 3 4 5 6 |
# .env(プロジェクトルート)に保存 CLAUDE_API_KEY=sk-ant-xxxxxxxxxxxx # シェル起動時に自動ロード(bash/zsh の場合) if [ -f .env ]; then export $(grep -v '^#' .env | xargs); fi |
Windows PowerShell
powershell $Env:CLAUDE_API_KEY = "sk-ant-xxxxxxxxxxxx"
3.3 基本コマンド
| コマンド | 説明 |
|---|---|
claude repl |
対話型 REPL を開始。入力した自然言語が即座にモデルへ送信されます。 |
claude "質問文字列" |
1 行で完結する単発クエリ。結果は標準出力に表示されます。 |
claude -p "要件だけを記述" |
プランモード:要件からタスク分解、ロードマップ、コード雛形まで自動生成します。 |
claude --memory-add <file> |
指定ファイル(例: architecture.md)をメモリに登録し、以降の対話で参照可能にします。 |
claude --memory-list |
現在登録されているメモリファイル一覧を表示。 |
claude --memory-remove <file> |
不要になったメモリファイルを削除。 |
注意
2024 年時点で公式に提供されているフラグは上記のみです。--no-send、--local-modeといったオプションは現行バージョンには実装されておらず、誤情報になる可能性があります。ローカル実行やデータ送信制御が必要な場合は Anthropic の Enterprise プラン や オンプレミス版 を別途問い合わせてください。
3.4 実行例
|
1 2 3 |
# プランモードでオンライン書店の在庫管理システムを設計 $ claude -p "オンライン書店の在庫管理システムを作りたい" |
出力(抜粋)
|
1 2 3 4 5 6 7 8 9 10 11 |
Step 1: 要件定義 - 商品情報 (ISBN, タイトル, 価格) - 在庫数、入荷・出荷履歴 - 注文処理と在庫減算 Step 2: データベース設計 (PostgreSQL + Prisma) ... Step 3: API エンドポイント例(FastAPI) ... |
4. IDE 連携 ― VS Code と JetBrains 系
4.1 VS Code 公式拡張機能
| 手順 | 内容 |
|---|---|
| 1. インストール | VS Code Marketplace → Claude for VS Code を検索・インストール |
| 2. 設定 | settings.json に API キーとデフォルトプロンプトを記述 |
|
1 2 3 4 5 |
{ "claude.apiKey": "${env:CLAUDE_API_KEY}", "claude.defaultPrompt": "コードレビューと最適化提案" } |
| 3. 使用例 | エディタ右クリック → Claude: Generate Code(選択範囲の実装依頼) |
| 4. カスタムコマンド | methods.json に独自プロンプトや温度設定を保存し、拡張機能から呼び出す |
|
1 2 3 4 5 6 7 |
{ "review": { "prompt": "以下のコードをセキュリティと可読性観点でレビューしてください。", "temperature": 0.2 } } |
4.2 JetBrains 系(IntelliJ IDEA, PyCharm 等)
| 手順 | 内容 |
|---|---|
| 1. プラグイン導入 | Plugins → Marketplace → Claude Assistant を検索・インストール |
| 2. 設定画面 | Preferences > Tools > Claude で API キー入力、メモリファイル(例: CLAUDE.md)のパスを指定 |
| 3. アクション | エディタ上部ツールバーに表示される Claude アイコンから Generate, Refactor, Plan が使用可能 |
いずれの IDE でも、メモリファイルはプロジェクトルートに配置し Git 管理すると変更履歴が残り便利です。
5. コンテキスト(Memory / CLAUDE.md)活用ガイド
Claude の入力トークン上限はモデルにより異なりますが、Claude 3 Opus は約 100 k トークン が目安です。大規模プロジェクトでは以下の手順でメモリを整理します。
5.1 ファイル単位でチャンク化する指針
| プロジェクト規模 | 推奨チャンクサイズ(トークン) | コマンド例 |
|---|---|---|
| 小規模 (≤ 5k 行) | 1 ファイル全体 (~30 k トークン) | claude --memory-add src/ |
| 中規模 (5k–20k 行) | ディレクトリ単位 (10‑15 k トークン) | claude --memory-add src/utils/claude --memory-add src/api/ |
| 大規模 (≥ 20k 行) | サブモジュール別に 5‑8 k トークン | claude --memory-add modules/auth/CLAUDE.mdclaude --memory-add modules/payment/CLAUDE.md |
5.2 メモリファイル作成・登録フロー
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# 1️⃣ 設計概要をテキスト化(例: architecture.md) cat > architecture.md <<'EOF' # Architecture Overview - Microservice構成: user, product, order - DB: PostgreSQL + Redis cache - CI/CD: GitHub Actions (lint → test → deploy) EOF # 2️⃣ メモリへ登録 claude --memory-add architecture.md # ← CLAUDE.md に自動的に追記されます # 3️⃣ 後続の対話で参照 claude "order マイクロサービスのエラーハンドリング実装を教えて" |
登録したファイルは
--memory-listで確認できます。必要に応じて--memory-update <file>や--memory-remove <file>を使い、最新状態を保ちましょう。
5.3 ファイル命名規則(運用上のコツ)
|
1 2 |
<モジュール名>_v<バージョン>.md # 例: auth_v1.md, payment_v2.md |
- 可読性:どのメモリがどの機能に対応しているか一目で分かる
- 変更管理:Git の差分で内容変化を追える
6. トラブルシューティング・品質保証・セキュリティベストプラクティス
6.1 よくあるエラーと対処法
| エラー | 主な原因 | 推奨対策 |
|---|---|---|
401 Unauthorized |
API キー未設定、タイプミス、権限不足 | .env の変数名・値を再確認、export CLAUDE_API_KEY=... を実行 |
429 Too Many Requests |
短時間にリクエスト過多(RPM 超過) | 指数バックオフ でリトライ、または --rate-limit フラグ(CLI が提供する場合)で上限を下げる |
500 Internal Server Error |
Anthropic 側障害 | 数分待って再実行。ステータスページ https://status.anthropic.com/ を確認 |
Python での指数バックオフ例
|
1 2 3 4 5 6 7 8 9 10 11 12 |
import subprocess, time, sys def run_claude(cmd: str, retries: int = 5): for attempt in range(retries): result = subprocess.run(cmd, shell=True, capture_output=True, text=True) if "429" not in result.stderr: return result.stdout wait = 2 ** attempt print(f"[Retry] Rate limit hit. Waiting {wait}s …", file=sys.stderr) time.sleep(wait) raise RuntimeError("Maximum retries exceeded") |
6.2 出力品質の自動検証
- レビュー指示テンプレート(
ReviewTemplate.md)を作成し、JSON 形式で結果を返すように指示 - CLI の
--prompt-fileオプションでテンプレートを読み込む
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# ReviewTemplate.md ## レビュー項目 - 可読性: 変数名は意味が通じるか - 安全性: SQL インジェクション対策があるか - テストカバレッジ: ユニットテストが最低80%か ## 出力形式 ```json { "issues": [...], "suggestions": [...] } |
|
1 2 3 4 5 6 7 8 |
実行例(シェル) ```bash claude --prompt-file ReviewTemplate.md \ "以下のコードをレビューしてください" < src/payment.py > review.json jq '.' review.json # CI パイプラインで結果をパース可能 |
6.3 機密情報漏洩防止策
| 手段 | 内容 |
|---|---|
| 環境変数の徹底管理 | API キーは決してコード内にハードコーディングしない |
| 入力前マスキング | sed 等でパスワード・トークン文字列を ****** に置換 |
| 通信暗号化 | HTTPS がデフォルト。社内プロキシ経由の場合は証明書ピニングを検討 |
| オンプレミス/エンタープライズ版 | データ送信が許容できない場合は Anthropic の Enterprise 向けオファー(要問い合わせ) |
現行 CLI には
--no-sendや--local-modeといったフラグは実装されていません。機密情報の取り扱いは 送信前にローカルでマスク するか、Anthropic の Enterprise 契約を利用してください。
6.4 ロギングと監査
- CLI 実行ログは
--log-file <path>(提供されている場合)やシェルのリダイレクトで保存 - GitHub Actions 等 CIでは、API キーを
secretsに格納し、出力はset-outputでマスク
|
1 2 3 4 5 6 7 |
steps: - name: Claude Plan env: CLAUDE_API_KEY: ${{ secrets.CLAUDE_API_KEY }} run: | claude -p "新規レポジトリのセットアップ手順" > plan.txt |
7. まとめ
| 項目 | ポイント |
|---|---|
| 概要 | Claude Code は対話型 REPL、単発クエリ、プランモード、メモリファイルを組み合わせた開発支援ツール |
| API キー管理 | .env・OS シークレット・クラウドマネージャで安全に保管し、最小権限で運用 |
| CLI インストール | Homebrew / pip / winget のいずれかで導入。基本コマンドは repl, "質問", -p, --memory-add |
| IDE 連携 | VS Code と JetBrains 系の公式プラグインでエディタ内から直接呼び出し可能 |
| コンテキスト管理 | トークン上限を考慮したファイルチャンク化と命名規則でメモリファイルを整理 |
| トラブル & セキュリティ | 認証エラーは環境変数、レートリミットは指数バックオフ、レビューテンプレートで品質保証、機密情報は送信前にマスク |
Claude Code を正しく導入すれば、コード生成・レビューの手間が大幅に削減され、プロジェクト全体の見通しを早期に把握できるようになります。ぜひ本稿の手順を参考に、安全かつ効率的な AI 開発環境を構築してください。
※ 本記事は 2024 年 10 月時点の公式情報(Anthropic Documentation, GitHub リポジトリ)に基づいて執筆しています。将来的な機能追加や仕様変更があった場合は、公式ドキュメントをご確認ください。