
ブログ1記事の修正でAIは何回ファイルを読む?68回のDB照会と丸読み破産の実測録
人間の感覚からすれば、「公開済みのレビュー記事に、あとから撮影した実測写真を 1 枚追加して数行の解説を足すだけ」 というのは、ほんの 3 分で終わりそうなごく小さな修正作業に見えます。しかし、数百本の記事と厳格な表記ルール・商品辞書・内部リンク網を抱えるブログ環境において、AI エージェントが「過去記事や型番、システム設計と 1 bit も矛盾を起こさずに」その 1 枚の写真を組み込もうとしたとき、裏側では一体何回ファイルが読み書きされているのでしょうか。
今回、サーモス「真空断熱コーヒーサーバー TTF-720」実機レビュー に「朝 8 時頃にドリップしたコーヒーが、約 8 時間半後の 16 時 38 分でも 48.6℃ を維持していた温度実測写真 1 枚」を追記し、その過程で見つかった SQLite 未対応の抜け穴 2 箇所まで改修したセッション(会話 ID 71d216f4)の稼働トランスクリプト(transcript.jsonl)を完全解剖しました。
結論からお伝えすると、このセッション(AI 純稼働 38.1分・Planner 推論 57回)の裏側で、AI エージェントは 合計 124回 のツール呼び出し(うち Pure Rust 製 kb-search による SQLite 照会が延べ 68件) を実行していました。もし SQLite によるミリ秒単位のピンポイント抽出が無く、一般的な AI 開発環境のように毎回ファイルを直接 grep や read_file で丸読みしていた場合、直接参照した管理文書・商品辞書・主要 Rust コードの原寸合計だけでも 約 2,380KB(約 2.3MB)、公開記事 756記事 の横断検索まで含めれば 約 12MB 超 の生テキストがコンテキストへ雪だるま式に流れ込み、深刻な速度低下と利用枠(クォータ)枯渇――すなわち 「見えない I/O 破産」 を引き起こしていたことが判明しました。本記事では、延べ 68 件の DB 照会の全内訳と、その場で塞いだ「最後の 2 つの丸読みの抜け穴(公開 MDX 全文格納+飛び地複数範囲 1 コール抽出:8.90ms)」の実測データをすべて公開します。
-
サーモス「真空断熱コーヒーサーバー TTF-720」実機レビュー|内面セラミック加工とHARIOアームスタンド適合検証 : 今回の「8 時間半後 48.6℃ の温度実測写真 1 枚追記」の舞台となった、内面セラミック加工サーバーの実機検証記事です。
-
AI開発のファイル丸読みをゼロにするSQLite構造化術|コード・GSC・SKILL全統合の実測録 : 記事原稿だけでなくシステムコード・環境変数・Search Console生JSON・外部SKILL・MCPまで全資産をSQLiteへ直結した基盤設計の全体像です。
-
AIエージェントのトークン節約とSQLite直結術|仕様書1コール化とCarbon並列監査で週間枠1%の実測録 : 1,051 行の詳細仕様書を SQLite から 1 コール・数ミリ秒で引き当て、最上位モデル並列稼働でも週間枠消費を 1〜2% に抑え込んだ設計録です。
-
CLAUDE.md・GEMINI.md・TODO丸読みの罠|SQLite階層目次で読込99%減の実測録 : 肥大化したルールファイルや未執筆 TODO 台帳を AI が毎回丸読みする無駄を、SQLite の階層インデックスで 99% 削減した検証記録です。
-
「ちょっとした記事修正やコード変更を頼んだだけなのに、AI の応答がだんだん遅くなり、利用枠(クォータ)が急減する」と悩んでいる方
-
AI エージェントが裏側で 「何回ファイルを読み、何キロバイトのテキストをコンテキストへ積んでいるのか」 を実測ログで知りたい方
-
ルールファイル、商品辞書、プログラムコード、そして 公開記事の Markdown / MDX 全文 までを SQLite に一元化し、ミリ秒単位で飛び地抽出する具体的な設計を知りたい方
写真1枚の追記でAIは裏で何回動いたか
まずは、今回の検証の発端となった「人間側のリクエスト」と、それに対して AI エージェントが裏側で実行した生ログ(transcript.jsonl)の全体像から見ていきましょう。
発端は8時間半後48.6度の温度写真1枚
事の発端は、同日に公開したばかりの サーモス「真空断熱コーヒーサーバー TTF-720」実機レビュー に対する、とてもシンプルな追記作業でした。
朝の 8 時頃 に約 85℃ 前後のお湯でペーパーフィルターをリンスした際、うっかりそのお湯を捨て忘れたままサーモス TTF-720 の口元近く(約 750cc 満杯)までドリップし、日中に半分ほど飲んでフタを閉め室温に置いておいたところ、約 8 時間半が経過した夕方の 16 時 38 分 に防水デジタル温度計(タニタ TT-508N)のセンサー棒を差し込んで測っても、しっかり温かい 48.6℃ をキープしていました。「スマートフォンで撮影したこの温度実測写真 1 枚を WebP に変換して、記事の保温検証セクションへ追記しよう」というのが、最初のオーダーです。

写真を 1 枚 WebP に変換して、記事の途中に数行の文章と一緒に差し込むだけですよね。人間が手作業でやるなら、エディタで記事を開いてコピペして 3 分から 5 分くらいで終わりそうな作業に見えますが……。

ところが、AI エージェントは人間のように「さっき自分が書いた記事だから、何行目に何があるかだいたい覚えている」というわけにはいきません。既存の文脈や型番、アフィリエイト ID、前後の見出し文字数上限と 1 ミリも矛盾しないよう、徹底的な裏付け(エビデンス)照会を裏側で走らせるんです!
ちなみに、この保温テストで「8 時間半後でも 48.6℃・金属臭ゼロ」という実力を発揮した内面セラミック加工の『サーモス 真空断熱コーヒーサーバー TTF-720』と、0.5 秒間隔で液温を正確に測れる防水温度計『タニタ デジタル温度計 TT-508N』は、毎日のコーヒー環境を劇的に快適にしてくれる名コンビです。
稼働ログが暴いた124回のツール呼び出し
では、この「温度写真 1 枚の追記」と、その作業中に画面の読み込み表示(Analyzed)から発覚した「SQLite 未対応だった 2 つの抜け穴の改修」を終えるまでに、AI エージェントは一体どれだけ動いていたのでしょうか。
Pure Rust 製のログ解析コマンド(./scripts/run_kb_search.sh brain 71d216f4)を使って、セッション全体の稼働トランスクリプト(transcript.jsonl)を集計した一次実測データがこちらです。
-
セッション所要時間と推論ステップ : 壁時計
40.8分(AI 純稼働時間38.1分) / ユーザー入力6ターン/ Planner 推論ステップ57回 -
ツール呼び出し総数(計
124回)の内訳 :kb-search(SQLite 知識ベース照会・検索・カルテ生成) : 延べ68件(全体の約 55%)gemini-gate(4ms 機械検問・EXIF 解析・WebP 画像変換) :9回read_file(ファイル・画像の直接読み込み) :9回(うち実機写真・回転確認画像の目視チェックが5回、初期ルール・記事読込等が4回)edit_file/ ビルド・本番転送・Playwright 検証等 : 残り38回
-
API トークン消費量とキャッシュ効率(実測) :
- 新規入力(Fresh Input) :
832,264トークン - キャッシュ読込(Cached Input) :
6,891,184トークン(キャッシュヒット率89.2%) - AI 出力(Output) :
51,246トークン
- 新規入力(Fresh Input) :

たった 6 回の会話ターンの裏で、AI は 57 回も思考を回し、合計 124 回もツールを叩いていた のかニャ!しかもそのうち 延べ 68 件が SQLite データベースへの照会 だったなんて、外からチャット画面を見ているだけでは絶対に気づかない運動量だニャ。
注目すべきは、124 回のツール呼び出しのうち、生の read_file がわずか 9 回(しかも半分以上の 5 回は、写真の上下向きや 48.6℃ の液晶表示を確認するための画像目視)に抑え込まれ、テキスト情報の取得のほぼすべてが延べ 68 件の SQLite 照会で処理されていた という事実です。
なぜ1記事の修正で68回もDBを引くのか
「なぜ記事を 1 本直してシステムを少し整えるだけで、68 回もデータベースを引く必要があるのか?」と不思議に思われるかもしれません。
しかし、公開記事総数 756記事(うち実機レビュー等の検証録 358記事)、ルール・設計書合算 1,347行 を超える当ラボの規模になると、1 箇所の修正が他の記事やシステムと矛盾しないかを確かめるために、以下の 5 つのレイヤー で膨大な照合が必要になります。
過去記事と型番と商品辞書の整合性照合
第 1 の理由は、「過去の関連記事で書いた製品スペックや型番、アフィリエイト ID との完全一致確認」 です。
たとえば「タニタの温度計で 48.6℃ を測った」と数行追記するだけでも、AI エージェントは以下の事実確認を裏側で実行します。
-
過去記事での記述・型番の裏取り : 追記対象である サーモス「真空断熱コーヒーサーバー TTF-720」実機レビュー をはじめ、過去に同じ温度計(
TT-508N)が登場したコーヒー検証記事群で、センサーの更新間隔(0.5 秒)や防水規格(IPX7)をどう記述していたかを横断検索します。もし全 756記事 の生 MDX ファイル(合計 約10MB超)を直接全文走査すれば巨大な負荷になりますが、SQLite FTS5 Extension 公式ドキュメント に基づく全文検索テーブルを使えば、実測6.93〜7.73msで該当する数行(約3〜4KB)だけを抽出できます。 -
アフィリエイト商品辞書(257商品)の ID 照合 : 記事内で
<AffiliateCard>を呼び出す際、既存の TypeScript 定義ファイル群(全 257 本・合計1,351.4KB)の中にtanita-thermometer-tt508nやthermos-coffee-server-ttf720がすでに登録されているか、表記揺れや重複が無いかを確認します。これもファイルをgrepするのではなく、SQLite のaffiliatesテーブルを引くことで実測1.60〜3.41ms・わずか 約0.8KBの出力で即座に確定します。
投稿ルールと逆リンク枠のミリ秒算出
第 2 の理由は、「執筆ルール(目次文字数・太字記法・画像配置)の確認と、関連記事との双方向リンク枠の計算」 です。
当ラボでは、目次の 2 行折り返しを防ぐ「H2 は 30 文字以内・H3 は 28 文字以内」といった書式規定や、孤立記事を作らないための双方向リンク規定を厳格に定めています。
-
フル仕様書・投稿ルールのピンポイント抽出 : フル仕様書
docs/GEMINI_MANUAL.md(1,051行・436.6KB)とレビュー記事規定REVIEW_POST_RULES.md(233行・46.2KB)を丸読みすれば約483KBになりますが、SQLite のmanualサブコマンドなら実測2.89〜18.54msで必要な 1 節(約3KB)だけを取り出せます。 -
対象記事の構造&逆リンク空き枠の一括カルテ生成(
prep edit) : 編集対象のthermos-ttf720記事(追記前359行→ 追記後392行・10,306字)の見出し構造、物理行番号マップ、さらに強関連 6 記事の「合わせて読みたい枠」の現在の本数と挿入可能な行番号を、./scripts/run_kb_search.sh prep editの 1 コール(実測183.95ms)で一括算出しています。 -
Pure Rust システムコード(55本・計3,522.7KB)の関数行範囲抽出 : 後半の抜け穴改修で触った主要 Rust ファイル4本――
db_sync.rs(4,571行・168.0KB)、workflow_prep.rs(4,302行・160.1KB)、doc_nav.rs(4,136行・152.8KB)、mdx_dissect.rs(2,015行・71.2KB)――も、ファイルを丸ごとread_fileせず、SQLite のtree <file> L開始-L終了 --fullを使うことで実測3.31〜5.14msで指定の 50〜100 行(約2〜4KB)だけを取得しました。
丸読み約2.3MBとSQLite抽出の比較
ここで、もし SQLite(kb-search)が存在せず、一般的な AI エディタの標準動作のように「対象ファイルをその都度 read_file や全文 grep で読み込んでいた場合」と、今回の「SQLite ピンポイント抽出」で、データ量がどれだけ違うか を実測値で比較してみましょう。
さらに、5 つの参照カテゴリーすべての「原寸ファイル容量」と「SQLite 抽出時の実測サイズ・応答速度」を一覧表にまとめると、その圧縮率は圧倒的です。
| 照会カテゴリー | 従来のファイル直接参照(原寸サイズ) | SQLite(kb-search)抽出時のサイズ |
SQLite 実測応答時間 | 削減率・効果 |
|---|---|---|---|---|
| ① 過去記事・型番の横断検索 | 公開 756記事 生 MDX 合計:約 10,000KB(10MB)超 |
該当セクション数行:約 3〜4KB |
6.93〜7.73ms |
99.9% 削減(全文走査ゼロ) |
| ② アフィリエイト商品辞書 | TS 定義 257 本合計:1,351.4KB |
該当 1〜3 商品のみ:約 0.8KB |
1.60〜3.41ms |
99.9% 削減(型番・ID 即時確定) |
| ③ 執筆ルール・フル仕様書 | GEMINI_MANUAL(436.6KB)+ REVIEW(46.2KB)= 482.8KB |
該当 1 章節のみ:約 3.0KB |
2.89〜18.54ms |
99.3% 削減(2 往復の read_file 消滅) |
| ④ 編集対象記事+強関連6本カルテ | 対象記事+関連 6 記事を個別 read_file:約 180KB |
prep edit 構造化カルテ:約 4.5KB |
183.95ms |
約 97% 削減(7 ファイル読込を 1 コール化) |
| ⑤ 主要Rustコード4本の確認 | 主要 4 本合計:15,024行・552.1KB(全 55 本では 3,522.7KB) |
指定 50〜100 行のみ:約 2〜4KB |
3.31〜5.14ms |
99.4% 削減(4,000 行超の丸読み遮断) |
2,380KB(約 2.3MB)、公開記事全体の横断検索を含めれば 約 12MB 超 になります。SQLite のインデックス設計(The SQLite Query Planner 公式ドキュメント が解説する B-Tree 索引および FTS5 転置インデックス)を介することで、AI は毎回 わずか 0.8〜4KB・数ミリ秒 の軽量レスポンスだけで 68 回の裏取りを完遂していたのです。
画面の読込表示から発覚した2つの抜け穴
ところが、この温度写真の追記作業を進めている最中、チャット画面のツール実行ログに Analyzed .../review_post_rules.md および Analyzed .../thermos-ttf720.../index.mdx という、本来なら出るはずのない「直接ファイル読み込み(read_file)の表示」が 2 回現れました。

あれっ?仕様書もコードも全部 SQLite に入っているはずなのに、どうして AI はわざわざファイルを直接 read_file して Analyzed を出したのですか?

そこが今回の検証で一番面白い発見でした!「ほぼ完璧に SQLite 化したつもり」だったシステムの中に、まだ 2 つだけ見落とされていた『丸読みの抜け穴』 が残っていたんです。その場で原因を特定し、即座にプログラムを改修して塞ぎました!
条件付きルールが毎回13.1KBを読む罠
1 つ目の抜け穴は、AI エディタのルール設定フォルダ(.agents/rules/)に残っていた review_post_rules.md(13.1KB) という条件付きルールファイルでした。
このファイルにはフロントマターで trigger: model_decision(AI がレビュー記事に関係すると判断した時に読み込む設定)が指定されていました。その結果、せっかく SQLite 側に REVIEW_POST_RULES.md の全章節が入っているにもかかわらず、システムプロンプト側が「レビュー記事を触るなら、まずこの 13.1KB のファイルを read_file せよ」と毎回強制的に誘導していた のです。
-
問題の本質 :
trigger: model_decisionの別ファイルが存在すると、AI は律儀にそのファイル全体をread_fileで読み込み、毎セッション13.1KBの固定コンテキスト枠を消費してしまいます。 -
実装した恒久対策 :
.agents/rules/review_post_rules.mdを物理削除して廃止し、常時読み込まれるコア憲法(GEMINI.md)には わずか 2 行の要点 だけを残しました。そして詳細が必要な時だけ、SQLite の./scripts/run_kb_search.sh manual "<節番号|語句>"から数ミリ秒で該当節を引く設計へ完全一本化しました。
公開MDXの全文格納と複数範囲1コール抽出
そして 2 つ目の、さらに重大な抜け穴が 「公開記事(index.mdx)の import 行の欠落と、飛び地行範囲の取得」 でした。
これまで当ラボの SQLite(kb-search)では、Rust や TypeScript などの「システムコード」については全文を DB に格納し、tree <file> L10-L50 --full で任意の行範囲を取り出せるようになっていました。しかし、肝心の 公開ブログ記事(src/content/blog/**/*.mdx)については、見出し構造(article_sections)しか DB に保存しておらず、MDX の生テキスト全文(特にフロントマター直下の import 文が並ぶ行)を SQLite から直接見る手段が無かった のです。
そのため、AI エージェントは「新しい画像 import を何行目に追加すべきか」と「本文後半の保温検証セクション(280 行目付近)がどう書かれているか」を確認するために、結局 index.mdx を直接 read_file していました。しかも、もし行範囲抽出ができたとしても、「冒頭の L40-L55(import 群)」と「後半の L278-L320(追記箇所)」を別々に呼べば、SQLite を 2 回叩く(2 往復する)無駄 が発生します。
そこで、その場で Pure Rust 製の kb-search(db_sync.rs および doc_nav.rs)を改修し、以下の新機能を実装しました。
-
SQLite スキーマ
4.4でarticles.raw_mdxカラムを新設 : 全 756記事 の公開 MDX ファイルの生テキスト全文をarticles.raw_mdxに格納し、import文の行番号一覧もkb-search tree <slug> importsで即座に引けるようにしました。 -
カンマ区切りの飛び地行範囲(
L40-L55,L278-L320)の 1 コール同時抽出 :./scripts/run_kb_search.sh tree thermos-ttf720 L40-L55,L278-L320のように、離れた複数の行範囲をカンマ(,)で繋いで指定すると、1 回のツール呼び出しで両方の行範囲を同時に抽出する機能 を実装しました。 -
実測わずか
8.90msでedit_fileの Target 文字列が完全確定 : 実際にこのコマンドを実行したところ、392 行の記事から「冒頭のimport行群」と「後半の保温テスト記述」の 2 箇所(計 58 行分)が 実測8.90ms・1 ツールコール で出力され、index.mdxを 1 度もread_fileせずにedit_fileへ直行できるようになりました。
この「飛び地複数範囲の 1 コール抽出」がどのように往復回数を削り落とすのか、処理フローを図解すると次のようになります。
prep edit を呼び出し、記事全体の見出し行番号マップと関連リンク空き枠を 1 回で取得する。
tree <slug> L40-L55,L278-L320 で、冒頭 import と後半本文を SQLite から同時抽出。
取得した正確な行テキストをそのまま edit_file の Target に渡し、最小トークンで修正完了。
このように、AI の挙動ログ(Analyzed の有無や transcript.jsonl)を観察し、無駄なファイル読み込みを見つけたら即座に Rust で CLI 側を改修するサイクルこそが、自律開発の精度と速度を支える心臓部です。Pure Rust による高速 CLI ツールや SQLite 連携の実装を深く学びたい方には、以下の解説書が非常に参考になります。
見えないファイル丸読み破産を防ぐ経済合理性
ここまで見てきた「延べ 68 件の SQLite 照会」と「2 つの抜け穴潰し」は、単なるマニアックな高速化チューニングではありません。AI エージェントを実務で毎日使い倒す上での 「時間とコストの経済合理性」 に直結しています。
二乗で膨らむ文脈とキャッシュ89.2%の威力
大規模言語モデル(LLM)を使ったエージェント開発には、初心者が必ずと言っていいほど陥る罠があります。それが 「1 回のファイル丸読みは数千〜数万トークンでも、ステップが進むと (ステップ数の二乗)で総通信量が膨れ上がる」 という構造です。
今回のセッションでは、Planner(AI の頭脳)が 57 回 推論を回しました。もし最初の 10 ステップで管理文書や商品辞書、Rust コードを計 2.3MB(約 60 万〜80 万トークン相当)丸読みしてコンテキストに載せてしまったらどうなるでしょうか。残りの 47 ステップすべてにおいて、毎回その巨大な過去ログが API へ再送信され続け、1 セッションだけで数千万トークンを浪費してしまいます。
-
毎回のファイル丸読みが文脈に残留 :仕様書(482KB)や商品辞書(1.35MB)、コード(552KB)を直接読むたびコンテキストが肥大化
-
57 ステップの再送で二乗膨張 :膨らんだ履歴が毎ターン再送信され、後半ほど AI の応答待ち時間が長くなり注意力も散漫化
-
利用枠(クォータ)の早期枯渇 :「写真を 1 枚足しただけなのに 5 時間制限の半分が溶けた」という見えない I/O 破産が発生
-
68 回照会しても1回あたり0.8〜4KB :必要な数行だけを SQLite から数ミリ秒で抜き出すため、57 ステップ進んでも履歴が極めてスリム
-
コンテキストキャッシュ 89.2% ヒット :不変のシステム指示とスリムな履歴により、
6,891,184トークンが高速キャッシュ読込で処理 -
新規入力はわずか 83.2 万トークン :38 分間・124 ツールコールをフル稼働させても、新規入力トークンを最小限に抑制
実際に、Context caching | Gemini API | Google AI for Developers の仕組みが最大限に機能した結果、今回のセッションでは総入力約 772 万トークンのうち 89.2%(6,891,184 トークン)がキャッシュヒット し、新規入力(Fresh Input)は 832,264 トークン に収まりました。余計な生ファイルをコンテキストに混ぜないことが、結果としてキャッシュ効率と応答速度を劇的に高めるのです。
待ち時間と手戻りを消す上位プランの投資対効果
さらに、この「SQLite によるミリ秒抽出」を Google AI Ultra(20x / 5x) のような大容量プランと組み合わせると、開発者にとって最大の資産である「自分の時間」を圧倒的に節約できます。

たしかに、ファイルを毎回丸読みさせて 1 ステップごとに 15 秒も 20 秒も待たされたあげく、コンテキストが溢れて型番ミスやリンク切れの手戻りが起きたら、人間の待ち時間とストレスがとんでもないことになりますね……。

そうなんです!仮に人間の作業時間を控えめに時給 3,000 円〜5,000 円と置いた場合(推論)、AI のファイル丸読みによる待ち時間や、過去記事との整合性ズレを手作業で直す手戻りが 1 日 30 分発生するだけで、月間 15 時間(約 45,000 円〜75,000 円相当)の損失になります。ローカルの SQLite 整備は API 代をケチるためではなく、「最上位モデルに一切の迷いも待ち時間も無く、一発で完璧な仕事をさせるため」 の投資なんです!
Gemini 4 Carbon や Argon)を動かせる枠を確保した上で、ローカル側を Pure Rust と SQLite でミリ秒レスポンスに鍛え上げれば、「1 記事の写真追記で裏側 68 回の DB 照会とシステム改修までを自動完遂しても、利用枠の心配ゼロ・手戻りゼロで次の作業へ即座に進める」 という最高の開発体験が手に入ります。
まとめ:自環境へミリ秒抽出を導入する手順
今回の「温度実測写真 1 枚の追記セッション(会話 ID 71d216f4)」のトランスクリプト解剖と、その場で実装した SQLite 改修の要点を振り返ります。
-
写真1枚の追記の裏で124ツールコール・68回のDB照会 : 過去記事の型番裏取り、257 商品のアフィリエイト辞書照合、1,051 行の仕様書確認、逆リンク枠の算出、システムコード確認など、1 bit の矛盾も防ぐために AI は裏側で 延べ
68件の SQLite 照会 を行っていました。 -
丸読み換算約2.3MB(全記事含め約12MB超)を数KBへ圧縮 : 直接関わった管理文書・辞書・主要 Rust コードだけでも原寸合計は 約
2,380KB(約2.3MB) に達しますが、SQLite 抽出により 1 回あたり 約0.8〜4KB・実測1.60〜18.54msへ 99% 以上圧縮し、キャッシュヒット率89.2%を達成しました。 -
最後の2つの抜け穴(条件付きルール&MDX複数範囲抽出)を完全解消 : 毎回
13.1KBのread_fileを誘発していた条件付きルールファイルを廃止して SQLitemanualへ一本化し、さらに公開記事全文(articles.raw_mdx)の格納とL40-L55,L278-L320のようなカンマ区切り飛び地行範囲の 1 コール抽出(実測8.90ms) を実装しました。
最後に、読者の皆さまがご自身のブログ運営・ソフトウェア開発環境(Antigravity / VS Code / Claude Code 等)へ、本記事で解説した「公開記事・コード・辞書の SQLite 全文格納+カンマ区切り複数行範囲の 1 コール抽出」を導入するための コピペ用プロンプト をご用意しました。
※既存の検索スクリプトや DB スキーマを壊さず、ご自身の環境に最適な形で一発構築させるため、必ず『Gemini 4 Argon』や『Gemini 4 Carbon』等の最上位推論モデルを選択した上で、以下のプロンプトを貼り付けて実行してください。
あなたは私の熟練した開発パートナーです。
まず以下の実機検証記事URLを読み込み、そこで解説されている「AIエージェントの見えないI/O破産(ファイル丸読み)の防止」と「SQLiteによるミリ秒単位のピンポイント抽出&カンマ区切り複数行範囲の1コール抽出」の設計思想を完全に理解してください。
【参照記事】
https://lab.chihouzakki.com/blog/review/ai-blog-single-edit-hidden-file-io-sqlite-anatomy/
【あなたに実行してほしい手順】
1. いきなりコードを書き換えたりファイルを生成したりせず、まず当プロジェクトの現在のディレクトリ構成、記事やドキュメントの形式(Markdown / MDX / コード等)、ルール設定ファイル(.agents/rules や CLAUDE.md / GEMINI.md 等)、および既存の検索スクリプトやDBの有無を事前調査してください。
2. 調査結果に基づき、以下の3点を当プロジェクトの環境に合わせて導入するための「具体的な実装計画(Implementation Plan)」を日本語で提示し、私の合意を得てください:
- 毎回不要な read_file(Analyzed)を誘発する条件付きルールや巨大ファイルの丸読み箇所の特定とスリム化
- 仕様書・商品/設定辞書・ソースコード・記事本文(raw_mdx等)をSQLiteへ同期し、数ミリ秒で検索できる仕組み
- 1つのファイル内の離れた複数箇所(例:冒頭のimport群と後半の編集対象セクション)を「L40-L55,L278-L320」のようなカンマ区切り指定によって1ツールコールで同時抽出できるCLI機能の実装
3. 私の承認後、バックアップを取りながら安全に実装と動作テストを行ってください。「ちょっとした修正なのに AI の動きが重い・枠が減る」と感じたときは、ぜひ AI が裏側でどんなファイルを何回読んでいるのかを覗いてみてください。小さな丸読みの抜け穴を 1 つ塞ぐたびに、相棒である AI エージェントは驚くほど軽快に、そして正確に動いてくれるようになります!



