Rust製のローカルLLMベンチマークツールをClaude Codeに作らせた
Claude Max Plan ($200) を契約して2週間が経ちました。毎日しばき倒しているので、従量課金ベースだと40万円くらい使ったことになるみたいです。
直近やりたかったこととして、「PCを複数台買ったのでLocal LLMの性能を比較したい」というものがありました。軽い気持ちで始めた調査が、最終的にClaude Codeで一つのベンチマークツールを作りあげることができたので、知見の整理も兼ねてまとめます。
現在、Claude Codeで2-3の新規プロダクトを並列で開発していますが、その中でこのベンチマークツール開発だけ別次元の成果をあげました。なぜこのプロジェクトはうまくいったのか?その成功要因を分析し、Claude Codeが威力を発揮する条件を探ってみます。
作ったもの
% ollama-meter llama2:7b deepseek-r1:1.5b
🔍 Checking Ollama connection...
Validating models...
⚡ Benchmarking 2 models with 5 iterations each
Testing llama2:7b (1/2)...
Testing llama2:7b... ✓ Complete
Testing deepseek-r1:1.5b (2/2)...
Testing deepseek-r1:1.5b... ✓ Complete
┌─────────────┬─────────────┬─────────────┬──────────────┐
│ Model │ Avg Speed │ TTFT │ Success │
├─────────────┼─────────────┼─────────────┼──────────────┤
│ llama2:7b │ 24.4 tok/s │ 456ms │ 100.0% │
│ deepseek-r… │ 75.7 tok/s │ 77ms │ 100.0% │
└─────────────┴─────────────┴─────────────┴──────────────┘
🏆 Winner: deepseek-r1:1.5b (210.1% faster, 83% lower TTFT)
📊 Completed in 28s
はじまり
手元にある複数のPC環境で、PCごとのLocal LLMの性能を比較したくなりました。
「このモデルにはVRAM 8GB必要」といった断片的な情報はあっても、実際の使用感やパフォーマンスを横断的に比較した情報は少ない。そこで既存のベンチマークツールを探すことから始めました。
Claudeに相談してみた
STEP1:既存ツールの体系的調査
最初にClaude Codeに投げかけた質問:
私:macやwindows pcで、local llmの性能比較をしたい。どのような方法が考えられるか
Claude Codeは体系的に選択肢を整理してくれました:
- 専用ベンチマークツール(LM Evaluation Harness、OpenAI Evals等)
- 汎用ベンチマーク(MMLU、HellaSwag、ARC等)
- 実用的な性能測定(トークン生成速度、初回応答時間等)
STEP2:実行環境の比較検討
私:ollamaとlm studioではどちらが集計しやすい?自分で自動レポート機能を作る前提で
Claude:自動レポート機能を作る前提であれば、Ollamaの方が圧倒的に集計しやすいです。
理由:
- コマンドライン完結で操作可能
- 出力の構造化(パースしやすい形式)
- REST API経由で制御可能
非常に明確な結果が出たため、Ollamaベースで進めることが決まりました。
STEP3:既存専用ツールの徹底調査
私:他にollamaでベンチマークを取れるツールがないか調査して。あるならこれを作る意味はないから
Claudeのリサーチで既存ツールを詳細に分析し、まとめてくれました。
既存ツールの問題点:
- エンタープライズ向けに過度に複雑化
- 個人の「5分で結果が見たい」ニーズに未対応
- Windows最適化、日本語対応が不十分
STEP4:理想のツール像の具体化
Claudeと対話しながら、Apache Benchが理想だよなぁと伝えました。
私:非常に示唆に富んだレポートでした。おっしゃるとおり、abコマンドのようなツールでありたいです。
Claude:Apache Benchが30年間愛される理由:
1. ワンライナーで動作
2. 明確で理解しやすい出力
3. ゼロ依存関係
4. クロスプラットフォーム
5. 高速実行
これで目指すべき方向性が明確になりました。
STEP5:技術選定の論理化
私:技術スタックとしてrustを選択してcliツールとして提供するのは理にかなっていますか?
Claude:はい、Rustを選択してCLIツールとして提供するのは非常に理にかなっています。
理由:
- ゼロ依存関係:単一バイナリ配布
- 高速起動:0.1秒(Python/Node.jsより圧倒的に速い)
- クロスコンパイル:Windows/Mac/Linux向けに一度でビルド
Claude Codeに引き継いだ
最終的に、Claude Codeに包括的な開発ドキュメントを作成してもらい、「開発してください」と依頼しました。
当初は、確認しながら修正依頼を出すんだろうなと思ってたのですが、1発でMVPのレベルまで完了しました。10分もかかっていないと思います。
- Rustでの実装
- CLIインターフェースの設計
- エラーハンドリング
- クロスプラットフォーム対応
- ドキュメント作成
Claude Codeに指示したドキュメント
- CLAUDE.md
- 開発指示書・開発仕様書・タスクリスト等
唯一、手で直したところといえば、結果出力の際の表が少し崩れていたので1行修正したくらいでした。
今回の経験から見えた傾向
現在2~3の他プロジェクトもClaude Codeで開発していますが、このベンチマークツールだけが驚くほどスムーズに開発できましたので、振り返ってみます。
今回うまくいった要因として考えられるもの
- 問題の客観性:主観的判断要素が少なかった
- 制約の明確性:技術的・非機能的制約が具体的だった
- 参照点の存在:Apache Benchという明確な目標があった
- 段階的深掘り:調査→分析→設計の各段階を丁寧に進めた
プロジェクトの特性として有利だった点
- 新規開発の自由度:既存システムとの整合性を考える必要がなかった
- 枯れたアーキテクチャ:CLIツールという確立されたパターンだった
- 単一目的性:機能スコープが明確に限定されていた
- 定量的成功基準:成果物の品質を客観的に判定できた
実践的な活用指針
プロジェクト選定の指針
Claude Codeを使うべきプロジェクト:
- ツール・ユーティリティ系:明確な入出力があるもの
- データ処理系:定量的な成果が測定できるもの
- API・CLI系:インターフェースが標準化されているもの
まだ難しいプロジェクト:
- UI/UX要素が強い:主観的判断が多い
- 複雑なビジネスロジック:ドメイン知識の蓄積が必要
- 既存システムとの複雑な連携:制約が多すぎる
対話プロセスの改善
- 調査フェーズの重要性:今回は徹底的な調査が良い結果につながった
- 制約と参照点を明確に:AIの判断精度を向上させる
- 段階的な除外プロセス:最適解への確実な収束
- 具体的な比較軸の設定:「なぜそれがベストか」を明確に
まとめ
ローカルLLMの性能比較という単純な目的から始まった今回のプロジェクト。最終的にClaude Codeによって実用的(?)なベンチマークツールが完成しました。
成功の要因を振り返ると、CLIツールという学習データが豊富なパターンだったことも大きいでしょう。しかし、それ以上に調査を通じて制約と要件を明確に定義できたことが功を奏したと感じています。
Claude Codeは生成速度が速く、すぐに実装に入りたくなります。でも今回の経験から、「何を作りたいか」より「なぜ必要なのか」を明確にすることの重要性を実感しました。急がば回れ、という言葉がAI活用にも当てはまるのかもしれませんね。
次回予告
今回作成した ollama-bench を使って、実際に各PCでLocal LLMのベンチマークを実施します。
ベンチマーク内容:
- 各種モデルの推論速度比較
- 実用タスク(コード生成)での性能評価
ベンチ対象のPC:
- Mac Studio M3 Ultra (RAM: 256GB)
- Mac Mini M4 Pro (RAM: 64GB)
- Windows(Core Ultra 7, RTX 5060 Ti 16GB, RAM: 64GB)
- MacBookAir M4, M3, M2
Discussion