LLM CLI v0.32 徹底解説 — 推論トレース・サーバーサイドツール・新ログスキーマ
LLM 0.32(2026年8月4日リリース)はSimon WillisonのCLIツール「llm」の開発開始以来最大級の更新。推論トレース表示、OpenAI/Anthropicのサーバーサイドツール呼び出し、SQLiteログ新スキーマ、Python API拡張までインストール手順と使い方を解説する。
LLM CLIとは、Simon Willison氏が開発しているオープンソースのコマンドラインツールで、OpenAIやAnthropic、Google、Ollamaで動くローカルモデルなど数十のLLMを、単一のllmコマンドで統一的に呼び出せるようにするものだ。プロンプトの実行、会話ログのSQLite保存、プラグインによるモデル追加、シェルパイプとの連携までを1つのCLIでこなす。
2026年8月4日にリリースされたv0.32は、開発者自身が「プロジェクト開始以来最大の後方互換アップデート」と位置づける大型版だ。標準エラー出力への推論トレース表示、OpenAI/Anthropicのサーバーサイドツール呼び出し、ログ保存の仕組みそのものを刷新する新SQLiteスキーマ、Python API向けのmessages=パラメータ導入という4本柱が中心で、既存のプロンプトやスクリプトはそのまま動く設計になっている。
LLM CLIで何ができるか
- 数十のLLMプロバイダー(OpenAI、Anthropic、Google Gemini、Ollamaなどのローカルモデル)をプラグインで追加し、1つのコマンド体系で呼び出せる
- 実行したプロンプトと応答をすべてSQLiteデータベースに自動記録し、あとから検索・全文検索できる
- 画像・音声などのマルチモーダル入力をアタッチメントとして渡せる
- cat file | llm -s "..."のようにUnixパイプと組み合わせて、コードレビューや要約などのシェルワークフローに組み込める
- 対話モード(llm chat)とワンショット実行の両方に対応
- Pythonライブラリとしてもインポートでき、スクリプトやツールに組み込める
LLM CLIの中核にあるのは「プラグインでモデルを足していく」という設計思想だ。本体はモデルを1つも同梱せず、llm install llm-anthropicやllm install llm-ollamaのようにプラグインを追加することで対応プロバイダーが増えていく。これにより、新しいモデルファミリーが登場してもCLI本体を待たずにプラグイン単位で追従できる。0.32のリリースに合わせてllm-anthropicが0.26へ更新され、Anthropic側のサーバーサイドツールに対応したのも、この設計が効いた例といえる。
インストールとv0.32へのアップグレード
| 方法 | コマンド | 備考 |
|---|---|---|
| uv | uv tool install llm | 公式ドキュメントが案内する方法の1つ |
| pipx | pipx install llm | 独立した仮想環境にインストール |
| pip | pip install llm | 既存のPython環境に直接インストール |
| Homebrew | brew install llm | macOS/Linux向け |
既存インストールをアップグレードする場合は、それぞれのパッケージマネージャのアップグレードコマンド(uv tool upgrade llmやpipx upgrade llmなど)を使う。0.32はログ保存の内部スキーマを刷新しているため、アップグレード前にllm logs backup logs-backup.dbを実行してログファイルのバックアップを取っておくことが推奨されている。
最短で使い始める手順
| 目的 | コマンド例 | |
|---|---|---|
| APIキー設定 | llm keys set openai | |
| 単発プロンプト | llm 'Ten fun names for a pet pelican' | |
| モデル指定 | llm -m gpt-5.6 'Summarize this' | |
| ファイル入力(パイプ) | `cat myfile.py \ | llm -s "Explain this code"` |
| 画像添付 | llm "extract text" -a scanned-document.jpg | |
| 対話モード | llm chat -m gpt-5.6 |
インストール直後、APIキーなしで使えるプロバイダーはないため、まずllm keys set openaiのようにキーを登録する。デフォルトモデルは0.32からGPT-5.6ファミリーの低コスト版「GPT-5.6 Luna」に変わったため、llm 'prompt'だけで最初の応答が返ってくる。
0.32の新機能を1つずつ見る
推論トレースの標準エラー出力
推論(reasoning)対応モデルを使うと、モデルの思考過程が標準エラー出力にストリーム表示されるようになった。標準出力(stdout)はプロンプトの最終応答だけが流れるクリーンな状態を保つため、llm '...' | jqのようにパイプで後続処理につなげても壊れない。推論トレースを表示したくない場合は-R/--hide-reasoningフラグで抑制できる。
OpenAI Responses APIへの切り替え
OpenAIの推論系モデル(GPT-5系など)を使う際、内部的に呼び出すエンドポイントが/v1/responsesにデフォルトで切り替わった。これによりツール呼び出しをまたいだ推論の継続性が保たれ、マルチターンのツール利用シナリオで一貫した挙動が期待できる。
サーバーサイドツール呼び出し
OpenAIのWebSearchやCodeInterpreterといったサーバーサイドで実行されるツールを、CLIから直接呼び出せるようになった。例えばllm --tool CodeInterpreter '...'のような形でコード実行をモデル側に委任できる。Anthropic向けプラグインllm-anthropicも0.26でWebSearch・WebFetch・CodeExecution・AnthropicMCPを追加しており、両陣営のサーバーサイドツールがLLM CLI経由で扱えるようになった。
content-addressableな新ログスキーマ
会話履歴を記録するSQLiteログが、Gitのオブジェクトストアに近い「content-addressable」な方式に刷新された。同一内容のメッセージをハッシュで参照する形になり、重複した記録を避けつつ、モデルやツール名での絞り込みや全文検索がしやすくなっている。スキーマが変わるため、アップグレード前のllm logs backup logs-backup.dbによるバックアップが推奨されている。
新コマンド・新フラグ
- llm openai endpoint: 任意のOpenAI互換エンドポイントに対してログを残さずワンライナーで実行できる新コマンド。ローカルで立てた推論サーバーの動作確認に向く
- llm -m MODEL --options: 指定モデルが受け付けるオプションの一覧を表示
- llm prompt --json: 応答をJSON形式で受け取る
- -o service_tier fast/flex: OpenAIのサービスティアを指定するオプション
Python APIの拡張
Pythonライブラリとして使う場合、model.prompt(messages=[...])のように会話履歴全体をmessages=パラメータで渡せるようになり、llm.user()・llm.assistant()・llm.system()といったヘルパー関数でメッセージを組み立てられる。応答側ではresponse.stream_events()で推論やテキストなど構造化されたイベントを逐次処理でき、response.to_dict()/from_dict()でシリアライズ、Response.log_to_db()で任意のタイミングでのログ保存が可能になった。またツール実装がllm.PauseChainを送出することで、人間の承認を待つために実行を一時停止し、あとから再開できる仕組みも入った。
既存ツールとの違い
「CLIからLLMを使う」ツールはLLM CLI以外にも複数存在する。それぞれ用途の重心が異なるため、目的に応じて使い分けるのが現実的だ。
| ツール | 用途の重心 | LLM CLIとの違い |
|---|---|---|
| LLM CLI | 複数プロバイダーを横断したプロンプト実行・ログ管理・スクリプト組み込み | SQLiteへの自動ログ、プラグインでのモデル追加、Python APIとの統合が中心 |
| Ollama | ローカルモデルのダウンロード・起動・推論サーバー化 | モデルのホスティングそのものが役割。LLM CLIはllm-ollamaプラグイン経由でOllamaのモデルを呼び出す側 |
| aichat | ターミナル特化のチャットUI、REPL的な対話 | 対話体験に寄せた設計。LLM CLIはパイプ連携やログDB化などスクリプト・データ管理寄り |
| sgpt(shell-gpt) | シェルコマンド生成・実行支援 | シェル操作の自動化に特化。LLM CLIは汎用プロンプト実行基盤としての性格が強い |
| Claude Code | コーディングエージェントとしてリポジトリ操作・ファイル編集まで自律実行 | エージェント型の開発支援ツール。LLM CLIはエージェントではなく、モデル呼び出しとログの薄いレイヤー |
| OpenAI Codex CLI | OpenAIモデルに特化したコーディング支援CLI | 単一プロバイダー・コーディング用途に最適化。LLM CLIはプロバイダー非依存が前提 |
要するに、Ollamaが「ローカルでモデルを動かす」ためのランタイムであるのに対し、LLM CLIは「動いているモデル(ローカルでもクラウドでも)をコマンドラインから統一的に呼び出し、履歴を残す」ための薄い共通レイヤーという位置づけになる。ローカルLLMのツール選定についてはOllama vs LM Studioの比較記事も参考にしてほしい。
特にログ管理の観点では、LLM CLIは他のCLIチャットツールと一線を画す。多くのツールが会話履歴をその場限りのターミナル出力として消費するのに対し、LLM CLIは実行したすべてのプロンプトと応答をSQLiteデータベースに構造化して蓄積する。0.32でこのログ機構がcontent-addressableな方式に刷新されたことで、モデルをまたいだ横断検索や、特定のツール呼び出しだけを抽出するといった運用が現実的になった。単発のプロンプト実行ツールというより、「LLM利用の記録基盤」として捉えたほうが実態に近い。
ローカルモデルとの併用
LLM CLIはクラウドAPI専用ではない。llm-ollamaプラグインを導入すれば、Ollamaでホストしているローカルモデルも同じllm -m モデル名 'プロンプト'という形式で呼び出せる。クラウドモデルとローカルモデルを同じログDB・同じコマンド体系で扱えるのが利点だ。0.32で追加されたllm openai endpointも、ローカルで立てたOpenAI互換の推論サーバー(vLLMやLM Studioのサーバー機能など)に対して、ログを残さずワンライナーで疎通確認したいときに使える。ローカル環境の構築やターミナル作業の効率化についてはHunkのターミナルdiffビューア記事も参照。
よくある質問
LLM CLIとClaude CodeやOpenAI Codex CLIはどう使い分ければいいですか?
Claude CodeやOpenAI Codex CLIはリポジトリ操作やファイル編集まで自律的に行うコーディングエージェントであり、開発作業の自動化そのものが目的だ。一方LLM CLIはエージェントではなく、複数プロバイダーのモデルをコマンドラインから統一的に呼び出し、応答をログとして残すための薄いツールという位置づけになる。セキュリティ観点でのCLIエージェント比較はOpenAI Codexのセキュリティ解説記事も参照してほしい。
推論トレースが標準エラーに出るとパイプ処理は壊れませんか?
壊れない設計になっている。標準出力(stdout)には最終的な応答テキストのみが流れ、推論トレースは標準エラー(stderr)に分離されているため、llm '...' | jqのような後続処理はそのまま機能する。推論トレース自体を表示したくない場合は-R/--hide-reasoningで抑制できる。
アップグレード前にログのバックアップは必要ですか?
必要とされている。0.32ではSQLiteログのスキーマがcontent-addressableな方式に刷新されているため、アップグレード前にllm logs backup logs-backup.dbを実行してログファイルをバックアップしておくことが推奨されている。
既存のプラグインやスクリプトは0.32でそのまま動きますか?
基本的には後方互換性を保つ設計とされており、既存のプロンプトやスクリプトは動作する。ただしモデルを提供するタイプのプラグイン(カスタムモデルプロバイダー)は、内部APIの変更に合わせて0.32対応版へのアップデートが必要になる場合がある。
References
本記事は以下の一次情報をもとに執筆した。
- Simon Willison, "A new release of LLM" https://simonwillison.net/2026/Aug/4/new-release-of-llm/
- LLM Releases (GitHub) https://github.com/simonw/llm/releases
- LLM 公式ドキュメント https://llm.datasette.io/
この記事に関連する無料ツール(登録不要・その場で結果)
お気軽にご相談ください
お問い合わせ