開発部では最近、開発効率を向上させる施策の一環として、Anthropic 社の CLI 型 AI エージェント「Claude Code」を導入しました。

本記事は、これから Claude Code を触ってみたいエンジニアや、AI ツールによる開発効率化に関心のある方に向けた実践ガイドです。

今回は、「基本概念」から、コストを抑える運用まで共有します。

1. まず押さえたい基本概念: 「セッション」と「コンテキスト」

Claude Code を使いこなす上で、以下の 2 つの概念を理解しておくとスムーズです。

セッション(作業のまとまり)

Claude Code は、起動してから終了するまでの一連のやり取りを「セッション」として管理します。

最も重要な仕様は、セッションは「起動ディレクトリ(フォルダ)」に紐付いて管理されるという点です。

[プロジェクトAのディレクトリ] ⇔ [セッションA(Aの記憶)]
        |
    (ディレクトリ移動)
        ↓
[プロジェクトBのディレクトリ] ⇔ [セッションB(Bの記憶)]

つまり、ディレクトリを移動して新しく claude を起動すれば、別のセッションとして扱われます(前のディレクトリのコンテキストを引きずりません)。

履歴は保存されているため、完全に消失するわけではありません。

後述の /resume コマンドを使えば、過去のセッション一覧から再開したい作業を選んで元の状態を復元できます。

コンテキスト(AI の短期記憶)

AI が一度に覚えられる情報量のことです。 会話が長くなると、この「コンテキスト」が溜まっていきます。

コンテキストが溜まると、AI が処理すべき情報量が増えるため、結果として利用料(コスト)も上がってしまいます。

2. 初期設定: /initCLAUDE.md

プロジェクトの「記憶」を作る /init

初めて Claude Code を使うディレクトリでは、最初に以下のコマンドを実行します。

> /init

これを実行すると CLAUDE.md というファイルが生成されます。 ここにはビルドコマンドやコーディング規約などを記述します。 Claude Code は起動時にこのファイルを読み込み、プロジェクトのルールを理解します。

チーム開発での運用ルール

  • 共有設定(Git 管理する): プロジェクトルートの CLAUDE.mdGit にコミットします。これにより、チーム全員が同じルール(ビルド手順や規約)を共有でき、通常は他のメンバーが /init を実行する必要がなくなります(既に設定ファイルが存在するため)。

要件定義ファイルなどの扱い

CLAUDE.md はあくまで「ルールブック」です。機能ごとの仕様書などは docs/spec.md などのファイルに分け、指示出しの際に @docs/spec.md のように参照させます。

3. うまく伝わらない時は? コンテキスト管理のコツ

使っていると、「最近、指示の意図を汲んでくれなくなったな……」と感じることがあります。 これはコンテキストが溜まりすぎて、AI が混乱しているサインかもしれません。

基本は /clear でリセット

タスクの区切りや、話が噛み合わなくなったら、以下のコマンドを打ちます。

> /clear

これにより、これまでのコンテキストが消去され、まっさらな状態で再スタートできます。 CLAUDE.md の内容は保持されます。

コンテキストを残したいなら /compact

「今の文脈は維持したいけど、少し記憶を整理したい」という場合は /compact が有効です。

これは会話の要約のみを残し、個別のやり取りの詳細な履歴を削除することで、コンテキストを圧縮します。

4. 利用状況の確認とモデルの使い分け

Claude Code の利用状況や制限は、以下のコマンドで確認できます。 契約形態(サブスクリプションまたは API 課金)によって使い分けます。

利用状況の確認

  • サブスクリプションプランの場合: /usage コマンド
    • Claude Pro などのサブスクリプションプランで利用している場合、ここからレートリミット(残り使用回数)やプランの使用状況を確認できます。
  • API キーを利用(従量課金)の場合: /cost コマンド
    • 組織で API キーを利用(従量課金)している場合、現在のセッション費用を確認できます。

モデルの使い分け

  • Sonnet 系モデル: 日常的なコーディングや修正。速度とコストのバランス型です。
  • Opus 系モデル: 複雑な設計や難解なバグ調査。高精度で、深い推論を必要とする作業向けです。

※モデル性能はアップデートにより変更される場合があります。

5. 急な割り込み対応(セッション管理)

開発中に緊急対応が入った場合も、セッション機能を使えば安全に中断・再開できます。

  • 中断: 作業中のセッションに /rename [タスク名] で名前を付けて保存します。
  • 再開: /resume で過去のセッションを選択し、元の状態(コンテキスト含む)から再開できます。
  • 並行作業: Claude Code のセッションはディレクトリに紐付いています。そのため、git worktree でディレクトリを分け、セッションを分離して並行作業できます。片方で「バグ調査」をさせつつ、もう片方で「新機能実装」を進めるなど、互いのコンテキストを混ぜずに並行作業が行えます。

まとめ

  • 基本: セッションはディレクトリに紐付くため、場所を変えて起動すれば記憶も変わる。
  • 設定: チームルールはルートの CLAUDE.md(Git 管理)
  • 維持: 話が噛み合わなくなったら /clear。コスト節約にもなる。
  • 運用: モデルの使い分けと /resume で柔軟に対応。

ぜひ、皆さんの開発フローにも取り入れてみてください。