看 PostHog 如何把万亿级噪声信号,炼成工程师一觉醒来就能合的绿色 PR
Self Driving Products: Product Signals to Pull Requests — Joshua Snyder, PostHog · Joshua Snyder
全片 15 分钟·真正值得盯屏约 4 分钟·2 个必看点
- 0:15 – 2:00听
愿景:从仪表盘到自动 PR
提出把可观测性从“人读仪表盘再排查数天”翻转为“产品信号直接触发后台 agent 提 PR”,工程师只负责评审,低风险改动可在 feature flag 后自动上线。
PR 被拒、部署出问题等结果会反馈进下一次生成,形成学习闭环,而不是单向自动化
开场是纯口头的愿景陈述,没有关键画面,适合边做事边听▶ 跳到 0:15讲者 · Joshua Snyder - 2:00 – 4:10略
五步流水线与 prompt 注入防护
给出流水线全貌:摄入、分组、根因研究、可操作性评估、沙箱执行五步;并解释因信号源公开,攻击者可在网站上制造带恶意指令的错误,所以顶端必须放 LLM 安全分类器。
任何接收公开来源信号的 agent 流水线,入口处都需要一层 prompt 注入过滤,这是安全前提而非优化项
架构总览以幻灯片框图为主,扫一眼图记住五步结构即可,不必逐秒盯看▶ 跳到 2:00讲者 · Joshua Snyder - 4:10 – 7:16看
信号归一化与阈值提升机制
异构信号先归一化为统一结构(来源、类型、内容、重要性权重)再做 embedding 分组,报告累计权重超阈值即被提升处理;演示如何把空指针异常与 Slack 里“结账坏了”的反馈关联起来。
降噪的关键不是过滤单条信号,而是让跨源信号在归一化后互相印证、按权重收敛成一个问题
6:31 处讲者对着画面指认“你的所有错误在这边”并讲解分组流向,这段有明确的视觉依赖,建议看画面▶ 跳到 4:10讲者 · Joshua Snyder - 7:16 – 9:30听
研究 agent:SDK、沙箱与三类工具
研究 agent 基于 Claude Agent SDK 跑在 Modal 沙箱,配自家 MCP(看回放时顺带拉日志显著提升准确性)、代码库上下文和 Linear/Notion 等外部 MCP,产出摘要、优先级,并用 GitBlame 推断 PR 评审人。
让 agent 能按需拉取关联数据(而非一次性塞满上下文)是根因定位准确率的主要来源
本段是工具配置与经验的口头论述,信息在语言里而不在画面里▶ 跳到 7:16讲者 · Joshua Snyder - 9:30 – 11:40听
可操作性闸门:三路分流
把任何问题丢给 agent 它都会“硬修一个东西”,模糊报告会催生噪声 PR;因此报告分三路:证据不足的放回信号池、涉及产品决策的进人工收件箱、立即可操作的才交给 agent。
错误追踪类信号具体、agent 修得好;Slack 反馈和会话回放偏泛化,必须先分流而非直接喂给执行 agent
分流逻辑是纯概念论述,听清三条路径的判断标准即可▶ 跳到 9:30讲者 · Joshua Snyder - 11:40 – 13:00听
沙箱执行:迭代到 PR 变绿
把用户仓库克隆进沙箱写修复并推 PR;CI 失败或 PR 有评论时通过快照沙箱按需恢复(rehydrate)触发重跑,持续迭代直到 PR 变绿。
交付标准不是“提了 PR”而是“绿色 PR”——让工程师早晨面对的是可直接评审的结果而非一堆 CI 失败
执行机制靠口头描述串联,无现场演示,重点在 rehydrate 触发逻辑▶ 跳到 11:40讲者 · Joshua Snyder - 13:00 – 14:18听
四条实战教训
本地感觉检查对多样客户数据完全不够,不做代表性 evals 就是在黑暗中迭代;现成 embedding 大量匹配结构相似而非语义相似,必须先归一化;实验期假装 token 免费,跑上百次后把 agent 步骤蒸馏成一次 LLM 调用或小模型。
“实验期假装 token 免费、之后再蒸馏降本”是全片最反直觉也最可迁移的一条经验
教训总结为口头要点罗列,适合专注听并记下四条结论▶ 跳到 13:00讲者 · Joshua Snyder - 14:18 – 15:18听
下一步:自动实验与自动上线
收尾展望流水线的延伸方向:自动发起实验、低风险改动自动上线,并从上线结果中持续学习。
终局形态是“信号→修复→上线→结果回流”的全自动闭环,当前流水线只是第一段
结尾为简短口头展望,无需看画面▶ 跳到 14:18讲者 · Joshua Snyder