cost-booster-edit について
Cost Booster Edit は、分類済みの Tier 1 コード変換を agent-booster で実行するエージェントスキルです。決定論的な非 LLM 実行が適した単純な構造編集向けで、信頼度の低い結果は保留して上位の処理に回します。
主な機能
- 016 種類の定義済み変換を適用
- 02変更を書き込む前に信頼度を確認
- 03API 呼び出しとトークン課金を回避
- 04ルーティング学習用に結果を記録
- 05同じ入力に決定論的な結果を生成
活用シーン
- 01多数のファイルに単純な編集を適用
- 02CI で構造的な変換を実行
- 03信頼度の低い編集を確認工程へ回す
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill cost-booster-editインストール後、Claude Code で/cost-booster-editを入力して読み込まれたか確認します。
詳細
コストブースター編集
agent-booster.apply() の直接ラッパーです(npm agent-booster v0.2.x。agentic-flow/agent-booster 経由で公開)。変換がすでに Tier 1 対象と分類されている場合に使用します。cost-booster-route は該当するかどうかを推奨し、このスキルは実行します。
使用するタイミング
- 多数のファイルにわたる一括変換(
var → const、add-types、remove-console、add-error-handling、async-await、add-logging)。 - LLM を呼び出すと課金されるような、シンプルで構造的な編集全般。
- 自然さよりも決定性とコストゼロが重要な CI パイプライン内。
変換に意図、命名、またはファイル間のコンテキストについての推論が必要な場合は使用しないでください。そのような作業は Tier 2/3 に該当します。
手順
-
入力を受け取る —
intent(6 つのブースターインテントのいずれか)とfileのパス。 -
ソースを読み込む — 変数に読み込み、意図に沿った
editテキストを導き出します(呼び出し元が指定)。 -
呼び出す —
agent-boosterが解決されるように、v3/配下の任意の場所から実行します。node --input-type=module -e ' import("agent-booster") .then(async ({ AgentBooster }) => { const booster = new AgentBooster(); const r = await booster.apply({ code: process.argv[1], edit: process.argv[2], language: process.argv[3] || "javascript", }); console.log(JSON.stringify({ success: r.success, output: r.output, latency: r.latency, confidence: r.confidence, strategy: r.strategy, tokens: r.tokens, })); }) .catch(e => console.log(JSON.stringify({ success: false, error: String(e.message) }))); ' -- "$CODE" "$EDIT" "$LANG" -
信頼度を確認する — デフォルトのしきい値は
0.5です。これを下回る場合はフェイルクローズし、ファイルを書き込まずに報告して Tier 2/3 にエスカレーションします。 -
書き戻す —
success && confidence >= 0.5の場合、outputフィールドを書き戻します。 -
結果を永続化する —
memory_store --namespace cost-tracking --key "booster-edit-..." --value '{"intent":..., "latency":..., "confidence":..., "strategy":..., "applied":true}'。hooks_model-outcomeを使ってルーティング学習器にフィードバックします(cost-optimizeスキルの手順 8 を使用)。
測定済みベンチマーク(2026-05-04、このチェックアウト)
代表的な 5 つのインテントで AgentBooster.apply() を実行:
| インテント | レイテンシ(ms) | 実時間(ms) | 信頼度 | 戦略 | 成功 |
|---|---|---|---|---|---|
| var-to-const | 5 | 5 | 0.65 | fuzzy_replace | true |
| add-types | 1 | 1 | 0.64 | fuzzy_replace | true |
| remove-console | 0 | 0 | 0.70 | fuzzy_replace | true |
| add-error-handling | 0 | 0 | 0.85 | exact_replace | true |
| async-await | 0 | 0 | 0.85 | exact_replace | true |
測定レイテンシの平均は約 1.2 ms です。上記 5 件はすべてデフォルトの信頼度しきい値 0.5 を上回っています。LLM ベースラインとの比較については docs/benchmarks/0002-baseline.md を参照してください。
ローカルで検証済みの内容
| 主張 | ここでのステータス |
|---|---|
| 勝率 100% | 検証済み — bench/booster-corpus.json で 12/12(runs/latest.json を参照)。Booster と Gemini 2.0 Flash はどちらも 12/12 です。これは構造的な正しさを評価するコーパスであり、難易度の高い敵対的テストではありません。 |
| ミリ秒未満のレイテンシ | 検証済み — 平均 0.67 ms、p50 は 0 ms、p99 は 6 ms、最大 6 ms です。 |
| 編集あたり $0 | 構造的に検証済み — API 呼び出しやトークン課金はありません。 |
| 決定論的な AST ベースのマージ | 検証済み — 同じ入力から同じ output と strategy が再現されます。 |
| 信頼度 ≥ 0.5 ⇒ 正解 | このコーパスで検証済み — 0.5 を上回るケースは 12/12(最小値は 0.551)で、すべて正解です。 |
LLM と比較して 350× 高速 | 検証済み — すべての層で上回りました: Gemini 2.0 Flash と比較して 1000.9×、Claude Sonnet 4.6 と比較して 1838.7×、Claude Opus 4.7 と比較して 2634.1× です。更新するには BENCH_LLM_BASELINE=1 BENCH_ANTHROPIC=1 node scripts/bench.mjs を実行してください。 |
| 編集あたりのコスト削減額 | 測定済み: Gemini と比較して $0.000020、Sonnet 4.6 と比較して $0.000722、Opus 4.7 と比較して $0.004720 です(Booster 側はいずれも $0)。 |
| 最先端 LLM と同等の勝率 | 検証済み — Booster、Gemini 2.0 Flash、Sonnet 4.6、Opus 4.7 はすべてこのコーパスで 12/12 でした。決定論的な変換では、Booster は構造的に LLM と同等の精度を実現します。 |
対象を拡張するには、bench/booster-corpus.json にケースを追加して、( cd v3 && node ../plugins/ruflo-cost-tracker/scripts/bench.mjs )(または BENCH_LLM_BASELINE=1 を付けて)を実行し、runs/latest.json をコミットしてください。スモークテストのステップ 23 では、勝率が 0.80 を下回るとビルドが失敗します。
LLM モデルを上書きする: BENCH_LLM_MODEL='claude-sonnet-4'(api.anthropic.com に接続する場合)、または推論モデルとの比較には BENCH_LLM_MODEL='models/gemini-2.5-flash' を指定します。価格指定フラグ:BENCH_LLM_PRICE_IN、BENCH_LLM_PRICE_OUT。
fuzzy_replace はベストエフォートです。本番環境での変換には、exact_replace にルーティングされるケース(サンプルで信頼度 ≥0.85)を優先してください。
相互参照
ADR-0002 §「Decision 1」(ルート分類器)および §「Riskiest assumption」(Bash 経由でシェルを使った呼び出し) · cost-booster-route(分類器側の連携コンポーネント) · agent-booster npm README(3 モードのインストール、MCP/npm/HTTP)。