Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Claude Code どこまでも/ Claude Code Everywhere

Avatar for nwiizo nwiizo
June 18, 2025

Claude Code どこまでも/ Claude Code Everywhere

イベント名:【オフライン開催】KAGのLT会 #6 〜御社のエンジニア育成どうしてる!? スペシャル〜
公式URL: https://kddi-agile.connpass.com/event/357862/

Avatar for nwiizo

nwiizo

June 18, 2025
Tweet

More Decks by nwiizo

Other Decks in Technology

Transcript

  1. 明示的な指示の重要性 # 曖昧な指示 "バグを直して" # 具体的な指示 "src/auth.rs の認証処理で panic! が発生しています。

    エラーログを確認し、thiserror を使って適切なエラー型に変換し、 テストも追加してください" 💡 ファイル名、ライブラリ名、エラーメッセージなどを具体的に 15
  2. ショートカット & セッション管理 キーボード操作 # ファイル・画像の操作 Ctrl + j #

    改行を入力 Ctrl + v # クリップボードから画像貼り付け @/path/to/file # ファイルを指定して読み込み # モード切り替え・ナビゲーション Shift + Tab # Plan Modeへ切り替え Shift + Tab×2 # プランニングモード Escape × 2 # 前のメッセージに戻る セッション管理 # セッションコマンド /clear # コンテキストをクリア /resume # セッション一覧・再開 /continue # 直前のセッションに戻る # CLIオプション claude --resume # 過去のセッション選択 claude --continue # 直前のセッション継続 21
  3. MCP(Model Context Protocol)の戦略的活用 原則: 必要最小限での利用 基本操作はClaude Code標準機能で十分 MCPは「どうしても標準機能では難しい場合」のみ、パスごとに設定する 例:playwright-mcp でのブラウザ自動化

    MCP使用時の注意点 パフォーマンスオーバーヘッドを考慮 セキュリティリスクの評価 基本的には後述の .claude/commands で対応可能な場合は、そちらを優先することを推奨します 23
  4. カスタムコマンドによる自動化 .claude/commands/ ディレクトリの仕組み .claude/ └── commands/ ├── rust-qa-pipeline.md # Rust品質保証パイプライン

    ├── cargo-release.md # リリース準備チェック ├── benchmark.md # パフォーマンステスト └── security-audit.md # セキュリティ監査 24
  5. カスタムコマンドの実践活用例 1. Rust品質保証パイプライン(rust-qa-pipeline.md) Step 1: プロジェクト構造分析 (1タスク) Step 2: 品質チェック

    (並列4タスク) - cargo test | cargo clippy | cargo fmt --check | cargo audit Step 3: 問題修正 (並列複数タスク) Step 4: 最終検証とベンチマーク実行 26
  6. ログ設計の戦略 デバッグ情報の自動出力 // 開発モードでの自動ログ出力例 #[cfg(debug_assertions)] fn send_email(to: &str, subject: &str)

    { println!("DEBUG: Email sent to {} with subject: {}", to, subject); println!("DEBUG: Email link: http://localhost:3000/verify/{}", generate_token()); // 実際の送信処理... } 効果: AIが自動的にメール確認→リンククリック→認証完了までを実行可能 28
  7. 1. プロジェクト設定の最適化 CLAUDE.mdの戦略的活用 # ./CLAUDE.md プロジェクトルートに配置,再帰的に見てくれるので # コーディング規約 NEVER: unwrap()の多用を避ける

    YOU MUST: すべてのResult<T, E>を適切にハンドリング IMPORTANT: カスタムエラー型でエラーコンテキストを明確化 # Rust固有の規約 - エラーハンドリング: thiserrorとanyhowを活用 - 非同期処理: tokioを基本とする - ログ出力: tracing crateを使用 # 階層化 ./CLAUDE.md # 全体設定 ./src/web/CLAUDE.md # Webサーバー固有 ./src/cli/CLAUDE.md # CLI固有 31
  8. 2. ツールチェーンの最適化 開発効率を上げる基本原則 高速フィードバック: コンパイル・テストの高速化 明確なエラーメッセージ: AIが理解しやすい診断情報 統一されたツールチェーン: 一貫したコマンド体系 自動化可能な品質チェック:

    繰り返し作業の削減 開発効率を上げるMakefile設定 dev: # cargo watch -x run でホットリロード test: # cargo test --all-features lint: # cargo clippy -- -D warnings format: # cargo fmt --all check: # cargo check --all-targets release: # cargo build --release 32
  9. 3. 段階的アプローチの重要性 失敗パターン: 一括指示 「REST APIを完全実装して」 → エラーハンドリング不統一、unwrap()多用、テスト不足 成功パターン: 分割指示(分割をさせてもよい)

    Step 1: エラー型定義・thiserror適用確認 Step 2: APIエンドポイント設計・OpenAPI仕様準拠 Step 3: リクエスト/レスポンス構造体・serde活用 Step 4: ビジネスロジック・Result型での適切なエラー伝播 Step 5: テスト作成・tokio-testでの非同期テスト 33
  10. 4. 品質を高める並列開発 複数アプローチの同時検証 # メインプロジェクト git worktree add ../project-feature-a feature-a

    git worktree add ../project-feature-b feature-b # 別々のClaude Codeインスタンスで並行開発 cd ../project-feature-a && claude-code "axum REST API実装" cd ../project-feature-b && claude-code "tokio CLI ツール実装" 34
  11. 3. コンテナでの環境隔離 Claude Codeは --dangerously-skip-permissions 強力な権限でシステムにアクセスで きるため、意図しないファイル変更やセキュリティリスクが生じる可能性がありま す。コンテナ環境での隔離により、ホストシステムを保護しながら安全にAI開発を進め られます。 cd

    /path/to/repository npx @anthropic-ai/claude-code mcp add container-use -- <full path to cu command> stdio コンテナ使用時の制約設定例(CLAUDE.md ファイル追記) すべてのファイル、コード、シェル操作には必ずEnvironmentのみを使用してください。簡単な操作や一般的なリクエストであっても例外はありません。 environment_run_cmdツールでgit cliをインストールしたり使用したりしないでください。すべての環境ツールがgit操作を処理します。".git"を自分で変更すると、環境の整合性が損なわれます。 `git checkout <branch_name>`を使用して作業を確認する方法をユーザーに必ず伝えてください。これを怠ると、他の人があなたの作業にアクセスできなくなります。 39
  12. 開発の「速度」が変わると「質」も変わる 従来: 1週間かけて1機能 実装に時間を取られる 設計の見直しは困難 「動けばいい」で妥協 フィードバックサイクルが遅い Claude Code: 1日で10パターン

    実装は瞬時に完了 複数の設計を比較検討 「最適解は何か」を追求 高速PDCAで品質向上 量が質に転化する - これがClaude Code時代の開発 41
  13. 「早いコード」ではなく「良いコード」を Claude Codeの真の価値は速度ではない 重要なのは「早く書く」ことではなく「何度も書き直せる」こと 質の高いコードが生まれる理由 1. 試行回数の増加 - 10倍のアプローチを試せる 2.

    比較検討の容易さ - 複数の実装を並べて評価 3. リファクタリングの低コスト化 - 気軽に最適化 4. ベストプラクティスの適用 - AIが最新パターンを提案 42
  14. 新しい競争優位性の源泉 「実装力」から「構想力」へのパラダイムシフト 真の差別化要因 1. 問題発見力 - そもそも何を解決すべきか 2. アーキテクチャ設計力 -

    全体最適を描く力 3. 意図の言語化力 - AIと協働する対話力 4. 品質基準の設定力 - 「良い」を定義する力 コードを書く能力ではなく、 コードに込める意図の質で勝負する時代 43
  15. 参考文献 実践事例・解説記事 抽象化をするということ - 具体と抽象の往復を身につける How I Use Claude Code

    LLMの制約を味方にする開発術 Claude Code版Orchestratorで複雑なタスクをステップ実行する Agentic Coding Recommendations Claude Codeに保守しやすいコードを書いてもらうための事前準備 Claude Codeによる技術的特異点を見届けろ 46