概要
pxpipe はClaude CodeやGPTのリクエスト文脈(システムプロンプト、ツールドキュメント、履歴)を 画像化してトークン数を削減 するローカルプロキシ。 画像トークンはピクセル数で固定 され、テキスト密度が高い場合に 大幅なコスト削減 が可能。 Fable 5モデルで最高の精度、Opus対応も可能だが制限あり。 バイト単位での正確な情報が必要な場合は非推奨、リスクと回避策あり。 ダッシュボードや柔軟なモデル切替機能 も搭載。
pxpipeによるClaude Code/GPT入力トークン削減の仕組み
- pxpipe は、 システムプロンプト・ツールドキュメント・履歴 などの大容量テキストを PNG画像に変換 し、リクエスト転送前に圧縮
- 画像のトークンコストはピクセル数依存 で、 テキスト密度が高いほど圧縮効果が大きい
- 例:コード/JSON/ログなどは 約3.1文字/画像トークン、通常テキストは 約1文字/テキストトークン
- リクエスト内容に応じて動的に圧縮 (密度が低い場合や小さいリクエストはそのまま転送)
- Fable 5 での読取精度は 100/100、 Opus はやや劣るが選択可能
トークン削減・コスト削減効果
- 入力トークン削減率 :例では 約25,000テキストトークン→約2,700画像トークン
- コスト削減率 :Fableリストプライスで 約59~70%削減 (圧縮リクエストのみなら 72~74%)
- ダッシュボード で トークン削減量・セッション統計・変換履歴 をリアルタイム表示
- 出力トークンには影響なし (レスポンスは圧縮しない)
仕組み・利用方法
- ローカルプロキシ として動作し、 /v1/messages リクエストをフックして画像化
- システムプロンプト・ツールドキュメント・古い履歴 のみ画像化、 直近のやりとり・出力は常にテキスト
- モデルごとに画像化ON/OFF を柔軟に切替可能(PXPIPE_MODELS環境変数やダッシュボードから)
- ツール定義はGPTの場合JSONのまま 保持、ツールコールの信頼性維持
- ダッシュボード で ライブ統計・モデル切替・グローバルキルスイッチ を提供
実行例
- npx pxpipe-proxy でプロキシ起動
- ANTHROPIC_BASE_URL を http://localhost:47821 に設定しClaude Codeを利用
- ダッシュボード (http://127.0.0.1:47821/)で トークン削減状況や変換内容を確認
制約・リスク・回避策
- 画像化はロス有り :バイト単位での正確な値(ID/ハッシュ/シークレット/厳密な数値)は 必ずテキストで送信
- 必要な場合はモデル切替や明示的な設定で回避
- 画像化された履歴からの値取得は誤読リスク有り
- Fable 5は高精度だが、OpusやGPTでは一部失敗例有り
- 圧縮対象は「利益が出る」場合のみ自動判定 (N=391実測データで調整)
- 失敗例 :過去に人名誤読(エラーではなく「それらしい誤答」)、精度保証が必要な用途には注意
ベンチマーク・実測データ
- SWE-bench Lite/Pro で 品質・コストともに良好 (Lite: 10/10正解、Pro: 14/19正解、コスト-60%)
- GSM8K 等の既知データセットでも高い圧縮率だが、学習済みデータのため参考値
- トークン削減率 は リクエスト内容依存、英語プローズのような疎なテキストでは圧縮効果低下
- /v1/messages POSTごとに元のトークン数と圧縮後を同時記録 (~/.pxpipe/events.jsonl)
圧縮対象・非対象
- 画像化されるもの
- 大きなtool_result(ファイル読込・コマンド出力・ログ)
- 古い履歴(直近以外)
- システムプロンプト・ツールドキュメント
- 画像化されないもの
- 直近のやりとりや小規模リクエスト
- モデル出力
- 疎な英語プローズや小さいテキスト
- 非Fableモデルのリクエスト
まとめ・推奨用途
- コード・JSON・ログなどトークン密度が高い作業で大幅なコスト削減
- バイト単位での厳密な値が不要な用途で推奨
- 柔軟なモデル切替・詳細なダッシュボード・再現性あるログ記録
- リスク(ロス・誤読)を理解した上での活用が前提