複雑な検索パイプラインをLLMエージェント向けのシンプルなgitシェルコマンドに置き換える

複雑なパイプラインからシンプルなシェルアクセスへ
チームは当初、バージョン履歴をコンテキストとして利用するAIエージェント向けのgitベースメモリシステム「DiffMem」を構築しました。その検索レイヤーでは、コサイン類似度スコアリングにsentence-transformers、キーワード検索にrank-bm25、クエリの蒸留と結果の統合に2段階LLMパイプラインを使用していました。これにより、3GBのDockerイメージ(PyTorch依存関係による)、ヘビーユーザーでの10%のタイムアウト率、毎回インメモリBM25インデックスを再構築するコールドスタートが発生していました。
気づき:LLMはすでにgitを知っている
Unixコマンドが、数十億のREADMEファイル、CIスクリプト、Stack Overflowの回答を通じてLLMのトレーニングデータに濃密に表現されていることに気づいたことが洞察につながりました。チームは、自分たちのコードでgitから情報を抽出し、すでにgitコマンドを理解しているモデルにそれを与えていることに気づきました。
解決策:1つのツール関数
彼らはすべてを単一のツールに置き換えました:
{
"name": "run",
"description": "メモリリポジトリで読み取り専用コマンドを実行する",
"parameters": {
"command": "シェルコマンド(|、&&、||、; の連結をサポート)"
}
}
エージェントの動作方法
エージェントは固定プロトコルに従います:エンティティマニフェストを読み、コミットログに対して時間的プローブを実行、調査を単一のツール呼び出しにバッチ処理、検索計画を出力、その後停止。コンテンツではなくポインタを返し、コンテキストを軽量に保ちます。
エージェントはターン中に軽量なシグナルを読み取ります:
- 構造確認のための
head -30 - キーワード検索のための
grep -n - 最近の変更確認のための
git diff HEAD~3..
実際の例:コミット履歴を通じた関連性の発見
ユーザーが孤独を感じていると述べた誕生日メッセージを送信したとき、エージェントは以下を実行しました:
git log --format='%h %ad' --date=relative --name-only -15
これにより、wife.mdとcompany.mdが同じセッションで変更され、重要な同僚が直近3セッションのうち2つに登場していることが明らかになりました。キーワード検索(BM25)では「誕生日に孤独を感じる」からcompany.mdを見つけることはできなかったでしょうが、git履歴の時間的関連性が重要だったのです。
ターン3では、エージェントはセミコロンで連結された9つのコマンドを含む単一のツール呼び出しを構成しました:
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差分、優先度レベル、トークン見積もりを含むJSON検索計画でした。これにより、rank-bm25、sentence-transformers、scikit-learn、numpyの削除が可能になりました。Dockerイメージは約3GB減少し、サーバー起動が高速化、メモリ使用量が減少、10%のタイムアウト率が解消しました。残ったもの:requests、openai、gitpython。
📖 Read the full source: r/LocalLLaMA
👀 See Also

オープンソース専門のディスパッチアダプターは、複雑なタスクをClaude Codeに委任します。
expert-dispatchは、安価なAIアシスタントが複雑なコーディングタスクをClaude Code CLIに委任できる約500行のbashスクリプトです。dispatch-cc runなどのコマンドを使用してタスクを送信し、永続的なコンテキスト用のCLAUDE.mdを含むプロジェクトごとのディレクトリを維持します。

cc+ デスクトップアプリ for Claude Code:マルチセッション管理とフリートオーケストレーション
cc+は、Claude Agent SDKを基盤に構築されたClaude Code用のオープンソースデスクトップアプリケーションで、macOSとLinuxで利用可能です。マルチセッションタブ、ライブアクティビティツリーの可視化、セキュリティスコアリング、ワークフロー強制、フリートオーケストレーション機能を提供します。

タイトル:MCPサーバーがAIエージェントのセッション履歴をツール間で共有する方法
Loreは、AIエージェントセッションをローカルのSQLiteにインデックス化し、MCPで提供するサーバーです。どのエージェントでも、別のエージェントの最後のセッションを呼び出すことができます。外部へのデータ送信はなく、MITライセンス。

イントゥーノ:AIエージェントの発見と通信のためのオープンソースネットワーク
Intunoは、AIエージェントが能力を登録し、セマンティック検索で互いを発見し、3行のPythonコードで関数を呼び出すことができるオープンソースネットワークです。Claude DesktopやCursorで使用できるMCP統合も含まれています。