AIエージェントのための複雑な検索パイプラインを、シンプルなgitコマンドで置き換える

✍️ OpenClawRadar📅 公開日: March 20, 2026🔗 Source
AIエージェントのための複雑な検索パイプラインを、シンプルなgitコマンドで置き換える
Ad

複雑なパイプラインからシンプルなgitコマンドへ

AIエージェント向けのgitベースメモリシステム「DiffMem」を構築していた開発者は、検索レイヤーが不必要に複雑であることに気づきました。彼らは、コサイン類似度スコアリングを行うsentence-transformers、キーワード検索のためのrank-bm25、クエリを蒸留して結果を合成する2段階のLLMパイプライン、そして依存関係としてscikit-learnとnumpyを使用していました。これにより、3GBのDockerイメージ(sentence-transformersがPyTorch全体を取り込む)、約10%の確率で発生する高負荷ユーザーへのタイムアウト、そして毎回メモリ内BM25インデックスを再構築するコールドスタートが発生していました。

気づき:LLMはすでにgitを知っている

重要な洞察は、UnixコマンドがどのLLMのトレーニングデータにおいても最も密度の高いツール使用パターンであることを認識したことから得られました。何十億ものREADMEファイル、CIスクリプト、Stack Overflowの回答には、grep、git log、catコマンドが溢れています。LLMは、その周りに構築されたカスタム検索パイプラインを必要としません。LLMはすでにシェルコマンドの言語を話しているのです。

単一ツールによる解決策

彼らは複雑なシステム全体を、たった一つのツールに置き換えました:

{
  "name": "run",
  "description": "メモリリポジトリで読み取り専用コマンドを実行する",
  "parameters": {
    "command": "シェルコマンド(|、&&、||、; による連結をサポート)"
  }
}

以上です。一つの関数だけです。エージェントは、教えられることなくgrep、git diff、headなどのUnixユーティリティをすでに知っており、シェルコマンドを記述します。

エージェントの動作方法

エージェントは、そのターン全体で固定されたプロトコルに従います:

  • エンティティマニフェストを読み取る
  • コミットログに対して時間的プローブを実行する
  • 調査を単一のツール呼び出しにまとめる
  • 検索計画を出力する
  • 停止する

エージェントはコンテンツではなく、ポインタを返します。エージェントはターン中に軽量なシグナルを読み取り(構造のためのhead -30、キーワードのためのgrep -n、最近の変更のためのgit diff HEAD~3..)、その後、コードに何を取得すべきかを指示します。コードがポインタを解決し、エージェントのコンテキストを軽量に保ちます。

Ad

実世界の例

ユーザーが仕事のプレッシャーで孤独を感じているという誕生日のメッセージを送ったとき、エージェントは以下を実行しました:

git log --format='%h %ad' --date=relative --name-only -15

これにより、wife.mdとcompany.mdが同じセッションで変更され、重要な同僚が直近3セッションのうち2つに現れたことが明らかになりました。ユーザーのメッセージは仕事について何も言及していませんでした。BM25ではcompany.mdを見つけられず、「誕生日に孤独を感じる」という意味的類似性でも到達できません。しかし、コミット履歴での共起が、実際に重要な関連性を明らかにしたのです。

ターン3では、エージェントはセミコロンで連結された9つのコマンドを含む1つのツール呼び出しを構成しました:

git diff HEAD~2.. -- memories/people/wife.md; git log --stat -5 -- memories/people/wife.md; head -30 memories/people/wife.md; grep -n "birthday|surgery|stress" memories/people/wife.md; tail -50 timeline/2026-03.md; git diff HEAD~3.. -- timeline/2026-03.md; grep -n "project|deliverable" memories/contexts/company.md; git diff HEAD~2.. -- memories/contexts/company.md; git diff HEAD~1.. -- memories/people/colleague.md

最終的な出力は、特定のgit diff、優先度レベル、トークン見積もりを含むJSON検索計画でした。コンテンツではなく、ポインタです。その後、コードがコマンドを実行し、トークン予算に対してコンテキストを組み立てました。

結果

このアプローチにより、rank-bm25、sentence-transformers、scikit-learn、numpyを削除することができました。Dockerイメージは約3GB減少しました。サーバーの起動が速くなり、メモリ使用量が大幅に削減され、コールドスタート時のBM25インデックスもなくなりました。10%のタイムアウト率は消えました。Cloud Runでの実際のユーザーロードにおいて、これはわずかな改善ではなく、異なるクラスのデプロイメントとなりました。

残ったもの:requests、openai、gitpython。

📖 完全なソースを読む: r/LocalLLaMA

Ad

👀 See Also

運命:古典東洋占星術を用いた決定論的占いのためのClaude Codeプラグイン
Tools

運命:古典東洋占星術を用いた決定論的占いのためのClaude Codeプラグイン

DestinyはClaude Codeのプラグインで、あなたの八字(四柱推命の8文字)、今日の日柱、易経の卦をPythonで決定論的に計算し、Claudeが散文的なリーディングを生成します。LLMによる幻覚のホロスコープではありません。

OpenClawRadar
OpenClaw CoreBrain プラグイン:AIコーディングエージェントのための永続メモリ
Tools

OpenClaw CoreBrain プラグイン:AIコーディングエージェントのための永続メモリ

新しいプラグイン「CoreBrain」は、情報をコンテキストウィンドウ外のナレッジグラフに保存し、各クエリの前に自動的に注入することで、OpenClawのメモリ問題を解決します。これにより、ツール呼び出しやオプションのメモリ呼び出しが不要になります。

OpenClawRadar
ClawSetによるOpenClawセットアップ支援の提供
Tools

ClawSetによるOpenClawセットアップ支援の提供

ClawSetは、OpenClawのセットアップサービスを提供し、クライアントのニーズを理解することに重点を置いています。サービスには、99ドルのセットアップ通話と1か月間のトラブルシューティングサポートが含まれます。

OpenClawRadar
コード進化法がARC-AGI-2ベンチマークでLLM性能を3倍に向上
Tools

コード進化法がARC-AGI-2ベンチマークでLLM性能を3倍に向上

研究者らは、オープンウェイトモデルを用いたコード進化により、ARC-AGI-2ベンチマークで2.8倍の改善を達成し、タスクあたり2.67ドルで34%の精度に到達しました。同手法により、Gemini 3.1 Proはタスクあたり8.71ドルで95%の精度まで向上しました。

OpenClawRadar