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

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

複雑なパイプラインからシンプルなシェルアクセスへ

チームは当初、バージョン履歴をコンテキストとして利用する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..
Ad

実際の例:コミット履歴を通じた関連性の発見

ユーザーが孤独を感じていると述べた誕生日メッセージを送信したとき、エージェントは以下を実行しました:

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

これにより、wife.mdcompany.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

Ad

👀 See Also

オープンソース専門のディスパッチアダプターは、複雑なタスクをClaude Codeに委任します。
Tools

オープンソース専門のディスパッチアダプターは、複雑なタスクをClaude Codeに委任します。

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

OpenClawRadar
cc+ デスクトップアプリ for Claude Code:マルチセッション管理とフリートオーケストレーション
Tools

cc+ デスクトップアプリ for Claude Code:マルチセッション管理とフリートオーケストレーション

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

OpenClawRadar
タイトル:MCPサーバーがAIエージェントのセッション履歴をツール間で共有する方法
Tools

タイトル:MCPサーバーがAIエージェントのセッション履歴をツール間で共有する方法

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

OpenClawRadar
イントゥーノ:AIエージェントの発見と通信のためのオープンソースネットワーク
Tools

イントゥーノ:AIエージェントの発見と通信のためのオープンソースネットワーク

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

OpenClawRadar