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

Sgai: ゴール駆動型マルチエージェントソフトウェア開発ツール
Tools

Sgai: ゴール駆動型マルチエージェントソフトウェア開発ツール

Sgaiは、GOAL.mdファイルで定義されたソフトウェア目標を実行するためにAIエージェントを調整するオープンソースのGoツールです。目標をDAGワークフローに分解し、完了ゲートのテストを実行し、監視用のWebダッシュボードを備えてローカルで動作します。

OpenClawRadar
🦀
Tools

外科的GitHub抽出:1つの関数だけを取得するClaudeスキル

新しいオープンソースのClaude Skill「surgical-github-extraction」は、関数やパターンだけを取得したいときに、Claude Codeがリポジトリ全体をクローンするのを防ぎます。READMEを読み、生のソースファイルを1〜3つ取得し、最小限の有用なユニットを出典コメント付きで抽出します。

OpenClawRadar
パイロット:Claude Codeで完全に構築されたブラウザ自動化ツール
Tools

パイロット:Claude Codeで完全に構築されたブラウザ自動化ツール

非開発者がClaude Codeを使用してPilotを構築しました。これは、アクセシビリティツリーのナビゲーションを通じてAIがブラウザを制御できるChrome自動化ツールです。このツールはクリック可能な要素に番号を割り当て、Claudeが画面位置を推測する代わりに「click 5」のようなコマンドを発行できるようにします。

OpenClawRadar
認知科学の技術がLLMの創造性を向上:Claudeコード用 /reframe スラッシュコマンド
Tools

認知科学の技術がLLMの創造性を向上:Claudeコード用 /reframe スラッシュコマンド

RedditユーザーがClaude Code用の/reframeスラッシュコマンドを開発し、距離-関与振動と呼ばれる認知科学技術を実装した結果、3つのオープンウェイトLLMでのテストにおいて創造的問題解決能力が40%向上しました。

OpenClawRadar