转载自机器之能
编辑:sia
俨然一部豪门生存指南。
2018 年 3 月,一家科技教育初创 Socratic 被谷歌收购。当时这家仅 10 人的小公司打造了一款家庭作业助手(也被国内媒体称为海外「作业帮」)——学生拍下家庭作业的问题,助手就能帮助解答。除了数学,Socratic 还可以解决科学、文学、社会研究等学科的问题。
「一入豪门深似海」,成为谷歌旗下一款产品后,Socratic 历经了一系列变化,并以谷歌的方式重建自身。如今,Socratic 在豪门争斗中活了下来,每年处理大约 50 亿次查询,但距离创业团队愿景中的 AI 导师还很远。两位创始人也相继离开谷歌。
最近,Socratic 创始人之一 Shryans Bhansali 在一篇博客中回顾了这段「豪门岁月」。「提供了一个罕见窥见谷歌内部运作的视角,也解释了尽管大多数基础技术都起源于谷歌,为什么领导 LLM 革命的却是 OpenAI
。」英伟达 AI 科学家 Jim Fan 在推文上转发了这篇文章并评论说。
其实更早之前,被谷歌收购的 Nest 创始人 Tony Fadell 为宣传新书接受媒体专访时就谈到过谷歌的大公司病。他指出「恋爱和婚姻是两码事」,谷歌正在扼杀创新。
比如,强势业务对创新的影响。广告业务收入就像印钞机,以至于他们更多的从财务角度看待创新( 谁会积极推进蚕食搜索份额的创新?),而不是出自一种生死攸关的紧迫感。
公司福利文化也导致很难做到以客户为中心,造就伟大作品。「(我)看不到团队合作,没有看到人们试图改善公司。他们在互相改进,改进自己,但在当时这些不一定是在为客户做正确的事。」
不过,就像 Jim Fan 所言,「责怪任何人都不公平。官僚主义是谷歌规模的公司的自然产物。10 年后,如果 OpenAI 和 Anthropic 增长到这个数量级,可能也会遭受同样的痛苦。」
许多收购以失败告终,有抱负的人相继离开谷歌。但对于还在或者想要进入豪门的人来说,有所作为仍然有迹可循,尽管要为此付出巨大的努力,Socratic 活了下来并且有所壮大就是一个例证。
以下是这篇博文全文,我们做了不变更原意的编译。
谷歌应用商店里的
Socratic 产品介绍
2017 年, Socrates 开始 B 轮融资时,我们很快意识到通过牺牲收入来获取用户的做法会造成很多负面影响。成功迈出了第一步,但每个风投都要我们制定盈利计划,制定计划过程中我们发现,用户群是没有信用卡的高中生的应用做不成大生意。
大约在同一时间,我们被介绍给 Snapchat CEO Evan Spiegel。他建议大家合作,将作业助手整合到他们的应用程序中。但我们的一位顾问认为,如果他把你介绍给他们的企业发展主管,最终可能会建议收购,如果是这样,我们应该引入竞争。于是,我们联系了微软、Chegg、Byju’s 还有谷歌。
另一位联合创始人 Chris Pedregal 曾在谷歌工作过,他和以前经理取得了联系并从对方那里知道谷歌的一款摄像头应用 Lens。不过,当时我们并不知道这位前经理已经和可汗学院和安卓联合创始人一同创业,也是面向教育领域。见面后,大家发现彼此对 AI 导师的前景都很看好。这或许也帮助我们赢得谷歌 2017 年「最佳应用」,那次会面后不久,我们启动相关流程,谷歌在 2018 年 3 月收购了 Socrates。
我们与一个同样规模团队合并,该团队由多位长期供职的谷歌员工组成。Chris 和我成为了产品和工程负责人,任务是打造一个 AI 导师并把它带到谷歌最大的产品中。
接下来的三年里,我们重建 Socratic,并以「Socratic by 谷歌」的名字重新发布了它——搜索、Lens 都具备
Socratic 功能,我们还发布了一个数学求解器,并原型化了一个数学导师,并把这些能力带到更多产品中。
这一路上,我也学到了一些东西:
在谷歌工作如同怀揣第二本护照
:去世界上任何一个大城市,凭借徽章
(谷歌徽章有些分级意味。白色徽章适用于全职员工。实习生佩戴绿色徽章。红色徽章适用于临时工、供应商和承包商。不同徽章的福利和访问权限不同——译者注)
都可以解锁一间漂亮的办公室,里面有美味的食物、办公桌,还能高速连接谷歌 20 多万人中的每一个。
令人惊讶的是,你可以立即接触到他们庞大的 monorepo,其中包含几乎所有产品的数十亿行代码;覆盖全球的数据中心的实时状态;横跨二十年的战略文件还有一些传奇人物(比如 Jeff Dean)。
谷歌用谷歌的方式做事
。谷歌使用的所有软件和基础设施几乎都是自己建造的,这也是因为他们比大多数公司更早面临艰巨的工程挑战。
身处谷歌这座巨大堡垒,外部世界变得不再存在,只有少数外部世界的东西被允许进入堡垒,而且还得小心翼翼。
这意味着我们没有机会保留现有的代码库,要从头开始,与新团队重新发现产品,再在谷歌堆栈上重建它。我们已经解决的问题,比如利用机器学习系统对作业主题进行分类,必须使用搜索技术和标准来解决。不用说,这些标准比我们的要高。
我们能够打破谷歌模式的一个地方是应用的吉祥物「 Ceebo 」。谷歌的应用程序图标包含四种颜色和简单形状。这种设计对他们有用,但对我们来说,很无聊。可是我们太小了,无足轻重,他们施压,我们反击直到最后获胜。
图标继续沿用 Ceebo ,如今它在谷歌中已经有了几十个变体,也会在谷歌文档和网站中突然闪现。
携带谷歌家族基因的图标
「Ceebo」看起来确实「血统不纯」
简单的事情重复做,很神奇。
与搜索老手一起重新构建我们的查询分类系统,也让我们有机会窥视如何构建搜索。
一方面,信息检索工具的深度难以置信,计算并在互联网上的每个页面添加新信号的能力也令人难以置信。
另一方面,我们发现大多数搜索改进都是由工程师通过「并排」比较新旧结果来手动审查的……而且,是在电子表格上!
人们可能预期的是谷歌工程主要由实现博士水平的算法组成,有时这是真的,但搜索或 AI 工程师的大部分工作包括查看示例,发现模式,手动标记数据以及其他不可扩展、非常琐碎的分析。这大概就是世界顶尖 AI 团队的真实情况。
我注意到一个模式,优秀的AI研究人员愿意手工检查大量数据。更重要的是,他们建立了基础设施,使他们能够快速手动检查数据。尽管并不光鲜亮丽,但手工检查数据可以让我们对问题产生很有价值的直觉。
OpenAI研究人员 JasonWei
大多数问题都不值得你浪费时间,但令人惊讶的问题却值得
。大多数牵涉 1000 万到 5000 万用户的问题不值得谷歌花时间,也不适合他们的策略。但他们会花大量精力解决那些符合他们天性、策略和某人晋升目标的问题。
比如,Socratic 界面的重要组成部分是计算机视觉,因为需要靠它来拍照、识别图像里的文本。作为一家初创,我们采用了第三方工具,结果发现要在谷歌中继续使用它太难了——从暴露敏感数据到复杂的供应商审核流程。有时,直接收购一家公司把它们的技术带进来反而更容易。在我们这个案例中,正好有一个 AI 研究团队对这个问题感兴趣,就雇了一个顶尖博士人才来研究,并在 6 个月内提供了一个世界级的数学问题识别 API。
当
然,如果你读过 Steve Yegge(
程序员,曾在亚马逊和谷歌工作——译者注
)那篇比较谷歌和亚马逊平台的经典博文,就会知道这种世界级服务还没有被谷歌外部化。
谷歌是一个不断变化的目标和努力的网络。
令人惊奇的事情也不是不可能发生,如果有合适的人物关心这个问题。比如一个能理解它的副总裁、一个有相关章程的研究团队,或者它与组织目标兼容。产品经理一半的工作都是在驾驭这些错综复杂的关系,然后你还要得到诸如隐私、信任、安全和基础设施容量等批准方的认可。要想知道一个想法是否可行,需要进行几十次对话,而要把它变成现实,需要进行数百次对话。
这是一条幸福之路,如果有合适的人持续关注,神奇的事情还是可能的。团队目标可以在任何特定季度发生变化,整个团队可能会在「重组」面前消失,这种现象非常普遍,以至于谷歌员工可以透过悲剧看到喜剧。
即使躲过这些暗箭,你还有可能发现自己和一个相距遥远的团队「撞车」,对方也在做同样的事,是时候进行斗争了,因为只有一个团队可以继续。丢失项目的内部用户会发现,他们所依赖的 API 现在已经被「弃用」,但是替代品还没有完全准备好。
谷歌人想要发布伟大作品,但往往做不到。
毫无疑问,有些人来这里是为了吃,每天工作 3 小时,提前享受退休生活,但我遇到的所有人都是认真努力工作,想要把工作做好。
打败他们的是审查、频繁的重组、过去失败留下的制度性伤疤,还有一个世界级平台把简单的事情也搞复杂了。初创公司可以忽略很多问题,但谷歌人很少能做到这些。
阻碍我们前进的还有员工本身——那些聪明的人可以反对任何事情,却不支持任何事情;缺乏勇气说出令人不安的真相的领导;还有那些被聘用时没有明确工作计划,必须通过捏造工作留下的人。
头重脚轻,不好驾驭。另一个阻碍进步的因素是顶级团队导致的失衡(头重脚轻)。拥有多名成功的联合创始人和 10-20 年从业经验的团队,听起来可能是创造伟大事物的秘诀,但也可能导致僵局。
如果是在多个探索领域,目标清晰,需要强大的自主权力去试错抵到目标的不同路径,这种结构可能适合。但如果是做一个统一的产品,它要的是一个明确的领导者、方向还有一群实干家而不是思想家。与直觉相反,项目早期阶段增加过多的人并不会让进度变得更快。
技术债真实存在。繁冗流程债也存在。
工程师们习惯于谈论技术债:今天为了节省时间发布一个功能而削减一个角落,等于欠下一笔债,要么及时还,要么就等着这笔债越滚越大。优秀的团队通常会闷声清理这些问题,偿还欠债。
但是,繁冗流程导致的债务也真实存在。因为发布瑕疵而增加一道审查关口、为了防止法律争议又增设一道法律审查,层层积累,准备好的新功能被卡在流程中,几个月后都无法发布,生死未卜。
在一些罕见情况下,流程才会被压缩——谷歌最近改变了他们繁重的绩效评估程序,比如从一年两次改为一次,从一份长问卷改为一份短问卷。
有时,变化迫于外部竞争,有时压力也会加速公司衰落。谷歌发明了 ChatGPT
背后的技术,但并不是发布该产品的人。现在,它必须解决一对日益紧张的关系:一边是想要夺回谷歌 AI 领先地位的建造者,另一头是想要防范对所有可能出现麻烦的审查者。
在谷歌,如果你玩对了游戏,神奇的事情就有可能发生。
谷歌曾经有一套内部价值观,他们称之为「三尊重」:尊重用户,尊重彼此,尊重机会。前两个比较容易理解,但第三个让大多数人感到困惑。我的理解是:你在谷歌,一个利润丰厚、人才济济的企业。收入丰厚,吃得好,生活在硅谷天堂。有了这么好的运气,你能做的最好的事情是什么?
我对这个问题的回答与 Richard Hamming 在《你和你的研究》(
Richard Hamming 是著名美国计算机学家,图灵奖得主,这是他二十多年前在贝尔通信研究中心给200多名科学家们做的一次演讲。——译者注
)中所说的相呼应——你必须找到所在领域中最重要的问题,然后想尽办法解决它。
这意味着首先要做好交给你的工作。一旦尽在掌握,就可以借由谷歌网络去了解正被计划或者研发的事物,从中整合出你对未来的一个判断,并用文档、 demo 等方式将它清晰展示出来,找到与你的愿景契合的领导,持之以恒地「兜售」它。
我在某种程度上做到了这点。我最喜欢的例子之一就是我们花了三个月在新的数学求解器上做了一个 AI 数学导师的 demo,它可以循序渐进地讲解数学。这个 demo 具象化了我们的 AI 导师愿景——它会有一个链接,可以使用,可以共享。它以对话为基础,为用户提供一些反馈,然后获得「生命」,被用户传递、讨论并最终构成闭环。
同时,我也看到了问题。一位领导清楚地看到了我们的发展方向,让设计师做出了很棒的 demo 并随时与我们分享。但他被困在一个错误的部门,而他的老板将目标指向了别处。最终,他转投了一支更和谐的团队,现在他的梦想有机会成为现实。
许多收购都以失败告终。Socratic 的故事是复杂的。一方面,我们成功融合了两种截然不同的文化,我们的产品活了下来,每年处理大约 50 亿次查询,而且整个 Socratic 团队的职业生涯也有了发展。
另一方面, Chris 和我都离开谷歌去创业了,而且无论是 Socratic 团队还是谷歌,都还没有生产出一个配得上谷歌能力的 AI 导师。但一些苏格拉底式的谷歌人可能会实现这一目标,除非他们进行重组。
参考链接:
https://shreyans.org/google
.rich_media_content{color:#000000e5;font-size:17px;font-size:var(--articleFontsize);overflow:hidden;text-align:justify}.rich_media_content{color:#ffffffa6;color:var(--weui-FG-HALF)}.rich_media_content{position:relative;z-index:0}.data_color_scheme_dark{--weui-ORANGERED: #ff6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-REDORANGE: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05)}.data_color_scheme_dark{--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}.data_color_scheme_dark{--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}.data_color_scheme_dark{--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}.data_color_scheme_dark{--weui-BG-COLOR-ACTIVE: #373737}.data_color_scheme_dark{--weui-BG-6: rgba(255, 255, 255, .1);--weui-ACTIVE-MASK: rgba(255, 255, 255, .1)}.wxw-img{vertical-align:bottom}.blockquote_info{color:#0000004d;margin-top:1.17647059em;-ms-hyphens:auto;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.blockquote_info{color:#ffffff59;color:var(--weui-FG-2)}.data_color_scheme_light .rich_media_meta_text,.data_color_scheme_light .icon_appmsg_tag.default,.data_color_scheme_light .reward_area_win .reward_user_tips .weui-loadmore__tips a,.data_color_scheme_light .simple_pagination,.data_color_scheme_light .sp_page_current,.data_color_scheme_light blockquote,.data_color_scheme_light .blockquote_info{color:#0000004d}.rich_media_content em{font-style:italic}*{margin:0;padding:0}.rich_media_content *{max-width:100%!important;box-sizing:border-box!important;-webkit-box-sizing:border-box!important;word-wrap:break-word!important}a{color:#576b95;text-decoration:none;-webkit-tap-highlight-color:#0000}a{color:#7d90a9;color:var(--weui-LINK)}a,button{cursor:pointer}:root{--articleFontsize: 17px}:root{--sab: env(safe-area-inset-bottom)}:root{--wxBorderAvatarRatio: 3}:root{--discussPageGap: 16px}:root{--appmsgPageGap: 20px}body,.wx-root,page{--weui-BTN-HEIGHT: 48;--weui-BTN-HEIGHT-MEDIUM: 40;--weui-BTN-HEIGHT-SMALL: 32}.wx-root,body{--weui-BTN-ACTIVE-MASK: rgba(0, 0, 0, .1)}.wx-root,body{--weui-BTN-DEFAULT-ACTIVE-BG: #e6e6e6}.wx-root,body{--weui-DIALOG-LINE-COLOR: rgba(0, 0, 0, .1)}.wx-root,body{--weui-BG-COLOR-ACTIVE: #ececec}body,.wx-root{--weui-FG-1: rgba(0, 0, 0, .55);--weui-ORANGERED: #ff6146;--weui-BG-0: #ededed;--weui-BG-1: #f7f7f7;--weui-BG-2: #fff;--weui-BG-3: #f7f7f7;--weui-BG-4: #4c4c4c;--weui-BG-5: #fff;--weui-FG-0: rgba(0, 0, 0, .9);--weui-FG-HALF: rgba(0, 0, 0, .9);--weui-FG-1: rgba(0, 0, 0, .5);--weui-FG-2: rgba(0, 0, 0, .3);--weui-FG-3: rgba(0, 0, 0, .1);--weui-FG-4: rgba(0, 0, 0, .15);--weui-FG-5: rgba(0, 0, 0, .05);--weui-RED: #fa5151;--weui-REDORANGE: #ff6146;--weui-ORANGE: #fa9d3b;--weui-YELLOW: #ffc300;--weui-GREEN: #91d300;--weui-LIGHTGREEN: #95ec69;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1485ee;--weui-PURPLE: #6467f0;--weui-WHITE: #fff;--weui-LINK: #576b95;--weui-TEXTGREEN: #06ae56;--weui-FG: #000;--weui-BG: #fff;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: #fa9d3b;--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: #06ae56;--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: #10aeff;--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(0, 0, 0, .5);--weui-TAG-BACKGROUND-BLACK: rgba(0, 0, 0, .05)}body,.wx-root{--weui-BG-6: rgba(0, 0, 0, .05);--weui-ACTIVE-MASK: rgba(0, 0, 0, .05)}@media(prefers-color-scheme:dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-ORANGERED: #ff6146;--weui-BG-0: #111;--weui-BG-1: #1e1e1e;--weui-BG-2: #191919;--weui-BG-3: #202020;--weui-BG-4: #404040;--weui-BG-5: #2c2c2c;--weui-FG-0: rgba(255, 255, 255, .8);--weui-FG-HALF: rgba(255, 255, 255, .6);--weui-FG-1: rgba(255, 255, 255, .5);--weui-FG-2: rgba(255, 255, 255, .3);--weui-FG-3: rgba(255, 255, 255, .1);--weui-FG-4: rgba(255, 255, 255, .15);--weui-FG-5: rgba(255, 255, 255, .1);--weui-RED: #fa5151;--weui-REDORANGE: #ff6146;--weui-ORANGE: #c87d2f;--weui-YELLOW: #cc9c00;--weui-GREEN: #74a800;--weui-LIGHTGREEN: #3eb575;--weui-BRAND: #07c160;--weui-BLUE: #10aeff;--weui-INDIGO: #1196ff;--weui-PURPLE: #8183ff;--weui-WHITE: rgba(255, 255, 255, .8);--weui-LINK: #7d90a9;--weui-TEXTGREEN: #259c5c;--weui-FG: #fff;--weui-BG: #000;--weui-TAG-TEXT-RED: rgba(250, 81, 81, .6);--weui-TAG-BACKGROUND-RED: rgba(250, 81, 81, .1);--weui-TAG-TEXT-ORANGE: rgba(250, 157, 59, .6);--weui-TAG-BACKGROUND-ORANGE: rgba(250, 157, 59, .1);--weui-TAG-TEXT-GREEN: rgba(6, 174, 86, .6);--weui-TAG-BACKGROUND-GREEN: rgba(6, 174, 86, .1);--weui-TAG-TEXT-BLUE: rgba(16, 174, 255, .6);--weui-TAG-BACKGROUND-BLUE: rgba(16, 174, 255, .1);--weui-TAG-TEXT-BLACK: rgba(255, 255, 255, .5);--weui-TAG-BACKGROUND-BLACK: rgba(255, 255, 255, .05)}}@media(prefers-color-scheme:dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-ACTIVE-MASK: rgba(255, 255, 255, .1)}}@media(prefers-color-scheme:dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BTN-DEFAULT-ACTIVE-BG: rgba(255, 255, 255, .126)}}@media(prefers-color-scheme:dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-DIALOG-LINE-COLOR: rgba(255, 255, 255, .1)}}@media(prefers-color-scheme:dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-COLOR-ACTIVE: #373737}}@media(prefers-color-scheme:dark){.wx-root:not([data-weui-theme=light]),body:not([data-weui-theme=light]){--weui-BG-6: rgba(255, 255, 255, .1);--weui-ACTIVE-MASK: rgba(255, 255, 255, .1)}}@media(prefers-color-scheme:dark){body:not([data-weui-theme=light]).appmsg_skin_default.rich_media_empty_extra{background-color:#191919}}@media(prefers-color-scheme:dark){body:not([data-weui-theme=light]).my_comment_empty_data{background-color:#111}}.rich_media_content p{clear:both;min-height:1em}td p{margin:0;padding:0}blockquote{padding-left:10px;border-left:3px solid #dbdbdb;color:#00000080;font-size:15px;padding-top:4px;margin:1em 0}blockquote{color:#ffffff8c;color:var(--weui-FG-1)}@media(prefers-color-scheme:dark){body:not([data-weui-theme=light]) .rich_media_meta_text,body:not([data-weui-theme=light]) .icon_appmsg_tag.default,body:not([data-weui-theme=light]) .simple_pagination,body:not([data-weui-theme=light]) .sp_page_current,body:not([data-weui-theme=light]) blockquote,body:not([data-weui-theme=light]) .blockquote_info{color:#ffffff4d}}@media(prefers-color-scheme:dark){body:not([data-weui-theme=light]) blockquote{border-color:#404040}}@media(prefers-color-scheme:dark){body:not([data-weui-theme=light]) blockquote{border-color:#404040}}.data_color_scheme_dark .rich_media_meta_text,.data_color_scheme_dark .icon_appmsg_tag.default,.data_color_scheme_dark .reward_area_win .reward_user_tips .weui-loadmore__tips a,.data_color_scheme_dark .simple_pagination,.data_color_scheme_dark .sp_page_current,.data_color_scheme_dark blockquote,.data_color_scheme_dark .blockquote_info{color:#ffffff4d}.data_color_scheme_dark blockquote{border-color:#404040}@media(prefers-color-scheme:dark){body:not([data-weui-theme=light]) .rich_media_content img:not(.wx_img_placeholder){filter:brightness(.8)}}