PostHog ReviewHog 验证器模型实验成本账解析:Sonnet 5 网关用量表(N1 运行)全解读
发布时间:2026/9/18 22:51:55来源:尧图网络
PostHog ReviewHog 验证器模型实验成本账解析Sonnet 5 网关用量表N1 运行全解读【免费下载链接】posthog:hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error tracking, logs, and more – capture all the context agents need to diagnose problems, uncover opportunities, and ship fixes. Steer it all from Slack, web, desktop, or the MCP.项目地址: https://gitcode.com/GitHub_Trending/po/posthog本文以products/review_hog/eval/experiments/2026-08-validator-model-sol/runs/N-sonnet5-validator-1.gateway_usage.md为骨架结合该实验的 PLAN、FINAL_REPORT、运行详情与统计脚本完整还原一次 ReviewHog 验证器模型对比实验N1 运行Sol 评审器 Sonnet 5 验证器的 AI 网关用量与成本构成并说明这份用量表是如何从 Kafka 中的$ai_generation事件逐级聚合出来的以及它在整个验证器模型选型决策中扮演的证据角色。这张表是什么一次运行、546 个 LLM 调用的成本账N-sonnet5-validator-1.gateway_usage.md是 PostHog ReviewHog 评估实验2026-08-validator-model-sol中 N1 运行arm Nclaude-sonnet-5验证器的网关用量汇总表。文件只有一张表但它是对该运行窗口内546 条消息、546 个$ai_generation事件的忠实压缩stage familymodelcallsinputcache readoutputreasoninggateway $effortblind-spotgpt-5.6-sol919,229,2458,661,14453,26641,570$6.80xhighdedupclaude-sonnet-5110,487010,9960$0.13xhighperspective_selectionclaude-sonnet-515,98101,6440$0.03xhighreviewgpt-5.6-sol26828,795,66727,282,987118,01485,662$19.32xhighvalidationclaude-opus-4-86672,583554,4838,1420$1.22xhighvalidationclaude-sonnet-517924,572,66823,553,035212,3660$9.31xhigh把 calls 列相加91 1 1 268 6 179 546与首行scanned 546 messages完全对账把成本相加$6.80 $0.13 $0.03 $19.32 $1.22 $9.31 $36.81恰好等于 FINAL_REPORT.md 中 N1 的网关总额review $19.32 blind-spot $6.80 validation $10.53 one-shots $0.16。这份自洽性正是该用量表作为权威成本证据的价值所在。实验背景为什么要给验证器模型算这笔账这张表来自 PostHog 在 2026-08-25/26 进行的GPT-5.6 Sol 是否可作为 ReviewHog 验证器实验目录2026-08-validator-model-sol。实验要回答的问题记录在 PLAN.md 开头能否用gpt-5.6-solCodex 多轮会话在更低成本、更短时间下不损失裁决质量地取代 Claude Opus 作为验证模型实验采用同一冻结 PR#75215 a7fb363、同一分块pinned chunks、零评论洁净室的受控设计评审器一律为 Sol xhigh仅更换验证器变量形成多个对照臂arm Lclaude/claude-opus-5/xhigh生产 pins运行 L1/L2arm Mcodex/gpt-5.6-sol/xhigh/full-access运行 M1/M2arm N本表所属claude/claude-sonnet-5/xhigh/ None运行 N1/N2arm P评审器降为medium、验证器为 Opus 5运行 P1/P2。其中 N1 的完整运行参数见同目录 N-sonnet5-validator-1.md评审器codex / gpt-5.6-sol / xhigh验证器 pins 为claude / claude-sonnet-5 / xhigh / None单块门限 400 / 目标 300 / 软上限追加 600墙钟总时长 3060 秒51 分钟。一个必须交代的插曲effort 参数曾经根本到不了 Codex用量表中effort一列全为xhigh这本身是实验的一个关键修复成果。FINAL_REPORT.md 的 The effort pin never reached Codex 一节指出早期 K1/K2/K3 运行中尽管配置把验证器 pin 在xhigh/max网关记录到的每个gpt-5.6-sol调用却都是$ai_effortlow——因为posthog/agent的 Codex 适配器在collaborationModeForTurn()中只携带{ model }未携带reasoning_effortCodex 便回退到其目录中该模型的默认 effortlow。修复PR #88893一行改动经本地 smoke 验证后fix-smoke.gateway_events.json 中 12 个 Codex 调用全部为xhigh后续 L/M/N/P 各臂才真正跑在钉住的 effort 上。N1 表中effort全列为xhigh正是effort 修复已生效在网关侧的旁证。逐列解读每个字段都对应一个网关事件属性这张表的每一列都能在 gateway_events.json7646 行、546 个事件中找到来源而事件字段的提取规则定义在生成脚本 kafka_ai_usage.py表列事件属性properties键含义stage family$ai_stage归类issues-review*→ reviewblind-spots*→ blind-spotvalidation*→ validation其余按原始 stage 名model$ai_model实际调用的模型名如gpt-5.6-sol、claude-sonnet-5calls计数该 (stage family, model) 组合下的事件条数input$ai_input_tokens输入 token 总数不含缓存命中部分cache read$ai_cache_read_input_tokens命中缓存读取的输入 token 数output$ai_output_tokens输出 token 总数reasoning$ai_reasoning_tokens推理 token 数仅gpt-5.6-sol有值Claude 两行均为 0gateway $$ai_total_cost_usd网关按 LiteLLM 费率算出的美元成本effort$ai_effort请求携带的 reasoning effortlow/medium/xhigh/max从 gateway_events.json 的事件样本可以看到原始形态每个事件记录ts毫秒时间戳、stage、model、session$ai_session_id、in/cache_read/out/reasoningtoken 数、cost以及keys本实验中恒为[$ai_effort, $ai_reasoning_tokens]。例如issues-review-p1-c1阶段同一session的多次调用首调in41740无缓存命中随后的调用in42017, cache_read41737——同一会话内上文被缓存复用成本从 $0.17 降到 $0.02 量级。数据如何采集直接从本地 Kafka 读$ai_generationFINAL_REPORT.md 专门说明了为什么用网关事件而非 agent 日志本地 ingestion 消费者阻塞personhog :50052导致$ai_generation事件滞留在 Kafka topicevents_plugin_ingestion_ai因此实验直接读取该 topic。脚本 kafka_ai_usage.py 的用法TOPICevents_plugin_ingestion_ai RUN_START_EPOCHepoch RUN_END_EPOCHepoch OUTjson \ python products/review_hog/eval/experiments/2026-08-validator-model-sol/scripts/kafka_ai_usage.py脚本用offsets_for_times定位时间窗口起始偏移消费到end_ms 120s为止过滤event $ai_generation随后做两级聚合先按(stage, model)、再按(stage_family, model)并输出与用量表完全一致的 Markdown 表格脚本第 92-97 行的输出格式就是这张表。FINAL_REPORT 还强调此前用 agent 日志估算的方法usage_from_logs.py已删除每轮只取最后一个 LLM 调用低估了 3–4 倍只有网关事件能看到每一次 LLM 调用这才是权威口径。N1 运行的全景漏斗、耗时与验证器裁决用量表回答花了多少钱N-sonnet5-validator-1.md 则回答这些钱买到了什么。漏斗与成本chunksreview unitsraw issuesafter deduppassed validator413272216review units 每个 (perspective|blind-spot × chunk) 的沙箱评审次数是模型持有成本恒定的代理指标缓存感知花费窗口内无遗漏的$ai_generation事件可能发往云项目或尚未摄取。各阶段墙钟耗时stagedurationfetch snapshot0schunking0sperspective selection19sreview wave (perspectives)17m 55sblind-spot sweep8m 14sdedup (incl. combine/clean)1m 45svalidation22m 30s其中评审阶段总时长selection → 最后一个 finder 单元wave blind-spot 26m09s是评审器模型速度对比的指标各阶段耗时取自工件created_at完成后持久化仅对全新的、非断点续跑有参考意义。分块chunking4 个块共 22 个文件分别覆盖 ReviewHog 后端/前端生成代码、Stamphog 后端facade、tasks、temporal、logic/reviewer.py、tools/pr-approval-agent/的评审器实现以及products/stamphog/的文档。验证器裁决结果22 条 dedup 后发现 → 16 条保留NA.score.md 给出了量化评分| | real | not real | | - | ---- | -------- | | kept | 8 | 8 | | dropped | 3 | 3 |保留中真实率precision8/16 50%真实发现保留率recall8/11 73%非真实发现剔除率3/11 27%值得注意的裁决细节均来自 N1 运行详情与 NA.score.md 的对应条目保留了真实问题如initial path does not verify that the task produced the PRmust_fix安全、Initial inbox reviews trust a caller-controlled PR URLmust_fix、Webhook linkage trusts a user-writable PR URLmust_fixN1 的 new real issue NA11等误删了 3 条真实发现包括must_fix的 The carve-out accepts any bot identityNA5与 Bind the carve-out to the fetched PRNA22以及should_fix的 Stamphog ignores opted-in secondary reviewersNA13——这正是 FINAL_REPORT 指出的 Sonnet 5N1 里被删的多半是真的保留了 8 条非真实发现broker/重试加固类cluster 58、无作用域find_task_run查找cluster 39、队列时刻 togglecluster 31等已知弱主张家族在 N2NB.score.md 所在目录中甚至一条非真实发现都没剔除。横向对比八个运行、三个验证器、单位裁决成本把 N1 放到整个实验的成本矩阵里看xhigh_summary.md 的八运行汇总表指标L1 (Opus 5)L2 (Opus 5)M1 (Sol)M2 (Sol)N1 (Sonnet 5)N2 (Sonnet 5)findings judged232219202222kept111218181622kept-real (precision)9/11 (82%)8/12 (67%)11/18 (61%)12/18 (67%)8/16 (50%)11/22 (50%)real-kept (recall)9/12 (75%)8/11 (73%)11/12 (92%)12/13 (92%)8/11 (73%)11/11 (100%)not-real dropped9/11 (82%)7/11 (64%)0/7 (0%)1/7 (14%)3/11 (27%)0/11 (0%)validation cost (gateway)$24.35$23.42$13.62$15.97$10.53$11.72cost per verdict$1.06$1.06$0.72$0.80$0.48$0.53几点源自网关数据的解读N1 的验证器成本全貌 表中两行 validation 之和claude-sonnet-5179 次调用 $9.31 claude-opus-4-86 次调用 $1.22 $10.53。后者是 Sonnet 5 会话自己派生的 Opus 4.8 子代理调用PLAN.md 明确记录 6claude-opus-4-8sub-agent calls $1.22——做任何按模型的成本拆分都必须把这类子代理调用计入验证器名下Sonnet 5 是最便宜的验证器$0.48–0.53/裁决约为 Opus 的一半比 Sol 还低约三成缓存命中率极高validationsonnet输入 24.57M token 中 23.55M 来自 cache read≈96%review 阶段同样如此说明多轮会话的上下文复用对成本曲线影响巨大——这也是网关缓存感知计费口径LiteLLM 费率$0.40/M cache read比朴素 token 计费更能反映真实账单的原因但便宜不等于划算Sonnet 5 与 Sol 一样几乎什么都保留N2 22/22 全保留非真实剔除率 0%而 Opus 5 剔除 64–82% 的非真实发现。盲评argumentation_judge_N_vs_L.json中 Opus 20 胜、Sonnet 2 胜、7 平。结论这张表在决策链上的位置FINAL_REPORT.md 的最终建议与这张成本账直接对应验证器保持 Opus——Sol xhigh 与 Sonnet 5 xhigh 的成本优势~30% 与 ~50%不足以弥补其几乎不剔除非真实发现的质量短板评审器值得以 xhigh 上线——effort 修复#88893落地后Sol 评审器每运行真实发现提升到 11–13 条低 effort 时仅 3–4 条并找到 8 个此前 18 次评审未报告过的真实问题代价是 ~$26/运行review blind-spot368–373 次网关调用与 25–35 分钟评审阶段若 xhigh 价格是障碍medium是退路~$10.50/运行、真实发现 7 条、评审阶段 12–14 分钟。N1 这张用量表正是支撑上述结论的三块证据之一质量评分、盲评、网关成本它让Sonnet 5 便宜一半从一个印象变成一个可对账的数字。如何在仓库中复现与继续阅读复现成本口径在 flox 环境、仓库根目录、可达localhost:9092的前提下用 kafka_ai_usage.py 按运行起止 epoch 重新拉取同一 topic 的事件并重算聚合表跨运行汇总summarize_runs.py 接收S:label参数如NA:N-sonnet5-validator-1把 findings 的 truth 判定与网关成本合并输出验证器混淆 评审侧 各阶段成本汇总表逐事件明细本运行的 546 个事件全部保留在 N-sonnet5-validator-1.gateway_events.json可按session还原每个多轮会话的完整调用链实验全貌运行日志见 PLAN.md含 L1 首跑的 8/8 隧道断流事故与重试/并发缓解、K1错误树教训等结论与建议见 FINAL_REPORT.md八运行完整评分表见 findings/xhigh_summary.md。【免费下载链接】posthog:hedgehog: PostHog is the leading platform for building self-driving products. Our developer tools – AI observability, analytics, session replay, flags, experiments, error tracking, logs, and more – capture all the context agents need to diagnose problems, uncover opportunities, and ship fixes. Steer it all from Slack, web, desktop, or the MCP.项目地址: https://gitcode.com/GitHub_Trending/po/posthog创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网