乐于分享
好东西不私藏

Shopify CEO:AI 成了大规模裁员的替罪羊

Shopify CEO:AI 成了大规模裁员的替罪羊
编者注:Tobi Lütke 是 Shopify 的联合创始人兼 CEO。Shopify 是全球电商巨头,市值约 1600 亿美元。在他的领导下,这家公司年收入超过 70 亿美元,自 2015 年 IPO 以来估值增长近 100 倍。今天,Shopify 拥有超过 8000 名员工,AI 生成的代码已经占到 Shopify 代码总量的 50% 以上。

一、开场:一个你没见过的 Tobi Lütke

“害怕失败的人”和“渴望胜利的人”,显然会用更短期的方式看待事情。
“这个世界真的需要理解,那些真正创建公司的人,本质上都是疯狂的人。”
主持人说,他认识 Tobi Lütke 已经很多年。Tobi 是 Shopify 的创始人兼 CEO,这是一家市值约 1600 亿美元的上市公司。但这次播客里的 Tobi,是大家此前很少见到的一面:非常坦诚、很幽默,也相当有争议。
Tobi 在开场中抛出了很多锋利的判断:
“人们以为好的领导力应该是什么样,那些审美几乎都来自电影。”
“我做这份工作,是为了让其他人拥有我自己想要的工作。”
“那些只是在替别人完成任务的人,并没有真正好的工作。”
“一个实体,甚至一个个人,拥有的财富和资源越多,就越应该接受审视。”
“这个世界真正糟糕的地方在于,我们正在优先选择那些听起来好的东西,而不是那些真正有效的东西。”
“捐钱本身并不高尚,除非它真的带来了正确的结果。”
“我认为伟大的领导者必须是放热的,必须成为公司的热源。”
Tobi 说,Shopify 很多最优秀的工程师今年已经没有再亲手写代码了。2024 年 12 月改变了一切,Claude Opus 改变了一切。
主持人问:“这会让你兴奋吗?”
Tobi 回答:“准备好了,开始吧。”

二、害怕失败,还是渴望胜利

主持人说,他观察企业家时,常常会把他们分成两类:一类是被“害怕失败”驱动,另一类是被“极度渴望胜利”驱动。他自己尤其讨厌失败,讨厌到这种情绪成为他的动力。
他问 Tobi:你是哪一种?
Tobi 说,他对这个问题的答案,连自己都不满意,因为他还在思考。
但他明确感到,害怕失败的人和渴望胜利的人,会以非常不同的方式看待事情。前者通常更短期,更看重眼前这一轮迭代、下一次动作。这种方式在很多场景中是有限制的,尤其是在合作、商业、职业发展和团队协作中。
一旦把视角拉长,很多事情都会变化。
比如,你会更愿意坐下来帮助一个人变成更好的自己;你会更愿意陪他一起把问题拆解清楚;你会给他一个在能力边界内最难完成的任务,让他成长。这些动作只有在长期视角下,才会有显著的复利效果。
Tobi 说,这会改变一个人面对几乎所有挑战时的基本框架。
他身边的同事和朋友告诉他,一旦理解了他内在的动力来源——那种对现状的不满、对一切不够好的东西的反感——Shopify 的很多事情就开始变得更容易理解。很多在 Shopify 工作久的人,会开始模拟“如果是 Tobi,他会怎么想”。当他们这样做时,很多事情会“咔哒”一声对上,下一次和 Tobi 开会也会变得更可预测。
Tobi 认为,不止有这两种动力类型。只是许多动力来源并不容易让人成为公司高管。职业路径中存在一种“筛选效应”,它会淘汰那些来自不同动机背景的人。
主持人追问:在 AI 时代,这种筛选效应会改变吗?以前的晋升技能和心智模式,也许不再适用了。
Tobi 说,这种变化其实已经以一种非常可识别的方式发生了。

三、为什么“八号人格”常常创建公司

Tobi 提到了 Enneagram,也就是九型人格。他说,这是一个相当常见、也挺有用的工具。只是他觉得它后来“变 woke 了”,术语也变了,所以如果想看真正有用的版本,最好找 2019 年以前的测试。
在过去 20 年里,他观察自己合作过的高管,发现其中大多数是“成就者”——那些看到任何梯子都觉得值得往上爬的人。也有少数“五号人格”,也就是会极其深入钻研的人,这类人经常出现在 CFO 这样的角色上。
在大多数公司,尤其是职业经理人主导的公司,高管层基本就是这些类型。
而 Tobi 说,自己是“八号人格”。
八号人格的动力,来自对现状的不满,以及想在自己世界的一小块角落里把事情修好的冲动。
他说,八号人格在公司里常常会被“合谋排斥”。因为他们非常麻烦,会直接说真话。他们会说:“这就是一坨屎。如果我们的屎闻起来并不比别人的屎香,那它就和看起来一样。任何漂亮包装都改变不了它是什么。”
这种人会威胁到周围人的职业安全。他们通常得不到晋升,最后往往离开公司。
然后,他们会去创业。
因为他们经常确实看对了事情。
Tobi 认为,自从 Apple 把 Steve Jobs 请回来之后,资本、董事会和金融家们开始更愿意给创始人更长的时间和更大的空间。这场实验的结果不错,因为公司高管层开始有了某种多样性:有一个别人赶不走的人,会直接把坏东西叫作坏东西。
这对公司非常有用。
Tobi 说,Shopify 里“八号人格”的比例非常高,因为他会主动寻找这样的人。他喜欢这种讨论方式。

四、创业者本质上都是疯狂的人

主持人提到,他在节目中听过一句非常难忘的话,来自 UiPath 的 Daniel Dines。Daniel 说:“很多人以为他们想成为我,但我的脑子里其实非常孤独。”
主持人说,这句话让他很有共鸣,也解释了为什么他在接受心理治疗。
Tobi 的反应是:这没什么问题。
他承认,自己有很多不错的东西,也有一份非常有趣的工作。很多人想成为他,这完全自然。但这些人很可能并不想像他那样度过过去 22 年。
Tobi 说:“我是一个光荣的混乱体。”
他认为,世界真的需要理解,那些创建公司的人,本质上都是疯狂的人。创建公司是一件不合理的事。
他引用那个老套说法:所有改变和进步都依赖那个不合理的人。因为合理的人会按照所有人都在做的方式做事,而那在任何情境下都是合理的。
所以,大家必须接受这一点:创业者是一个整体包装,是高方差的人。
他还说,人们对“好领导力”的审美,大多来自电影,或者来自那些被精心包装的公众形象,只是冰山一角。只要去读任何真正的传记,就会发现,推动事情发生的人常常都是疯狂的人。
他举了 IBM 创始人 Thomas Watson 的例子。Tobi 说,如果你以为今天商业世界里有暴君,那说明你并不了解以前的商业世界是怎么运转的。那时候每次会议都是烟花四溅。

五、为什么 Tobi 一开始不想当 CEO

Tobi 说,他做这份工作,是为了让其他人拥有他自己想要的工作。他是在“打掩护”。
他一开始并不想当 CEO。后来他意识到,如果要经营一家产品驱动型公司,就必须同时控制公司本身。
因为产品的需求和公司的需求,在短期内非常容易分叉。只有把视角拉到三年之后,它们才会重新汇合,甚至彼此增强。
这意味着每天都是一场“棉花糖实验”:你现在吃掉这颗棉花糖,还是等未来拿到两颗?
真实世界里,大多数人不会等那两颗棉花糖。这不是人性。
但如果你想做出伟大的产品,就必须采取长期立场。长期立场不是说嘴上讲“三年后的数字”,而是要愿意接受一段时间内数字不好看,只要你相信这会通向正确的方向。
这很难。

六、作为可信任的上市公司,可以进行长期思考

主持人问:作为一家上市公司,在 Wall Street 的预期下,你今天还有这种奢侈吗?
Tobi 说:当然有。
他认为,世界上没有什么比成为一家被信任的上市公司更好。第二好的是成为一家被信任的私营公司。比这糟糕得多的,是不被信任的上市公司;而不被信任的私营公司反而还没那么糟。
问题在于,很多公司在私募投资者那里已经建立了信任,一旦上市,就不得不退回到“不被信任的上市公司”状态。这也是很多公司不愿上市的原因:它们无法承受这个阶段。
但讽刺的是,只有经历这个阶段,才有机会达到最好的位置。
Tobi 说,这正是 Shopify 十年前很小的时候就上市的原因。他们想让那些下注 Shopify 的公共市场投资者赚到钱,让这些投资者站到 Shopify 一边,并最终信任 Shopify。
主持人问:如果一家公司已经很大,从被私募市场信任转向被公开市场重新审视,这个鸿沟是不是更难跨越?例如 Stripe 的 Collison 兄弟,公司估值已经到了 1500 亿美元量级。
Tobi 说,Collison 兄弟不是普通样本。只要有 Collison 兄弟,很多路径都行。他们是一个很差的参照系,因为大多数人不是他们。
Tobi 认为,更稳妥的策略,是在规模还不大时把上市当作一次相对小的融资来完成。
Shopify 2015 年上市时,年收入大约在 2 亿美元左右。Tobi 承认自己可能记错数字,但大致就是那个量级。
他回忆了 IPO 定价当天的场景:
路演之后,要设定价格、看订单簿、决定谁进入账本。那是一场高压会议。你可能刚刚连续一周在不同城市做了上百次演示,已经分不清自己在哪座城市。
然后,所有人围在纽约某栋楼的 80 层,巨大的会议桌上堆满文件、招股书、电话和 iPad。订单簿不断变化,你必须在某个时刻冻结一切,选一个价格。
Tobi 说,投行会给你各种建议,但你不是他们真正的客户。你是庄稼,他们真正的客户是订单簿里的投资者。投行的工作是帮这些投资者拿到尽可能便宜的交易,只是这个过程被包装得很漂亮。
幸运的是,Tobi 在路演前研究过投行家的薪酬结构,所以他知道他们的激励是什么。
他对投行家说:我知道你们怎么拿奖金。我喜欢你们,也希望你们拿到奖金。但我要成为一家上市公司的 CEO,所以我的 fiduciary duty 会提前 10 秒启动。我会为公司优化,而不是为你们优化。
有意思的是,十年后,当年带 Shopify 上市的投行家成了 Shopify 的 CFO。
当时所有人都建议 Tobi 给出折价,因为这些投资者会长期持有,不会马上卖出。但 Tobi 不这么看。他把价格抬到了区间之上,因为订单需求很强,他也知道 Shopify 的增长来自哪里。
他选择了一个自己觉得不错的数字。结果第一笔交易价格比 IPO 价格高出大约 10 美元。
他意识到,自己在那个时刻的表现并没有想象中那么好。市场的美妙之处就在于,它像一个优秀的分布式大脑,会告诉你真实情况。
Shopify 上市时的估值大约是 16.7 亿美元。后来在某些时期,公司估值达到了近百倍。Tobi 说,他不确定现在是多少,因为他不看股价。
但可以想象,早期买入 Shopify 的公共市场投资者,在职业生涯里受益巨大。那些在路演中没有因为几美元差异错过好公司的投资者,如今大概都升成了高级合伙人,也因此喜欢 Shopify。

七、AI 不会让 Shopify 变成万人巨头,而是让 8000 人做到 100 倍

主持人说,Tobi 是他采访过最有思想的 CEO 之一。他问:Shopify 现在大概有多少人?
Tobi 回答:大约 7500 到 8000 人。
主持人继续问:五年后,你觉得会有多少人?
Tobi 的真实希望是:仍然是 7500 到 8000 人,但生产力达到现在的 100 倍。
他认为,规模本身有问题。如果一家公司机会有限,那会很悲哀。或许多数公司确实机会有限,或者说不够有野心。
但 Shopify 的使命很宽:让创业更普遍。
在这个使命下,Shopify 可以做很多事。
Tobi 认为,我们正在进入创业的黄金时代。创业是最 AI-safe 的工作,也是最能从 AI 中受益的工作。这个组合非常重要。
所有有“Plan B”的人,所有有某种野心、想做产品的人,现在都会想:那就干吧。过去的所有先验都不重要了。
你不再需要出生在企业家家庭,不需要从小在父亲的办公室或祖母的印刷店里耳濡目染,才知道创办企业是普通人可以做的事。你会学到这些,而你的 AI sidekick 会像联合创始人一样告诉你各种任务怎么做。
主持人追问:如果 Shopify 保持员工规模不变,那么今天我们看到的裁员,究竟是 AI 带来的效率提升,还是疫情期间过度招聘的结果?
Tobi 说:是过度招聘。
AI 一定会改变工作组合,这毫无疑问。但今天看到的并不是“AI 裁员”。那只是一些反应慢的公司,过去和其他公司一样过度招聘,现在终于开始处理。
他认为,AI 会被拿来为一切背锅。
AI 是完美的替罪羊,是一个完美的 Girardian scapegoat。它不会反击。
而且,你还可以很漂亮地找到一些社区,它们围绕 AI 的危险做非常有文采的讨论,甚至不止讨论就业。Tobi 认为这些社区完全错了。
他说,自己的行业一直在把 AI 恐惧灌输给所有人,而科幻作品在此前 60 年也一直这么做。
与此同时,AI 正在客观地、令人震惊地让他的生活在每个维度都变得更好。

八、“只做任务”的工作,本来就不是好工作

主持人问:你是不是用一种乌托邦的视角看 AI?
他说,当他看 Claude 在社交媒体设计上的能力时,非常直白地说,很多任务并不难,只是执行导向。而他自己做过这些事,所以别人不能因此不高兴。现在 Claude 已经做得很好。
那么,面对大量任务被 Agent 轻易替代,你如何仍然保持乐观?
Tobi 的回答是:因为那些只是在替别人完成任务的人,并没有好工作。
把人变成自动化任务队列,不是一份好工作。
好工作应该是你拥有 agency,能够生产东西、创造东西。
主持人追问:你认为每个人都能拥有好工作吗?
Tobi 说,很多现在很富有的人选择不工作,这是非常常见的。他的很多朋友也会问他:“Tobi,你到底在干什么?”
但 Tobi 说,他天生就是工作型的人。他不是让一朵雨云去做太阳的工作。他就是这样的人,他要做这件事。
但也许并不是每个人都这样。
很多人在周末、晚上,或为了多赚一点钱而做的事情,比如教课,可能比他们在超市当收银员更有社会生产力。
Tobi 认为,人们会获得更多选择。产品会变得极其便宜,购买力会疯狂上升。人们会找到新的合作方式,也会找到更流动的价值分配方式。
他认识一些人,创办公司并成功卖掉后,变成了某种“绅士科学家”或“绅士程序员”。
他举了 Ghostty 的例子。很多使用 Claude Code 的人,会通过 Mac 上的 Ghostty 来用它。Ghostty 是一个终端应用,非常完美。
Tobi 说,Ghostty 的作者在卖掉公司之后,选择亲手打造一个他认为世界需要的、像工艺品一样的软件。现在很多人都同意这个软件确实应该存在,因为大家都在上面构建东西。
Tobi 说,他自己的桌面上现在有大概 15 个 Ghostty 终端,只是因为正在进行一场有趣的对话,才暂时忽略它们。如果是在打某个法律必要性的电话,他可能就会通过 Ghostty 指挥自己的“clankers”去构建 Shopify 需要的东西。
在他看来,这就是我们正在进入的世界。
人类非常擅长发明新工作。我们在这方面一直很强,也永远不会停止。今天收入最高的十种工作里,有八种在 20 年前并不存在。十年后也会如此,再十年后仍然如此。

九、Formula 1:人类如何围绕一本规则书创造出黄金时代

Tobi 最喜欢的例子之一是 Formula 1。
Formula 1 是世界上最大的奇观之一,也提供了最好的工作之一。在 Mercedes 和其他发动机制造商那里,有 800 人在造一台发动机。这 800 人生活在工业机械工程的永久黄金时代里:一切都重要,一切都是技能,每个周末都有成绩单,能看到自己和其他人的比较。
他们基本上处在工程世界锦标赛中。
空气动力学团队、底盘团队也是如此。
而 Formula 1 这项运动的名字,本质上来自一本规则书。它不是一个运动名称,而是一套叫 Formula 1 的规则。运动是从规则中生长出来的。Tobi 甚至有一份打印版规则书,觉得非常迷人。
围绕这本规则书,有 800 人造发动机,另有 800 人造赛车,还有车手和其他团队。人类把这一切创造出来,所有人的生活都因此更丰富。
主持人说,他最喜欢 Formula 1 的一点,是叙事的重要性。十年前,如果你关注 Formula 1,会记得 Bernie Ecclestone 时代。那时这项运动正在老去,观众多是中老年男性,受众在衰退。《Drive to Survive》在很大程度上拯救了这项运动。
Tobi 完全同意。
他说,《Drive to Survive》把这项运动里最好的部分提炼出来,变得可以被更多人理解。那些努力挖掘故事的人做得非常好。
他还提到电影《Rush》。Tobi 在德国长大,Niki Lauda 是德语世界里的英雄。那是一个非常好的故事。如果还没有看过这部电影,他强烈推荐。
Formula 1 一直有英雄、宿敌和竞争关系,但它过去无法把这些东西讲出来。直到它与媒体、Hollywood、Liberty Media 结合,价值被重新释放。
在 Tobi 看来,这说明只要用新的方式把元素组合起来,就能创造增长、娱乐和愉悦。一个围绕规则书的老运动,加上奇观和叙事,最后会变成远超想象的价值。
他认为,未来我们还会找到很多这样的组合。

十、软件太贵,让世界变穷了

Tobi 说,世界因为软件过于昂贵而变得贫瘠。
在任何时间点,世界上都会有一个限制因素,解释为什么很多事情不能增长得更快。增长会创造财富——更准确地说,增长会把资源中的财富带入经济。
如果你建立一家公司,你就是在把那些“本可以存在的东西”带到现实中。东西一旦现实化,人们就可以用钱移动财富。经济也就在这个过程中增长。
Tobi 特意强调这一点,是因为至少一半人口对经济如何运转完全困惑,并因此做出非常糟糕的选择。
主持人问:你担心美国比以往任何时候都更憎恨财富吗?
他提到,Tobi 说过很多朋友停止工作。他自己也有很多这样的朋友。但从一个外部观察者看,美国对财富的仇恨比以往任何时候都更可见。
Tobi 认为,美国也许正处在这种情绪的高水位,但仍然足够低,因此可以自我修复。
他强调,财富和资源越多的实体或个人,就越值得被审视。真正的问题在于,今天判断谁对社会有增益、谁没有的过程已经完全坏掉了,而且被一些完全恶意行事的人控制。
主持人问:你是什么意思?
Tobi 说,大家不应该没有任何机会去理解:我们其实应该每天深深感谢 Elon Musk 在这个星球上做的事情。
他举例说,他早上开车时没有碰方向盘,车自己把他送到了目的地,而且不用汽油。对他来说,这很酷。那是一辆 Model Y,他很喜欢,而且相对于汽车行业的常规定价,它非常可负担。他认为它比任何他可能买的豪华车都更好。
如果他开长途,还会在车后放一个 Starlink 设备。别人开车时,他可以在车里工作。这也是 Elon 做出来的东西。
然后他打开手机,越来越多地和整个地球对话。在 X 上,他会收到来自日本等地的回复。就像《银河系漫游指南》里的 Babel fish,语言障碍正在消失。有人用法语、阿拉伯语或其他语言说了很聪明的话,他在信息流里看到,可以用英语回复,对方又用自己的语言看到。
Tobi 说,他可以花整期播客讲 Elon 带来的礼物。当然,Elon 从他实际创造出的巨大潜在价值中捕获了一小部分,成为自己的财富,然后又把这些财富用于创造更多东西。
他觉得,当你看世界上最富有的人名单时,几乎所有人都是通过创造某些东西致富的,这是很了不起的。
但他真正想讲的不是 Elon,而是社会把愤怒投错了对象。
他认为,对继承财富却使用不当的人、通过离婚获得财富的人,当然可以有很多质疑。如果一个人并没有创造财富,那么他更多是财富的保管人,需要把财富用于对社会有益的方向。
这个世界的问题在于,人们正在优先选择听起来好的东西,而不是有效的东西。

十一、每一美元都是投票,真正的民主发生在资本配置里

主持人提到,媒体正在扭曲人们应该愤怒的对象。他想起 Jeff Bezos 的前妻曾捐出非常大一笔钱,随后有人批评她捐得低效、捐给了错误的组织或错误的人。主持人当时的反应是:天啊,可这正是好的部分,我们应该希望更多人这么做。
Tobi 说,也许他们在这一点上站在不同一边。
在他看来,花钱最好通过交易完成。
比如有人开了一家 Shopify 店,销售某种新的产品,比如符合伦理采购的皮夹克。当你购买它时,价格可能略高于普通皮革产品。但你是在投票:你认为这个产品应该存在。你用自己的钱投票。
这笔钱会为公司创造资源,证明这个产品可行。公司可以雇人。这也是对供应链的投票:符合伦理采购的皮革现在有了客户,数字会上升,工厂可以扩大生产,最终价格可能下降,甚至在某个阶段比替代品更便宜。
所以,每个人花出的每一美元都是一次投票。真正的民主,发生在分布式的资本配置中。
这也是为什么我们需要市场,为什么资本主义有效。
Tobi 说,资本主义本身不是天然有效的。它有效,是因为它导致市场形成,而市场把最多的智能注入资源配置中,因为使用金钱时的扭曲最少。
当钱被使用时,你需要想清楚它的二阶、三阶后果。

十二、为什么“捐钱”不天然高尚

Tobi 说,现实世界里,当一个事业失去了存在意义,人们往往不会停止它,而是会让它继续存在。
他举了一个程序员会议的例子。
2004 或 2005 年,他参加了一个 Ruby conference,那可能是他参加的第一个编程会议。他周末留在同一家酒店,因为那里还有另一个技术会议,是一个面向面向对象编程的会议。
第一场演讲一开始就说:“各位,我想你们已经赢了。所以我也不太确定我们还应该讨论什么,因为现在所有人都在写面向对象代码。”
Tobi 觉得这非常诚实。这种诚实可能只有在 nerd 中才会出现。他不知道那个会议后来是否还继续办下去,但当时所有人都像是在为自己的事业胜利做最后一圈庆祝。
现实世界通常不这样。一旦一个事业没有了原因,人们仍然会让那个事业继续下去。
因此,Tobi 认为,社会应该非常严格地审视资金如何分配。
主持人问:如果对捐赠施加如此严格的审视,会不会让人干脆不捐了?比如像你这样的人没有时间对每个组织做尽职调查,如果别人说“这是一个很好的组织,相信我”,而审视的逻辑告诉你不要做,你可能就会完全停止捐赠。结果好的组织也拿不到钱。
Tobi 回答:任何真正好的组织,都已经拿到很多钱了,相信我。
他认为,这些系统中的钱正在被非常糟糕的行为者捕获。
他预判主持人可能会提到 Andrew Carnegie 建图书馆的例子。Tobi 说,那是 100 多年前的事情,确实是有效的例子。Carnegie 建图书馆是“complete banger”。
主持人说,他想到的是 Jensen Huang 和 Bloom Energy,关于如何为 compute 提供资金。
Tobi 说,他宁愿支持这样的东西。
他认为,世界上的慈善美元太多了。问题在于,慈善资金不能投给那些拥有“自我修复适应函数”的东西。用更简单的话说,就是不能投给 for-profit 的东西,也就是市场会投票决定它们是否应该存在的东西。
这也是为什么“not-for-profit”这个词应该让所有人深深怀疑。
因为它等于在说:我们选择不参与地球上发明过的最佳适应函数机制——市场。市场几乎是唯一在大规模上让人们脱离贫困的机制。
如果一个组织说自己是“非营利”,那它是在声明自己退出市场,但它并没有告诉你,它真正的适应函数是什么。
Tobi 说,适应函数的意思就是:你怎么知道自己正在玩的游戏值得继续玩。
如果没有市场这个适应函数,就会由某些人来决定组织的 merit。这会把组织的价值从建设者手中,转移到那些擅长拉关系、擅长说服和润滑系统的人手里。
他也承认,并不是所有慈善都糟糕,确实有很好的慈善机构。

十三、政府干预,以及“定义游戏”

主持人问:你相信政府干预吗?我在欧洲,这里有很多政府干预。
Tobi 一开始说:“不太相信。”
随后他修正:是的,但要看是哪一种。
他提到 Friedrich List。List 是一位普鲁士经济学家。Tobi 说,在 James Hunt 和 Niki Lauda 的竞争之前,很早就有 Adam Smith、Laissez-faire 和 Friedrich List,以及普鲁士经济学派之间的分歧。
普鲁士经济学派和自由放任不同的地方在于,它认为政府的角色很简单:定义一些游戏,这些游戏的外部性应该是社会繁荣。然后,政府完全退出游戏,让玩家通过竞争创造极其积极的社会外部性。
在 Tobi 看来,这会自动发生在追求利润的市场中。
公司所做的,是把无限的潜在价值汇聚成产品。其他人用购买行为投票。投票机制会推动更大的供应链和更多产品进入社会,创造财富。财富成为社会的一部分。
他说,一个地方新创造出来的一美元,会在本地社会中循环七次。钱进入一个社区,进入公司,再通过工资流出,到当地 Starbucks 的咖啡师工资里,继续循环。钱会通过贸易机制和银行的信用创造机制被放大。
所以,他是否支持政府干预?
他的核心看法是:政府通常极其不擅长它们做的事。每个人都需要知道,一旦政府接管某件事,成本通常会变成原来的 10 倍。
如果有人说“让政府来经营杂货店”,那就会有几百个像 Tobi 这样的人不得不去创建公司,以弥补这一刻蒸发掉的财富。
但他也认为,人类做过的最鼓舞人心的事情之一,是把暴力外包给政府。因为这创造了一个环境,使私人财产能够存在。而私人财产是他前面所说一切的边界条件和基础。

十四、Shopify 最大的错误:物流和实体仓库

主持人问:你有什么判断是错的,并且代价最大?
Tobi 说,很多错误其实是“没有走的路”。多年以后,你才会意识到,如果当时走另一个反事实路径,今天的位置可能更好。
他犯过很多错误,也错过很多交易。
但最公开的错误,是 Shopify 进入完整物流和实体仓库建设。那发生在 AI 变得非常好之前。当时 Shopify 没有能力同时做物流和 AI,于是不得不放弃这件事。
Tobi 过去一直认为,最初的决定是对的。这也是他评估自己表现的方式。
但现在他觉得,这个说法越来越难站住脚。因为他知道,当时其实已经存在一些他本可以获得的信息,这些信息足以否定那条路径。
所以,他也许确实只是判断错了。
这个错误让他很难受,因为它影响了人们的工作和生活。
但 Tobi 说,他一直在犯错。他犯错的次数,比大多数人一生会犯的错误还多,因为他做了大量 repetitions。他会做出可证伪的陈述,因为他希望别人来证伪它们。他不害怕对话,也不太在意别人怎么看他。
主持人追问:但你的决策和声音有重量。你一说话,7000 多人会跟着走。如果你经常错,那代价可能很高。你以前说过,CEO 的工作是把 chaos 注入组织。
Tobi 说,他现在更喜欢把它称为“temperature”,因为 chaos 负面含义太强。
热是什么?热就是原子在抖动。足够多的热,会让分子重新融合成某些更值得拥有的东西。化学就是这样发生的。
他认为,很难在室温下锻造任何新东西。
伟大的领导者必须是 exothermic,必须成为公司的热源。
这与“保管者式领导力”很不同。后者也可以是有效领导方式,但不是他的方式。
他也不需要给已经有热量的区域注入热量。有些区域本来就因为所有人都在追逐创新或伟大愿景而炽热,他在那里不需要提供这种服务,可以扮演完全不同的角色。
但这些通常不是他花时间最多的地方。Tobi 的时间更多花在出问题的地方。
他承认,这也是为什么人们不要过度高估 CEO 这类工作的美好程度。你每天都在面对出了问题的事。
他在 Obsidian 里有一个文件夹,收集那些他尊重的人对他所建设的东西说过的有意义的话。这是某种“动机管道”,也许带一点虚荣,但更多是为自己提供一点积极能量。
因为有时连续好几天,甚至连续几周,你听到的全是非常糟糕的事情:某些人做出会产生深远后果的人生决定,某个原本进展很好的区域因为关键人员离开而需要数月修复,或者更糟的情况。还有很多健康问题,也会影响公司。
在这些非常黑暗的时刻,他会需要一点精神提振。
他说,自己并没有在情感上完全脱离这家公司。恰恰相反,他在情感上极度依附 Shopify。这也是很多创始人的共同点。

十五、为什么 Tobi 从不看股价

主持人说,这让他感到意外。Tobi 对 Shopify 有很深情感,但又说自己不看股价。
Tobi 回答:股价和他正在建设的公司没有关系。
股价是市场对公司公允价值的猜测。他的工作是提升公司的公允价值。股价是别人基于他们对未来复合公允价值的假设进行交易的游戏。
主持人问:什么时候股价最错?
Tobi 说,疫情初期,Shopify 的股价涨了很多,也许涨了 100% 或更多。但 Shopify 并没有在那一刻突然聪明 100%。
作为一个和股票代码一起生活了 10、11 年的创始人,这并不令人困惑。
Tobi 说,在录制这期节目之前的 23 天里,他确定自己没有看过股价。可能更久,但至少这 23 天没有。
主持人说,这让他成为一个完全的异常值。现在他几乎只采访上市公司 CEO,而他从没见过像 Tobi 这样的人。
Tobi 说,这取决于你是什么公司。对某些公司来说,股价更有相关性。
比如,如果你经营的是金矿,你的产品没有差异化,差异化可能只在采矿权数量上。Tobi 曾和一个金矿行业的人聊过,所以用这个例子。他认为,对金矿 CEO 来说,技术其实是投资者关系。
你的工作是到处出现,和所有人打高尔夫,展现极强的魅力。因为如果你能让自己的估值倍数略高于其他金矿,你就能收购其他金矿。这个过程会很快,你可以进行整合。
所以,对这类公司来说,真正的产品不是黄金,而是投资者关系。
Tobi 说,那听起来不是一个他能 thrive 的环境。
主持人打趣说:现在我知道你为什么不是风险投资人了。
Tobi 说,他可能会是一个很糟糕的 VC。他相信自己可以 onboard 到任何事情上,但这不会自然发生,也不是他会选择做的事。他太喜欢造东西了。他一生每天都会想要 build。

十六、过去 12 个月,Tobi 改变最大的一件事:资深工程师的价值更高了

主持人进入快问快答,问:过去 12 个月里,你改变想法最多的一件事是什么?
Tobi 说,他正在纠结的一件事是:他改变了对刚毕业工程师优势的看法。
他原本认为,刚从学校出来的工程师没有旧先验,会非常 AI-native,因此会有很大优势。很多年轻工程师确实非常优秀,正在以加速方式推进自己的职业生涯。
Shopify 甚至有一位来自 Waterloo 的 13 岁实习生。Tobi 到现在仍然觉得这很震撼。这个孩子还没进入大学第一学期,他妈妈必须陪他上所有课。Tobi 很喜欢这个故事,而且这个孩子真的很强。
所以,职业轨迹的加速确实存在。
但 Tobi 改变想法的地方在于:他本以为“没有旧先验”会更好,因为一切都要重建。结果他发现,AI 编程真正的工作方式,是先给出一个初始问题或任务,之后工程师持续与 AI 对话,把它引导到正确方向。
所有工程师都在严重低估“steering”的重要性。
Steering 极其重要。它实际上和编程一样,只是层级更高。
而事实证明,那些做过大量 repetitions、见过大量情况的资深工程师,可以以非常强的方式引导 AI,让它在极短时间内完成惊人的成果。
Tobi 还不知道这最终意味着什么,但这确实是他改变想法的一点。

十七、未来 5 年最重要的新角色:context engineering 与 product builder

主持人问:今天还不存在、但五年后会非常常见的角色是什么?
Tobi 提到了 context engineering。他说,自己曾参与推动这个词的流行。
他认为,这会变成公司里一个更可识别的主导角色,并可能吸收今天一些更专业化的角色。
Tobi 说,那些做过工程管理和一般管理的人,实际上会成为优秀的 AI programmer。因为在 Claude Code 存在之前,他们已经在 prompt 智能 Agent 很久了。他们擅长沟通。
而他们最好的工作,会越来越多地变成 prompt 其他人和 AI,让它们作为同一团队的一部分协作。
他认为会出现某种新的晋升路径角色,可以从产品、设计或工程进入。它可能类似于 product builder,核心是协调 intelligent actors,共同构建产品。
它最终不会完全长成他现在描述的样子,也不会用同样的名字出现,但方向大致如此。
Tobi 说,优秀的沟通者通常也是优秀的思考者。因为好的沟通,就是把复杂思想蒸馏成无歧义的语言。
这听起来几乎就是 context engineering。

十八、River:Shopify 的 AI 工程师,自己给自己起了名字

Tobi 说,Shopify 有一个大规模 AI system,叫 River。
River 生活在 Slack 里,承担了 Shopify 大量工程工作。人们直接在 Slack 里和它对话。
它叫 River,是因为 Shopify 有一个很大的 monorepo,叫 World。而 rivers shape world。Tobi 觉得这很有诗意。
更有意思的是,River 这个名字是它自己取的。
Shopify 先构建了它,然后问它想叫什么名字,它提出了 River。
Tobi 觉得这有点疯狂。
River 在 Slack 中工作,在公开 Slack channel 里被人类引导,完成大量 Shopify 工程任务。这一点也很重要,因为所有人都能从其他人如何引导 River 中学习。
主持人问:现在 Shopify 有多少代码是 AI 生成的?
Tobi 说,这个数字已经远高于 50%,而且正在向更高比例转变。Shopify 还没有更新公开数字,但趋势很明显。
很多 Shopify 最优秀的工程师今年都没有写过代码。
“自从 12 月以后,一切都变了。Opus 改变了一切。”

十九、代码手艺没有消失,只是位置变了

主持人问:这会让你这个热爱代码手艺的人兴奋吗?
Tobi 回答:我爱它,太美妙了。
他仍然热爱 craft,而且 craft 并没有丢失。
他也喜欢机械表,尽管机械表没有什么理性意义。但机械表卖得比以往更好。
Tobi 说,人们总是高估“增长”意味着替代或减法。其实增长不是减少什么,也不是替代什么,而是在世界里增加更多东西。
现在我们拥有 AI,同时还能消费所有其他美好的产品。
Tobi 说,他想写代码时仍然可以坐下来写。有时他也确实想这么做。更多时候,写代码本身是 steering 的一部分。
他会写那些涉及数据结构、数据如何持久化到磁盘的部分。他认为这属于某种德国工程传统,和北美的计算机科学世界不同。
Tobi 认为北美在这个问题上是错的。他认为应该首先思考数据如何持久化到磁盘、数据库如何存储,然后再规划系统。
他仍然遵循这种方式。
他会通过描述,或者直接构建 data access layer,来处理这些部分。只要数据结构正确,上面的代码可以由 AI 写出来,结果也会很好。
也许几个月后这也会变化。但至少现在,在这个领域,他仍然可以引导 AI 取得比它自己更好的结果。再过一阵子,他会去做别的事。也许只是为了“old school”的乐趣而继续写。
他的工程能力让他能以一种特殊方式推理系统。他可以成为 AI 的伙伴和同事,因为他能提出非常具体的问题让 AI 去追查。
他一生中在每次会议上都会问类似问题:这里的数据结构是什么?我们怎么持久化?我们保存什么、丢弃什么、重新计算什么?为什么不一开始就写下来,而要在 data warehouse 里重新推导?
现在,他可以打开笔记本和 River,直接问问题,得到结果。因为 River 可以使用整个 monorepo,追踪他想知道的任何东西。

二十、他会鼓励孩子上大学吗?

主持人问:你会鼓励自己的孩子上大学吗?
Tobi 说,他们现在看起来兴趣不大。他的大儿子可能会尝试一下。
他不会鼓励孩子“为了成为大学的一部分”而上大学。但他会鼓励孩子去拿一个学位,尤其是一个很难进入的项目,因为这意味着你周围都是同样进入了这个项目的人。
Tobi 认为,任何职业中最重要的 cheat code,是进入一个房间:里面的人都非常想在这个房间里,并且都关心你关心的话题。
主持人问:今天加入 Stripe 这样的公司,会不会比上大学更好?
Tobi 说,他的偏见是,如果你能对一家小公司产生价值,那就应该去。但前提是你拥有真正能产生价值的技能,而且这家公司同意并看到了这种价值。
这对双方都是很好的测试。面试应该是双方互相面试。
如果能做到这一点,那么加入一家值得加入的公司,可能比大学更好。因为进入一家值得追求的公司,比进入大学难得多。
主持人问:你相信 nepotism 吗?如果你的孩子申请一家 startup,姓氏很明显。
Tobi 说,别忘了,他的孩子有他和他妻子的基因。他们大概率没问题。Nepotism 发生在某人需要一点帮助的时候。
他承认,nepotism 的名声很差。他一开始甚至说自己开始理解它,但随后又说,nepotism 大概确实就是坏的。
Tobi 是 Thomas Sowell 的粉丝。他认为 Sowell 说过的几乎所有话都非常聪明。Sowell 在 80 多岁时写过一本书,其中有一句让 Tobi 印象深刻:过去 50 年,社会一直在用“听起来好的东西”替代“真正有效的东西”。
自从读到这句话后,Tobi 说自己不再对任何听起来糟糕的东西产生膝跳反应,而是先去找它是否有 redeeming value。
那么 nepotism 的 redeeming value 是什么?
他的答案是:没有。
Merit double blind 才是金标准。
但问题是,merit double blind 并不是现实标准,它非常罕见。
因此,nepotism 可能比某些疯狂的任命机制还要好,尤其是在学术界。
他提到加拿大的一种现象:很多学术职位招聘公告,已经变成 intersectionality fever dream。它们会精确描述某个人一生中经历的各种不利条件,几乎像是为某个特定人定制。
Tobi 说,这些做法通常出发点很好。有时也可能出现套利:如果某个真正优秀的人确实因为反向力量而没有得到机会,而你通过这种制度找到了一个“complete banger”,那你完美利用了系统,他会为你脱帽。
但在其他情况下,你只是优先考虑了不属于 merit 的东西。

二十一、最好的建议:你可以直接做事

主持人最后问:你得到过的最好的建议是什么?他说自己的答案是:“做正确的事永远不会错,而正确的事往往是困难的事。”
Tobi 说,最好的建议也许不是别人给他的,而更像一句 rallying cry。
那句话是:
“你可以直接做事。”
在任何时候,系统存在的目的是为了获得好结果。如果你知道什么是好结果,你可以走出系统,试着做一做。
今天这么做的成本比以往任何时候都低。行动会产生信息。
最好的结果之一,就是你弄清楚为什么系统其实有很多理由阻止你做这件事。
当然,这有边界。它必须是完全没有受害者的尝试。不能有人因为你试东西而受苦。不能有人承担负面后果。否则你只是个混蛋。
因为那意味着你把别人分割开来,把自己的收益置于他人之上,本质上是在参与零和游戏。
在零和环境里,你可能不应该做实验。但如果你处在零和环境中,你应该想办法把它变成正和环境。这样的可能性比人们想象的更多。
主持人说,他不确定自己是否经历过范围如此广泛的一场讨论。
Tobi 说,这些只是他当时正在思考的东西。如果在另一个时间采访他,他可能会讲完全不同的内容。
他希望,即便有人非常不同意他说的一切,也仍然听到了这里。
他说,这其实就是他想要的:让人们重新开始对话,允许人们犯错。
Tobi 说,他一直在错,这没关系。
他认为,社会可以降低温度,意识到有些过去的东西是有效的,而我们用一些听起来好的东西替代了它们。
他强调,自己几乎没有提出很多“我们应该怎么做”的具体意见。他主要讲的是如何创造边界条件,让人们可以直接做事。
这就是我们从启蒙运动以来继承的世界的天才之处:祖先为我们创造了一个 sandbox,让人们能够做事、承担责任,并对结果负责。
如果他们做坏事,就会进监狱。如果他们做对了事,就允许他们拥有财产。
Tobi 说,每一个建设者都在和社会做一场 Faustian bargain。这个世界在某种程度上歧视建设者,只因为他们的产品成功了。
他拥有 Shopify 6% 的股份,这让他非常富有。是的。但这也意味着 94% 属于其他人。那些人也通过这家公司赚了很多钱。
而这还没有算 Shopify 的客户,以及客户雇佣的人。
Tobi 估计,可能有 1000 万人在日常工作中围绕 Shopify 做事:发货、处理客户关系、建设网站等等。这些工作一直可能存在,但 Shopify 把它们以实际方式带到了现实中,让它们可以被使用。
他强调,Shopify 不是唯一这样做的公司。很多公司都在做类似事情。人们每个月通过支付订阅费投票,说明 Shopify 对这个想法的实现,对他们是有价值的。

二十二、财富不是偷来的,建设公司是最民主的事情之一

主持人说,这回到前面关于财富妖魔化的问题。很多美国人认为,出现一个 billionaire,就意味着他一定从没有钱的人那里偷走了什么。
Tobi 回答:那就指出一个例子。
他说,靠偷钱不可能偷到 10 亿美元。也许有某些具体实例,但那就请具体讨论那些实例。
通过创建公司获得财富的人,并没有偷任何东西。他们创造了一个产品,而人们为它投票。
这实际上是存在过的最民主的事情之一,比很多投票箱里的选举更加民主。
人们通过把钱分配给产品,塑造身边的世界。每次你从本地商店购买东西,你不只是在购买那个产品,也是在为本地商店的福利、未来和繁荣投票。
店主没有什么可被鄙视的。他把自己放在那里,非常努力地工作。开公司是一件不理性的事:你为了自己非常努力地工作,而不是为别人少努力一点。但你创造了另一个东西,让其他人可以在那里获得符合自己生活方式的工作。
Tobi 觉得奇怪的是,社会竟然开始轻视这件事。
他强调,自己非常支持建设性的批评。但建设性批评本身也是一种建设。有些人能够创造非常好的建设性批评,他从中学到很多。
作为上市公司 CEO,他很幸运,能获得很多建设性批评。有些外部人士会写非常出色的 memo,值得认真阅读,因为它们提供了他原本没有的视角。这也是一种在公共心智中建设图景的行为。
但也有懒惰的、恶意的批评,或者只是 hot takes。这些东西极具腐蚀性,应该被人们强烈鄙视。
可现实并不是这样。
他问,有多少人在疫情期间发表过错误观点后,真正发布过修正?或者那些 climate panic 的文章,又有多少后来修正?
这非常罕见。
因此你会意识到,它们并不是关于真相的。如果关于真相,修正错误才是正确做法。

二十三、AI 会把力量重新推回事实一边吗?

主持人问:向前看,你担心这件事吗?现在 Twitter 上最常见的回复是“Grok,这是真的吗?”
Tobi 说,不担心。这反而是他对未来如此看好的原因。
过去存在一种 effort mismatch。
恶意行为很容易。你只需要提出一个断言。就像一种斯大林式的说法:对每个人来说,都存在一组能毁掉他的词。
它不需要是真的,只需要存在。某个指控足够貌似合理,一个人就可能因此消失。
事实核查则非常困难。这是一种不对称战争,甚至可以荒诞地称为信息恐怖主义。证明某件事不是真的,比说出那个断言需要多得多的工作。
恶意行为者数量并不多,但可以极其高产,并把叙事种进重要节点。
Tobi 认为,AI 正在把力量重新推向好人一边。
随后他修正:也不该说好人和坏人。没有绝对的好坏。每个人在自己的本地系统里都认为自己是好的,只是有些人的系统是错的。这也是为什么需要对话,让他们转向对社会更有价值的系统。
主持人反驳:你不可能真的相信这一点。显然存在恶意行为者,他们会用 AI 去剥削别人。
Tobi 说,主持人完全正确。
他区分了社会层面和个人层面。在个人层面,也就是我们经常记录的层面,将会有很多糟糕事情发生:voice cloning、黑客攻击、软件安全问题。事实证明,很多软件的安全性可能都不够好。会有大量麻烦需要处理。
但同样的模型也能为这些问题写修复方案。Tobi 认为,把大量 AI intelligence 用于防止欺诈,会让攻防平衡发生转移,最终情况会好很多。
即便是 claim testing,也可以由一个模型委员会来完成。比如中国训练的模型、德国训练的模型、法国训练的模型,分别给出对同一问题的意见,提供不同视角,再做综合。
Tobi 说,他刚刚描述的东西,现在就可以做。他可以打开一个 Ghostty 终端,把自己这段话的 transcript 放进去,再 steering 两三次,就能把它放到互联网上,并且它会工作。
只是现在 tokens 还比较贵,所以他需要付钱。
但这意味着,一个新的机构可以出现:看看大家会怎么想,看看“委员会”对某个 claim 的判断,并做一些研究。
Tobi 认为,我们正在进入一个世界。未来,公共话语空间不会再被那些无聊的、恶意行事的人主导那么多,因为另一边也拥有了反击能力。
他认为,“@Claude”“@Grok,这是真的吗”只是这种未来的原始版本。
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-05-11 13:46:29 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/602610.html
  2. 运行时间 : 0.103522s [ 吞吐率:9.66req/s ] 内存消耗:4,867.51kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1de7f27782adf3f1f6f45dcb4106ddb4
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000536s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000679s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000310s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000277s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000480s ]
  6. SELECT * FROM `set` [ RunTime:0.000193s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000572s ]
  8. SELECT * FROM `article` WHERE `id` = 602610 LIMIT 1 [ RunTime:0.000550s ]
  9. UPDATE `article` SET `lasttime` = 1778478389 WHERE `id` = 602610 [ RunTime:0.017503s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000356s ]
  11. SELECT * FROM `article` WHERE `id` < 602610 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000548s ]
  12. SELECT * FROM `article` WHERE `id` > 602610 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000676s ]
  13. SELECT * FROM `article` WHERE `id` < 602610 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001287s ]
  14. SELECT * FROM `article` WHERE `id` < 602610 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000719s ]
  15. SELECT * FROM `article` WHERE `id` < 602610 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000715s ]
0.105218s