Jevcrawl公開。LLMループ不使用の軽量Webクローラがコストと精度を両立
30秒でわかる内容解説
Rayen Mlayehが運営するTypeSafeは、10月13日にJevcrawlをGitHubで公開した。LLMを巡回ループに組み込まない小型判断モデルJevを搭載したWebクローラだ。ローカル環境でエージェントを動かす技術者にとって、クローリングコストを大幅に抑えつつ回答精度を維持できるツールとして注目に値する。平均1回あたりのコストは約1.1セントに抑えられている。静的ページを対象とする設計のため、JavaScriptを駆動する環境とは異なるアプローチを取る。
円換算は1ドル=158.45円(2026年10月14日、欧州中央銀行の参考レート)による概算で、日本での販売価格とは異なる。
LLMループを排除した判断モデルの仕組み
Webサイトの巡回には、すべてのページを読んでLLMに処理させる方法と、LLMが各リンクを選択して次のページへ進む方法の2つがあった。前者はナビゲーション要素に回答が埋もれ、後者は処理が遅くトークンコストが高騰する。Jevcrawlは小型の判断モデルJevが各リンクと文章をスコアリングする方式を採用した。これにより、エージェントのLLMは質問に直接答える部分のみを読み込める。
| ツール | 実行環境 |
|---|---|
| Crawl4AI | 本物のブラウザを駆動 |
| Jevcrawl | JavaScriptを実行しない |
2026年10月13日に公開された同ツールは、100万トークンあたり0.042ドル(約7円)という入力トークン課金方式を採用している。ベンチマーク結果では、1回あたりの平均コストが約1.1セントに収まった。WebWalkerQAベンチマークでは54%の成功率を記録し、Claudeがリンクを選ぶ33%を大きく上回った。
Crawl4AIの目的指向型クローリングの約2倍に相当する数値だ。4ページを並列取得し1回で判断するため、LLM駆動の巡回より約2倍高速に動作する。ベンチマークコードはbench/フォルダに格納され、すべての数値を再現可能だ。
トークン削減効果とフォールバック動作
出力形式はJSONで、各ブロックにURL、見出しパス、文字オフセットが含まれる。`char_start`と`char_end`でページ内の位置を特定でき、raw_tokensとreturned_tokensを比較すればLLMへの投入前にデータ量を把握できる。写真ではPyPI公開バージョンバッジがある。
デフォルトのreturn_tokensを4000に設定すれば、不要な要素を早期に切り捨てる。判断モデルは確率のみを返すためテキストを生成せず、プロンプトインジェクションに強い。3回失敗すると幅優先探索にフォールバックし、統計情報にdegradedフラグを立てる。
キャッシュは`~/.jevcrawl/cache`に保存され、同じGoalの再実行コストはゼロになる。JevのAPIキーは環境変数から読み込まれ、ディスクやログに記録されない。環境変数でベースURLを設定し、robots.txtをデフォルトで尊重する。
最大120秒や0.05ドル(約8円)(5セント)の予算制限も設けられている。すべての設定値はconfig.pyで測定されたデフォルト値を持つ。
MCP統合とコミュニティの評価
Hacker Newsコミュニティでは機能の妥当性や動的ページ対応可否について関心が示された。MCP(Model Context Protocol。AIエージェントと外部ツールを接続する統一プロトコル)に対応しており、Claude CodeやCursorなどのクライアントで利用可能だ。
設定ファイルにmcpServersを定義し、uvxコマンドで起動するだけで統合できる。エージェントにスキルをロードすればskills/jevcrawl/SKILL.mdも参照できる。
機能面の評価は肯定的で、意見の分化は特にない。Claudeのリリースノートへの記載時期を期待する声も見られる。Claude Code向けには`claude mcp add jevcrawl`コマンドが提供されている。
ベンチマークの実施環境では、回答モデルにclaude-opus-5-5、判定モデルにclaude-sonnet-5-5が使用された。タスク選択は実行前にライブ確認され、`bench/tasks/seen-ids.txt`で開発中に目にしたページが除外されている。テストはネットワークを遮断して実行でき、ライブテストでは1回あたり数セント未満の費用で検証される。
静的ページ制約と今後の検証
資料に日本での発売や価格設定の記載はない。今後の予定としては、Claudeのリリースノートへの記載が期待されている。静的ページを対象とする設計のため、JavaScriptを実行しない環境では動的ページに対応できない可能性がある。
A small decision model picks every link and every passage, so your agent's LLM reads only what answers its question at a few cents per crawl.
小型の判断モデルが各リンクと文章を選ぶため、エージェントのLLMは数セントの費用で質問に答える部分のみを読み込む。
ベンチマークは50タスクと20タスクという小規模なサンプルであり、正確性のギャップはコストのギャップほど安定していない。PaywallやCAPTCHAの突破を試みず、サイトごとの利用規約に従う。エラーはエージェントセッションに通知されず、JSONのerrorフィールドで返される。
statsフィールドにはpages_fetchedやelapsed_secondsなどの実行統計が含まれる。2026年10月13日以降も、GitHubでベンチマークコードの公開と再現手順が提供されている。`needs_js_urls`でJavaScriptが必要なURLをリスト化し、優先度基準以下のリンクはreserveとして保持する。
max_pagesやmax_decision_usdを調整すれば、大規模なサイト巡回にも柔軟に対応できる。
用語の注釈
- MCP
- AIの世界におけるUSB-Cのような役割を果たし、統一された接続方法を提供するプロトコルである。(参考:【非エンジニアでもわかる】MCPとは?仕組み、A2Aとの違いを ...)
- Crawl4AI
- LLM向けのオープンソースWebクローラ。HTMLをAIが扱いやすい形式に変換する。(参考:HTMLをそのままLLMに渡してはいけない――Crawl4AIが解くWeb ...)
- token
- 生成AIが処理するテキストの最小単位で、利用コストや処理量の計算基準となる。(参考:生成AIにおける「トークン」とは?をやさしく解説)