jahala/tilth

Smart(er) code reading for humans and AI agents. Reduces cost per correct answer by ~40% on average. Install: cargo install tilth -or- npx tilth

What it solves

AIエージェントがコードを読み取る際の高いコストと非効率性を軽減します。特定の関数を見つけたり、コールチェーンを理解したりするために、複数のツール呼び出し(globbing、ファイル全体の読み込み、greppingなど)を行う代わりに、tilthは単一の呼び出しで構造的な認識を提供し、トークン使用量を大幅に削減し、精度を向上させます。

How it works

Tilthは、高速な検索のためのripgrep、16言語にわたるAST解析のためのtree-sitter、そして速度のためのメモリマップドファイル読み込みを組み合わせています。コードを単なるテキストとしてではなく、構造的に分析することで、以下が可能になります:

  • Outline large files: 大規模なファイルを、トークンを節約するために全文ではなく構造的なサマリーとして自動的に提供します。
  • Find definitions: シンボルが単に言及されている場所ではなく、定義されている場所を優先します。
  • Trace call chains: 検索結果に「callee footer」を含めることで、エージェントが新しい検索なしで関数呼び出しを追跡できるようにします。
  • Structural Diffing: 行レベルではなく、関数レベルでの変更を検出します。
  • MCP Integration: Model Context Protocol (MCP) サーバーとして動作し、AIエージェント(Claude CodeやCursorなど)がこれらの構造的なツールを直接使用できるようにします。

Who it’s for

  • 大規模なコードベースを効率的にナビゲートする必要があるAIエージェントおよびLLMベースのコーディングアシスタント。
  • コードの定義、依存関係、およびコールサイトを探索するための、高速で構造的なCLIツールを求める開発者。

Highlights

  • Cost Reduction: ベンチマークでは、さまざまなモデルにおいて、正解あたりのコストが38-44%削減されることが示されています。
  • Structural Search: tree-sitterを使用して、単なる文字列一致ではなく、実際の定義とコールサイトを見つけます。
  • Smart Outlining: トークン数(~6000 tokens)に基づいて、全文内容と構造的なアウトラインの切り替えを行います。
  • Broad Language Support: Rust, TypeScript, Python, Go, Javaを含む16言語をサポートしています。
  • Hash-Anchored Editing: ハッシュを使用して、編集がコードの正しいバージョンに適用されることを保証するオプションの編集モード。

関連

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