World Model Optimizer: フロンティアモデルを半分のコストで蒸留・提供

World Model Optimizer: フロンティアモデルを半分のコストで蒸留・提供

World Model Optimizer はエージェントトレースを使用した継続的なモデル改善を可能にします

ツールは既存のエージェントトレースを、ワールドモデルシミュレーション、メタハーネス最適化、モデル蒸留のループに変換し、フロンティア品質に匹敵しながらコストを削減したモデルを生成します。

wmo の開始方法

まずパッケージをインストールし、モデルプロバイダーを登録し、OTel トレースからルーターを構築します。

  • インストール: pip install world-model-optimizer
  • プロバイダー登録: wmo providers set
  • ルーター構築: wmo build --file traces.jsonl --name my-endpoint
  • ホールドアウトタスクでモデルを評価: wmo optimize route sweep my-endpoint --traces traces.otel.jsonl
  • ルーティングポリシーを適合: wmo optimize route fit matrix.json --kind knn --out .wmo/models/my-endpoint/policy.json
  • エンドポイントを提供: wmo serve --name my-endpoint

コストと品質の向上を評価する

提供後、report コマンドを使って新しいエンドポイントをベースラインモデル(例: gpt‑5.5)と比較できます。

wmo optimize route report matrix.json .wmo/models/my-endpoint/policy.json --baseline gpt-5.5

このコマンドは改善幅とコスト削減を示す指標を出力します。

小型モデルをプールに蒸留する

ルーティングを回避し、単一の最適化モデルを提供したい場合は、モデル蒸留サブコマンドを使用します。

wmo optimize model

(詳細は distill README を参照)このコマンドは、ルーティングされたプールの性能を継承した小型モデルを作成します。その後、wmo optimize route pin でモデルを固定したり、wmo optimize harness で最適化ハーネスを構築したりできます。

ホスト型プラットフォームの利用

platform.experientiallabs.ai でアカウントを作成すると、認証情報を管理せずにエージェントを実行できます。 ログイン後:

  • wmo login
  • エージェントのチャンピオンハーネスを実行: wmo run <agent-id> プラットフォームがモデルとサンドボックスの認証を処理するため、ローカルの API キーは不要です。

E2B バックエンドを使った分離評価

分離サンドボックスで最適化を評価したい場合は、E2B エクストラをインストールし、API キーを設定します。

pip install "world-model-optimizer[e2b]"
export E2B_API_KEY=...

その後、E2B 内でハーネス最適化または評価を実行します:

wmo optimize harness my-agent my-environment --tasks tasks.jsonl --backend e2b
wmo eval tasks.jsonl --mode closed-loop --harness my-agent --harness-backend e2b

すべての候補は同一のシミュレートタスクで測定され、評価ゲートを通過した変更だけが新しいバージョンのチャンピオンハーネスとなります。

API としてのワールドモデル

パッケージにはプログラムからまたは HTTP 経由で問い合わせ可能なワールドモデルが含まれています。 Python の例:

from wmo import Action, ActionKind
from wmo.config.store import WorldModelStore
from wmo.engine.loader import load_world_model

model_dir = WorldModelStore("\.wmo").resolve("airline\
wm, _provider = load_world_model(model_dir)
session = wm.new_session(task="check out the cart\
obs = wm.step(session.id, Action(kind=ActionKind.TOOL_CALL, name="add_to_cart", arguments={"sku": "A1"}))
print(obs.content)

HTTP エンドポイント: GET /world_models でモデル一覧を取得し、POST /world_models/{name}/sessions でセッションを作成、POST /world_models/{name}/sessions/{id}/step でステップを進めます。

ワークスペースのアップロードとデタッチ/リアタッチワークフロー

ログイン後、ローカル変更をライブ同期しながらエージェントを実行できます。

  • ワークスペースをアタッチ: wmo run <agent-id> -u . --task "fix the failing tests"
  • デタッチしてプラットフォーム上で続行: wmo run <agent-id> -u . --detach
  • デタッチ中のエージェントにメッセージ送信: wmo run --send "Now run the full test suite"
  • 後でリアタッチ: wmo run --attach
  • 実行を終了: wmo run --end

開発環境のセットアップ

プロジェクトは uv で管理され、ruff がリント/フォーマット、ty が型チェックに使用されます。

  • 開発環境インストール: uv sync --extra dev
  • リント: uv run ruff check .
  • フォーマット: uv run ruff format .
  • 型チェック: uv run ty check
  • テスト実行: uv run pytest -q

使用状況テレメトリ

wmo は匿名メタデータのみを収集します。プロンプト、トレース、アクション、観測、ファイルパス、モデル名、認証情報は保存されません。 テレメトリはデフォルトで有効です。プロジェクト単位で無効化するには:

uv run wmo config telemetry disable

これにより .wmo/settings.toml が書き込まれます。再有効化は uv run wmo config telemetry enable、状態確認は uv run wmo config telemetry status、プロセス単位での無効化は DO_NOT_TRACK=1 または WMO_TELEMETRY=0 で行えます。

Hacker News でのコミュニティフィードバック

コメントは熱意と懐疑の両方を示しました。

  • あるユーザーは具体的な証拠を求めました: "この手法が機能することを証明する最良の方法は、同手法でファインチューニングしたモデルを公開し、ベースモデルとファインチューニングモデル間の改善幅をベンチマークで示すことです。… それまでこれはノイズに過ぎません。" — @Art9681
  • 別のユーザーはルーティングに焦点が当たっている点を指摘しました: "タイトルが誤解を招きます。これはモデル蒸留ではなくモデルルーティングです。" — @surround
  • コスト計算について疑問を呈したコメント: "ローカルモデルを改善しているということですか? もしそうなら、API と比較したコストをどう計算するのか教えてください。" — @jack_pp
  • ポジティブなコメントもありました: "Cool project" — @digitaltrees、"Cool idea! How do you guarantee privacy?" — @yiyingzhang、"Excited to play with this." — @rglover

これらの反応は、ベンチマークへの関心、ルーティングと蒸留の違いの明確化、プライバシー保証、ローカルモデルと API モデルのコストモデリングに対する関心を示しています。

要約

World Model Optimizer (wmo) は、エージェントトレースを継続的に改善されるモデルに変換できるオープンソースツールです。ルーティングと蒸留により、フロンティア品質の性能を実現しながら、推論コストを 40% 以上削減できます。

タイトル

World Model Optimizer: フロンティアモデルを半分のコストで蒸留・提供

Sources