30分でマスターするClaude Code - プレゼンテーション概要
講師:Boris Cherny(Anthropic、技術スタッフメンバー)
プレゼンテーション開始と紹介 (0:00 - 2:55)
0:00 - 2:40
- イントロアニメーションと音楽、「Code w/ Claude」のタイトルと歓迎メッセージ。
2:40
- メインスライド表示:「30分でマスターするClaude Code」 by Boris Cherny。
- Boris Cherny氏(Claude Code開発者)登壇。講演はClaude Codeの歴史や理論ではなく、実践的なヒントやコツに焦点を当てると説明。
Claude Codeはじめの一歩 (2:56 - 4:00)
インストール
- Boris氏は聴衆にnpm経由でのインストールを推奨:
npm install -g @anthropic-ai/claude-code
。
- 多くの聴衆が既に利用経験あり。
Claude Codeとは?
- 新しい種類のAIアシスタントであり、完全にエージェント的(agentic)。
- 機能開発、関数やファイル全体の記述、バグ修正などのタスク向けに設計。
コア機能とセットアップ最適化 (4:01 - 5:32)
Claude Codeの主な特徴
- ターミナルベース: IDEではなく、ターミナル内で動作。
- ツール非依存: 既存のあらゆる開発者ツール(VS Code、Xcode、JetBrains IDE、Vim、Emacsなど)と連携。
- ワークフロー統合: ローカル、リモートSSH経由、tmux内など、既存のワークフローに適合。
- 汎用性: 非常に多用途で、コーディング関連のほぼ全てのタスクに使用可能。
- 無限にハック可能: ユーザーが使用方法を定義可能。
セットアップの最適化(初期コマンド)
/allowed-tools
: Claude Codeが使用できるツールの権限をカスタマイズ。
/install-github-app
: GitHubのIssueやプルリクエストで@claude
をタグ付けし、自動アクションを可能にする(当日発表された機能)。
/config
: 通知オンなどの設定を構成。
/terminal-setup
: プロンプト内で改行を挿入するためにShift+Enterを有効化。
/theme
: ライト/ダークモード(またはドルトン化テーマ)を設定。
- MacOSディクテーション: Boris氏は個人的にMacOSのディクテーション(システム設定 > アクセシビリティ > ディクテーション)を有効にし、より簡単かつ具体的にプロンプト入力することを推奨。
ウォームアップ:コードベースQ&A (5:33 - 7:41)
- 推奨される開始点: 新規ユーザーには「コードベースQ&A」から始めることを強く推奨。
- Anthropicでのオンボーディング: このアプローチはAnthropicで新入社員向けに使用され、技術的オンボーディング時間を2~3週間から2~3日に短縮。
- ローカルかつ安全: Claude Codeはローカルで動作し、コードはインデックス化されたりリモートデータベースに送信されたりしない。セットアップやインデックス作成時間は不要。
- Q&Aプロンプトの例:
> @RoutingController.py はどのように使用されていますか?
> 新しい @app/services/ValidationTemplateFactory はどうやって作成しますか?
> なぜ recoverFromException はこんなに多くの引数を取るのですか? Gitの履歴を調べて答えてください
(ClaudeはGit履歴を解析可能)。
> なぜ @src/login.ts API に if/else を追加して Issue #18383 を修正したのですか?
(ClaudeはGitHub IssueからWebフェッチでコンテキストを取得可能)。
> 先週、何をシップしましたか?
(Claudeは git log
を使用し、ユーザー名を推測して最近のコミットを要約)。
ヒント #1 & #2 (7:42 - 8:06)
- ヒント #1: Claude Codeに慣れるためにコードベースQ&Aを使用する。
- ヒント #2: プロンプトの練習をして、Claude Codeがすぐに「理解」するものと、より具体的な指示が必要なものの違いを把握する。
レベルアップ:コード編集とツール利用 (8:07 - 11:27)
- 内蔵ツール: Claude Codeには約12のツールが同梱(bash、ファイル検索、ファイル一覧表示、ファイル読み書き、Webフェッチ/検索、TODO、サブエージェントなど)。これらのツールは、Claudeがいつどのように使用するかを賢く判断するため、その強力さの鍵となる。
- 編集のためのプロンプトによるClaudeの誘導例:
> Issue #8732 の修正案をいくつか提案し、私が選んだものを実装してください
> @app/tests/signupTest.ts でカバーされていないエッジケースを特定し、それらをカバーするようにテストを更新してください。よく考えて
> commit, push, pr
(Claudeが完全なGitワークフローとして理解する一般的なショートハンド)。
> @services/aggregator/feed_service.cpp をクリーンアップする方法について、3つの並列エージェントを使ってアイデアをブレインストーミングしてください
- 最初に計画する: 複雑なタスクの場合、コードを書き始める前にClaudeに「まず考える」「ブレインストーミングする」「計画を立てる」「承認を求める」よう指示することで、より良い結果が得られるとBoris氏はアドバイス。
高度な利用:チームツールのプラグイン (11:28 - 13:36)
Claude Codeにチームのカスタムツールを使用させる方法を教えることができます:
- Bashツール: CLIツールについてClaudeに伝える(例:
> barley CLI を使ってエラーログを確認してください... -h で使い方を確認してください
)。Claudeは多くの場合、--help
出力から使用方法を推測可能。
- MCP (Meta-Claude Protocol) ツール: MCPツールを追加し(例:
$ claude mcp add barley_server -- node myserver
)、Claudeに使用方法を指示。
この情報は永続化のためにCLAUDE.md
ファイルに保存可能。
一般的なワークフローとコンテキスト提供 (13:37 - 15:13)
一般的な開発ワークフロー
- 探索 > 計画 > 確認 > コーディング > コミット
- テスト記述 > コミット > コーディング > 反復 > コミット (テスト駆動開発)
- コーディング > 結果のスクリーンショット > 反復 (UI開発に便利)
コンテキストの重要性
より多くのコンテキストがより良いパフォーマンスにつながります。
コンテキストの提供方法
CLAUDE.md
ファイル: 主要な方法。これらの特別なマークダウンファイルは異なるスコープで存在可能:
/<enterprise root>/CLAUDE.md
: 全プロジェクトで共有(エンタープライズ全体)。
~/.claude/CLAUDE.md
: 全ての個人プロジェクトで共有(ユーザーグローバル)。
project-root/CLAUDE.md
: プロジェクト固有、バージョン管理にチェックイン。
project-root/CLAUDE.local.md
: プロジェクト固有、個人用、チェックインしない。
- スラッシュコマンド:
~/.claude/commands/foo.md
(ユーザー固有)またはproject-root/.claude/commands/foo.md
(プロジェクト固有)で定義可能。
- ファイルへの@-メンション: プロンプト内で
@a/foo.py
のように直接ファイルを参照。
プロジェクトルートのCLAUDE.md
ファイルは自動的にロード。ネストされたCLAUDE.md
ファイルは、Claudeがそれらのサブディレクトリで作業する際にオンデマンドで読み込まれます。
ヒント #3 - #6 とマルチClaude (15:14 - 16:03)
- ヒント #3: Claudeにあなたのツールを使わせる方法を教える。
- ヒント #4: 特定のタスクに合わせてワークフローを調整する。
- ヒント #5: より多くのコンテキストを提供すればするほど、Claudeは賢くなる。
- ヒント #6: コンテキストの調整に時間をかける。個人用かチーム用か、自動的にロードするか遅延ロードするかを検討する。
- マルチClaude: 複数のClaude Codeインスタンスを並行して実行:
- 別々のターミナルタブで複数のチェックアウトを使用。
git worktrees
で1つのチェックアウトを使用。
- リモートセッション用にSSH + TMUXを使用。
- GitHub Actionsを使用してジョブを並行して起動。
Q&Aセッション (16:04 - 終了)
メモリと設定階層の管理
/memory
コマンドはロードされた全てのCLAUDE.md
ファイルを表示し、編集を可能にする。
- ポンド記号(
#
)コマンドは、選択したメモリファイルに情報を保存する。
- 設定には階層が存在:エンタープライズポリシー(共有、変更済み)> グローバル(自分のみ)> プロジェクト(共有、チェックイン済み)> プロジェクト(自分のみ、ローカル)。
- 推奨される開始方法:
プロジェクト(共有)
のCLAUDE.md
ファイルを使用する。
キーバインドのレビュー
Shift+Tab
: 編集を自動承認(Bashコマンドは依然として承認が必要)。Claudeが正しい方向に進んでいる場合に便利。
#
: メモリファイルを作成/追加。
!
: Bashモードに入り、コマンドをローカルで実行(出力はコンテキストに入る)。
@
: ファイル/フォルダをコンテキストに追加。
Esc
: Claudeの現在の操作を安全にキャンセル。
Double-Esc
: 履歴を遡る。--resume
または--continue
でセッションを再開可能。
Ctrl+R
: 詳細な出力を表示(Claudeがコンテキストウィンドウで見ているもの)。
/vibe
: (先ほどスキップされたと認められたが、詳細は語られず)。
Claude Code SDK (23:30)
- SDK(CLIでは
claude -p
でアクセス)は、Claude Codeへのプログラム的、低レベルアクセスを提供。
- CI/CD、非対話型コンテキスト、自動化、対話型アプリケーションの構築に役立つ。
- 現在、CLIが利用可能。TypeScriptとPythonのSDKは近日公開予定。
- Claude Code自体もこの同じSDKを使用して構築されている。
- Unixパイプと組み合わせて使用可能(例:
git status | claude -p "what are my changes?" --output-format=json | jq '.result'
)。
- Sid氏(Anthropicの別メンバー)がSDKについてより深く掘り下げるセッションを予定していた。
聴衆からの質問
- MLモデリング/AutoMLでの利用について:
- Claude CodeはAnthropicでエンジニアと研究者の両方(技術スタッフの約80%が毎日)に広く使用されており、MLタスクやノートブック(ノートブックツール使用)での作業も含まれる。
- CLI 対 IDE拡張機能について:
-
- Anthropicでは多様なIDE(VS Code、Zed、Xcode、Vim、Emacs)が使用されており、ターミナルが共通プラットフォーム。
- AIモデルの急速な改善を予測しており、IDEの中心性が低下する可能性がある。ターミナル向けに構築することは、すぐに時代遅れになる可能性のあるUIレイヤーに対する将来性を確保するものと見なされている。
- 実装で最も困難だった部分について:
- Bashコマンドを安全にすることが困難だった。Bashは本質的に危険で、システムの状態を変更する可能性がある。解決策は、読み取り専用コマンドの特定、コマンドの組み合わせの安全性に関する静的解析、および階層化された権限システムの組み合わせ。
- マルチモーダル機能(画像入力)について:
- Claude Codeは完全にマルチモーダル。ユーザーは画像をドラッグ&ドロップしたり、画像へのファイルパスを指定したり、画像をターミナルにコピー&ペーストしたりできる。これは特にUIモックアップの実装に役立つ。
結論 (30:07)
- Boris氏が聴衆に感謝を述べる。
- 最後のスライドにはセッションフィードバック用のQRコードが表示される。