Anthropic · Conference Talk · 2025

Claude Code
ベストプラクティス

Anthropic の Apply チーム、Cal 氏による公式トーク。
Claude Code の仕組み、良い使いどころ、そして本当に効果のある使い方を、25 分にまとめた完全ガイド。

SpeakerCal · Anthropic Applied AI
Formatトーク + Q&A(約 25 分)
Audience開発者・非エンジニアも歓迎
Reading time約 15 分
Chapter 01

話し手について — なぜ Cal がここに立っているのか

Cal 氏は約 1 年半前に Anthropic に入社し、Applied(アプライ)チームを立ち上げた人物だ。チームのミッションは「顧客やパートナーが Claude の上で素晴らしいプロダクトを作るのを助けること」。日々の仕事のほとんどは、モデルから最高の出力を引き出すためにプロンプトを書くことだという。

しかし Cal 氏はコードを書くのも好きだ。自分のことを「新しいプロジェクトを山ほど立ち上げるが、ほとんど完成させない、アイデア過多のコーダー」と笑って紹介する。書きかけのコードの「墓場」を抱えたエンジニアは世界中にいる。

金曜の夜、世界が変わった

昨年の終わり頃、社内 Slack で「新しいツールがすごいらしい」という噂を聞きつけた Cal 氏は、ある金曜の夜にそれをダウンロードした。のちに Claude Code と呼ばれることになるツールだ。以前から温めていた新しいメモアプリのアイデアにぶつけてみた結果——

その週末、コーディングとソフトウェアエンジニアリングに対する考え方が、完全に変わった。 Cal

ラップトップを抱えて週末中歩き回り、Enter キーを押してはブラウザを更新し、巨大で強力なアプリケーションが目の前で組み上がっていくのをただ眺めていた。一人では決して辿り着けなかったところまで辿り着いた——その体験に心を奪われた。

余談:社内リーダーボード事件

Cal 氏は「トークンを使いすぎて怒られるのでは」と心配していたが、当時 Claude Code チームは社内利用量のリーダーボードを作っていた。その週末、Cal 氏は堂々の 1 位に。これがきっかけでチームとつながり、プロンプトやツール設計、評価の仕事に関わるようになり、今や Claude Code のコアコントリビューターの一人となった。

Chapter 02

Claude Code とは — 頭の中のメンタルモデル

「Claude Code って結局何?」と聞かれたとき、Cal 氏はこう答える。

すべてをターミナルで完結させてしまう、あの同僚。
GUI には決して触れない、ターミナルの魔法使い。 Cal による Claude Code のメンタルモデル

Cal 氏は駆け出しエンジニア時代のメンターを思い出す。バグに詰まって机まで行くと、彼は自分のターミナルをぐるりとこちらに向け、狂ったような bash コマンドと vim の操作で、あれよあれよという間に問題を解決してしまう。こちらは「すごい…いつか覚えよう」と思いながら席に戻り、結局覚えずじまいで終わる——そんな経験だ。

Claude Code をパソコンに入れることは、そのターミナル魔法使いをいつでも隣に座らせておくことに等しい。呼べば即答してくれるトニーが、常時待機している状態である。

Chapter 03

仕組みを覗く — Claude Code はどう動いているのか

道具の仕組みを知っておくと、使い方はぐっとうまくなる。Anthropic の設計哲学は一貫してひとつ——「動く、いちばんシンプルなもの」を作ること。

Claude Code は「純粋なエージェント」である

Anthropic では、エージェントとは次のものを指す:

  • 指示(どう振る舞うべきかのプロンプト)
  • 強力なツール(ファイル編集、ターミナル、等)
  • ループ(モデル自身が「終わった」と判断するまで回り続ける)

Claude Code はまさにこの定義の素直な実装だ。「ターミナルが得意な人ならこれらを使うだろう」というツール——ファイルの読み書き、ターミナル実行、さらに MCP 経由で拡張される外部ツール——を、モデルに渡して自由に使わせる。

ユーザー プロンプト入力 Claude 思考・計画・判断 loop until done Read / Write ファイル操作 Bash ターミナル実行 Glob / Grep 検索 MCP Servers 外部ツール拡張
図 1 — Claude Code は「道具を持ったエージェント」。モデルは自分で考え、ツールを呼び、結果を見てまた考える、というループを回す。

1 年前にコーディングエージェントを設計するなら、こう考えただろう:「コードベース全体をインデックス化して、ベクトル埋め込みで RAG 検索を…」。

Claude Code はそれをしない。インデックスは作らない。

代わりに、新しいチームに入った開発者が実際にやるのと同じ方法で、コードベースを探検するエージェンティック検索と呼ばれる手法だ。

TOOL 01

glob

パターンマッチで関連ファイルを一気に絞り込む

TOOL 02

grep

中身を読まずに「使っている場所」を見つける

TOOL 03

find / read

必要なファイルだけを狙って読む

モデルは何度か検索し、結果を眺め、「もう少し何かを確認する必要がありそうだ」と判断したら、また検索する。これを繰り返すうちに、コードベースの地図が頭の中に組み上がっていく。人間の開発者と同じやり方だ。

周辺レイヤー — UI、許可、セキュリティ

エージェント本体の周りには、いくつかの薄い層が乗っている:

  • 軽量な UI:Claude が何をしているかリアルタイムで見える
  • 許可システム:危険な操作の前で必ず人間に確認を取る
  • セキュリティ重視の設計:Anthropic API だけでなく AWS(Bedrock)や GCP(Vertex AI)にも向けられる。自分のインフラで Claude を使いたい組織でもそのまま動く
Chapter 04

活用シーン — 結局、何に使えばいいのか

「Claude Code って何に向いているの?」とよく聞かれる。率直な答えは、大体なんでも得意。ただし、輝く場面は確かにある。

  1. ディスカバリーとオンボーディング

    新しいコードベースに放り込まれた最初の数日、人は最も非生産的になる。Claude に「この機能はどこに実装されてる?」「このファイルの Git 履歴を見て、過去数週間でどう変わったか物語風に説明して」と聞けば、立ち上がりが一気に早くなる。

  2. 思考のパートナーとして使う(過小評価されている使い方)

    いきなり実装させるのではなく、まずはこう頼むといい:「この機能を実装したい。コードベースを調べて、2〜3 の実装方針を報告して。まだコードは書かないで」。返ってきた方針を吟味してから、合意できた方向で着手する。

  3. ゼロからの構築

    空のディレクトリに「ゲームを作って」「アプリを作って」——デモ映えする使い方。とても楽しく、気持ちがいい。

  4. 既存コードベースでの開発(こちらが本丸)

    現実に重要なのはこちら。Claude Code チーム自身のコードベースでは ユニットテストのカバレッジが異常に高い——テストを書くのが驚くほど簡単だからだ。コミットメッセージや PR の説明も整っている。「コミットして」「PR メッセージ書いて」と言うだけでいい。

  5. 軽量なデプロイ・ライフサイクル自動化

    Claude Code には SDK(ヘッドレス利用、プログラマブル利用)がある。CI/CD に組み込む、GitHub Actions から呼び出す——コーディングエージェントを好きな場所に振りかけられる。

  6. サポートと大規模リファクタ

    顧客の中には「古い Java から新しい Java へ」「PHP から React / Angular へ」といった、長年先延ばしにしてきた大規模移行を抱えるチームが多かった。Claude Code があると、こうしたプロジェクトが「一ヶ月リファクタに使います」とチームに切り出せる程度にまで消化しやすくなる

忘れないで:ターミナルの達人である

Claude Code は gitdockerbq(BigQuery)など、あらゆる CLI を使いこなせる。たとえば「厄介な rebase から抜け出せない」ような状況でも、状況を説明して「直して」と頼むだけで、するりと抜け出してくれる。CLI があるところ、Claude Code の出番がある。

Chapter 05

ベストプラクティス — 本当に効くやり方

1. CLAUDE.md ファイルを使う

Claude Code はエージェントだが、記憶を持たない。セッションをまたいで、あるいはチーム間で「このコードベースの文脈」を共有する主な方法が、CLAUDE.md というファイルだ。

起動時に作業ディレクトリに CLAUDE.md があれば、その内容はプロンプトに差し込まれる。メッセージとしては次のような扱いだ:「開発者が残してくれた重要な指示です。よく読んでください。」

CLAUDE.md
# このプロジェクトについて

## テストの実行方法
npm run test        # 全テスト
npm run test:unit   # ユニットテストのみ

## ディレクトリ構成
- src/    : アプリケーション本体
- tests/  : ユニット / 統合テスト
- scripts/: 運用スクリプト

## スタイルガイド
- インラインコメントは残さない(self-explanatory なコードを優先)
- TypeScript strict mode を保つ

## 社内ツール
- `koo` コマンド:デプロイとログ閲覧用の社内 CLI

# 他の claude.md を参照する(@ 記法)
@./packages/api/CLAUDE.md

どこに置くか

  • プロジェクトにチェックインする(チーム全員で共有)
  • ホームディレクトリに置く(プロジェクトによらず、常に Claude に知っておいてほしいこと)
  • サブディレクトリに置く(モノレポの場合、関連するときだけ Claude が自動で読み込む)
アップデート情報:Claude 4 で指示追従が向上

過去の Claude(3.7 等)は、CLAUDE.md に「コメントを残すな」と書いても、なぜかコメントを残したがる性質があった。Claude 4 ではここが大きく改善されている。新モデルに移行するタイミングで、CLAUDE.md を見直してみるといい——不要になった指示があるかもしれないし、新たに加えるべきことも出てくるはずだ。

2. 許可(パーミッション)を賢く管理する

デフォルトでは、Claude Code は読み取り系(検索・ファイル閲覧)は自由にやらせる。しかし書き込みやシェルコマンドのように、マシンに影響を与えるものに入ると、承認 UI が立ち上がる:「はい」「常に許可」「別のやり方をさせる」。

SHORTCUT

Shift + Tab

auto-accept モード。Claude が確認なしで走り続ける

CONFIG

常に許可リスト

例:npm run test は毎回 Yes を押したくない。設定で自動許可に

ESCAPE

Escape キー

暴走を感じたら即停止。割り込んで軌道修正できる

3. 統合とツールの整備

Claude Code の真価は、ターミナル上の CLI をどれだけ渡せるかにかかっている。良い出発点:

  • gh(GitHub CLI) — PR、Issue、Actions まで操作できる
  • Docker、kubectl、AWS CLI、Terraform — いつもの運用ツール
  • 社内ツール(Anthropic では koo)— 自社の CLI は CLAUDE.md に書いておく
CLI vs MCP — どちらを選ぶべきか

よく使われていて文書も豊富な CLI ツールなら、まず CLI をインストールするのが無難。MCP サーバー経由で機能を足すのは、CLI では届かない領域に踏み込むときの選択肢として考えるといい。

4. コンテキスト管理 — 200K トークンと上手に付き合う

Anthropic のモデルは 200,000 トークンという広大なコンテキストウィンドウを持つ。とはいえ、ツール呼び出しの結果が積み上がれば、いつかは上限にぶつかる。Claude Code は右下に「そろそろ埋まるよ」と警告を出してくれる。そのとき取れる手段は 2 つ:

/clear

まっさらにして再開

履歴を消して CLAUDE.md だけ残す。話題が変わったときに最適。

/compact

要約して引き継ぐ

「別の開発者に引き継ぐつもりで、今までの作業を要約して」とクロードに依頼し、その要約を種に次のセッションを始める。仕事の継続が必要なときに。

Claude Code チームは /compact の挙動を特に丁寧にチューニングしている。コンテキストを使い切っても、compact → そのまま続行、という流れが成立するように。

Chapter 06

効率的なワークフロー

プランニングと To-Do リストを使う

最高のやり方のひとつは——いきなり「バグを直して」と言わないこと。代わりにこう頼む:

「このバグがある。コードベースを調べて、原因を特定して、どう直すつもりかプランを教えて。」

プランを読めば、Claude がこれからやろうとしていることを事前に検証できる。時間を大幅に節約できる

大きめのタスクでは、Claude が自分で To-Do リストを作る。作業を横目で見ながら、リストに変な項目や意図からずれたものが混じっていたら、Escape で止めて「このリスト、変えたい。方向が違うと思う」と介入する——これが理想的な関わり方だ。

賢い「バイブコーディング」

Claude に任せて Enter を押し、結果を待つ——楽しいし強力だが、落とし穴もある。以下を守ると大外れが減る:

  • テスト駆動で:小さな変更 → テスト実行 → 通る、を繰り返させる
  • 常に TypeScript と Lint をチェックさせる
  • こまめにコミットする。暴走したら git で戻ればいい

スクリーンショットでガイド・デバッグ

Claude のモデルはマルチモーダルだ。画像を貼り付けるか、プロジェクト内のファイルを指して「この mock.png を見てウェブサイトを作って」と言うだけでいい。UI のバグ報告にも有効——スクショを渡して「この見え方を直して」で話が通じる。

Chapter 07

応用テクニック — 次のレベルへ

複数の Claude を同時に走らせる

使いこなしてくると、どうしても複数の Claude を並列で動かしたくなる。Anthropic 社内にも、顧客の中にも、同時に 4 つの Claude を回している人たちがいる。tmux、別タブ、別ワークツリー——手段はさまざま。

自分は 2 つが精一杯。でも 4 つ同時に走らせる人を知っている。挑戦してみて。 Cal

Escape は最高の友達

Claude が作業している間、常に見ていて、違うと思った瞬間 Escape で止める——これは使いこなしの肝だ。いつ止めるべきか、いつ任せるべきかの嗅覚が、生産性を決める。

隠れ機能:Escape を 2 回押す

Escape を 2 回押すと、会話の途中まで戻れる。分岐点までジャンプしてやり直せる、知る人ぞ知る機能。

ツール拡張と MCP

Bash と標準ツールだけでは届かない領域に行きたくなったら、MCP サーバーを検討するタイミング。社内データベース、ナレッジベース、専用 SaaS——自社固有の知識源を Claude に繋ぐ手段として有効。

ヘッドレス自動化

Anthropic がいま最も興奮している領域であり、同時にまだ手探りしている領域でもある。プログラムから Claude をどう使うか?

  • GitHub Actions に Claude Code を組み込む
  • CI/CD パイプラインから呼び出す
  • テスト実行後の自動修正、ログ解析、レビュー補助…

「みなさんにも、この方向を一緒に探してほしい」——Cal

Chapter 08

最新アップデート — 追いつき続けるために

Claude Code は出荷速度が異常に速い。Cal 氏自身が「自分でもついていけない」と笑う。プレゼン当日時点で新しかったものを一部紹介する。

モデル切り替え:/model と /config

起動後に /model を打つと、現在どのモデルで動いているかわかる。デフォルト(Sonnet)から Opus へ切り替えることも、/config からも同じ操作ができる。用途に合ったモデルを選び直せる。

claude code — model switch
> /model
  現在のモデル: Claude Sonnet (default)
  ↓ を押して切り替え
  → Claude Opus
    Claude Sonnet

ツール呼び出しの「あいだ」で考える

以前から think hard や拡張思考(Extended Thinking)はあったが、過去のモデルではツール呼び出しの間では思考させていなかった——本当に考えたい瞬間は、まさにそこなのに、だ。

Claude 4 からは、ツール呼び出しの間でも思考する。画面では薄いグレーのテキストで思考が流れ、ファイルを読んでまた考え、次の行動を決める。バグ解決や複雑なタスクでは think hard を一言添えるといい。

Pro Tip

難しいタスクを頼むときは、プロンプトに「think hard」や「ultrathink」を入れる。Claude 4 はツール呼び出しの合間にも深く考えてくれるので、効き目が段違い。

VS Code / JetBrains 統合の強化

エディタとの統合が新しくなり、Claude はいま開いているファイルが何かを自動で認識する。「この file を〜して」と曖昧な指示でも、コンテキストを拾ってくれる。

追いつき方

GitHub の anthropic/claude-code を見ると、Issue 報告も、チェンジログも公開されている。Cal 氏も週に一度はここを眺めて、新機能を把握するようにしているそうだ。

Chapter 09

Q&A — 会場からの質問

プロジェクト内に複数の CLAUDE.md を置けますか?

はい、可能です。ただし同じディレクトリには置けません。主な運用パターンは以下の通り:

  • プロジェクトルートに 1 つ(起動時に自動読み込み)
  • サブディレクトリにも置ける。ただし Anthropic のモノレポでの経験を踏まえ、すべて自動で読み込む仕様は廃止。現在は Claude が検索の過程で関連するサブディレクトリの CLAUDE.md を見つけた場合、必要に応じて読む
  • ホームディレクトリに置けば、プロジェクト横断の永続指示になる
  • @./path/to/other.md という @ 記法で、CLAUDE.md から他のファイルを明示的に読み込ませることもできる
CLAUDE.md に書いても Claude が言うことを聞いてくれません(例:不要なインラインコメントを残す問題)

それは主にモデル側の問題だった、というのが本音です。Claude 3.7 のプロンプトには「コメントを残すな」と強く書いていたにもかかわらず、モデルはコメントを残したがる傾向がありました。

Claude 4 でここは大きく改善されています:

  • デフォルト動作としてのコメント癖が抑制された
  • 指示追従能力全般が向上し、CLAUDE.md がはるかに忠実に守られるようになった

モデルを移行するタイミングで、CLAUDE.md を見直すのがおすすめ。「もう書かなくてよくなった指示」と「新しく足すべき指示」の両方を整理できます。

複数エージェントでコンテキストを引き継ぐような運用はできますか?(エージェント 1 の文脈をエージェント 2, 3 が使う、など)

Claude Code の設計哲学は「動く、いちばんシンプルなもの」——コーディングに強いエージェント 1 体ですべてをこなすことをまず追求しています。マルチエージェント・オーケストレーションは今後探求していくテーマです。

今日できる現実的な回避策は、共有マークダウンファイルを使うこと

  • エージェント A に「次の開発者のために ticket.md に引き継ぎを書いて」と依頼
  • 別窓で起動したエージェント B に「ticket.md を読んで、ここからタスクを引き継いで」と指示

状態をファイルに書き出し、モデルがそれを読む能力に素直に頼る——これが現時点で一番うまくいく方法です。将来的にはもっとネイティブな形で提供するかもしれません。

Chapter 10

ベストプラクティス・チェックリスト

今日から使える実践リスト。チェックできるたびに Claude Code との相性がひとつ良くなる。

セットアップ編

プロジェクトごとに整える
統合ツール
許可管理

ワークフロー編

タスクの始め方
作業中
仕上げ

コンテキスト管理編

200K を使い切ったら

応用編

レベルアップ
追いつき続ける