世界を動かす技術を、日本語で。

HNを表示: 私が構築したOSSエージェントがGemini-3-flash-previewのTerminalBenchでトップに立ちました

2026年4月27日原文(github.com)

概要

  • Dirac はオープンソースのAIコーディングエージェントで、 高精度・高効率 を実現
  • Terminal-Bench-2 で65.2%のスコアを記録し、公式・有力モデルを上回る成績
  • APIコストを平均64.8%削減 しつつ、作業の正確性・速度も向上
  • 複数ファイル同時編集やAST操作 など高度な最適化機能を搭載
  • チートなしの完全オープンソース で評価・検証が容易

Dirac: 高精度・高効率なオープンソースAIエージェント

  • Dirac は、 コンテキスト長による推論精度低下 問題を解決するために設計されたAIコーディングエージェント
  • 重要な情報だけを厳選 してコンテキストに含めることで、精度・コスト・大規模変更の一括処理性能の向上を実現
  • APIコストを平均64.8%削減 しながら、従来よりも 高精度・高速な作業 を提供
  • ハッシュアンカー編集AST操作高度な最適化 などを活用
  • MCP(Minimal Command Prompting)非対応 で、必要最小限のプロンプト設計を重視

主な特徴

  • ハッシュアンカー編集 :安定した行ハッシュを使い、従来の行番号ベース編集の誤差を回避
  • ASTネイティブ精度 :TypeScriptやPython、C++など言語構造を理解し、関数抽出・クラスリファクタリング等を100%正確に実行
  • マルチファイルバッチ処理 :複数ファイルを1回のLLMラウンドで編集し、レイテンシ・APIコストを大幅削減
  • 高帯域コンテキスト :関連情報のみを厳選し、トークン消費を最小限に抑えつつ高速化
  • 自律的なツール利用 :ファイル読み書き、ターミナルコマンド実行、ヘッドレスブラウザ操作などを承認フロー付きで実施
  • プロジェクト固有のカスタマイズ :AGENTS.mdや.ai/.claude/.agentsディレクトリからスキル・指示を自動取得
  • ネイティブツールコール専用 :信頼性・性能重視のため、ツールコール対応モデルのみサポート(MCP非対応)

ベンチマーク・コスト比較

  • TerminalBench 2.0gemini-3-flash-preview を使い 65.2%スコア を記録
    • Google公式(47.6%)Junie CLI(64.3%) を上回る
    • ベンチマーク固有情報やAGENTS.mdファイルの挿入なし
  • 平均APIコスト:$0.18 (他エージェント比で約2.8倍安価)
  • 全タスク100%正解 を複数回達成し、再現性も高い
  • Clineリポジトリのバグ によるコスト過小報告があったが、 PR提出済み で今後修正予定

導入方法

  • VS Code拡張機能 :VS Code Marketplaceからインストール
  • CLI(ターミナル) :npmでグローバルインストール
    • コマンド:npm install -g dirac-cli
  • 認証dirac authで認証、または環境変数でAPIキーを設定
    • 対応APIキー :Anthropic, OpenAI, OpenRouter, Gemini, Groq, Mistral, x.ai, HuggingFaceなど
  • 主なコマンド例
    • dirac "prompt":インタラクティブなタスク開始
    • dirac -p "prompt":プランモード(戦略確認後に実行)
    • dirac -y "prompt":Yoloモード(全自動承認、簡易修正向け)
    • git diff | dirac "レビュー":変更内容を直接パイプ
    • dirac history:過去タスクの履歴・再開

ライセンス・クレジット

  • Apache License 2.0 の下でオープンソース提供
  • Clineプロジェクト をベースにMax Trivedi(Dirac Delta Labs)が開発

ベンチマーク公正性に関する補足

  • チート報告が多いTerminalBench 2.0 において、 Diracは完全に公正な方法で評価
    • AGENTS.mdやskills.mdの挿入なし
    • リーダーボード準拠のCLI実行、リソース・タイムアウトの改変なし
    • 公開GitHubバージョンと同一のオープンソースコードで実施
  • Pull Requestの承認遅延 により公式リーダーボード反映が遅れているが、 評価内容は公開済み
  • 実験から、ベンチマーク環境(ハーネス)の影響が非常に大きい ことが判明

まとめ

  • Diracは高精度・高効率なオープンソースAIコーディングエージェント
  • コスト削減・正確性・速度で業界トップクラス
  • 誰でも再現可能な完全公開・チートなし評価
  • 多機能かつカスタマイズ性も高く、現場導入も容易

Hackerたちの意見

Diracの面白い機能: 1. ファイル編集のために最適化されたHash-Anchored編集を使ってる(https://dirac.run/posts/hash-anchors-myers-diff-single-token) 2. 言語のASTを利用して、コンテキストに何を取得するかを決めて、大きなコードファイルの読み込みを完全に回避 3. すべての操作をバッチ処理。大量の読み込みや編集を同時に行う(deepseek-v4-flashのデモ動画はここで見れるよ https://www.reddit.com/r/LocalLLaMA/comments/1suhdki/tested_...) 4. モデルがその場で分析するためにコードを実行できるようにしてるから、必要に応じてbash/python/perlスクリプトを書いて作業をこなせる 5. コンテキストのキュレーションや機会を捉えたコンテキスト更新がたくさん。つまり、モデルが次に何を聞くか確信できるものはすべてコンテキストに入れるってこと。

なんでASTが編集や変更のスコープ、コードのパースにもっと使われないのか、ずっと不思議だった。確か「grep」が同じくらい効果的だって言ってる記事を読んだ気がする。それに関しては納得できたけど。

言語のASTを利用して、コンテキストに何を取得するかを決めてるってことは、パーサーがある特定の言語でしか機能しないってこと?

ast-grepやgritqlを取り入れることを考えた?おめでとう、素晴らしい仕事だね。

どこかにツールの完全なリストってある?特にASTをどうやって公開するかに興味があるんだ。自分のハーネスの試みでは、ツールの数を絶対に最小限に抑えたくて、execute_pythonツールを通じてASTライブラリを使うことをちょっと試してみたんだけど(システムプロンプトにいくつかの例も含めて)。結果はまあまあだったけど、ほとんどのモデルはripgrepを好んでた。

すべての操作をバッチ処理する。大量の読み取り/編集を同時に行う... これが何を意味するのか分からなかったから、ソースを見てみた。どうやら、ツールAPIが複数のターゲットをリストパラメータとして受け取るように設計されているみたいで、モデルが適切に並列ツール呼び出しをすることを期待するのではないみたい。(これ、私の経験とも一致してるけど、モデルは大量の並列呼び出しを同時に行うのをためらうことが多いし、特に弱いモデルではそれが顕著に見える。)

アンカーに基づく編集は、新しいアンカーをコンテキストに追加する必要があって、diracはそれをdiffを使ってやってるんだ。じゃあ、これが検索と置換よりも効率的(トークン的に)なのはどういうこと?? ハッシュごとに1トークンでも。コードは書くよりも読むことが多いから、これらはどんどん増えていくよね。一度、安定したアンカーを使って実験したことがあるけど、単一トークンよりも長くて、逆に劣化したと思った。結論として、diracが見ている効率は、デフォルトでファイルのスケルトンを表示することから来てるんじゃないかな。

どれが一番効果的かを調べる因果関係の調査をするのはすごく面白そうだね。どれがどれだけ重要かを定量化できたらいいな。もしかしたら、全部が一緒に出荷されることで、部分の合計以上の相互作用があるのかもしれない。

最初の1700個のシングルトークンアンカーがなくなったら、どうやって2つのトークンアンカーを選ぶの?1700個の中から2語の組み合わせになるのかな。

まだ試してないけど、なんでpiで拡張を書く代わりに新しいハーネスを実装することにしたのか気になる。今までやったことからすると、拡張APIはかなり充実してるし、Hash anchored editsもpiで実装できるはず。とにかく、プロジェクトを見せてくれてありがとう。後でチェックしてみるね。よろしく!

数ヶ月前の午後、Clineが遅すぎてイライラして、内部を見てみることにした。いくつか変更を加えることにしたら、どんどんハマってしまった。約7万行の変更、さらに4万行の削除をして、2ヶ月後にここにいるって感じ。

AIハーネスがどれだけ重要かって、本当に面白いよね。Googleの公式結果で48%から65%に跳ね上がるのはすごいことだと思う。モデルを比較する結果はよく見るけど、ハーネスを比較する結果はあまり見ない気がする。同じモデルを使ってハーネスの結果を比較するリーダーボードってあるのかな?

Hacker Newsで議論の続きを見る