因果:写在 PhD 旅程尽头


每一个行动,都会让某些事情开始发生。 只是大多数时候,我们要过很久,才看见它最终通向哪里。

This post is also available in English (英文版).

一个模拟的世界

最近我看了 Netflix 上的 Pantheon。这部剧讲的是”上传智能”——人类以某种方式存在于肉身与数字世界之间,在一个和真实无异的模拟空间里延续着自己的意识。设定很科幻,但真正让我久久不能放下的,不是那些关于技术的想象,而是一个更安静的问题:如果你身边的一切都有可能是被构建的、被模拟的,那到底什么才是真实的?

我反复想着这个问题,最后总是回到同一个答案:人与人之间的连接。

不是你所处的环境,不是你的产出,不是外界对你”这段时间花得值不值”的评判。真正留下来的、真正有重量的,是你和另一个人之间的那根线——以及那根线在未来悄悄地、不可预见地牵动你生活中其他部分的方式。

我发现,这个想法意外地契合我自己的 PhD 旅程。我们总是习惯用一些表面的标准去衡量自己的选择:这段实习有没有产出?那篇论文中了没有?这个方向选对了没有?但那些真正改变人生轨迹的后果,往往和这些指标毫无关系。它们藏在你喝酒时认识的那个人身上,藏在你几乎不记得的一次对话里,藏在那些沉睡了好几年的友谊突然变得无比重要的那个瞬间。

中文里有个词叫 因果

不是流行语境中那种带着玄学色彩的”善恶有报”,而是一种更朴素的东西:你做的每一件事都会种下一颗种子,而它最后长成什么,常常要很多年以后才知道——有时候,以你根本想不到的方式。

这篇文章,就是想回头看看我自己经历中的几条因果线。不是为了提炼教训——我对”教训”这个东西一向有些怀疑——而只是想看看那些回头才看得见的纹路。


西雅图:那个”被浪费”的夏天

读 PhD 之前,我曾在西雅图的 Amazon 实习。按任何传统标准来看,这都是一段不太起眼的经历。项目本身不让我兴奋,资源有限,我很早就意识到自己大概做不出什么真正有分量的研究成果。所以我没有假装拼命,而是让自己松了下来。我到处逛这座城市,和刚认识的人泡到很晚,用一种已经很久没有允许自己使用的方式在放松。

从职业规划的角度看,这几乎就是一个被浪费的夏天。

但正是在那些漫无目的的西雅图夜晚里认识的一个朋友,两年后在一次学术会议的饭局上,把我介绍给了一个女生。那个女生,后来成了我的未婚妻。

我经常想起这件事。如果当时你告诉我,那个夏天我做的最重要的一件事是和同事出去喝酒,我大概只会觉得好笑。那段实习在当时感觉就像一个脚注。但事实上,它是一段我还不知道自己在写的故事的第一句话。这就是因果。那段时间真正留下来的价值,和项目交付没有任何关系。它全部存在于我无意间建立起来的人际连接里——那些连接的意义,过了很多年才浮现。


最艰难的一年

PhD 第一年结束后,我搬去了纽约,在 Meta 做实习。那时候我才真正开始做多模态研究——语音语言建模、音视频理解。这成了我后来整段 PhD 中最核心的一条线,研究本身也扎实到足以让我看到一个真正的方向。

但关于那段时间,我记得最清楚的并不是研究。

那时我刚经历了一段感情的结束,整个人的情绪状态很不稳定,试图一边拼凑自己一边在一座新城市里建立一个新的研究身份。这种挣扎不会出现在简历上,但它渗透在一切里——你怎么想问题,你怎么工作,你怎么在一个几乎没怎么睡的夜晚之后撑到早上十点的会议。

也是在那段艰难的日子里,一次会议出差时,Amazon 时期认识的那位朋友把我介绍给了后来成为我未婚妻的人。我们开始了一段中美异地的关系,没有任何保障,谁都不确定这能不能走下去。但它走了下来。而且从那以后,我做的几乎每一个重大人生决定,都被这段关系重新塑造了。


荒野时期

从 Meta 回来之后,我又回到了巴尔的摩。PhD 的日常节奏重新接上,我继续做着音视频语言建模方面的工作,但有什么东西变了。我的心不在那了。项目离我真正关心的东西越来越远,一种更深层的疲惫和幻灭感开始一点点沉淀下来——那种不是突然爆发,而是像灰尘一样日复一日累积的倦怠。

那是我第一次把学术界和工业界在机器学习研究上的差距,不再当作一种抽象的抱怨来理解,而是当作一种真实的、每天都在经历的现实。算力、数据、迭代速度——差距太明显了。在一个学术实验室里做多模态研究,有时候就像拿着刀去打枪战。我读到工业界的团队在做什么,然后怀疑:我在自己这个小角落里做的东西,真的有意义吗?

坦白说,那段时间我的日常大概是这样的:一半时间做研究,另一半时间在学期权交易和做日内交易。一方面是因为我确实对金融产生了兴趣。但更大的原因是无聊、躁动,以及越来越难和自己的研究建立真正的连接。在巴尔的摩郊区的生活安静得近乎空洞——除了几个关系亲近的朋友,很少有什么东西能让我觉得自己是”扎在这里”的。

这样的状态持续了大约半年,从 2025 年初到那个夏天。我猜很多 PhD 学生都经历过某个版本的这种荒野期——动力被抽干,整件事开始像一场精心设计的徒劳。大家不太聊这个。我想在这里把它写出来,不是因为我有什么走出来的建议,而是因为假装它没发生过,会让后面的故事变得不诚实。


回去

2025 年夏天,我去了字节跳动。原因和职业规划没什么关系。说出来甚至有点不好意思地简单:我想回上海,想离我女朋友近一点。

字节跳动刚好是那个既能给我一个相关的研究问题、又能让我在该在的地方的选择。于是我就去了。我不知道这是不是一个正确的决定。我只知道对我来说什么更重要,然后选择了相信这一点。

接下来发生的事情,是因果最戏剧性的一次展开。

我到字节的时候,正好赶上这个领域最剧烈的一次转型。Agent paradigm 在快速升温,而落到我手上的问题——多模态推理、多模态生成——比我之前做过的任何东西都更鲜活,也更让人兴奋。

一个为了爱做出的决定,最后变成了我整个 PhD 里最好的一次研究转向。我没有能力规划这件事,也确实没有规划。但因果不管你的计划——它只管继续往前推。


一条短信

几周前,我收到了一条短信。发信的人是我两年前指导过的一个本科生。那时候他还在犹豫,不知道自己该走软件工程路线还是继续读 PhD。我们聊过几次,不是什么正式的 mentoring,就是很坦诚地聊取舍、聊动机、聊”什么看起来厉害”和”什么真正让你觉得对”之间的区别。

之后我就差不多忘了。

两年后,他写信来感谢我。他说那段时间他拼了一把,做成了不少当初不确定自己能不能做到的事,现在站在了一个他觉得真的值得兴奋的起点上。他说当初和我的那几次谈话,对他来说是一个转折点。

我拿着那条消息看了很久。对我来说,那就是几次普通的聊天——在咖啡桌旁随口说的那种,说完就不会再想起。对他来说,那是一条岔路口。

这是因果里我反复想到的那一面。你没法知道自己做的哪件事会真正产生影响。一次随意的对话,可能让另一个人完全换了一个方向。一个看起来被浪费的夏天,可能把你带到将来要结婚的那个人面前。一个因为想念某个人而做出的决定,可能刚好把你送进你职业生涯里最重要的一段工作。我们散落下种子,却不知道哪颗会生根。


研究本身,也是因果

我的研究轨迹,和生活里的其他事一样,从来都不是规划出来的。它更像是一连串转向,每一次都既来自主动选择,也来自环境、际遇、以及那些当时看不清意义的偶然。

最开始是 多模态理解——教语言模型去理解音频和视觉输入。来自不同感官的信号,怎样才能被放在一起、被理解为一个整体?这是我遇到的第一个真正让我着迷的问题,也是后面所有东西的起点。

从那里我转向了 规划与工具使用。如果模型已经能理解它所看到和听到的东西,那它该拿这些理解去做什么?它怎么决定行动,怎么调用工具,怎么和真实世界发生交互?问题的重心从”感知”移向了”行动”。

再往后是 生成。从 2025 年末开始,我对另一个方向产生了兴趣——不再只是理解媒体,而是去制造它。怎样用强化学习让生成的内容更好、更可控、更贴近人真正想要的东西?

而现在,这几条线正在汇合到一起,指向 voice agents

当时每一次转向发生时,都让我觉得有些突兀,甚至有点割裂。我还在一个方向上深耕,就已经被什么东西拉向了另一个相邻的地方。但回头看,每一个阶段都在悄悄地为下一个阶段做铺垫,只是身在其中的时候看不见。同声传译教会了我”触发点”——什么时候信息积累到足以采取行动;多模态理解教会了我怎么融合跨模态的信号;agent 研究教会了我工具调用和真实世界交互。

这一切,最终都汇入了我现在对 voice agents 的思考。这条路只有倒着走,才看得通。


Voice agents 还缺什么

写到这里,我想从回望转向前方。我并没有答案——我又站在了一个新的拐点,而后果暂时还看不清。但对于”现在还缺什么”,我确实有了一些比较清楚的感觉。

基础设施正在快速补齐。 构建一个真正能用的 voice agent 所需要的那些基础模块——记忆系统、评测框架、工具连接能力、和真实世界打通的接口——正在以一年前难以想象的速度进步。我不认为基础设施还会长期是瓶颈。

真正的瓶颈,是一些更微妙的东西。

今天的语音系统被切成了两个世界。 一边是对话式管线——语音进、语音出,追求低延迟和自然表达。另一边是功能式管线——识别意图、调用 API、检索结果、执行任务。两者被分开设计、分开构建、分开评估。

但这种分离本身并不反映人类真正的交流方式。真实的对话不会整齐地划分为”聊天”和”下指令”。它在两者之间流动,而其中很大一部分处在模糊的中间地带——意图还只成形了一半,你在自言自语,但也隐约希望有人能接住你。

今天的 voice agent 架构:对话和功能被人为地切成两条独立管线。

真正的挑战在于设计反馈回路。 我越来越相信,这才是定义下一代 voice agents 的核心,而它归结为两个”触发点”问题。

第一个是 输入触发点:用户说到什么程度,系统才应该开始行动?这个问题我从同声传译的研究中就很熟悉——系统必须不断判断,当前积累的信息够不够,能不能开始生成译文。但在 voice agent 这里,问题更难,因为你不只是在翻译——你是在一个连续的光谱上尝试推断意图。有时候用户只是在自言自语。有时候他们在给出一个清晰的指令。而很多时候他们处在中间——说得松散,但其实希望 agent 能猜到他们需要什么,在合适的时机主动介入。一个好的 voice agent 必须能够实时地阅读这一切。

第二个是 输出触发点:agent 在工作时怎么和用户交流?今天的 agent 在处理复杂任务时,往往会直接”消失”——你给它一个任务,它沉默下去,过一阵子才带着一个完成品回来。就算是现有那些提供”计划模式”或澄清问题的 agent,距离我们对一个真正的人类协作者的期待,也还差得很远。好的合作不是这样运作的。好的合作者会中途回来跟你对齐,会给你看草稿,会让进度变得可见,会创造出让你纠偏的空间。Voice agent 也应该这样——一块砖一块砖地交付,而不是沉默到最后一刻。

一个更好的反馈回路:输入侧在一个意图光谱上导航,输出侧逐步呈现进展,而不是保持沉默。

Harness 才是真正的产品。 模型会继续变强,工具和 API 也会越来越丰富。但真正把一个优秀的 voice agent 和一个平庸的 voice agent 区分开的,不是底层模型,而是那套 harness——决定什么时候听、什么时候做、什么时候打断、什么时候回来确认、以及如何调度输入、处理和响应这几条并行流的系统设计。真正的产品差异,最终会落在这里。

创业公司往往更早看到这一点。 这是我和很多人交流后最深的一个感受。那些为真实用户、在具体场景中——游戏、心理治疗、企业工作流——做产品的创业公司,往往比大实验室更清楚到底需要造什么。不是因为他们研究更强,而是因为他们离用户足够近,能看到交互到底在哪里断裂。大实验室——包括我自己待过的那些——更容易把注意力放在模型本身:推 benchmark,扩展能力,发论文。但我们常常离”人们到底想怎么用这些系统”这个问题更远。反馈回路的问题,不是你读论文能发现的。你得真正看到一个人试着用 voice agent 完成一个真实任务,然后注意到他在哪里感到了挫败。

这也是我最近经历的一个思维转变:从”怎么让模型更好”,转向”怎么让交互做对”。这两个问题表面上很像。但它们最终指向的研究和产品,可能完全不一样。


没有什么结论

写这篇文章的时候,我本以为自己会走到某个整齐的终点——一个教训,一个框架,一条建议。没有。

你没法”优化”因果。你没法把因果链条设计成你想要的样子。你能做的,大概只是对连接保持开放,相信这条链条在你看不见的地方还在继续延伸,然后尽量诚实地面对自己——弄清楚你真正在意的是什么。不是简历上好不好看,不是怎样最大化某个短期指标,而是什么真的关系到你的状态、你的幸福感,以及你想过怎样的人生。