技術 約5分で読めます

Claude Code Best PracticesとAgent SDKの公式ガイドまとめ

Anthropicが公開した2つの公式ドキュメントをまとめた:

前者はClaude Codeの実践的な使い方、後者はClaude Agent SDKでエージェントを構築する方法について書かれている。

Claude Code Best Practices

Claude Codeは低レベルで柔軟な設計になっており、特定のワークフローを強制しない。その分、使いこなすには学習が必要。このドキュメントではAnthropicの社内チームや外部エンジニアの知見をもとにしたベストプラクティスがまとめられている。

CLAUDE.mdでコンテキストを与える

プロジェクトルートにCLAUDE.mdを配置すると、Claudeが自動的に読み込む。記載すべき内容:

  • よく使うbashコマンド(ビルド、テスト、リントなど)
  • コアファイルやユーティリティ関数の場所
  • コードスタイルガイドライン
  • リポジトリ固有のルールやワークフロー

配置場所は複数選べる:

場所用途
プロジェクトルート基本(推奨)
親ディレクトリモノレポ対応
子ディレクトリサブプロジェクト固有の設定
ホームフォルダ全セッション共通の設定

Anthropic社内では「IMPORTANT」「YOU MUST」といった強調表現を使って指示への従順性を高めている。

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

.claude/commands/フォルダにMarkdownファイルを配置すると、スラッシュコマンドとして使える。

.claude/commands/fix-github-issue.md

これで/project:fix-github-issue 1234のように呼び出せる。$ARGUMENTSプレースホルダでパラメータを受け取れる。チームで共有できるのでリポジトリにコミット推奨。

MCPでツールを拡張

Claude CodeはMCP(Model Context Protocol)に対応している。.mcp.jsonをリポジトリに含めれば、チーム全員が同じツールを使える。

{
  "mcpServers": {
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@anthropic-ai/mcp-puppeteer"]
    }
  }
}

トラブルシューティングには--mcp-debugフラグが便利。

推奨ワークフロー

探索→計画→実装→コミット

段階的に進めることで精度が上がる:

  1. 探索: 関連ファイルを読む(コード作成禁止と指示)
  2. 計画: 「think」「think hard」で拡張思考を有効化して計画を立てる
  3. 実装: ソリューションを実装して検証
  4. コミット: 変更をコミット

複雑な問題ほど計画フェーズが重要。初期段階で計画をスキップするのがよくある失敗パターン。

テスト駆動開発(TDD)

検証可能な変更に最適:

  1. 入出力仕様に基づいてテストを作成(実装なし)
  2. テスト実行で失敗を確認
  3. テストをコミット
  4. テストが通るまで実装と修正を繰り返す

ビジュアル反復

UIやデザイン実装に効果的:

  1. Puppeteer MCPやスクリーンショットを活用
  2. デザインモックを参照させる
  3. コード実装→スクリーンショット確認→修正を繰り返す

2〜3回の反復で大幅に改善する。

プロンプトのコツ

具体的な指示ほど成功率が上がる:

# 弱い指示
foo.pyのテストを追加して

# 強い指示
foo.pyのテストを作成して。ログアウト状態のエッジケースに対応すること。モックは使わない。

画像も活用できる。macOSならCmd+Ctrl+Shift+4でスクリーンショットをクリップボードにコピーしてCtrl+Vで貼り付け。

コンテキスト管理

長時間セッションでは/clearで不要な会話履歴を削除。大規模タスクではMarkdownチェックリストで進行状況を追跡させると効果的。

ヘッドレスモード

-pフラグで対話なしで実行できる。CI/CD統合に便利。

claude -p "このコードをレビューして" --output-format stream-json

GitHub Actionsと組み合わせてイシューの自動分類やコードレビューに使える。

マルチインスタンス

複数のClaude Codeインスタンスを並列で動かせる。Git worktreeと組み合わせると効率的:

git worktree add ../project-feature-a feature-a
cd ../project-feature-a && claude

Claude Agent SDK

Claude Code SDKは「Claude Agent SDK」に改名された。コーディング以外の用途(調査、動画作成、メモ取りなど)にも広く使われるようになったため。

設計思想

「Claudeには毎日プログラマーが使うツールと同じものが必要」という考え方。ファイル検索、編集、実行、デバッグなど、プログラマーと同様のアクセス権をエージェントに与える。

エージェントループの構造

エージェントは以下のサイクルを繰り返す:

  1. コンテキスト収集: 必要な情報を集める
  2. アクション実行: ツールを使って作業
  3. 成果検証: 結果を確認
  4. 繰り返し: 必要に応じて1に戻る

コンテキスト収集の方法

方法説明
ファイルシステム検索greptailなどでファイルから情報抽出
セマンティック検索埋め込みベクトル技術(精度は低め)
サブエージェント並列実行でコンテキストウィンドウを隔離
コンパクション長時間実行時の会話履歴自動圧縮

アクション実行の手段

  • ツール定義: APIアクセスやデータベース操作
  • Bash/スクリプト: ファイル操作、PDF変換など
  • コード生成: PythonでExcel/PowerPoint/Word文書を自動生成
  • MCP統合: Slack、GitHub、Google Drive、Asanaなどとの連携

検証の仕組み

  • ルール定義: メールアドレス検証やリントチェック
  • ビジュアルフィードバック: HTMLメール生成時のスクリーンショット確認
  • LLM評価: 別モデルによる出力品質判定

活用例

  • ファイナンスエージェント: ポートフォリオ分析と投資評価
  • パーソナルアシスタント: スケジュール管理と旅行予約
  • カスタマーサポート: 複雑な問い合わせ処理
  • 調査エージェント: 大量ドキュメントの分析

2つのドキュメントの違い

項目Best PracticesAgent SDK
対象Claude Codeユーザーエージェント開発者
内容使い方のコツ、ワークフローアーキテクチャ、設計原則
目的日常のコーディング効率化カスタムエージェント構築

Best Practicesは「Claude Codeをどう使うか」、Agent SDKは「Claude Codeの仕組みでエージェントをどう作るか」という位置づけ。