AI開発で『/clear』すると消費2.5倍?キャッシュ破棄の罠と複数AI排他制御・78%危険スキルの隔離術
作成日:
更新日:

AI開発で『/clear』すると消費2.5倍?キャッシュ破棄の罠と複数AI排他制御・78%危険スキルの隔離術


論旨

自律型AIコーディングツール(Claude Code や Antigravity IDE、Cursor など)を使い込んでいる開発者の間で、「利用制限(クォータ)を節約しようとして小まめに /clear で会話履歴を消している(画面付きエディタで毎回『+ 新規チャット』を開き直している)」「軽い修正だから推論強度(effort)を low に落としている」「便利な外部スキルや複数エージェントをそのまま並列で走らせている」という運用をよく見かけます。

結論からお伝えすると、45回の検証実験によって 「同じリポジトリの関連作業で毎回 /clear(新規チャット作成)を行うとKVキャッシュ(約10分の1割引)が消えて消費量が最大2.5倍に悪化し、effort: low の使い分けも手戻りループで逆に9%増加する一方、常時 High 固定+基本指示書の構造化スリム化だけが消費量を34%確実に削減する」 という事実が判明しています。さらに複数AIを並列化する際は 排他制御(Mutex) がないと共有実機やファイルを奪い合って破壊し、公開スキルの 78%が外部通信か広いシェル権限を使用 しているため無隔離導入は極めて危険です。本記事では、クォータ節約・競合防止・多層隔離の3点セットを実装コード付きで検証します。

合わせて読みたい深まる関連情報
Apple Mac mini(M4 Pro 等 Appleシリコン Pro系チップ・64GBユニファイドメモリ構成)

Apple Mac mini(M4 Pro 等 Appleシリコン Pro系チップ・64GBユニファイドメモリ構成)

対象となる方
  • Claude Code や Google AI Pro / Ultra などの 5時間枠・週間クォータの減りが早く、本当に効く節約習慣を実測値で知りたい方

  • 作業の区切りごとに 毎回 /clear や「新規チャット作成(+)」で履歴をリセットしたり、節約のつもりで effort: low と high を細かく使い分けたりしている方

  • 複数のAIエージェントや複数チャット枠を同時に走らせており、実機・ビルド・デプロイ・共有ファイルの競合(Race Condition)を防ぎたい方

  • GitHub上の人気 Agent Skills(スキル拡張)を安全に試すためのサンドボックス隔離と物理キー防衛 を整えたい方

AIエージェント開発では、「人間の直感では節約になりそうな操作」が、大規模言語モデル(LLM)の裏側の課金・キャッシュ構造と噛み合わず、かえって利用枠を2倍以上溶かしてしまう落とし穴がいくつも潜んでいます。

まずは45回の条件比較実験で浮き彫りになった、衝撃的なトークン消費の逆転現象から中身を解剖していきましょう。

良かれと思った節約設定がAI利用枠を2.5倍溶かす理由

自律型コーディングエージェントで同一タスク群を45回計測した検証において、特に注目すべき数字は次の3つです。

  1. 作業ごとに毎回 /clear(新規チャットへの切り替え)を実行 :条件によってトークン・利用枠の消費量が 最大2.5倍に悪化
  2. 推論強度を effort: low に引き下げ :節約どころか消費量が 逆に9%増加
  3. 基本指示書(CLAUDE.md / GEMINI.md)の構造化・短縮 :消費量が 34%減少(大成功)

なぜ履歴をきれいに消した方が2.5倍も枠を食い、賢さをケチった方が9%も高つくのでしょうか。

作業ごとの履歴消去でKVキャッシュ割引を捨てる罠

最大の理由は、現代のクラウドAI(Claude や Gemini 等)のAPI・定額クォータ計算の根幹にある 『KVキャッシュ(Prompt Caching)』の単価構造 にあります。

なお、ターミナル型ツール(Claude Code 等)で打つ /clear コマンドは、Antigravity IDE や Cursor などの画面付き(GUI)エディタで 「+ ボタンを押して新しいチャット枠を開く操作」とAIの裏側の仕組みとしてはまったく同じ意味 です。左のサイドバーに過去の履歴が残るか消えるかという見た目の違いだけで、AIに渡される記憶とキャッシュが白紙(ゼロ)にリセットされる点は変わりません。

同じチャットで会話が続いている間、直前のターンまでに読み込んだシステム指示書・ディレクトリ構成・関連ソースコードの計算状態(Key-Valueテンソル)はデータセンター側の高速メモリにキャッシュされており、2ターン目以降の再利用コストは通常の約10分の1(90%割引)かつ超高速 で処理されます。

関連タスクで毎回『/clear(新規チャット)』にする運用とキャッシュ温存運用の比較
2.5倍の差
逆効果な節約習慣
小タスクごとに毎回 /clear・新規チャット
  • KVキャッシュの完全破棄 : せっかく高単価(書き込みコスト)を払って構築したプロジェクト構造や共通型定義のキャッシュが毎回ゼロに戻る
  • 再探索ターンの爆発 : 次の修正を頼むたびに、AIが再びファイル一覧取得・文字列検索・関連ファイル全文読込を一からやり直す
  • 結果 : 「キャッシュ90%割引の喪失」+「探索ターン数の倍増」が掛け算になり、消費量が最大2.5倍へ悪化
理にかなった省燃費運用
関連作業は同じチャット継続+指示書スリム化
  • KVキャッシュの最大活用 : 同じ記事の手直しや同じモジュールの連続タスクは同一チャットのまま進め、既に読んだコード群を約10分の1のコストで再利用させる
  • ピンポイント検索の徹底 : 無関係な巨大ファイルを開かせないよう行番号付き検索を渡し、履歴が本当に別テーマで肥大化した時だけ区切る
  • 結果 : 探索ターンが最小化され、基本指示書のスリム化と合わせて 消費量を34%〜50%以上削減
※完全に無関係な別プロジェクトや別ジャンルの話題へ移る時だけ新規チャットに切り替えるのが正解です
質問するおじさん

うわぁ、耳が痛いよ……!「会話が長くなると毎回全文送られて損をする」って聞いたから、1箇所直すたびに律儀に /clear を叩いたり + ボタンで新しいチャットを開いたりしていたんだ。同じ作業の続きなら、そのまま頼んだ方がずっと安上がりだったんだね!

解説ナビゲーター

そうなんです!「まったく別の話題」ならチャットを新しくすべきですが、同じ対象の手直しを続ける時に毎回新しいチャットにすると、AIを毎回記憶喪失にして一から現場見学をやり直させるのと同じになってしまいます。迷った時は下の3パターンで使い分ければ完璧ですよ!

実務で迷わない「同じチャット継続・要約圧縮・新規チャット(/clear)」の使い分け基準は次の3パターンだけです。

作業の場面 正解の操作 クォータと精度への効果
同じ記事・同じ機能・関連ファイルの連続作業
(例:本文修正 → 誤字チェック → 本番転送)
同じチャットのまま続ける KVキャッシュ(約90%割引)がフル稼働 し、ファイルの再読込ゼロで最速・最安になる
同じテーマの作業中だが会話が長くなりすぎた時
(例:何十往復もして応答が重くなってきた)
/compact コマンドで圧縮する 余計な途中経過だけを削りつつ、作業に必要な前提文脈を要約して引き継げる
前の会話と無関係な別記事・別ジャンルへ移る時
(例:環境構築を終えて別テーマの記事執筆へ)
新規チャットを開く(/clear) 無関係な過去ログを毎ターン送るムダを断ち切り、AIの注意力を100%新テーマへ集中 できる

推論強度を下げると手戻り増加で消費が9%増える逆転

2つ目の逆転現象である effort: low で消費量が9%増えた理由 も、現場のログを見ると非常に明快です。

自律型エージェントにおける1回あたりの思考トークンをケチって推論を浅くすると、AIは変更箇所の依存関係や型整合性、境界値条件を十分にシミュレーションしないまま「とりあえず目の前のエラーが消えそうなパッチ」を書き込みます。すると直後のビルドやテストで失敗し、「エラーログを読む → 別の箇所を当てずっぽうで直す → また別のテストが落ちる」という手戻り往復ターンが2回・3回と増えるため、結果として最初から最上位の推論強度で一発正解させた場合より総消費量が9%増えてしまう のです。

なお、AI自身に節約法を相談したり一般的な解説を読んだりすると、「簡単な処理は low、難しい処理は high とこまめに使い分けましょう」という教科書通りの答えがよく返ってきます。しかし実際の開発現場では、「この作業は low でいけるか、high にすべきか」と人間が毎回考えること自体が無駄な認知コスト(判断疲れ)になる上、「簡単そうだから low にした修正」ほど思わぬ見落としで手戻りを起こす のが実情です。したがって、利用枠が残りわずかな緊急時を除き、クォータに余裕がある普段は迷わず『常時 High 固定一択』で使い続けるのが、人間の手間もAIの手戻りもゼロにする一番ラクで安上がりな正解 です。

基本指示書の構造化スリム化で消費量を34%削る鉄則

一方で、無条件に34%もの削減効果を生んだ王道施策が 「毎回必ず読み込まれる基本指示書(CLAUDE.md / GEMINI.md / AGENTS.md)のスリム化」 です。

実際、当サイト(現在公開669記事・単一マスターのルール規模1,272行)でも、以前はあらゆる条件の詳細ルールを毎セッション大量に注入していましたが、現在は 「常時注入するコア原則だけを極小化し、個別の詳細仕様はPure Rust製CLIとSQLite索引から必要な瞬間だけ行番号指定で引く方式」 へ移行しています。さらに文字数や書式の機械チェックもAIの推論ではなくローカルのRustバイナリ(4ミリ秒)へオフロードすることで、AIの思考力とクォータを本質的な設計・執筆だけに集中させています。

複数AIが1台を奪い合う競合事故と排他制御の実装術

単体エージェントの省燃費化ができるようになると、次に誰もが挑戦したくなるのが 「複数のAIエージェントを同時に走らせるマルチエージェント並列開発」 です。しかし、ここに30年前のマルチスレッドプログラミングとまったく同じ古典的な罠が待ち構えています。

実装AIと秘書AIが同じ実機を触ってテストが壊れた例

象徴的な実例として報告されたのが、1台の検証用Androidスマートフォン(moto g24 / Android 14)に2体のAIエージェントが同時にアクセスしてE2Eテストが崩壊した事故 です。

開発者が片方のターミナルで「実装担当AI」にアプリのビルドと実機UIテストを走らせていた最中、バックグラウンドで定期稼働していた「秘書AI(または別タスクの検証AI)」も同じUSB接続の実機へコマンドを送り始めました。その結果、2体のAIが数分間にわたって同じスマホ画面のタップと画面遷移を奪い合い、存在しないボタンを探してエラーを連発し、テスト結果もアプリ状態も完全に壊れてしまった のです。

これはスマホ実機だけの話ではありません。手元のMac1台で複数のAIを並列稼働させるとき、以下のリソースを無防備に共有させると100%同じ競合事故(Race Condition)が起きます。

  • Playwright / Puppeteer 等のブラウザ自動操作プロファイルや開発サーバーのポート
  • 共通の設定ファイル(package.json, index.ts, ルールファイル)への同時書き込み
  • Git のステージング(git add / commit)やビルド出力ディレクトリ(dist/)

ファイル完全排他分割とアトミックロックによる直列化

マルチエージェント並列運用を無事故で回す鉄則は、「①編集ファイルの完全排他分割(Disjoint Partitioning)」と「②単一共有リソースに対するOSレベルの排他ロック(Mutex)」 を組み合わせることです。
複数AIエージェントが衝突しない『排他分割×単一Mutexゲート』設計
原則1:完全排他分割
担当ファイルを重複ゼロで配分

各サブエージェントが編集できるパスを明示的に限定し、共通の index.ts や設定ファイルの直接編集を禁止する。

原則2:アトミックMutex
実機・ブラウザをロック制御

テスト実機やPlaywright等の単一資源は、OS標準のアトミック mkdir ロックラッパー経由でのみ直列実行させる。

原則3:親ゲート統合
共通台帳更新とデプロイを一元化

全班の完了後に親エージェント1人だけが共通ファイルの統合・全体ビルド検問・本番転送を実行する。

※並列化してよいのは互いに独立したファイル群のみ。共有実機・共通台帳・デプロイは必ず1本に直列化します

ここで古参エンジニア視点の重要な実務ポイントを1つお伝えします。Linux環境では排他制御に flock コマンドがよく使われますが、macOS(BSD系標準環境)には flock が標準搭載されていません。またシェルスクリプトで [ ! -f lockfile ] && touch lockfile と書くのは、チェックと作成の数マイクロ秒の隙間に別AIが割り込む典型的な競合バグ(TOCTOU)です。

macOS(zsh / bash)でもLinuxでも外部ツール追加ゼロで100%カーネルレベルの原子性(アトミック性)が保証されるのは、POSIX規格で不可分操作と定められた mkdir によるディレクトリロックに、クラッシュ時の残留ロック(Stale Lock)自動回収を組み合わせた以下のラッパースクリプト です。

#!/usr/bin/env zsh
# scripts/with_device_lock.sh : 複数AIエージェント用の堅牢アトミック排他ロック(macOS/Linux両対応)
set -euo pipefail

if [[ $# -lt 2 || -z "${1:-}" ]]; then
  echo "Usage: $0 <lock_name> <command> [args...]" >&2
  exit 2
fi

LOCK_NAME="${1//[^a-zA-Z0-9_-]/_}"
shift

LOCK_DIR="/tmp/ai_mutex_${LOCK_NAME}.lock"
PID_FILE="${LOCK_DIR}/pid"
MAX_WAIT_SEC=180
WAITED=0
OWN_LOCK=0

cleanup() {
  if [[ "$OWN_LOCK" -eq 1 && -f "$PID_FILE" ]]; then
    local recorded_pid
    recorded_pid="$(<"$PID_FILE")" 2>/dev/null || recorded_pid=""
    if [[ "$recorded_pid" == "$$" ]]; then
      rm -f "$PID_FILE"
      rmdir "$LOCK_DIR" 2>/dev/null || true
    fi
  fi
}
trap cleanup EXIT INT TERM HUP

while ! mkdir "$LOCK_DIR" 2>/dev/null; do
  # 保持プロセスが異常終了(クラッシュ)していないか生存確認してデッドロックを防止
  if [[ -f "$PID_FILE" ]]; then
    holder_pid="$(<"$PID_FILE")" 2>/dev/null || holder_pid=""
    if [[ "$holder_pid" =~ ^[0-9]+$ ]] && ! kill -0 "$holder_pid" 2>/dev/null; then
      echo "[mutex] Stale lock detected (dead PID: $holder_pid). Recovering..." >&2
      rm -f "$PID_FILE"
      rmdir "$LOCK_DIR" 2>/dev/null || true
      continue
    fi
  fi

  if (( WAITED >= MAX_WAIT_SEC )); then
    echo "[mutex] Timeout (${MAX_WAIT_SEC}s) waiting for lock: ${LOCK_NAME}" >&2
    exit 75
  fi
  sleep 1
  (( WAITED += 1 ))
done

OWN_LOCK=1
printf '%s\n' "$$" > "$PID_FILE"

# 対象コマンドを実行し、終了コードをそのまま呼び出し元へ返す
set +e
"$@"
cmd_status=$?
set -e
exit "$cmd_status"

使い方は ./scripts/with_device_lock.sh android_g24 ./run_e2e.sh のように先頭へ挟むだけです。これだけで2体目のAIは1体目のテストが終わるまで整然と待機し、万が一1体目のAIプロセスが強制終了してもプロセスIDの生存確認(kill -0)によってデッドロックせず自動復旧します。

なお、スマホ実機を使わないWebサイトやブログ開発であっても、画面付きエディタで 複数のチャット枠に同時指示を出している場合 は、package.json のデプロイ処理(git commit → 全体ビルド → 本番サーバーへの rsync / SFTP転送)の先頭に ./scripts/with_device_lock.sh deploy ... のようにこのロックを組み込んでおくのがおすすめです。そうすれば人間が毎回ロックコマンドを意識しなくても、早く終わったAIの転送が完了するまで次のAIが自動で順番待ちしてくれます。

人気スキルの78%が使う外部通信・広いシェルと隔離術

クォータと競合の次に必ず固めておくべき3つ目の急所が、近年急速にエコシステムが拡大している 『Agent Skills(エージェント用スキル拡張リポジトリ)』のセキュリティ境界 です。

巨大化する計算基盤と無審査スキルを混ぜる情報漏洩リスク

公開されているエージェントスキルのリポジトリを毎時ランキング追跡した調査によると、なんと 上位人気リポジトリの『78%』が外部ネットワーク通信または広範なシェル実行権限を使用している ことが明らかになりました。

2026年11月現在、OpenAIが評価額 1兆2,500億ドル で追加 110億ドル の資金調達に動き、GoogleもCrusoeからワイオミング州の大規模データセンター計画を買収するなど、クラウド側のAI計算力は国家インフラ級の規模へ膨張しています。その超高速な自律実行エンジンに対し、手元のパソコンの中身(.env のAPIキー、SSH秘密鍵、クラウド認証トークン、顧客データ)が丸見えの状態で、外部通信とシェル権限を持つ第三者製スキルを無審査のまま流し込むのは、自宅の金庫を開け放って見知らぬ代行業者にマスターキーを渡すのと変わりません。

プロンプトインジェクションや悪意あるアップデートが1つ混入するだけで、「便利な要約スキルを動かした裏で、環境変数とSSH鍵が外部サーバーへ静かに送信されていた」という情報漏洩が現実に起こり得ます。

サンドボックスと物理キー・64GB母艦による3重防御

外部スキルや自律エージェントの恩恵を100%安全に享受するための現実解は、「AIにお行儀よく振る舞うようプロンプトでお願いすること」ではなく、OSとハードウェアの物理層で『3重の隔離壁』を敷くこと です。
防御レイヤー 具体的な隔離・制御の内容 防げる主な事故・攻撃
第1の壁:OSサンドボックス標準化 通常実行時は 外部ネットワーク遮断(オフライン) かつ書き込み先をプロジェクトフォルダと /tmp のみに制限し、~/.ssh や他フォルダへのアクセスをOSレベルで拒否する スキル経由の認証情報抜き取り・無関係なシステムファイルの破壊
第2の壁:外部スキルの事前静的検査 サードパーティ製スキルを導入・更新する際は、自動実行させる前に curl / wget / fetch 等の通信先ドメインと環境変数読取箇所を必ず検査し、必要な機能だけを自前の最小スクリプトへ切り出す サプライチェーン汚染・難読化された外部送信コードの混入
第3の壁:FIDO2物理セキュリティキー 本番サーバーへのSSH接続、Gitコミット署名、Googleアカウントやクラウド管理画面の認証に 『YubiKey 5C NFC』の物理タッチ を必須化する 万が一AIがシェルで暴走しても、人間の指が触れない限り本番環境や重要アカウントを1ミリも突破不能にする

特に第3の壁となる 『Yubico YubiKey 5C NFC』 は、AI時代の開発者にとって最強の「物理ブレーカー」です。ソフトウェア上のパスワードやパスフレーズなし秘密鍵はAIや悪性スキルから読み取られるリスクがありますが、YubiKey内の秘密鍵はチップ外へ絶対に取り出せず、本体の金属接点に人間の指でタッチしない限り署名もログインも完了しません。耐用5年(1,825日)使用時の モデル試算(推論)で1日あたり約5〜6円前後 の保険料で、本番サーバー乗っ取りやアカウント流出を物理的にゼロにできます。

Yubico YubiKey 5C NFC(USB-C / NFC対応 FIDO2物理セキュリティキー)

Yubico YubiKey 5C NFC(USB-C / NFC対応 FIDO2物理セキュリティキー)

また、OSサンドボックス・複数サブエージェント並列・ローカルSQLite検索・ブラウザ検証を同時に走らせると、16GB〜24GBメモリ機ではすぐにメモリ圧縮とSSDスワップが発生して動作がガクッと重くなります。これから開発母艦を組むなら、5年毎日使っても モデル試算(推論)で1日あたり約160〜190円前後(缶コーヒー約1本分) でスワップ知らずの快適さが続く 『Mac mini(Pro系チップ・64GBユニファイドメモリ構成)』 をベースに据えるのが、時間単価でもSSD寿命でも最も合理的な選択です。

まとめ:最上位AIに環境診断と排他制御を構築させる手順

最後に、AIコーディングのクォータ節約・競合防止・スキル隔離の要点を振り返ります。

✅ クォータ激減と事故を防ぐ自律型AI開発・4大鉄則
  • 関連作業の途中で無闇に /clear(新規チャット)を開かずKVキャッシュを活かす : 同じ記事や同じコード群の連続作業は同じチャットのまま続けてキャッシュ(約90%割引)を効かせ、長くなりすぎたら /compact で圧縮し、完全に別テーマへ移る時だけ新規チャットへ切り替えましょう。

  • 推論強度(effort)の使い分けで悩まず『常時 High 固定+指示書スリム化』にする : effort: low は手戻りループで逆に消費が9%増える上、毎回人間が low か high か考える手間も無駄です。クォータがある普段は常時 High 固定にし、CLAUDE.md / GEMINI.md のオンデマンド化で消費量を34%以上削りましょう。

  • マルチエージェント・複数チャット同時指示には「ファイル排他分割」と「アトミックMutex」を入れる : 同じファイルを2つのチャットから同時に触らせず、実機テストや全体ビルド・デプロイ処理には mkdir アトミックロック(kill -0 生存確認つき)を組み込んで自動順番待ちにしましょう。

  • 78%が通信・広いシェルを使う外部スキルは「サンドボックス+YubiKey」で隔離する : 標準オフラインのサンドボックスで動かし、本番SSHやGit署名・重要アカウントは物理タッチ必須のFIDO2キーで守りましょう。

最上位モデルに本記事を読ませて安全に導入するプロンプト

「自分の開発リポジトリの指示書スリム化や、排他ロックラッパー・サンドボックス設定をミスなく整えたい」という方は、ぜひ以下のプロンプトをお使いのAIエディタへコピー&ペーストして活用してください。

ただし、境界値処理やセキュリティ設定の読み飛ばしによる手戻りを防ぐため、必ず『Gemini 4 Argon』(または同等以上の深い推論力を持つ最上位モデル)を選択した状態 で実行するのが失敗ゼロの鉄則です。

🤖 コピペ用:最上位AI(Gemini 4 Argon等)向け環境診断&構築プロンプト
https://lab.chihouzakki.com/blog/review/ai-coding-clear-cache-trap-multi-agent-mutex-skill-security/

上記の記事で解説されている「①基本指示書(CLAUDE.md / GEMINI.md / AGENTS.md等)の常時注入コア極小化とKVキャッシュを壊さない運用設計、②マルチエージェント並列時のファイル排他分割とPID生存確認つきアトミックmkdirロック(Mutex)、③外部スキルの通信・シェル権限監査とサンドボックス隔離」をすべて精読してください。

【厳守してほしい手順】
1. いきなり既存のファイルを書き換えたり削除したりせず、まず私の現在のOS環境・シェルの種類・リポジトリ内の基本指示書のサイズと行数・導入済みスキルやテスト実行スクリプトの構成を読み取り専用で調査してください。
2. 調査結果をもとに、「指示書のどこをオンデマンド化すれば初期トークンを削れるか」「どの共有リソース(実機・ブラウザ・DB・ビルド等)に排他ロックを入れるべきか」「外部通信や広いシェル権限を持つ要注意スキルがないか」の診断レポートと改修計画を提示してください。
3. 私が計画に合意してから、バックアップを取った上で1ステップずつ安全に実装・動作検証を行ってください。
Yubico YubiKey 5C NFC(USB-C / NFC対応 FIDO2物理セキュリティキー)

Yubico YubiKey 5C NFC(USB-C / NFC対応 FIDO2物理セキュリティキー)

Apple Mac mini(M4 Pro 等 Appleシリコン Pro系チップ・64GBユニファイドメモリ構成)

Apple Mac mini(M4 Pro 等 Appleシリコン Pro系チップ・64GBユニファイドメモリ構成)

※本記事の内容および試算は、2026年11月時点の各検証レポート・公表報道および一般的なPOSIX/macOS開発環境にもとづく技術解説・モデル試算(推論)です。お使いのAIツールの料金プラン・キャッシュ仕様や社内セキュリティポリシーに合わせて設定を適用してください。

排他制御とサンドボックスで静かに安全稼働するMacの横で熟睡する猫様
ノルウェージャンフォレストキャット

関連作業はキャッシュを消さずに賢く続けて、実機の取り合いや怪しいスキルはロックと物理キーでしっかり守れば夜もぐっすり眠れるニャ!