Slide 1

Slide 1 text

実装だけじゃない! CCA-F取得エンジニアが教える Claude Code開発プロセス活⽤術 クラスメソッド株式会社 マッハチーム morimorikochan

Slide 2

Slide 2 text

名前 morimorikochan 所属 クラスメソッド    マッハグループ🚀 担当 バックエンドと    フロントエンドどっちも 趣味 スターフォックス/スケボー X @marooon88

Slide 3

Slide 3 text

1. 今⽇お伝えしたいこと 2. 活⽤例 3. ぶつかる課題 4. ⼤事なこと 5. まとめ 📃⽬次

Slide 4

Slide 4 text

開発プロセスの中で、実装以外の場⾯でClaude Codeが使える ● Claude Codeはコーディングアシスタント ○ コード実装に使ってる⼈は多い(はず) ● 実はファイルを読む/書く以外にも機能が⽤意されている ○ シェル実⾏, MCP/プラグインで外部サービス連携, Web検索 ● 開発プロセスのさまざまな業務でも利⽤できる余地がある 📣今⽇お伝えしたいこと

Slide 5

Slide 5 text

👀そもそも”Claude Code”って何?

Slide 6

Slide 6 text

ここ3ヶ⽉ほどで活⽤した事例を紹介 ● "昨⽇からのUPDATE"を⾃動でチームに共有 ● 複数サービスまたいだ不具合調査 ● 背景awareな課題起票 ● DBへのデータ投⼊ ● PRのレビュー&コメント ● 結合テストのテストケース作成 ⭐最近活⽤した例

Slide 7

Slide 7 text

ここ3ヶ⽉ほどで活⽤した事例を紹介 ● "昨⽇からのUPDATE"を⾃動でチームに共有 ● 複数サービスまたいだ不具合調査 ● 背景awareな課題起票 ● DBへのデータ投⼊ ● PRのレビュー&コメント ● 結合テストのテストケース作成 今⽇は上2つを深掘りします🪏 ⭐最近活⽤した例

Slide 8

Slide 8 text

スキルとは? ● Claudeへの指⽰やスクリプトをまとめておき、再利⽤できる機能 ● /skill-nameで明⽰的に呼び出し可能(⾃動で発動する場合もある ● 業界で標準化されている、Codexなど他エージェントでも利⽤可 能 ● ⾃作したり、Anthropic公式からも提供されている ○ この後の話は⾃作したスキルの話 ○ 公式スキルの詳細はこのあと19:40〜の政岡さんのセッションで! https://code.claude.com/docs/ja/skills 前提: 全て”スキル”を使ってます

Slide 9

Slide 9 text

活⽤例① "昨⽇からのUPDATE"を⾃動でチームに共有

Slide 10

Slide 10 text

"昨⽇からのUPDATE"を⾃動でチームに共有 ⼤規模なシステム開発案件で周囲の動きがわからず困っていた ● 関係者が多く複数チームが相互にコミュニケーションとる ● 誰が何をしているかわからず⾃分が差し込むべき場⾯を⾒逃す ○ 議事録やタスクの変化量が多くキャッチアップできない ⽤意した仕組み↓

Slide 11

Slide 11 text

仕組み "昨⽇からのUPDATE"を⾃動でチームに共有

Slide 12

Slide 12 text

補⾜ ● GitHubはAPI経由, Backlogと議事録はMCP経由 ● Backlogと議事録はサブエージェントに委譲 ○ MCPのレスポンスが巨⼤すぎてコンテキストを汚染するため ● ソース別ではなくトピック別に名寄せ ○ 1つのトピックを時系列で追いやすくめちゃ⾒やすい ● 最後にSlack canvasに出⼒ ○ チームメンバーが⾃由に閲覧できる ○ (今は権限の問題で⾃分でチャンネルにコピペしてる...) "昨⽇からのUPDATE"を⾃動でチームに共有

Slide 13

Slide 13 text

実⾏結果 ● 処理時間:11分程度 ● トークン:150kぐらい...(うろ覚え) ○ Fable 5 / high "昨⽇からのUPDATE"を⾃動でチームに共有

Slide 14

Slide 14 text

活⽤例② 複数サービスまたいだ不具合調査

Slide 15

Slide 15 text

システムの不審な挙動や意図しない挙動の調査が⼤変 ● 複数サービスをまたいだ調査、時間がかかる ○ Amazon CloudWatch Logs(ログ管理サービス) ○ Amazon Aurora(データベース) ○ Auth0(認証基盤) 改善内容↓ ● 各サービスに対応する”読み取り専⽤スキル”を⽤意 ● 1回の指⽰で横断的な原因調査、issue起票まで⾃動化 複数サービスまたいだ不具合調査

Slide 16

Slide 16 text

プロンプト 複数サービスまたいだ不具合調査 このスレみて (不具合報告があったslackメッセージへの リンク) 原因をコード,CloudWatchLogs, Aurora, Auth0から調べて、改善案いくつか含めて githubにissueにして /aurora-query /auth0-search /search-cloudwatchlogs ※コネクタでslackと連携してるのでスレの リンク張るだけで読み取ってくれる

Slide 17

Slide 17 text

各サービスの”スキル” ● /search-cloudwatchlogs ○ Amazon CloudWatch Logsからログを探すスキル ○ 書いてあること: ログレベルは〜を⾒て。ロググループは〜を⾒て。ユーザー IDは〜に保存。 ● /aurora-query ○ Amazon Aurora にSELECT句を発⾏できるスキル ○ 踏み台サーバーへの接続も⾃動 ○ 書いてあること: DBのスキーマは〜を⾒て。 ● /auth0-search ○ Auth0のユーザーやそのログを検索するスキル。内部でAuth0のAPI呼び出し ○ 書いてあること: メタデータ属性〜はDBの〜と対応。例えばこんな検索が〜 複数サービスまたいだ不具合調査

Slide 18

Slide 18 text

共通している設計ポイント ● プロジェクト固有のルールをSKILL.mdに記載 ● スコープを制限 ○ たとえばAuroraのスキルは3重で制限 ● 本題とは関係ない処理はスクリプトに切り出し、スキルは呼ぶだ け ○ SSHトンネル確⽴‧curlの組み⽴て ● 必要なコマンドを allowed-tools で事前承認 ○ 許可プロンプトで⽌まらず⼀気に⾛る 複数サービスまたいだ不具合調査

Slide 19

Slide 19 text

AWSの認証情報の渡し⽅ ● awsume + 1Password連携 1. ターミナルセッションで awsume実⾏ 2. 裏側で1passwordから取得しセッションに認証情報を持たせる 3. ⼿動でclaude 起動 参考: credential_processと1Password CLIでawsumeと共存できるセキュア な認証環境を作る 複数サービスまたいだ不具合調査

Slide 20

Slide 20 text

ぶつかる課題

Slide 21

Slide 21 text

スキルをzipファイルにして都度slackで配布していて⾯倒 ● 本来はgitで管理(.claude/skills/*)したりプラグインで配布 するべき ● 個別カスタマイズがほぼ必須なのでgit管理を諦めた ○ 使っているMCP‧コマンド‧環境変数‧⼀時ファイルのパスなどが ユーザーごとに微妙に異なる ■ うまく共通化するのが⼤変で諦める もっといい⽅法があれば懇親会で教えてください! 課題①:スキルのチーム配布

Slide 22

Slide 22 text

外部サービスを参照させまくると、トークンを消費しやすい ● 従量課⾦の場合はコスト増, サブスクの場合はリミット到達 対策 ● アウトカムと⾒合わないタスクは 安いモデル(Haiku / Sonnet) ○ SKILL.mdにモデル指定 ● 決定的な処理‧本質とは関係ない処理はスクリプト(pythonやsh) に切り出し、Claude Codeから呼び出し時には整形済みを渡す ○ 例: APIのJSONレスポンスを削ってmdテキストにする 課題②:トークン消費量の増加

Slide 23

Slide 23 text

a.学習に利⽤されるリスク ● Team / Enterprise / API‧Console はデフォルトで学習不使⽤ ● 個⼈プラン(Pro/Max)は学習利⽤の設定を要確認(オプトアウ ト可) b.ローカルの会話ログに認証情報が残り漏洩するリスク ● 1passwordの op run で認証情報の⼊⼒/出⼒をマスク 課題③:AIに機密情報を与えるリスク

Slide 24

Slide 24 text

1passwordの `op run` で認証情報の⼊⼒/出⼒をマスク ● op run: 1Passwordの認証情報を環境変数で与えてコマンド実⾏ しつつ、出⼒からは認証情報をマスクする ○ Claude Codeからも認証情報が⾒えないようにする ● 例: GitHub PAT / Auth0のアプリ認証情報 / BacklogのAPIキー... ○ 認証情報読み込みのたびに1Password側が承認ダイアログを表⽰ ■ 結構鬱陶しい... ■ 特にセッション⽴ち上げ時のMCPサーバー初期化で3,4個出てくる😅 課題③:AIに機密情報を与えるリスク API_KEY="op://aaa/bbb/ccc" op run -- {任意のコマンド}

Slide 25

Slide 25 text

1password使ってない⼈は? 似たようなことができるツールがいくつかあるみたい(未検証) ※いずれも出⼒をマスクしないので注意 ● Doppler ● Infisical ● Bitwarden Secrets Manager 課題③:AIに機密情報を与えるリスク

Slide 26

Slide 26 text

イメージつきましたか...?

Slide 27

Slide 27 text

繰り返している作業がある?Claude Codeがアクセスできるデータ? 💡 雑に依頼するだけで多分⼤丈夫 ❌ 公式の /skill-creator は too much、使わない⽅がいいかも (※諸説ある) みなさんも開発フローの中で活⽤してみてください

Slide 28

Slide 28 text

みなさんも開発フローの中で活⽤してみてください Auth0のユーザー情報を検索したり詳細取得したりするスキルを作って。 名前はauth0-search。 グローバルに作って。**環境のAuth0のユーザー関連の読み取りAPIを⾊々実⾏できるスキ ル。 op runで以下の1passwordからアクセストークンを読み取って各種APIを呼び出すスクリ プトを⽤意し、 allow-toolに⼊れておいて "op://*****/*****/password" このアクセストークン元のアプリでは以下のスコープが許可されている read:users / read:users_app_metadata / ... Auth0ドメインは*****.auth0.com Auth0のスキル作った時のプロンプト

Slide 29

Slide 29 text

⼤事なこと AI Slopを避ける ● ⽣成AIが出⼒したものを、ノーチェックで他⼈に読ませたり指⽰ したりしない ● 説明責任を持つこと アウトプットではなくアウトカム ● なんでもかんでもスキル化しても意味は薄い ● チームの本当のボトルネックを⾒つけて対処しないと、事業貢献 ‧プロジェクトの成功には繋がらない

Slide 30

Slide 30 text

● Claude Codeはただのコーディングアシスタントではない ○ 実装以外の様々な業務も効率化できる ■ 例えば"昨⽇からのUPDATE"を⾃動でチームに共有したり ■ 複数サービスまたいだ不具合調査をしたり ● 実装以外に使い始めると⾊々課題が出てくる ○ スキルのチーム配布 ○ トークン消費量の増加 ○ AIに機密情報を与えるリスク ● AI Slopにならないようにする ● アウトプットではなくアウトカムを意識する 📚まとめ

Slide 31

Slide 31 text

ありがとうございました 🫠おわり