Slide 1

Slide 1 text

2025/08/27 データ事業本部 ビジネスソリューション部 機械学習チーム 中村祥吾 今から始めるClaude Code⼊⾨ 〜AIコーディングエージェントの歴史と導⼊〜

Slide 2

Slide 2 text

はじめに 2 ⾃⼰紹介 ● 名前:中村祥吾(nokomoro3) ○ https://x.com/nokomoro3 ● 所属 ○ データ事業本部ビジネスソリューション部 機械学習チーム ● 仕事内容 ○ 機械学習案件のプリセールスから開発まで ○ 登壇やブログなど ● 他 ○ 2025 Japan All AWS Certifications Engineers ○ 2025 Japan AWS Top Engineers (AI/ML Data Engineer) https://dev.classmethod.jp/author/shogo-nakamura/

Slide 3

Slide 3 text

本⽇のアジェンダ 3 Claude Code⾄るまでの歴史と導⼊、そしてこれからについてイメージをつかみましょう ● 歴史 ○ ⽣成AIからAIコーディングエージェントまでの変遷 ○ AIコーディングエージェントの登場 ● 導⼊ ○ 基本的な使⽤⽅法 ○ 最近のアップデート ○ 活⽤に向けて

Slide 4

Slide 4 text

⽣成AIからAIコーディングエージェントまでの変遷

Slide 5

Slide 5 text

LLM(⼤規模⾔語モデル)のおおまかな年表 5 プロプライエタリなモデルはGPT、Claude、Geminiが牽引して発展 より多様な⼊⼒に対応、より⻑いコンテキストに対応、学習データ(知識)の最新化 開発元 発表年⽉ モデルファミリー マルチモーダル対応 コンテキスト⻑ (トークン) 推定パラメータサイズ ナレッジカットオフ OpenAI 2022年11⽉ GPT-3.5 (ChatGPT) テキストのみ 16k 175B 2022年1⽉ OpenAI 2023年3⽉ GPT-4 テキスト、画像 128k MoE 2023年4⽉ Google 2023年5⽉ PaLM 2 テキスト中⼼ 8k 340B 2022年9⽉ Anthropic 2023年7⽉ Claude 2 テキスト、ドキュメント 100k ⾮公開 2023年1⽉ Google 2023年11⽉ Gemini 1.0 テキスト、画像、⾳声、映像 1000k ⾮公開 2023年4⽉ Anthropic 2024年3⽉ Claude 3 テキスト、画像 200k ⾮公開 (Opusが137B以上と推定) 2023年8⽉(Opus、Haiku) 2024年4⽉(Sonnet) OpenAI 2024年5⽉ GPT-4o テキスト、画像、⾳声、映像 128k 200Bと推定 2024年6⽉ Anthropic 2024年6⽉(Sonnet) 2024年10⽉(Haiku) Claude 3.5 テキスト、画像 200k Sonnetが175B以上 2024年4⽉(Sonnet) 2024年7⽉(Haiku) Google 2025年1⽉ Gemini 2.0 Flash テキスト、画像、⾳声、映像 1000k ⾮公開 2025年1⽉ Google 2025年2⽉ Gemini 2.0 Pro テキスト、画像、⾳声、映像 2000k ⾮公開 2025年1⽉ Anthropic 2025年2⽉ Claude 3.7 Sonnet テキスト、画像 128k ⾮公開 不明 Anthropic 2025年5⽉ Claude Opus 4 & Sonnet 4 テキスト、画像 200k ⾮公開 2025年3⽉ Google 2025年6⽉ Gemini 2.5 Flash & Pro テキスト、画像、⾳声、映像 1000k ⾮公開 2025年1⽉ Anthropic 2025年8⽉ Claude Opus 4.1 テキスト、画像 200k ⾮公開 2025年7⽉ OpenAI 2025年8⽉ GPT-5 テキスト、画像、⾳声、映像 400k ⾮公開 (GPT-4.5より⼩型と推定) 2024年9⽉

Slide 6

Slide 6 text

エージェント実装の初期 6 エージェント⾃体はプロンプトエンジニアリングの拡張なためモデル登場の初期からあった これらが、コンテキスト⻑の発展や推論(Reasoning)機能で実⽤化が加速 ● エージェント機能はlangchainの最初期であるv0.0.1(2023年6⽉)で実装 ● 内部プロンプトが英語なので、⽇本語で質問しても英語になって回答されるなど…😰

Slide 7

Slide 7 text

エージェントという考え⽅ 7 LLMにさまざまなツールを持たせること(実際には使⽤するかどうかを決めるだけ)から発展 ユーザー LLM リクエスト ツールの選択結果 ツールの実⾏ ツールの実⾏結果を渡す 回答

Slide 8

Slide 8 text

エージェントという考え⽅ 8 LLMにさまざまなツールを持たせること(実際には使⽤するかどうかを決めるだけ)から発展 内部的なプロンプトを使って思考や判断を実現してタスクを完了させる エージェント ユーザー リクエスト LLM リクエストとツール⼀覧を渡して ツールを使⽤するかの判断を依頼 ツールの選択結果 権限のチェック 実⾏の承認を依頼 承認 ツールの実⾏ ツールの実⾏結果を渡して ユーザのリクエストに対して ⼗分か確認を依頼 結果 回答

Slide 9

Slide 9 text

エージェントのフレームワークの発展 9 LangChainから始まり、現在はGoogle、AWS、Azureぞれぞれがエージェント⽤のフレームワー クを開発、⾃⾝でAIエージェントを実装する場合はこれらの中から選択 名前 簡単説明 LangChain 最も広く使われているオープンソースのLLM アプリケーションフレームワークの⼀つ AutoGen Microsoftが主導する、マルチエージェント 会話に焦点を当てたオープンソースフレーム ワーク CrewAI ロールプレイング型エージェントの協調作業 をオーケストレーションするための独⽴した オープンソースフレームワーク Mastra TypeScriptネイティブで、堅牢なワークフロ ー構築に重点を置いた独⽴系のオープンソー スフレームワーク ADK Googleが開発したオープンソースのフレーム ワークで、特にGoogle Cloudエコシステムと の連携が強化 Strands Agents AWSによってリリースされたオープンソース のSDK

Slide 10

Slide 10 text

AIコーディングエージェントの登場

Slide 11

Slide 11 text

AIコーディングエージェントの登場 11 Cline、Devin、CusorなどのAIコーディングエージェントが登場 Claude CodeはCLIツール版のAIコーディングエージェントの先駆けとして登場 ● ClineやCursorはIDE系 ○ VSCodeの拡張機能であったり、VSCode互換なエディタとして提供 ● Claude CodeはCLIツールの先駆け ○ 2025年2⽉にSonnet 3.7と⼀緒にアナウンス(プレビュー) ■ https://www.anthropic.com/news/claude-3-7-sonnet ○ 2025年5⽉にClaude 4シリーズとともにGA、IDEとの統合機能も発表 ■ https://www.anthropic.com/news/claude-4 ○ 2025年6⽉にMaxプランだけではなくProプランでも利⽤可能に

Slide 12

Slide 12 text

Claude Codeの利⽤形態 12 個⼈向けのサブスクリプションプランが3段階、Anthropic APIやBedrockなどによる従量課⾦で も利⽤可能。TeamやEnterpriseでもPremiumシートを割り当てることにより利⽤可能。 ● 個⼈向けのサブスクリプション ○ https://support.anthropic.com/en/ articles/11145838-using-claude- code-with-your-pro-or-max-plan ● Team、Enterpriseなどの組織向け ○ https://support.anthropic.com/en/ articles/11845131-using-claude- code-with-your-team-or- enterprise-plan 約50〜200 prompts 約10〜40 prompts 約200〜800 prompts 140-280 hours of Sonnet 4 and 15-35 hours of Opus 4 40-80 hours of Sonnet 4 240-480 hours of Sonnet 4 and 24-40 hours of Opus 4 週単位の 使用制限 【個人向けサブスクリプションプランの比較表】

Slide 13

Slide 13 text

Claude Codeの主な使い⽅ 13 CLIコマンド、スラッシュコマンド、ショートカットなどが基本的な使⽤⽅法 GitHub Actions上でClaude Codeを実⾏する、Claude Code Actionsなどの使⽤形態が存在 ● CLIコマンドオプション → ⼀回きりのリクエストや会話履歴からの継続、MCPなどの設定が⾏える ○ https://docs.anthropic.com/en/docs/claude-code/cli-reference ● スラッシュコマンド → 主にエージェントへの指⽰を⾏うコマンド、カスタマイズも可 ○ https://docs.anthropic.com/en/docs/claude-code/slash-commands ● ショートカット → Planモードへの切り替え、bash modeの使⽤、Undoなどが可能 ○ https://docs.anthropic.com/en/docs/claude-code/interactive-mode ● Claude Code Actions → GitHub Actionsへの組み込み ○ https://docs.anthropic.com/en/docs/claude-code/github-actions

Slide 14

Slide 14 text

基本的な使⽤⽅法

Slide 15

Slide 15 text

インストール⽅法 15 現時点ではnpmでインストールするのが正式な⼿順 ● https://docs.anthropic.com/en/docs/claude-code/overview

Slide 16

Slide 16 text

インストール⽅法 16 beta機能ではあるが、最近(おそらく7⽉ごろ)にNative Installに対応 ● クイックスタートも参考に → https://docs.anthropic.com/en/docs/claude-code/quickstart

Slide 17

Slide 17 text

CLIコマンドの主な使い⽅ 17 CLIコマンドは、会話の継続、⼀回きりのリクエストや起動時の設定、MCPなどの設定が⾏える コマンド‧オプション 説明 例 claude Claude Codeの起動 claude claude -c 直近の会話を続ける。 claude -c claude -r [sessionId] 会話を再開する。セッションIDを指定するか、対話 形式で選択する。 claude -r claude -p "query" 1回限りのクエリを実⾏し、終了 claude -p "この関数を説明して" claude -p "query" --output-format 出⼒形式(--print と併⽤時のみ有効)。text (デフ ォルト), json (単⼀結果), stream-json (リアルタイ ムストリーミング) から選択。 claude ‒p "query" --output-format json claude --add-dir ツールがアクセスすることを許可する追加のディレ クトリを指定する。 claude --add-dir ../../hogehoge claude --permission-mode いくつかのプリセットの権限モードで実⾏させるこ とができる (ref: https://docs.anthropic.com/en/docs/claude- code/iam#permission-modes) - claude -p "query" --append-system-prompt <システムプロンプト> `-p` 指定時に使うオプションで、システムプロン プトを⼊れられる - claude -p "query" --max-turns <回数> `-p` 指定時に使うオプションで、マルチターンの 回数を制限する - New!! New!! New!! 【主なCLIコマンド】

Slide 18

Slide 18 text

スラッシュコマンドの主な使い⽅ 18 スラッシュコマンドは、Claude Codeを起動後に、主にエージェントへの指⽰を⾏うコマンド カスタマイズなども可能で、ここに新しい機能が追加されることも多い コマンド 説明 /clear 会話履歴を消去し、コンテキストを解放します /compact 会話履歴を消去し、要約をコンテキストに残します。オプション: /compact [要約の指⽰] /ide IDE連携を管理し、状態を表⽰します /init コードベースを解析してCLAUDE.mdを作成します、このCLAUDE.mdはmemoryとしてコンテキストに使⽤されます /install-github-app リポジトリにClaude GitHub Actionsを設定します /login アカウントでログインします、サブスクリプションの切り替えなどの際に使います /logout アカウントでログアウトします、サブスクリプションの切り替えなどの際に使います /model Claude Codeが使⽤するモデルを設定します /permissions ツールの許可‧拒否ルールを管理します /status バージョン、ディレクトリ、モデル、アカウント、ツールのステータスなどClaude Codeの状態を表⽰します /memory memoryファイル(rulesの様なもの)の読み込み状況の確認や編集を⾏います 【主なスラッシュコマンド】

Slide 19

Slide 19 text

コンテキストとは 19 memory(CLAUDE.mdなど)やこれまでの会話履歴を⽂脈(コンテキスト)として保持した上で継続 した会話を実現する仕組み、会話が継続するほどトークンが⻑くなる memory(CLAUDE.md) 会話履歴 LLMへの質問 LLMの回答 ツールの実行結果 LLMへの質問 LLMの回答 … 新しいユーザからの質問 ユーザー LLM リクエスト コンテキストもまとめ てLLMにリクエスト エージェントが保持するコンテキスト 実際はsubagentという仕 組みである程度緩和可能

Slide 20

Slide 20 text

⽐較的新しいスラッシュコマンド 20 以下のように新しいコマンドが追加されている コマンド 説明 追加されたタイミング /resume Claude Code内で会話履歴のレジュームをする 1.0.27(2025年6⽉ごろ) /hooks Claude Codeのライフサイクルで実⾏するコマンドを定義できる機能 特定のアクション(Writeなど)の後にformatterをかける、終わったら通知をするなど、の活⽤例あり 1.0.38(2025年7⽉1⽇) /export セッションのやり取りを、クリップボードやファイルに出⼒できる 1.0.44(2025年7⽉8⽇) /agents サブエージェントを実⾏する機能 カスタマイズされたシステムプロンプト、ツール、独⽴したコンテキストウィンドウを備えたタスク 特化型のサブエージェントを構成できる 1.0.60(2025年7⽉25⽇ごろ) /security-review セキュリティ向けのレビュー機能 1.0.69?(2025年8⽉6⽇ごろ) /bashes Claude Codeのバックグラウンドで実⾏されているコマンドを確認する機能 1.0.71(2025年8⽉9⽇) /statusline 下部に表⽰されるステータスラインをカスタマイズする機能 1.0.71(2025年8⽉9⽇) /output-style 会話スタイルを指定する機能 デフォルトでは、説明が多いモードとしてExplanatoryモード、ユーザに学ばせながら実⾏する Learningモードがある 1.0.81(2025年8⽉15⽇ごろ) /output-style:new 会話スタイルを作成する機能 1.0.81(2025年8⽉15⽇ごろ) /context コンテキスト使⽤量を可視化する機能 1.0.86(2025年8⽉26⽇ごろ) 【おそらく比較的新しいスラッシュコマンド】 New!!

Slide 21

Slide 21 text

⽐較的新しいスラッシュコマンド 21 /statusline → 下部に表⽰されるステータスラインをカスタマイズする機能 ● デフォルトで作成される statusline.js を編集すると、⾃分好みにもカスタマイズできる

Slide 22

Slide 22 text

⽐較的新しいスラッシュコマンド 22 /context → コンテキストの使⽤状況を可視化することができる

Slide 23

Slide 23 text

カスタムスラッシュコマンド 23 Claude Codeはカスタマイズ性が魅⼒の⼀つ $ tree ~/.claude/commands /Users/nakamura.shogo/.claude/commands └── github ├── commit-multi-en.md ├── commit-multi.md ├── commit-single-en.md ├── commit-single.md ├── issue-from-diff.md ├── issue-from-request.md ├── issue-to-sub-issue.md ├── pull-request-review.md └── pull-request-to-base-branch.md

Slide 24

Slide 24 text

カスタムスラッシュコマンド 24 Claude Codeはカスタマイズ性が魅⼒の⼀つ 引数の設定も可能で、使⽤するツールの権限範囲、コンテキストなども設定が可能に

Slide 25

Slide 25 text

ショートカット 25 Claude Code上で「?」を⼊⼒するとショートカットが確認できる ● 「Shift + Tab」でPlanモードへの切り替えは必ず覚えるべき ● 「@」でファイルを指定、「!」はbash mode ● その他、Undoなどは覚えておくと便利

Slide 26

Slide 26 text

その他覚えておくべき機能 26 IDE連携、画像⼊⼒、GitHub CLIとの連携、ccusageなど便利ツールの存在 ● IDE連携 ○ VSCodeなどのIDEで、Claude Codeが実装した差分表⽰、承認などが可能 ○ IDE側の⾏選択などで、Claude Code側へのコンテキストを与えることが可能 ● 画像⼊⼒ ○ Cmd + VやCtrl + Vで画像をクリップボードから貼り付けられる ● GitHub CLIとの連携 ○ PR作成やIssue作成を⾃動化するためにはghコマンドを実⾏できる様にしておくと便利 ● ⾮公式な便利ツール ○ ccusage → トークン使⽤量やコンテキスト使⽤量を可視化できる ○ ccraw → 会話履歴などをGUIで確認できる

Slide 27

Slide 27 text

活⽤のこれから

Slide 28

Slide 28 text

その他のCLIツールの登場 28 ● GPT-5が使⽤可能なCursor CLIやCodex CLIへの期待 ○ GPT-5は⼈間側への忖度の度合いが低く、信頼性が⾼いと感じる ● Gemini CLIなどはWeb検索やマルチモーダル⼊⼒に対して優位性がある ○ カスタムコマンド化して、検索をGemini側にオフロードする案 Gemini CLIやCursor CLIの登場、Codex CLIも開発途上なため、今後の展開はまだわからない

Slide 29

Slide 29 text

コンテキストを正しく与える⼯夫 29 ● 課題 ○ Claude Codeに全てをよしなにやってもらうと、コンテキストの漏れ、トークン数増⼤などが発⽣しうる ○ ユーザの⼿動編集などが⼊ると、少し古い読み込み情報を元に回答を返すケースも ● 対策 ○ 新しい会話で再開する、ここまでを要約してそれをmarkdownにダンプして、そこから新しい会話を再開 する、など ○ 特定のコンテキストを `@` で丁寧に指定して、Claude Codeに任せない ○ 特定のコンテキストを読む前提の専⽤のカスタムコマンド or サブエージェントを準備して、これら経由で 必ず実装する 会話が⻑くなってくるとmemory(CLAUDE.mdなど)で読み込んだ指⽰などを忘却するケースも 新しい会話で再開する、特定のコンテキストを `@` で丁寧に指定する、などの対策が必要

Slide 30

Slide 30 text

仕様駆動開発について 30 ● 仕様駆動を正常に動かすには仕様の厳格な記述が必要 ● 厳格な記述が⼈によって読みやすいとは限らない ● 仕様を厳格に書いてもらって、⼈によるレビューが可能かどうか ● 厳格な仕様よりも実装寄りのテスト駆動開発の⽅がマッチするケースもある 仕様駆動開発の是⾮についてはまだ検証段階

Slide 31

Slide 31 text

⾃動⽣成とレビュー負荷 31 ● Issue、コード、テスト、Pull Requestの⾃動⽣成が可能 ● これらが⼈間がレビューしやすい形で書かれてないケースも多い ○ それらのコードやドキュメントは、将来誰が読むものなのか?(AI?⼈間?) ○ Aさんが⽣成AIで作成したPRを、Bさんが⽣成AIでレビューすることに意味はあるか? ○ ⼈間がわかりやすいものが作成されているかどうか ● ⾃動化は必要な進化ではあるものの、わかりやすく書かせるルールが必要 ○ デフォルトでは冗⻑、実装をあまり反映してないドキュメントになっているケースも多い ⾃動⽣成されたドキュメントやコードに対して、⼈間がどこまでレビューすべきなのかも、まだ議 論段階(発展途上)

Slide 32

Slide 32 text

まとめ

Slide 33

Slide 33 text

まとめ 33 ● 実際、AIコーディングエージェントは、コーディング以外の要素でも活⽤が考えられる ○ 報告書やスライドの作成 ○ シーケンス図やER図の作成 ● MCPを活⽤するとより広範な応⽤が可能に ○ UIの実装、データ分析、チケット管理、デプロイ環境上でのデバッグ、ブラウザ連携 ● ぜひこれを機にご活⽤ください!! AIコーディングエージェントの歴史と基本的な使い⽅、最新のアップデート機能について⼀通り紹 介、今後の活⽤に際して意識しておいた⽅がいいことを共有

Slide 34

Slide 34 text

No content