◉ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
⬡ 連携・プラグイン/2026-07-06上級

自分のコードベースを Gemini 埋め込みと sqlite-vec で意味検索する — git 差分だけを再インデックスする増分パイプライン

自分のリポジトリを対象にした意味検索を、Gemini 埋め込みと sqlite-vec で構築する実装記録です。git の blob ハッシュで未変更ファイルの再埋め込みをスキップする増分パイプラインと、インデックスサイズ・クエリ遅延の実測値をまとめました。

gemini19embeddingssqlite-vecsemantic-searchpython26antigravity461

✦ プレミアム記事

古い壁紙アプリのリポジトリで「サムネイルのキャッシュ破棄をどこに書いたか」を思い出せず、grep を三通りの語で叩いて空振りした夜がありました。関数名が evictThumbnail だったのに、私の頭の中の言葉は「キャッシュを消す処理」だったからです。

文字列検索は、書いた本人の語彙と一致しなければ何も返しません。ここを埋めるのが意味(セマンティック)検索です。Antigravity のエージェントに大きなリポジトリを触らせるときも、根拠となる箇所を素早く絞り込めるかどうかで、往復の回数がまるで変わります。

この記録では、自分のリポジトリだけを対象にした軽量な意味検索を、Gemini の埋め込みと sqlite-vec で組み立てます。個人開発で数年放置していたコードにも耐えるよう、git の差分だけを再インデックスする増分パイプラインにしました。実測したインデックスサイズと検索遅延も併せて公開します。

文字列検索では届かない場所

grep や IDE の検索は、トークンの一致を前提にしています。速くて正確ですが、語彙が一致しない問い合わせには沈黙します。「認証トークンの有効期限を延ばす箇所」と頭で考えても、コードに書いてあるのは refreshSession かもしれません。

意味検索は、コードと問い合わせの両方をベクトルに変換し、近いものを返します。完全一致ではなく「意味が近い」で拾えるため、うろ覚えの問いに強いという性質があります。

ただし外部サービスに丸ごとコードを預けたくはありません。私の場合、App Store と Google Play で配信中のアプリのソースが対象になります。そこでインデックスは手元の SQLite に閉じ込め、埋め込みの計算だけを Gemini API に任せる構成にしました。

三つの部品に分けて考える

全体は三つの部品に分解できます。役割を分けておくと、あとで差し替えが効きます。

部品役割使うもの
チャンカーソースを関数・クラス単位に切り出すPython の ast
エンベッダーチャンクとクエリをベクトル化するgemini-embedding-001
インデックスベクトルを保存し近傍検索するsqlite-vec

この分割の利点は、埋め込みモデルを差し替えても、チャンカーとインデックスの層に手を入れずに済むことです。逆にチャンクの切り方を変えても、保存層はそのまま使えます。

✦

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
✦git の blob ハッシュで未変更ファイルを判定し、再埋め込みを平均92%スキップする増分インデックスの実装
✦gemini-embedding-001 を output_dimensionality=768 で使い、1,850チャンクを約1.2MBの sqlite-vec インデックスに収めた実測値
✦シンボル単位チャンクとレイテンシ分解(クエリ埋め込み〜vec検索)で、体感を左右する遅延の内訳を数値で示す
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • ✦コピー&ペーストで使える実装コード付き
  • ✦毎日新しい上級ガイドを追加
  • ✦¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

⬡ 連携・プラグイン2026-09-05
GOOGLE_GEMINI_BASE_URL を差し替えても、鍵の持ち主は変わりません
Antigravity CLI の宛先を自前のゲートウェイへ向けたとき、手元の API キーがどこまで運ばれるかを受け側で記録しました。クロスホストのリダイレクトで Authorization は落ちるのに API キーヘッダーは残る、という挙動差の実測と、鍵を端末から外すゲートウェイの組み方を書き残します。
⬡ 連携・プラグイン2026-04-22
Antigravity API を Python で本番運用する前に必ず入れる3つの保護装置
ローカルでは動いたのに本番でレート制限に落ちた経験から、Antigravity API の Python 運用に必ず入れる3つの保護装置をまとめました。指数バックオフ+ジッター、タイムアウト、サーキットブレーカーの連携動作を障害タイムラインで示します。
⬡ 連携・プラグイン2026-10-07
画像モデルの終了日は 10月29日 — エージェント構成の「画像を呼ぶ箇所」を洗い出して、戻り先つきで切り替える
Gemini API の deprecations 表で、画像モデル gemini-3.1-flash-image に 10月29日の終了日が付いていました。設定ファイルやコードに散らばった呼び出し箇所を台帳と突き合わせ、切り替え日と戻り先を決めておくまでを、動くスクリプトで残します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます