Mole ディープリサーチエージェント – 予算制限付き、引用検証付きターミナルツール
Mole は予算制限付き、引用検証付きのリサーチをターミナルから直接提供
Mole は自然言語による質問を分解し、Web を検索し、主張を抽出し、各主張をその出典と照合し、出典を豊富に含む回答を合成する。すべてのプロセスにおいて、合計コストがユーザーが指定した予算を超えないことを保証する。
予算の強制により、予期せぬ支出を排除
すべてのモデル呼び出しは実行前に予約され、実行後に台帳に対して決済される。台帳には非負の制約が適用される。
--usd 0.50を使用すると、検索APIとLLMの合計使用料が50セントに達した時点で実行を停止する。- モデルの料金が不明な場合、
--tokens 200000でトークン数のみの上限を設定できる。 - テストコーパス全体で 0 % の超過 を報告しており、実行が上限を超えたことは一度もない。
"予算を超えて使わない" – HNでユーザーがLLMの過剰使用をどう防ぐか尋ねた。Moleの予約システムにより、検索とLLMのコスト合計が設定された制限を超えることはない。トークン制限と料金表は各呼び出しの前に適用され、キャッシュは予約ロジックに影響しない。
完全な引用検証により主張の整合性を保証
すべての主張には、出典ページに正確に含まれる引用文が必須。それ以外の主張は破棄される。
- 生存した主張は、出典URLと正確な引用文とともに保存される。
- 実行後の検証フェーズで、主張が再び出典と照合される。不一致は静かに無視されるのではなく、明示的に警告される。
- 報告されたメトリクスでは 100 % の主張整合性 と 100 % の出典正確性 を達成している。
ローカルデータのプライバシー境界
Mole は、CSV、TSV、JSON、JSONL、またはParquet形式のファイル(Parquetはまだ未対応)を読み込むことができるが、行データをLLMに送信しない。
- モデルは仮説テンプレートと列名のみを受け取り、決定論的なSQLを生成し、集計結果(件数、平均値、統計検定、5件以上のレコードを含むバケット)を返す。
mole crossingsコマンドは、機械から出力された情報の正確な内容をリストアップする。
インストール – シングルスタティックバイナリ、複数のパッケージマネージャ対応
| 方法 | 対応プラットフォーム | 備考 |
|---|---|---|
| スクリプト(curl) | Linux/macOS、amd64 & arm64 | SHA‑256を検証し、~/.local/bin または /usr/local/bin にインストール |
| Homebrew | macOS & Linux | brew install lajosdeme/mole/mole(関係のないmoleツールと競合) |
| AUR | Arch Linux | yay -S mole-research-bin(事前ビルド済み)または yay -S mole-research(ソースからビルド) |
| .deb/.rpm | Debian/Ubuntu | リリースページからダウンロード |
go install |
Go 1.25+ を搭載する任意のOS | go install github.com/lajosdeme/mole/cmd/mole@latest |
すべての配布形態は、実行時依存が一切ない2つのスタティックバイナリ(mole と mole-mcp)を生成する。SQLite台帳は、初回使用時にXDGデータディレクトリ下に作成される。
設定 – APIキーは安全にディスク上に保存
mole config set search.provider tavily # または brave
mole config set search.tavily-key <key>
mole config set llm.provider anthropic # または openai-compatible
mole config set llm.api-key <key>
mole config set llm.model claude-sonnet-5
mole config set llm.cheap-model claude-haiku-4-5
mole doctor # 設定の検証
キーは ~/.config/mole/config.json にモード0600で保存され、環境変数には一切保存されない。OpenAI互換エンドポイント(DeepSeek、Ollama、vLLMなど)はすべて利用可能であり、ローカルホストのモデルを使用すれば金銭的コストはゼロだが、予算制限のためのトークンカウントは行われる。
コア使用パターン
1. 自律的ディープリサーチ
mole research "bitcoinネットワークはどれくらいの電力を消費しているか?" --usd 0.50
- 1回の実行で計画、検索、抽出、検証、回答がすべて完了する。
- オプション:
--max-sources、--max-depth、--json(機械可読出力)
2. 追加コストなしのフォローアップクエリ
mole ask <session-id> "Cambridgeの推定は何かと言っていたか?"
- 以前に収集された主張を再利用。回答の構成には単一のLLM呼び出しで十分。
3. 構造化データセットの抽出
mole research "英国最大のスーパーマーケットチェーンとその売上" \
--mode dataset \
--schema 'company:text!,revenue:number=annual revenue in GBP,employees:number' \
--usd 0.50
mole dataset <session-id> --format csv > chains.csv
- 複数の出典からの行が統合される。CSVには、値が異なるフィールド用の
contested列が含まれる。
4. ローカルファイルのプライベート分析
mole connect add sales ./exports/sales.csv
mole research "地域間の支出の違いは何か?" --actors local_compute --usd 0.30
mole crossings <session-id>
- LLMは生の行データを一切見ない。返されるのは集計統計のみ。
MCPサーバーモード – コーディングエージェント向けのプログラム的アクセス
mole serve # プライベートUnixソケットで待機
クライアントは mcpServers を mole-mcp に設定する。クライアント設定には認証情報は保存されず、デーモンが安全に保持する。
ツールキットモード – 周囲のエージェントがモデルを所有する
mole serve --toolkit
- 外部のコーディングエージェントが独自のモデルで推論を行う。Moleは決定論的な操作(検索、引用検証、SQLレンダリング)を提供する。Claude Code、Qwen Code、またはモデルトークンが既に課金済みのサブスクリプションを利用する場合に最適。
透明性 – 実際の実行から得た誠実なメトリクス
| メトリクス | 値 |
|---|---|
| 予算超過 | 0 % |
| 主張整合性 | 100 % |
| 出典正確性 | 100 % |
| 基盤率(主張の再読) | 80 % |
| 矛盾精度 | 70 %(確認フェーズあり) |
| マージ精度/再現率 | 1.000 / 1.000 |
これらの数値は mole eval <session-id> によって生成される。計算できないメトリクスは、0にデフォルトするのではなく、未利用として報告される。
Hacker Newsからのコミュニティフィードバック
- 利害関係の衝突に関する注意 – コメント者が別のプロジェクト「Mole」(tw93/Mole)にリンクし、名前が混乱する可能性について警告した。
- 予算処理に関する質問 – ユーザーが予期しないLLMトークン使用を予算内に抑える方法を尋ねた。答えは、Moleが各呼び出し前にコストを予約し、合計支出を上限で制限していること。トークン制限が追加の安全網として機能する。
- 機能対コード比 – あるコメントでコードベースが「非常に基本的な機能に対して多すぎるコード」と評された。これは、実装がその核心機能に対して重いと見なされていることを反映している。
- 誠実さに関するユーモア – 軽いトーンのコメントで「誠実な数値」セクションを称賛し、プロジェクトの透明性を強調した。
- 説明の追加 – ユーザーが「ディープリサーチ」と通常のWeb検索との違いを尋ねた。Moleのパイプライン(計画、主張抽出、検証、矛盾検出)が、単純な取得とは異なることを明確にしている。
コントリビューションと品質基準
- プルリクエストには貢献者許諾契約(CLA)が必要。
- プロジェクトは falsify‑your‑own‑fix を強制する:変更後、メカニズムを元に戻し、テストが失敗することを確認する。
- コードは
gofmt -l .、go build ./...、go test ./...すべてを通過し、スキップは許されない。
ライセンス
Mole は Apache‑2.0 ライセンスの下でリリースされています。
Sources
関連
- Dispatch
- Dispatch
- プロジェクト
- プロジェクト
- Dispatch