用途
Cost Compact Context 用于成本分析类查询。它封装了来自 @claude-flow/integration 的 getTokenOptimizer().getCompactContext(),以检索经过压缩的 ReasoningBank 上下文,并报告桥接层(bridge)给出的 tokensSaved 数值。
主要能力
- 接收单个参数作为查询(query)。
- 调用 getCompactContext(query),检索压缩后的上下文。
- 输出 markdown 摘要,并通过 COMPACT_QUIET=1 输出一行 JSON。
- 报告以下内容:检索到的记忆数、节省的 token 数(由桥接层报告)、agentic-flow 可用性、缓存命中率。
- 附带免责声明:“由桥接层报告,并非基于无 RAG 基线测量”。
使用方式
从 v3/ 下的任意位置运行,以确保 @claude-flow/integration 能够解析:
( cd v3 && node ../plugins/ruflo-cost-tracker/scripts/compact.mjs "<QUERY>" )
脚本会导入 @claude-flow/integration/token-optimizer(这是规范导出,而非 dist/token-optimizer.js,后者会因 Node 的 ./* 导出规则导致 .js 扩展名重复),调用 getCompactContext(query),并打印 markdown 摘要以及一行 JSON。
降级与回退行为
桥接层会动态导入 agentic-flow,并带有优雅降级:当该包未安装时,tokensSaved 为 0,技能会干净退出。
当 agentic-flow 未安装时:
- getCompactContext 返回 {tokensSaved: 0, memories: []}。
- optimizedEdit 返回 {method: 'traditional'}。
- getOptimalConfig 回退到 anti-drift 默认值。
- 技能会打印“agentic-flow not installed — bridge returns inert results.”并干净退出。
注意事项(上游声称,尚未验证)
- CLAUDE.md 根文件声称 ReasoningBank 检索可减少 32% 的 token。
- 桥接层的 tokensSaved 计算方式为 query_tokens − compact_prompt_tokens(token-optimizer.ts:141–143),这是一种启发式估算,而非基于基线测量的节省。
- token-optimizer.ts:9–10 本身声明:“No fabricated metrics are reported — all stats reflect real measurements”。本技能沿用该免责声明。
- Booster 特定的可用性并未作为 getter 暴露,只能通过 optimizedEdit() 返回 method: 'agent-booster' 来观察。规范的 Tier 1 信号是 [AGENT_BOOSTER_AVAILABLE](参见 cost-booster-route)。
交叉引用
- ADR-0002 Decision #2 + §"Riskiest assumption"
- token-optimizer.ts:308(单例导出)
- docs/benchmarks/0002-baseline.md(验证发现)
限制
- 目前没有 MCP 工具封装 getTokenOptimizer(ADR-0002 §"Riskiest assumption"),因此改为通过 Node 单行命令调用脚本。
- tokensSaved 为启发式数值,并非基于无 RAG 基线测量。
- Booster 可用性无法通过 getter 直接获取。