1. プロジェクト容量の実測結果
Claude Codeのトークン消費がものすごい・・・いくら請求が来るやら(トークン量は1億となっていた!!)、これは大変なのでトークン削減・コスト最適化の実践を考える
iso_app プロジェクトの容量分析結果(2026年5月実測):
| フォルダ | サイズ(MB) | 分類 | 除外対象 |
| node_modules/ | 103.25 | npmライブラリ | ✅ 除外必須 |
| vendor/ | 73.14 | Composerライブラリ | ✅ 除外必須 |
| storage/app/ | 59.91 | 写真・添付ファイル | ✅ 除外必須 |
| storage/logs/ | 4.33 | ログファイル | ✅ 除外必須 |
| storage/fonts/ | 5.87 | IPAexフォント | ✅ 除外必須 |
| storage/framework/ | 0.27 | Laravelキャッシュ | ✅ 除外必須 |
| public/ | 18.39 | ビルド成果物・画像 | ⚠ 一部除外 |
| resources/ | 1.32 | ビュー・CSS・JS | ❌ 必要(含める) |
| database/ | 0.86 | マイグレーション | ❌ 必要(含める) |
| app/ | 0.38 | 実コード | ❌ 必要(含める) |
⚠ 実コード(app/, resources/, database/, routes/, config/)の合計はわずか 2.7MB。全体の 1% です。
2. .claudeignore の設定
.claudeignore ファイルをプロジェクトルートに作成することで、Claude Code が読み込む対象を 268MB から 2.7MB に削減できます。
依存ライブラリ(最重要)
vendor/
node_modules/
アップロードされた写真・添付ファイル(iso_app固有)
storage/app/public/photos/
storage/app/public/evidence/
storage/app/public/plans/
storage/app/public/ra_attachments/
Laravelキャッシュ・ログ
storage/logs/
storage/framework/
storage/fonts/
ビルド成果物
public/build/
public/storage/
手書きCSSは含める
!public/css/print-common.css
Git・IDE
.git/
.idea/
.vscode/
バイナリ・大容量ファイル
*.zip *.tar.gz *.pdf *.xlsx *.sql *.sqlite
3. Claude Code のモデル設定
3.1 モデル別料金(2026年5月時点)
| モデル | 入力(1Mトークン) | 出力(1Mトークン) | 用途の目安 |
| Claude Haiku 4.5 | $1.00 | $5.00 | 単純な分類・抽出・補助処理 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | 一般的な開発作業(推奨) |
| Claude Opus 4.7 | $5.00 | $25.00 | 複雑な設計・深い分析時のみ |
3.2 推奨設定
| 設定項目 | 推奨値 | 理由 |
| 通常モデル | Sonnet 4.6 | Opusの60%のコストで同等品質 |
| コンテキスト | 標準(200k) | プロジェクト2.7MBに1Mは不要 |
| Thinking mode | true(維持) | 複雑な業務ロジックに有効 |
| Fast mode | false(維持) | 6倍の料金($30/$150)は不要 |
| Auto-compact | true(維持) | 長いセッションでも効率的 |
3.3 モデル切り替えの判断基準
| 作業内容 | 使うモデル |
| プロジェクト構造の把握・ファイル探索 | Sonnet 4.6 |
| 単純なリファクタリング・バグ修正 | Sonnet 4.6 |
| 複雑なバグ調査・根本原因分析 | Opus 4.7 |
| 設計判断が必要な新機能の検討 | Opus 4.7 |
| 大規模なセキュリティ監査 | Opus 4.7 |
| 単純なファイル操作・テキスト整形 | Haiku 4.5 |
3.4 切り替えコマンド
/model # モデル一覧を表示して選択
/model sonnet # Sonnet に変更
/model opus # Opus に変更
/cost # 現セッションのコスト確認
/clear # セッションをクリア(キャッシュも消去)
4. /cost の読み方
4.1 実測データ(セキュリティ監査セッション)
| モデル | input | output | cache read | cache write | コスト |
| Haiku 4.5 | 596 | 10.2k | 1.3m | 93.8k | $0.30 |
| Opus 4.7 | 619 | 1.5k | 130.9k | 69.1k | $0.54 |
| Sonnet 4.6 | 1.2k | 47.0k | 11.0m | 169.4k | $4.65 |
| 合計 | ー | ー | ー | ー | $5.49 |
cache read が大きいほど効率的(再利用できている)です。この実測ではセキュリティ監査(Critical 1〜4対応)を約1時間半で完了しており、外注した場合の数十万円相当の作業を$5.49で実施しました。
5. /clear の使い方
- 1つの作業が終わったら即 /clear → 次の作業に前のコンテキストを引きずらない
- 大きな作業の途中でも、フェーズが変わったら /clear
- /clear 後は「先ほどA機能を実装した、次はB機能に適用する」と1〜2行で再投入
- 同じ機能の修正は同じセッションで続ける(キャッシュを活用)
6. 効率的な指示の書き方
6.1 NG例とOK例
| NG例(曖昧) | OK例(具体的) |
| 「印刷が崩れるので直して」 | 「resources/views/reports/sales-list.blade.php と public/css/print-common.css のみを対象に、A3横で出力できるよう修正。他のファイルは触らないこと」 |
| 「長いコードを貼り付けて修正依頼」 | 「app/Http/Controllers/SalesController.php の calculateTotal メソッド(150行目前後)を修正して」(ファイルパスのみ指定) |
| 「この機能を追加して」 | 「作業1: ○○クラスを作成。作業2: △△への組み込み。完了後に修正ファイル一覧とテストケースを報告」 |
6.2 CLAUDE.md によるコンテキスト削減
CLAUDE.md にプロジェクト全体図を記述しておくと、Claude Code がファイルを探索する回数が減り、トークン消費が削減されます。
- プロジェクト概要と主な機能の説明
- 主要ディレクトリとその役割の対応表
- 実装方針のルール(「新規帳票は layouts/print.blade.php を継承」等)
- 共通コンポーネントとその場所
- 禁止事項(「vendorフォルダは編集しない」等)
Claude API 利用コスト最適化
1. 現状分析
1.1 現在のAI利用の構造
iso_app における AI 利用は「パターンA: 都度プロンプトに全データを含める + CSV形式」で実装されています。このパターンは、設計を改善することで大幅なコスト削減が可能です。
| 利用機能 | 送信データの特徴 | |
| 環境側面の推論 | 対象ファイル AiEnvAspectService.php | 工事概要・発注者要求・近隣要求・重機/化学物質詳細 |
| 推薦機能 | AiRecommendationService.php | 工事概要(発注者・予算・特殊仕様を含む可能性) |
| 監査チェックリスト | AuditAiService.php | 被監査対象名・部署名・業務概要 |
| 安全パトロール | SafetyPatrolController.php | 作業内容・使用機械・特殊作業の詳細 |
| 法規制選定 | CSV形式で送信 | 固定語彙チェックボックス選択(現状は安全) |

