ハーネスとキャッシュヒット率とは?どういう関係性があるかなど初心者向けに詳しく解説します。
ハーネス(Harness)とは
ハーネスとは、大規模言語モデル(LLM)をエディタや開発環境(CLI、VSCode等)に接続し、自律的なコーディングやタスク実行を行わせるための制御・仲介フレームワーク(実行基盤ツール)を指します。
主な役割は以下の通りです。
| 役割 | 内容 |
|---|---|
| コンテキスト管理 | プロジェクト内のファイルツリー、関連コード、エラーログなどを自動で収集・要約し、プロンプトへ注入する。 |
| ツールの実行制御 | LLMが出力したコマンド(ファイル作成、編集、テスト実行など)を安全にパースし、OS環境(WSL2やターミナル等)上で自動実行する。 |
| プロンプト構造化 | システムプロンプトや会話履歴を最適化し、モデルが正しく機能するように整形する。 |
プロンプトキャッシュとキャッシュヒット率の仕組み
プロンプトキャッシュとは
LLMへのリクエスト時、前回送信した内容と同一のプロンプト部分(共通プレフィックス)をAPIプロバイダ側で再利用(キャッシュ)する仕組みです。 これにより、推論の処理速度向上と大幅なAPI料金の割引が適用されます。
キャッシュヒット率
APIへ送信したトークンのうち、キャッシュとして再利用できたトークンの割合を指します。
| 用語 | 内容 |
|---|---|
| キャッシュヒット | 以前送信したプロンプト(コードベースやシステム指示など)と先頭から一致しており、割引料金(キャッシュ読み取り料金)が適用される状態。 |
| キャッシュミス | 一致せず、通常の入力料金(高額)が請求される状態。 |
ハーネスによってキャッシュヒット率が変わる理由
LLM APIのプロンプトキャッシュは「プロンプトの先頭から完全に一致しているトークン列」に対してのみ適用されます。 そのため、ハーネス側のプロンプト構築設計によってヒット率に差が生じます。
| 要因 | キャッシュヒット率が高いハーネス | キャッシュヒット率が低いハーネス |
|---|---|---|
| プロンプト順序 | 静的情報(システムプロンプトや読み込みファイル)を先頭に固定する | 毎ターン変化する情報(現在時刻や可変の会話履歴)を先頭付近に置く |
| 差分更新 | 変更のないファイル内容の並び順を固定・維持する | リクエストごとにファイルの読み込み順やコンテキストを並び替えてしまう |
| 会話ログの保持 | 過去のツール呼び出しログを構造を崩さず末尾に追記する | 過去ログを都度再編集・要約して先頭部分を破壊する |
コストに与える影響
コーディングエージェントでは毎回大量のソースコード(数万〜数十万トークン)をコンテキストとして送信するため、キャッシュヒット率のわずかな差が運用費に直結します。
| 項目 | 内容 |
|---|---|
| 価格差の影響 | APIによってはキャッシュミス時の入力料金がヒット時の数十倍〜100倍以上高く設定されています。 |
| 試行回数の差 | ヒット率を95%〜99%以上に維持できるハーネス構成を採用することで、同じ予算でも試行回数(推論回数)を大幅に増やすことが可能になります。 |
関連コンテンツ

トップページ
AI超入門部とは?「AIを使ってみたいけれど、何から始めればいいかわからない」そんな方のための超入門サイトです。汎用・リサーチAI日常の調べ物や文章作成、膨大な資料の解析に役立ちます。主要サービスの入門集Copilot超入門Gemini超入...

コメント