dirge-code/dirge

Dynamic Intent Resolution Grounding Engine

何を解決するか

Dirge は、安価または弱い LLM を使用しても高い信頼性を維持できるように設計された、高速で軽量な最小限のコーディングエージェントです。高メモリ消費、コンテキスト窓の劣化、セッションの継続性喪失といったエージェント型エディタの一般的な問題に対処するために、堅牢なエージェントループと階層的メモリシステムを実装しています。

動作方法

Dirge は速度と低リソース使用を目的にネイティブ Rust で記述されています。不正なツール呼び出しを修復し、ディスクに書き込む前に tree-sitter を使って書き込みを検証する「堅牢なエージェントループ」を使用しています。ベクトル埋め込みではなく、インライン grep と SQLite FTS5 を検索に使用しており、長期的な会話記憶においてより効果的だと主張しています。

コンテキストを管理するために、上限付きの予算(デフォルト 250k トークン)と二段階メモリシステムを使用しています。重要なエントリはインラインに保持され、他のエントリはブレッドクラムインデックスに降格されます。セッション終了後のオーケストレーターが学びを永続的なプロジェクトメモリとスキルに抽出します。また、LSP診断と tree-sitter を統合してコードインテリジェンスを提供し、他のエージェントからの委任用に MCP サーバーとして公開することも可能です。

対象ユーザー

さまざまな LLM プロバイダー(Ollama を通じたローカルモデルを含む)をサポートし、低オーバーヘッドで非 JS ベースのツールを好む、高速なネイティブコーディングエージェントを求める開発者です。

特徴

  • 極めて効率的: JS ベースのエージェントと比較して、非常に低い RAM 使用量(約 8–15MB)のネイティブ Rust バイナリ。
  • 堅牢性: tree-sitter を使ってコードの書き込みを検証し、進行しないループに対してセキュリティブレーカーを実装。
  • uma Permission Engine: 単一のポリシー決定ポイントと /why コマンドで承認決定のトレースが可能。
  • マルチプロバイダールーティング: 1 セッション内で異なる役割(メインループ、レビュー、要約)を異なるモデルにルーティング可能。
  • プロジェクトメモリ: プロジェクトごとの永続的メモリと、エージェント向けの組み込み kanban イシューボード。
  • マルチモーダル対応: 視覚モデル向けにクリップボードからの画像貼り付けをサポート。
  • Janet プラグインシステム: 実行時における Janet プラグインと Claude 互換スキルによる拡張性。

関連

  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト