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
- プロジェクト
- プロジェクト
- プロジェクト