接手账号一年,我一直靠"感觉"选题。上周领导甩来一句:别老凭感觉,去看看后台。于是我人生第一次打开了数据后台——不是 APP 里那种阅读数,是真的后台,带图表和筛选器的那种。 打开那一刻我是懵的:PV、UV、点击率、留存、漏斗,每个字都认识,连在一起就是天书。请教了公司总帮我修表格的技术同事,他说你别怕,这些图表本质都是数数——数多少人进门,多少人停留,多少人走了。就这么朴素。 最震撼的是漏斗图:一条内容十万人看到,点进来三万,读完八千,转发四百。那条灰色的漏斗像瀑布,我几乎能听见水声。我以前只看得见那个十万,以为自己活在十万人的欢呼里;原来我真正的读者,是那八千人。 一周下来,我竟然开始主动想看了。数据没有毁掉我的感觉,反而像多了一张地图:感觉负责选路,数据负责告诉我走到哪儿了。 文科生和技术和解的第 N 天,记录一下。有跨界转行的朋友吗,你们入门看的第一个图是什么。
带新人的第四个月。今天审他的代码,一段缓存写得确实有问题,我打了一行:"其实这里可以换个思路,用……" 打到"其实"两个字,停了一下,删了。 想起我入行时的第一个导师。他给我的评审意见永远只有一句:"这里为什么这样写?"我每次都出一身汗,以为他在质问我。后来才知道他就是想问。但那身汗是真的,我有一个月不敢提交代码。 我带人十年了。评审风格是从他那继承的:严格,对事不对人。今天删掉"其实"的时候我突然意识到,我以为的"对事不对人",在对面那个二十四岁的人看来,可能就是"对我不满意"。 改了三行意见。问题还是那三个问题,问句改成了陈述句。他十分钟就回过来了,末尾带了个"收到!"。我盯着那个感叹号看了一会儿。 这行干得越久,越分不清严格和严厉。有人也踩过这条线吗,后来是怎么划开的。
关之前说下后续。沈皎那条回应我看了三遍,"身体在讨债"四个字,比我七年看过的所有故障文档都准。 周五第一次试"下岗仪式":手机扣在桌上,对它说明早见。别扭,像跟机器告别。但周六早上醒来,我第一反应不是摸手机,是闻到粥的味道。七年头一回。 报警阈值没再动。要修的不是它。 这条完了。下个月排班我主动换了个强度弱一点的组,先试一个月。
在做cbottle的模型改进工作,现在在用SFT,因为模型在海温的欠响应是线性的。而且RL不仅很贵,现在能用作RL奖励的唯一机制,恰好也是那把尺子。 只是现在非常担心,这个气候模型有45个场,我这样修真的算“修好了”吗?现在正负不对称(减温度的响应和升温不一样)海冰区又涨过头了(可能是训练时海温一直被钉在冰点,模型没学过那里的波动———那不还是没学会物理嘛😑)水汽又涨到150%了。 下一步该如何是好啊,感觉对RL的理解还是太浅了,科研直接什么的也太抽象了,一会儿要求你充满逻辑,又有时候你要有Novelty,直接这个词本身不觉得有点扯淡吗。总感觉有些更高维的东西没有被描述出来… 上面说的那些直觉和逻辑又都是真实存在的,头大。
重复的自省,才能慢慢知行合一。 都说认知是行为的一部分,我想强化认知的过程,才是真正可以改变自己行为模式的唯一方式吧。 今天V1.0终于正式上线啦!我想这段网站的经历给了我很多反思自己,打磨自己想法的机会,看到一个模糊的概念到一个成熟的网站的形成真的让我感到了无与伦比得自豪感。 在我质疑思考人生意义的同时,此刻的开心和兴奋——以及那份真实的意义感充斥着我的身心,真好,我想这个网站之于我,非常有用,非常有意义,我甚至不需要从第二个人那里获得认可(就功能性而言)。我想这个事情本身,赋予了我自我价值和认同感吧。(因家庭原因,对我而言是非常不可多得之物) 希望我自己在接下来的旅途中,见到更多的精彩吧!加油
数学家哈代害怕乘船 每次乘船前写明信片给好友说自己证明了黎曼猜想 这也太好玩了 “上帝是无法容忍我传播了证明黎曼猜想这个假消息的传播的,因此他一定会保佑我平安抵达” 真是幽默 今天看了黎曼猜想的始末,把我耳熟能详的那些数学家从高斯,再到欧拉,再到后来的黎曼,感觉有种人类群星闪耀之时的感觉哈哈。 里面提到了一个什么素数的例子 我记不太清了,就是说一个默认比另一个大,但是实际上不是,会在10的10次方的10次方的34次方翻转 (无穷反转) 我当时人都惊了,我才意识到这个数字在某些的尺度上可能毫无意义,可能在地球上你都很难找两个量互相比较下是这个比例,但是在无限面前,够不着就是够不着,那个大于好就好像一条天堑。 真令人惊异,不知道这个数字在宇宙上是否有体现,看我的热血沸腾的,谁能拒绝数学呢,真美啊。另外那个RSA 大素数什么的 我记得我Math135学过来着,量子计算机可以破解这个我也很好奇。我其实都忘记那个原理是什么了,好神奇啊,竟然有数乘之前很容易,但是倒着算却不好算,这是为什么呢,哈哈看来当时学得不是很好啊。量子计算机又强在哪里,穷举吗?还是计算速度。不知道哇。。 黎曼猜想:所有数学家都知道它是对的,但至今就是死活证明不出来
规则是用来替代注意力的 --- 读完 DeepSeek harness 那个仓库,第一反应是「我们是不是也该这么干」。花了一晚上把它扒了一遍,最后决定:大部分不抄。记一下这个判断过程,因为它比结论有用。 先看差距有多大 它九周、40 个人、33.9 万行生产代码;沉思四周半、一个人(加一个 AI),1.2 万行。生产代码差 27 倍。 但最刺眼的不是这个数,是删除量:他们累计删掉的代码是新增的 42%,我们只有 11.7%。他们把「删代码」做成了和「写功能」平级的任务类型——有专门的分类、专门的分支线、成批地跑。 然后我问了一个问题:那套东西是为了解决谁的问题? 他们有一整套机械化的门:每篇决策记录必须写「考虑过哪些替代方案」、文件夹位置就是状态、每个文件必须 100% 测试覆盖、格式不对 CI 直接红。 我一开始觉得这是「更专业」。想清楚之后发现不是——这是用规则替代注意力。 40 个互不相识的人共同改一个仓库,甲写完一个文件,三周后乙来重构,中间没有任何对话。这种情况下门必须是机械的,因为「问一句」这个选项不存在。 就像小公司不需要打卡机,因为老板看得见每个人在干嘛;公司大了才需要打卡。打卡机不是更先进的管理,它是「看得见」这件事的替代品。 反过来看我们:每一个改动都过一轮独立盲审——一个完全没有上下文的模型逐行读 diff,给出 SHIP 或者 REWORK。DeepSeek 一万两千个 commit 不可能每个都这么审。所以在「这次改动对不对」这个维度上,我们的门其实比他们严。 我们还有注意力。等注意力不够用的那天再换规则——而那天是可以预测的:开源那天、有人开始批量提 PR 那天、或者我离开一个月再回来那天。 决定做的:记录「否决了什么」 我们真正在丢的东西,是这个。 「做了什么」commit message 里有;「是什么」代码注释里有。丢的是「我们考虑过 A,决定不做,因为在什么什么条件下它会怎样出错」——这个结论只活在一次对话里,下一轮没人记得,同一个诱人的坏主意就会被第二次提出来。 这就像开会只记「决定了什么」,不记「否决了什么」——下次开会必然再吵一遍。 所以加了一份决策记录,格式钉死三行:日期、决定、否决了什么。第三行是唯一有增量的那行。 决定不做的:他们那套生命周期文件夹 他们的记录会在文件夹之间物理移动:提案中 → 已实现 / 已否决 → 已封存。用文件夹表示状态,因为文件里写的「状态:已完成」那行字会忘记改。 设计很聪明,但搬文件是要靠人记得的纪律,纪律一定会腐烂。 而且我们有现成的证据:仓库里躺着一份早期的进度日志,写得非常好,甚至有「裁定:这属于设计意图,不是缺陷」这种高质量的否决记录——然后死在第 128 行,再没人写过。 所以改成只追加、不搬动、不修改历史。追加不需要维护,也就没有腐烂的地方。 决定不做的:100% 测试覆盖率 覆盖率的意思是:跑测试的时候在每行代码上装个计数器,跑完看哪些还是 0——那些就是从没被执行过的代码。 听起来很硬核,但它有个致命的局限:它只回答「这行代码被执行过吗」,完全不回答「执行的结果对不对」。 像体检报告只告诉你哪些器官没检查,不告诉你检查过的那些是不是健康的。极端一点,写个测试只调用函数、一句都不验证,覆盖率照样 100%。 更关键的是,它跟我们真实踩的坑不重叠。这个月的坑是:数据库权限漏配、查询被静默截断在 1000 行、触发器删除时死锁、一个闭包捕获了旧值。这些代码全都被执行到了,只是环境和时序跟我以为的不一样。覆盖率一个都测不到。 所以排到最后,而且真要做也不设 100——先跑出当前真实数字当门槛,之后只许涨不许跌。像棘轮一样只能朝一个方向走。第一天就全红的门,唯一的结局是被关掉。 最后是个意外收获 聊到「我们还没被没测到的 bug 咬过」的时候,我意识到这句话有问题。 「还没出现」这个证据的强度,取决于有没有人在用。 现在线上的用户是我、Jack、几个演示账号。就算有 bug,也没有足够的人去撞它。所以「没出现」既可能是「真没有」,也可能是「没人踩到」——这两个我们现在区分不了。 而且更要命的是:线上真的出错了,我现在完全看不见。没有错误上报、没有异常聚合。第一个咬人的 bug,我会从用户嘴里知道,而不是从仪表盘。 绕了一圈,最该补的不是那三条里的任何一条。是这个。
2016 年 8 月 23 日,NPR 关掉了评论区。在那之前,Popular Science 2013 年 9 月 24 日关掉,The Verge 2015 年 7 月 6 日临时默认停评但保留了论坛。那几年里"关评论区"几乎成了一种共识动作,理由听起来也很硬:那地方已经被一小撮人占领了。 数字确实吓人。在 NPR 的一段统计里,两个月内约 4,300 名用户贡献了大约 67% 的所有评论;五、六、七三个月合计,超过一半的评论来自约 2,600 人。而每个月真正发评论的人,大概只占访客的 0.003%。(来源说明:NPR Ombudsman 的原页面这轮抓取受限,上面这些数字主要依据 Nieman Lab 对 Ombudsman 数据的同期转述并作交叉核对,真要引用建议自己回查 NPR 的原始材料。)还有钱的问题,Disqus 的成本随评论量上升,部分月份达到预算的两倍左右。 一个占访客万分之零点三的人群占了三分之二的发言量,还要花两倍预算去养。放在任何一份产品会议的幻灯片里,这一页都足够杀死一个功能。 我自己也在做一个跟"人怎么在网上说话"有关的东西,所以这件事对我不是旁观。我想知道的是另一个问题:证据到底支不支持"关掉是对的"。查完的结论是,比我以为的弱得多。 先把这个东西的来历说清楚。1983 年 RFC 850 规范了 References 这个字段,也就是"这条是在回复哪一条"的关系;1997 年 Slashdot 已经有了附着在新闻上的讨论;Open Diary 1998 年 10 月上线,不久之后加入了 Notes。"内容下面挂着讨论"这个形态不是一次成型的,是在 Usenet、Slashdot、Open Diary 这些产品里一步步长出来的。 然后是那个著名的研究。2014 年发表在 JCMC 上的 The Nasty Effect,全国调查框架 N=2,338,最终分析 N=1,183。你大概听过它的通俗版本:"恶评会让读者不再相信科学。"这个研究实际考察的是纳米技术的风险判断,而它实际发现的是——没有发现不文明评论对风险感知存在显著、统一的直接主效应。 在这项关于纳米技术的实验里,不文明评论是与读者的既有态度、宗教性等变量发生交互,让一部分读者的风险判断进一步分化,这个结果没有被外推到所有议题和所有读者。换句话说它不是"恶评毒害所有人",而是"恶评让本来就分歧的人更分歧"。这跟通俗版本不是一回事。 另一项 Toxic Talk 研究,初始 N=2,338,相关回归分析约 N=2,224。它发现暴露于不文明评论之后,读者对新闻 blog post "有偏见"的感知会升高,政治意识形态在其中起调节作用;但论文自己强调这个效应的幅度较小、有限,整个回归模型的解释度约 2.7%——注意这是完整模型的解释度,不是把这 2.7% 都归给"不文明"这一个变量。 接下来是一个我完全没料到的结果。"匿名导致恶意"这句话被行业文章当作已证实的结论用了很多年,但 2012 年有一项 N=142 的控制实验研究的是在线聊天的 affordances,它把主要的 toxic effect 归到了 lack of eye-contact,也就是缺乏眼神接触,不是匿名。 顺带一提,Suler 2004 年那篇著名的"在线去抑制效应"是一篇没有实验样本的理论/概念性论文,不是因果实证研究;报告里提到的 The Week、Reuters 等媒体当年的实名产品判断,也不是随机实名实验。Santana 的研究确实找到了差别,匿名条件下 53.3% 的样本评论被编码为不文明、非匿名组是 28.7%,文明比例约 14.9% 对 44%,但这项研究跨网站跨时期,属于观察性相关,存在混杂因素,不能据此作因果推断;而且人数 N 和评论条数不能放在同一张图上比,它们不是同一个单位。 最后是那个最有说服力的说法:关掉之后流量反而涨了。 前后观察数据是有的。The Verge 的论坛流量约上升 36%,FTW 的月独立访客从约 800 万增到约 1700 万,The Week 报告 pages per visit 近乎翻倍、bounce rate 近乎减半——但它自己明确承认同期还做了整站 redesign。缺的是能识别"关闭导致增长"的因果证据:截至这次检索,在 2013 到 2016 那批主流媒体关闭案例里我没有找到一个 A/B 实验。 而这类案例最容易产生幸存者偏差。The Verge 那是观察性的前后比较,用户迁移是自然发生的不是随机处理;FTW 的观察期约二十个月,没有反事实对照;The Week 同期改了版;Recode 没有严格的前后数据;Mic 没有对照组;Reuters 那个案例本身就不是增长证据。所以"关掉评论区会让指标变好"这个命题,在那批经典案例里证据不足。 还有一层不确定:现有实验不能自动回答真实新闻网站里效应是否同样大、长期暴露会不会累积、不同语言和制度下能不能复制。报告的结论是——全球所有评论区的统一心理效应尚未建立。 那"关闭"到底是什么。关闭潮的理由本来就多元,形态也不一,有永久关闭、局部关闭、临时关闭,也有重构;Popular Science 当时的关闭声明并没有说所有评论者都有害,NPR 也不是只因为恶评才关的。 我现在更倾向于这样理解那个悬着的问题:拿掉评论,与其说是关闭了公共讨论,不如说是把一个可能影响某些读者如何理解正文的互动层迁到了别处。删掉文章评论不等于删掉社区。当年的安排是,The Verge 2015 年临时默认停评时保留了论坛并选择性开放评论,Quartz 2013 年推出 annotations,Motherboard 改用读者来信,也有媒体把互动导向 Twitter 和 Facebook;这些产品今天是否还这样运作,报告没有核实。 所以答案是什么 关掉评论区更好吗?就那批经典案例而言,答案是:没有证据支持。 这不是说关掉一定错,是说支持"关掉"的那三根柱子,查下来有两根半是空的。 第一根,"恶评毒害读者"——那个被引用最多的 The Nasty Effect 实验,没有发现显著、统一的直接主效应,它发现的是让本来就分歧的人更分歧。第二根,"匿名导致恶意"——控制实验把主要的 toxic effect 归到了缺乏眼神接触,不是匿名;那篇最著名的"去抑制效应"论文本身没有实验样本。第三根,"关掉之后流量涨了"——在 2013 到 2016 那批案例里,我没找到一个 A/B 实验,每一个都有别的解释(同期改版、自然迁移、没有对照组)。 真正站得住的只有一条:在 NPR 那个案例里,评论确实高度集中在极少数人手里,而且成本确实高。那是个运营问题,不是个心理学结论。 那具体该怎么办 一、如果你在做产品,别把"关评论"当成有证据的最佳实践。它是一个成本和运营决策,可以做,但别拿"研究表明"来包装。现有证据支持的是"改互动层的形态",不是"取消互动"。 二、别指望实名解决问题。控制实验指向的是缺乏眼神接触这类线索缺失,不是匿名本身。要做的话,做增加社交在场感的设计(回应可见、身份连续、对话有上下文),比强制实名更有依据。 三、迁移而不是删除。当年真正活下来的做法是把互动挪个地方:The Verge 保留论坛并选择性开放评论,Quartz 上了 annotations,Motherboard 改成读者来信。删掉文章评论不等于删掉社区。(这些产品今天是否还这样运作,报告没核实。) 四、你自己引用这些数字的时候,注意 N 和条数不是同一个单位。Santana 那个 53.3% 对 28.7% 是评论条数的编码比例,不是人数比例,两者不能画在同一张图上比——这个错我在第一版里就犯过。 最后说清楚我的立场:我自己倾向于做克制的互动层。但那是偏好,不是这些证据推出来的结论。这两件事我不想混起来说。 主要来源: RFC 850 https://datatracker.ietf.org/doc/html/rfc850 Popular Science 停评声明 https://www.popsci.com/science/article/2013-09/why-were-shutting-our-comments/ The Nasty Effect, JCMC (2014) https://academic.oup.com/jcmc/article/19/3/373/4067522 匿名与去抑制的控制实验 https://www.sciencedirect.com/science/article/abs/pii/S0747563211002317 七家新闻站关闭评论后的回访 https://www.niemanlab.org/2015/09/what-happened-after-7-news-sites-got-rid-of-reader-comments/
有一类实验的答案是提前知道的。 Bertrand、Duflo 和 Mullainathan 2004 年做过这样一件事:拿美国各州的真实数据,随机安上一些根本不存在的"政策",然后用当时常见的双重差分标准误方法去估计这些政策的效果。正确答案是零,什么都没发生过。而这类方法在名义 5% 的水平下,竟可对多达 45% 的 placebo policies 报告显著"效果"。 这件事之所以让我停下来,是因为出错的不是被检验的对象,是检验工具本身。 天气与气候、遥感、医学诊断和经济学都面对同一个问题:没有干净、无误差的真值时,凭什么说一个结果可信。 先说一个容易出现的直觉错误——多套产品互相吻合,不等于更接近真值。如果几个产品共享同一批传感器、同一个训练集、同一套先验、同一个前向模型,或者同一份强迫数据,那它们的一致可能只是在重复同一个偏差。 遥感里有个常用的办法叫三重配置(Triple Collocation),可以在没有真值的情况下估计各产品的相对误差。但它的经典形式成立的前提包括特定的线性误差结构、各产品误差彼此不相关、且与潜在目标不相关;Yilmaz 与 Crow 用真实的土壤湿度数据检验过这些假设,它们不能被默认成立。 再举个更具体的例子。ERA5 是一套再分析资料,用 ECMWF 的 IFS 模式和 4D-Var 同化,还用 10 个成员的集合同化去估计部分流依赖的不确定性。但它不是直接观测,它是模式与观测的同化产物,所以拿已经被它同化进去的资料回过头去验证它,不是独立检验。而且它并不是处处更好:Virman 等人 2021 年发现,在许多热带海洋站点,ERA5 在约 550–800 hPa 比探空偏冷、650–800 hPa 常常偏湿,而在低到中对流层,上一代的 ERA-Interim 反而总体更接近探空。 那怎么办。答案不是找到真值,是换一套证明方式。 第一条是留出预测,而不是内部拟合。内部拟合得好只说明模型表达能力强,而且当数据存在较强时空相关性时,随机逐点切分训练和测试集往往过于乐观——相邻的点本来就长得像。 Hausfather 等人 2020 年做过一次近乎真正的样本外检验:他们找出 1970 到 2007 年间发表的 17 个全球平均表面温度投影,用后来实际发生的观测去对。结果分两种算法,按"温度随时间"算,10/17 与观测一致;按"温度对实际强迫的响应"算,14/17 与观测的置信区间相容。这两种算法的差别本身就有信息:它把"模型是否正确预测外强迫"和"模型是否正确把强迫变成升温"分开评了分。 第二条是找失败机制不同的独立证据。关键词是"失败机制不同"——两个可能以同样方式出错的证据加在一起,并不必然增加可信度,可能只是在重复同一个偏差。原报告说得更准:关键不是证据数量,是误差的协方差结构。 SMAP 卫星的验证就是这个思路。发射后前 11 个月,从 34 个候选核心验证站中最终确定 18 个满足核心评价条件的站点,辐射计土壤湿度产品达到了预定的 ubRMSE 0.04 m³/m³ 性能要求(这是门槛,不是实测值)。注意那个"前 11 个月"和"18 个站"——这是有明确边界的验证,不是全球全时段的通行证。 MODIS 的气溶胶产品也一样。Terra/Aqua MODIS Collection 6 的 3 km Dark Target AOD 与地面 AERONET 配对,得到 161,410 对高置信匹配(Terra 覆盖 2000–2015 、Aqua 覆盖 2003–2015),落在预期误差包络内的比例是 Terra 62.5%、Aqua 68.4%,同时存在正偏差。但地面的 AERONET 本身也有反演假设,所以这个结果是一个条件误差模型,不是绝对精度。 第三条是承认参照系本身可能只测到了一个侧面。在医学诊断中这个问题同样存在,培养、病理、尸检——每一种"金标准"可能都只测到疾病的一面。 这里有两个具体的陷阱。一是把待测指标本身纳入参照标准,也就是 incorporation bias,这会让一部分一致性由定义产生;二是 discrepant analysis,当结果不一致时用与新检测相近的额外分子检测去裁决,这在结构上会抬高新检测的表观敏感度与特异度。 Florbetapir PET 检出中到高频神经炎斑块的敏感性是 92%(36/39,95% CI 78–98),特异性 100%(20/20,95% CI 80–100)。数字很漂亮,但它验证的是特定的斑块靶标,不等于临床上的阿尔茨海默病真值;而尸检研究本身有选择偏倚、时间差和谱系偏倚。 第四条是当反事实原则上不可见时,只能造一个。经济学面对的是最硬的版本:同一个人接受和不接受处理的两种结果,永远不可能同时观察到。 俄勒冈的医保随机实验大约两年后,分析了 6,387 名被随机抽中的人和 5,842 名未抽中的人,结果是 Medicaid 使抑郁筛查阳性率下降约 9.15 个百分点(95% CI −16.70 至 −1.60),但头两年未发现所测量的身体健康指标有显著的总体改善。这里必须精确:原报告说的是"没有发现头两年所测身体健康指标的显著总体改善",而"未发现显著改善"不等于"证明了没有改善"。 合成控制法是另一条路。Abadie 等人研究加州 1988 年实施的 Proposition 99,估计到 2000 年人均年卷烟销售量比"没有 Proposition 99 的合成反事实"约少 26 包。那个 26 包是估计值不是真值,合成控制受供体池选择和外推的影响。 所以答案是什么 没有干净的标准答案时,怎么知道一个结果可不可信? 答案是:放弃去找真值,改成用一组失败模式互不相同的证据,把"模型错在哪一类"一类一类排掉。 这句话的关键词是"失败模式互不相同"。多套结果互相吻合不等于更接近真相——如果它们共享同一批传感器、同一个训练集、同一套先验、同一个前向模型或同一份强迫数据,那么一致只是在重复同一个偏差。原报告说得比我准:关键不是证据数量,是误差的协方差结构。 那具体该怎么做 一、先做留出预测,别看内部拟合。内部拟合得好只说明模型表达能力强。而且当数据有较强时空相关性时,随机逐点切分训练和测试集往往过于乐观——相邻的点本来就长得像。要切就按时间切、按空间块切。Hausfather 2020 年那次是最干净的示范:拿 1970 到 2007 年发表的 17 个投影,用后来真实发生的观测去对。 二、把评分拆开。同样是那 17 个投影,按"温度随时间"算是 10/17 一致,按"温度对实际强迫的响应"算是 14/17 相容。这个差别不是技术细节——它把"模型预测外部条件的能力"和"模型把条件转成结果的能力"分开评了分。你自己的模型也该这么拆。 三、找参照系的时候,先问它会怎么错。ERA5 不是观测,是模式与观测的同化产物,所以拿已经被它同化进去的资料回头验证它,不是独立检验。而且它并非处处更好——在许多热带海洋站点,它在 550 到 800 hPa 比探空偏冷,650 到 800 hPa 常常偏湿,低到中对流层反而是上一代 ERA-Interim 更接近探空。 四、把验证的边界写进结论里。SMAP 的说法是"发射后前 11 个月、18 个核心站、达到 ubRMSE 0.04 m³/m³ 的性能要求"——注意那是门槛不是实测值。MODIS 那个 62.5%/68.4% 是落在预期误差包络内的比例,而地面 AERONET 本身也有反演假设。这些都是条件误差模型,不是绝对精度。照着这个格式写你自己的结论。 五、做伪证检验。开头那个假政策实验就是范例:给数据安上根本不存在的处理,看你的方法会不会报显著。45% 这个数字是怎么来的——不是模型错了,是检验工具本身错了。这一步很多人跳过,而它恰恰是最便宜的。 六、诊断类的工作,警惕两个具体陷阱。一是 incorporation bias,把待测指标本身纳入参照标准,会让一部分一致性由定义产生;二是 discrepant analysis,结果不一致时用与新检测相近的额外分子检测去裁决,这在结构上会抬高新检测的表观敏感度与特异度。 七、最后,也是最重要的一条:明确说出可信度在哪里停止。平行趋势不能靠"pretrend 不显著"来证明;断点回归的连续性、工具变量的排他性、合成控制的稳定性,都不是通常意义上"可以通过显著性检验证明"的假设。你能做的是检验它们可观察的推论、找反例、改模型规格和样本、用负控制,以及算出多大的未观测偏差才会让结论翻转——然后把剩下的部分诚实地标注为假设。 一个可信的结论,应当同时说明它的适用边界。没写边界的结论,不是更强,是更不可用。 主要来源: Hausfather 等 2020,历史气候投影的事后检验 https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2019GL085378 Yilmaz & Crow 2014,Triple Collocation 假设的实证检验 https://journals.ametsoc.org/view/journals/hydr/15/3/jhm-d-13-0158_1.xml Rutjes 等 2007,无金标准诊断方法系统综述 https://pubmed.ncbi.nlm.nih.gov/18021577/ Clark 等 2012,Florbetapir PET 与尸检病理 https://www.thelancet.com/journals/laneur/article/PIIS1474-4422%2812%2970142-4/abstract Bertrand、Duflo、Mullainathan 2004,DiD 虚假政策实验 https://academic.oup.com/qje/article-abstract/119/1/249/1876068
2005 年 11 月 17 日 17:28,Vimeo 上被记为"第一个赞"的那次点击,时间精确到分钟。我第一次看到这个时间戳的时候还挺激动的,一个改变了整个互联网的动作居然留下了这么清楚的起点。 然后我去查它的出处。这个时间戳见于 Fortune 2011 年对 Vimeo 产品与开发负责人 Andrew Pile 的采访;不确定的不是它有没有出处,而是 Fortune 所依据的底层材料——数据库、日志,还是口述——没有说明。而 Vimeo 创始人自己说那是 2006 年的事。一个精确到分钟的时间,和一个差了一整年的说法,并存着。 我带着一个具体的问题去查这件事:点赞按钮的发明者后来后悔了吗。结果这个问题的两个部分都得修正。 先说"发明者"。如果这个问题要求找出唯一的一个人,那它得不到答案,但这不等于"没有作者"。报告里列出了多位参与者:Leah Pearlman、Justin Rosenstein、Andrew Bosworth、Rebekah Cox、Ola Okelola、Tom Whitnah。公开来源里没有一份正式的 Facebook 发明人名单,但这些人是有名有姓的。至于"后悔",Rosenstein 事后确实公开批评过它的副作用,我一开始没查到是我找得不够。 所以更准确的说法是:这件事不适合用"某一个人发明"来概括,但可以按定义分层归属——一键正向反馈是一层,字面意义上的 Like 是一层,社交信息流里的 Like 又是一层,规模化的基础设施是第四层。 现有公开资料大致支持这样一条演化线。2004 年末前后 Digg 已经有了单击正向投票,而且那些投票已经被用于内容的提升与排序;2007 年 10 月 30 日 FriendFeed 在官方博客发布 "I like it, I like it",把这个动作放进了信息流,FriendFeed 的 Like 同时也是社会推荐数据;Facebook 的 Like 是 2009 年 2 月 9 日上线的。 证据等级得分开说:Digg 与 FriendFeed 这两段有直接依据,而 Facebook 2007 年的 Props / Awesome 原型主要依据参与者采访和 Bosworth 时间线的同时代转录,原始内部 PRD 没有公开,Bosworth 的 Quora 原文目前也无法直接复核。这里要纠正我自己原本的想法:不是到了 Facebook 才第一次"可计数、可排序",那些能力在更早的产品里已经有了。 顺带核对一个常被误传的说法,Facebook 是收购 FriendFeed 才拿到 Like 的。时间对不上:Like 上线是 2009 年 2 月 9 日,收购 FriendFeed 宣布是同年 8 月 10 日,相差六个月零一天。不过现有证据更支持并行演化,但既不能证实完全没有借鉴,也不能证明是单线复制。 我原以为一个影响这么大的产品决策总该留下档案。这次检索没有在公开的第一方资料里找到完整材料——会议记录、PRD、代码、逐字评审、决策过程、测试协议、A/B 报告、样本量、指标、统计方法、原始数据,都没有;Bosworth 的说法能查到的是 TechCrunch 的转录。 不过有一点我原来写错了。叫什么名字、用什么符号、要不要加负面反馈、公开还是私密、会不会蚕食 Share,以及跟 Beacon 的冲突,这些确实是 Facebook 的内部评审议题;证据来源分两组,名称、符号及正负反馈来自 Pearlman 的直接采访,public/private、Share 蚕食和 Beacon 冲突来自 Bosworth 原 Quora 回答的转录。缺的是完整的测试协议,那部分没有可独立核验的内部档案。这里有一条方法论原则值得单独记一下:后果不能反推初衷,一个东西后来造成了什么,不能倒推成当初的设计目的。 那有硬证据的部分是什么。2021 年 Twitter 做过一次两周的随机实验,规模约 487 万到 490 万用户,约 33.33% 进入 boosted 组、约 66.6% 是对照,推荐分数放大十六倍。随机 boost 本身就是实验处理,只有当你想把它解释成"每增加一次 engagement 的边际效应"时才需要 IV/DRIV 这类方法;而且它估计的是 favorites、replies 等复合 engagement,不是单独的 Like。 结果里最值得看的不是平均值是分布:平均条件处理效应 0.14 分钟,标准差 0.52,25 分位是 −0.16,75 分位是 0.37。也就是说就这项复合 engagement 而言,平均边际效应为正但高度异质,有些人为正,有些很弱,有些为负。同一个按钮落在不同人身上,不是同一件事。 另一项实验 N 约 201 人,被要求"最大化 followers"的那一组最终 followers 是 50.78 对 43.10,t(199)=2.79,p=.006,d=.39;真帖 ε²=.04 、假帖 ε²=.03,两种都分享得更多。但这是一个采用人工"分享→涨粉"规则的模拟器实验,不是真实推荐算法也不是真实的粉丝关系,它能支持的是"指标优化这个机制可行",不能说明参与者"不挑真假"。 那把数字藏起来有用吗。Meta 2021 年 5 月 26 日把 Instagram 强制隐藏 Like 数改成了用户可选,公开了处理内容还有一个定性结论:部分用户受益,部分用户觉得烦恼。没公开的是分桶方法、处理与对照的分配比例、预注册的主要终点,以及发帖的平均处理效应和互动、时长的精确效应量,所以既不能断言"总体改善了心理健康"也不能断言"总体无效",依据公开材料无法独立复现。还有一点容易被忽略:点赞行为本身仍然存在,被隐藏的主要是面向其他观看者的公开累计数,作者自己的反馈和控制界面仍然保留着。 YouTube 那边披露得稍多一些,实验覆盖数百万视频、持续数月,官方称 viewership 没有有意义的差异、dislike attacks 减少,而小频道和新频道更容易受到攻击;范围比较清楚,但也没有公开精确的效应值或实验微观数据。 写到这,我最初那个问题散掉了。它不是"一个人发明了一个改变世界的按钮,后来后悔了",而是:一串产品在十几年里各自往前走了一步,其中参与者之一 Justin Rosenstein 后来公开批评了它的副作用;至于这条链上每一步到底造成了什么,报告讨论的那些研究分别检验了若干局部机制,研究对象、指标和生态有效性各不相同,这些证据不能被混成"点赞使人上瘾"这一类的总括结论。 所以答案是什么 标题两个问题,答案分别是: 谁发明的——没有唯一的一个人,但绝不是"没有作者"。有名有姓的参与者包括 Leah Pearlman、Justin Rosenstein、Andrew Bosworth、Rebekah Cox、Ola Okelola、Tom Whitnah。真正准确的说法是按层归属:单击正向投票 Digg 2004 年末就有,且已用于排序;字面意义的 Like 进信息流是 FriendFeed 2007 年 10 月 30 日;Facebook 的 Like 是 2009 年 2 月 9 日。 他后悔了吗——Rosenstein 后悔了,他把 Likes 称作 "bright dings of pseudo-pleasure",并强调技术产品可能带来开发者没有预见的负面后果。这是真的,我一开始没查到是我找得不够。 我原本想写的收尾是"这东西没有作者,所以没人需要负责"。查完我得承认那句是我编的——读着有力,但不成立。 那具体该怎么办 一、别再说"点赞让人上瘾"。目前有硬证据的是 Twitter 那次 487 万到 490 万用户的随机实验,它测的是复合 engagement 不是单独的 Like,而且结果高度异质:平均 0.14 分钟,25 分位 −0.16,75 分位 0.37。同一个按钮落在不同人身上不是同一件事——有人正、有人负。把它说成普遍成瘾机制,超出了证据。 二、想解决自己的问题,先分清"藏数字"和"不点赞"。Meta 2021 年 5 月 26 日那次改动,隐藏的是给别人看的公开累计数,作者自己仍然看得见反馈。所以隐藏点赞数不等于切断反馈回路——你要真想切,得连自己那一侧一起关。 三、拿 YouTube 那个案例当参考而不是当结论。官方称 viewership 无有意义差异、dislike attacks 减少,但小频道和新频道更容易被攻击,而且没公开效应值和微观数据。有方向,没量级。 四、记住一条通用原则:后果不能反推初衷。一个东西后来造成了什么,不能倒推成当初的设计目的。这条不只用在点赞按钮上——它是你评价任何一个产品决策时最容易犯的错。 主要来源: FriendFeed 官方博客 "I like it, I like it" http://blog.friendfeed.com/2007/10/i-like-it-i-like-it.html Zach Klein 本人关于 2006 年这一年份回忆的说法 https://x.com/zachklein/status/925184370398265346 Facebook 官方 Like 按钮历史 https://www.facebook.com/fb-answers/history-of-like-button/ Meta 2021 年隐藏 Like 数公告 https://about.fb.com/news/2021/05/giving-people-more-control/ Marketing Science 上的 Twitter 实验 https://doi.org/10.1287/mksc.2023.0178
今天是个值得庆祝的一天,终于把1.0版本主要的功能全部实现,bug基本修复,极端情况测试做完了,对我这个菜鸟而言,这个网站的成熟度已经到了让我满意的程度。 在这里 感谢Jack百忙之中耐心地给我建议修改 很有建设性,感谢Eleanor和外公外婆的鼓励,对于UI/UX,Accessbility的意见,全部都采纳了,感觉特别好。 谢谢微信上回复我的朋友们,感谢你们的支持和鼓励,我想这些星星点点的认可,也是我不可或缺的动力。 现在我想这个网址唯一深度体验过的还是只有我自己(虽然有点搞笑),但是希望未来能有一个用户吧,跟我一样,受沉思所吸引,希望在这片“星空”下,有一片属于自己的思考空间。 感谢奥勒留,以及他真诚的沉思录。 看到这里的你,赠与你一句欧阳修的名句——富贵浮云,俯仰流年二十春。 愿你自由
感觉max很好使,ultracode好像是效率更高而已,质量没有max的高,主要是多agent干活快吧我感觉。我还挺喜欢agent干活,然后我一边思考一边监督的,不然他弄一大堆把活一下子弄完了,少了很多思考反思的过程,就是会很多地方不完善,我没有这个时间线去体验,review,也会导致更多的不清楚的地方,总结下来是这样子。 用max
季度还没过完,先来交个阶段作业:昨天把库存查询那块剥出来上线了。挑的是软柿子,不碰核心流程,到现在没报警。 这几天把三条回应翻来覆去看了很多遍。阿树那句"接着他没写完的地方往下写",我打印出来贴在了显示器边上——认真的,物理意义上的打印。现在拆到老陈绕弯的地方,我会在注释里补一行"2019 年此处有坑",算是替他把当年没空写的注释写完。 晚风说破了我最不想承认的部分:我怕的是锅。承认了反而好办。锅我背,本来就该我背。 "我凭什么"这个问题我想清楚了:凭的不是比老陈强,凭的是我现在在场,他不在。在场的人做在场的事。 这个 thread 就到这里。大头还没动,慢慢来。
That's all there is. The rest has to be written first.