複雑な検索パイプラインを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

VT Code: オープンソースのRust製TUIコーディングエージェント - マルチプロバイダ対応とエージェントスキル搭載
Tools

VT Code: オープンソースのRust製TUIコーディングエージェント - マルチプロバイダ対応とエージェントスキル搭載

VT Codeは、RustベースのターミナルUI(TUI)コーディングエージェントで、Anthropic、OpenAI、Gemini、Codexをサポートし、LM StudioとOllamaを介したローカル推論も可能です。Agent Skills、Model Context Protocol、Agent Client Protocolに対応しています。

OpenClawRadar
ローカルLLMによる自律的コード生成のテスト:品質と速度のベンチマーク
Tools

ローカルLLMによる自律的コード生成のテスト:品質と速度のベンチマーク

ある開発者が、実際のGoコード生成タスクでローカルLLMをテストするためのハーネスを構築し、コンパイル成功率、フィールド抽出精度、スループットを測定しました。結果は、品質と速度の観点からモデルを比較しています。

OpenClawRadar
Open-Foundry: Claude Codeを用いたマルチエージェント議論のフレームワーク
Tools

Open-Foundry: Claude Codeを用いたマルチエージェント議論のフレームワーク

Open-foundryは、複数のClaude Codeエージェントをパネルに組み立てて複雑な質問を議論するPythonフレームワークです。完全に検査可能な推論の軌跡(トランスクリプト、オーケストレータログ、エージェントごとの作業メモ)を生成します。

OpenClawRadar
Spring Bootアプリケーション用のClaudeコードテンプレートリポジトリ
Tools

Spring Bootアプリケーション用のClaudeコードテンプレートリポジトリ

GitHubリポジトリが提供するClaude Codeテンプレートは、データベース統合、Kubernetesデプロイ、Testcontainersを使用した統合テストのベストプラクティスを備えたSpring Bootアプリケーションを生成します。

OpenClawRadar