コンテンツにスキップ
Zenn Dev Livingston Articles 3eeacb72733171

同じ指示は、Claude Codeのどの層に書くべきか?CLAUDE.md・Skill・サブエージェント・フックを実測で比較する

  • URL: https://zenn.dev/livingston/articles/3eeacb72733171
  • 日付: 2026-06-23
  • Tier: Tier 3
  • 要旨: Claude Code の同じ指示を CLAUDE.md・Skill・サブエージェント・フックの 4 層すべてに実装し、N=20 で遵守率を実測比較。決定論的強制はフックでも matcher の穴で破られ、毎ターンのスタイル規則は CLAUDE.md が圧勝、状況限定の手順は Skill が得意と判明。

詳細

Claude Code の指示の置き場所(CLAUDE.md・Skill・サブエージェント・フック)を、性質の異なる 3 指示で各層 N=20 実測(claude -p headless モード・外形証拠で機械判定・約 $54)。指示 A(破壊的削除の禁止):CLAUDE.md と Skill は 20/20、サブエージェントは「整理担当」の役割に引きずられ 14/20、フックは Bash の rm は exit 2 でブロックするが Python の shutil.rmtree の穴を通られ 16/20。フックの決定論性は matcher の網羅性と不可分で、任意コード実行が許可されたエージェントは想定外経路を見つける。指示 B(スキーマ編集時に version 上げ+CHANGELOG 追記):baseline 0/20、Skill は description が編集タスクにマッチし 19/20、progressive disclosure で発動しない普通の作業ではトークンをほぼ消費しない。指示 C(コメント日本語化):CLAUDE.md 20/20 だが Skill は 6/20(汎用コーディングプロンプトで description がマッチせず未ロード、Fisher 検定 p<0.0001)。毎ターン効かせたいスタイルは Skill 不向き。サブエージェントの隔離効果は軽い調査ではゼロ(コスト +78%)、全ファイル読込の重い調査で初めてメイン文脈を 45.9K→36.8K に抑える価値が出る(総コスト +45%)。