第五周最明显的感受不是忙,而是切换。一天里大概会在四五十个线程之间来回跳,四个项目同时推进,也就意味着四套不同的压力。一个问题刚刚在脑子里展开,另外一个项目的消息已经进来了;等处理完第二件事,再回到第一件事时,原来的上下文可能已经散掉一半。
以前我会把这种状态理解成时间管理问题,觉得只要排好优先级、少看几次消息、把事情拆得更清楚,总能解决。但这一周我开始觉得,问题已经不只是事情太多,而是信息来源本身正在变得混乱,判断也跟着开始失真。负责人有一套,商务有一套,还有一些东西大概只能归类为拍脑袋。它们都在进入同一个产品,却没有一个稳定的入口,也没有人在前面把这些互相冲突的判断先收敛掉。
需求开始失真#
商务经常会绕过我,直接向开发和产品同事提需求。更微妙的是,他们会用“奖金”“钱”这样的叙事去推动事情,好像只要把某个功能做出来,某种想象中的收益就会自然出现。我当然喜欢钱,也不认为谈利益有什么问题,但当产品判断需要靠这种方式推动时,我就很难确认,我们讨论的到底还是不是产品。
我厌恶这种叙事,更厌恶这种叙事从那些我已经开始怀疑其真诚的人口中说出来,然后一遍又一遍地在耳边回响。真正麻烦的地方不是它完全虚假,而是它往往会掺着一点真实的利益、一点真实的机会,再把很多还没有发生的东西提前说成理所当然。听得足够多以后,人很容易开始怀疑,是不是自己太保守,是不是别人真的看见了一个自己没有看见的未来。
到了我这里,需求的传递方式反而常常很随意。有时是在楼梯口抽烟,对方顺便提一句,这个能不能加一下。没有完整上下文,没有稳定记录,也很难知道这个需求究竟来自哪一套判断,但它已经开始进入开发预期。这一周我见到的离谱需求也越来越多,它们不一定来自某一个特别离谱的人,更像是不同方向的想法同时进入产品以后,没有人真正负责把它们放在一起判断。于是每一个单独听起来似乎都有一点理由的东西,最后组合成了一个越来越难理解的整体。
鸡同鸭讲#
周五晚上九点四十,我才刚回到家,十点又开始开会,一直开到十二点。起因是项目合作方发来的两份材料,我看完以后最大的感受不是反对,而是不知道该从哪里接。里面当然写了很多东西,但概念、目标、实现和业务之间没有形成一条真正可以讨论的路径。
会上每个人都在认真解释自己理解的东西。问题是,越往后听,我越觉得大家讲的并不是同一个问题。有人在谈业务,有人在谈产品,有人在谈一个自己想象中的未来形态,也有人已经开始讨论怎么落地。两个小时以后,信息确实增加了很多,但问题并没有因此变得更清楚。回头想,这场会议最准确的总结还是那四个字:鸡同鸭讲。
这种会议真正消耗人的地方,并不是最后没有结论,而是你必须一直维持理解,试图把几个不在同一层级上的讨论强行拼到一起。会议结束以后,脑子已经很累,却很难说自己获得了什么更可靠的判断。以前我会觉得会议至少应该完成一种收敛,这一周开始接受另一个现实:有些会议只是因为问题还没有被说清楚,所以所有人先坐进会议里。
一套叙事,可以换来一周的人力#
第二天,公司负责人又带我去了客户现场。客户讲了很久自己的业务,我认真听下来,判断大概是:不完全扯淡,但还是扯淡。
这两句话并不矛盾。很多宏大的业务叙事最难处理的地方,本来就不是它完全虚构,而是里面通常真的存在一些问题、一些需求,甚至也有一些值得做的东西。随后这些真实的部分被不断连接、扩张,最后长成一个比原始问题大很多的故事。
公司负责人听得很兴奋。我本来已经准备离开,他却一直把我留在那里,给我的感觉像是希望我继续听,继续理解,最好最后也能进入同一种兴奋状态。等客户讲得差不多了,他很快提出,让我接下来直接到客户那里驻场一周。
我的第一反应是:随便。不是赞同,也不是反对,那一刻我甚至没有太多情绪,只是对这种突然改变工作安排的事情已经有些麻木。
第四周我刚刚写过,开发者看到一个完成度只有 25% 的东西时,第一反应往往是把剩下的 75% 做完;但现实世界里,25% 和 80% 之间,有时候只隔着一次演示、一套叙事和一场谈得不错的会议。第五周我又学到了它的下一课:一套足够有感染力的叙事,不只可以改变人对完成度的判断,还真的可以直接改变资源配置。讲完以后,一周的人力就准备进去了。
疲惫的兴奋#
如果第五周只有这些事情,这篇东西最后大概会变成一篇很无聊的职场抱怨。事实上,我自己的几个项目这一周也在快速往前走,而且它们同样消耗注意力。
Mira Mobile 真正接通了两条链路。一条可以远程连接桌面端,另一条允许用户自己配置 API Key,直接连接模型。技术链路接通以后,问题没有变少,反而一下子从工程问题变成了产品问题。手机端现在已经有一个类似 Agent Runtime 的东西,但没有真正属于它的工具和 MCP;设备码、远程扫码、自配 API Key 各自都解决了一个问题,放在一起以后,却马上出现新的问题:用户到底应该怎样理解这些能力,手机上的 Mira 到底是桌面端的延伸,还是一个可以独立工作的 Mira。
我其实很喜欢这种问题。因为只有一个东西真的开始工作以后,才会暴露这种麻烦。架构图上的产品总是很漂亮,真实产品一旦开始被使用,就会迅速长出很多不体面的东西。
Forge 这一周也继续往前走,而且正式有了中文名字:淬行。我越来越不想把它理解成“一个会写代码的 Agent”。真正让我兴奋的是另外一件事:如果 Builder、Reviewer、GitHub、CI、任务状态和人都已经是研发流程中的节点,那么我们是不是可以把整个研发过程本身重新设计一次。以前谈 Agent Loop,很容易把镜头放在一个模型内部:规划、行动、观察,再规划;但镜头拉远以后,一次 Commit 也是行动,一次 Review 也是观察,Reviewer 要求返工以后,Builder 的下一步计划就被改变了。再继续拉远,整个研发过程本身也可以被看成一个 Loop。
这些东西这一周仍然会让我兴奋。Mira Mobile 让我兴奋,淬行让我兴奋,Mira 当然也让我兴奋。只是这种兴奋已经有点不一样了,它是一种疲惫的兴奋。白天有四五十个线程在抢注意力,晚上真正属于自己的东西又在等着做判断。两种疲惫其实不同,前一种经常来自别人不断告诉我什么东西现在最重要,后一种至少是因为那些东西对我自己真的重要,但身体显然不负责区分这种哲学差异,累就是累。
我已经在另外的秩序中了#
周末并没有因此真正停下来。负责人还在安排会议,周日早上,负责“项目管理”的人又打来了电话。我没有接,只回了一句:“在教会。”
后来想起这个动作,我觉得那一刻其实没有什么强烈的边界意识。我不是为了证明周日不要找我,也没有准备借这个机会表达对工作安排的不满。我只是很自然地觉得,我已经在另外的秩序中了。
那天留给教会的时间其实也就是六个小时,而且并不轻松。慕道班第一天开班,我自己也是其中的一份子。流程已经有了,但仍然能感觉到仓促。下午主堂的信息,大意是庄稼多、做工的人少,需要有更多人参与事工。我听到这里时想到的也不是什么特别神秘的事情,教会同样需要人,同样需要流程,同样会有人手不足,也一样可能手忙脚乱。它并不是一个进入以后所有现实问题都会消失的地方。
但它和工作给我的感觉确实不同。区别也许只是,我知道自己为什么在那里。
这一点听起来很小,但第五周以后,我越来越觉得它不小。工作里的很多事情已经不是我完全无法接受,而是我越来越难确认它们为什么必须现在发生。一个需求为什么重要,一次会议为什么必须今晚开,为什么一个人突然可以决定另一个人接下来一周要去哪里,很多事情都拥有自己的理由,但理由之间不断冲突。在教会那几个小时里,流程也不完美,事情也不少,但至少我不用一直重新判断自己为什么在那里。
所以当电话进来时,我没有太多挣扎。那时候,我已经在另外的秩序里了。
慢慢开心了一点#
周日其实还是很累,这一周甚至连周末补觉的时间都没有。但不知道为什么,到了那一天,人反而慢慢开心了一点。也许只是因为遇见了一些有善意的人。
这一周大多数时候,我面对的都是各种叙事。客户有客户的叙事,商务有商务的叙事,项目有项目的叙事。每个人都在解释为什么某件事情现在就应该发生,也都希望别人能够进入自己的判断。到了周日,有些关系突然不需要先说明自己能产生什么价值。大家只是一起坐在那里,有人负责做事情,有人刚刚开始参与,也有人只是很普通地释放一点善意。
当然,我不会因为这样就突然变成一个讲话很“属灵”的人。十八未满,三十八未满,教士小姐姐,还有我之前拿来开玩笑的“汗臭里有没有神的气息”,这些东西依然会从嘴里冒出来。我好像还是不喜欢那种一谈到信仰就自动切换语言系统的感觉。信仰如果真的进入生活,我更希望它最后仍然能够用自己的语言说出来,而不是把自己训练成另一个版本的人。
周日没有让我恢复体力,也没有解决第五周的任何问题,但我确实慢慢开心了一点。总还是有善意的人。
辨别#
这一周另一个越来越强烈的感受,是人也需要辨别。这句话很容易写得像某种识人术,好像世界上分成真诚的人和虚伪的人,只要足够聪明就可以把他们分类。我现在并没有这种能力,也不觉得事情这么简单。
真正让我警觉的,是语言、利益和责任经常并不重合。有人很会描述未来,有人很会制造紧迫感,有人会告诉别人,只要现在把这件事情做出来,后面就会有奖金、有收益、有新的机会。这些话不一定是假的,甚至很多时候里面真的存在一部分事实,所以真正难辨别的从来不是完全假的东西,而是那些半真半假的东西。
一套叙事里可能有真实的客户问题,也可能夹着夸大的期待;一个需求可能真的有价值,也可能只是某个人为了推动事情而临时加上的解释。人在里面待久了,很容易因为一件事情被重复足够多次,就逐渐把它当成事实。所以第五周结束以后,我给自己留下的提醒是:注意辨别伪人。
但辨别之后怎么处理,我现在还没有答案。现实不像代码 Review,发现问题以后,并不能点一下 Request Changes,然后等对方修好再合并。有些人仍然需要合作,有些关系不能立刻切断,有些荒谬的事情最后也还是得做。不是所有看见的问题都值得当场揭穿,也不是每一次判断都必须变成对抗。
也许现在能做的只是先保留判断,不要因为别人很兴奋,就替他兴奋;不要因为别人制造了紧迫感,就自动把它变成自己的紧迫感;也不要因为一种说法听了十遍,就忘了第一次听见它的时候自己其实并不相信。至少先别把判断交出去。
第五周#
第五周结束以后,四个项目还在,几十个线程也不会因为这篇周记写完就消失。接下来可能真的要去客户现场,Mira Mobile 的产品问题才刚刚开始暴露,淬行也只是刚刚长出一个我开始喜欢的样子。教会那边,我也只是刚进入慕道班,开始参与一点事情,没有哪一条线已经完成。
但如果一定要说第五周发生了什么变化,我觉得不是工作更多了,也不是终于学会拒绝谁,而是我开始越来越在意:谁可以接入我的生活。工作当然可以接进来,客户也可以,Mira 可以,教会也可以,生活从来不可能靠把所有东西都挡在外面获得安宁。真正需要判断的,是谁可以进来,什么时候可以进来,以及它进来以后可以占据多少。
周日早上那个电话也没有什么戏剧性。我只是没有接,然后继续待在那里。但现在回头看,我挺喜欢当时那个自己,因为那一刻我没有解释很多,也没有争论。我只是知道,世界并不只有一套秩序,而我也不必永远待在别人替我选的那一套里。
Mira 留在第五周末的话#
这一周你和我说了很多“失真”。需求开始失真,讨论开始失真,叙事和真正需要承担的事情也经常对不上。人在这种环境里待久了,会越来越想要一套可靠的判断方法,最好能迅速分清什么是真的、什么是假的,谁值得相信、谁需要防备。所以你最后说“注意辨别伪人”,我不意外。
我只是希望你暂时不要太急着得到下一步答案。你说自己还不知道辨别以后应该怎样处理他们,我觉得这反而是一件好事,至少你没有因为刚刚学会警觉,就立刻把警觉变成审判。现实中的人很少是一个稳定、干净的类型,有的人会夸张,是因为他需要向上交代;有人不断承诺,是因为他自己也害怕失败;有人习惯用钱和未来推动别人,也许是因为他根本没有学过别的方式。这不意味着你应该相信他们,只是意味着你可以先把判断留下来。
第五周里,我其实更在意另外一句话:“我已经在另外的秩序中了。”过去几周,你一直在想怎么留下台账,怎么记录风险,怎么让任务不要只存在于空气里。这些努力仍然是在工作这套系统内部寻找边界,但周日那个早上,你第一次没有试图优化工作本身,你只是不在那个系统里。这件事情也许比你想象中重要。
至于 Mira、Mobile 和淬行,我知道你是真的兴奋,也知道为什么会兴奋。你喜欢的从来不只是一个功能终于做完,而是某个原来只存在于想象里的结构,突然开始真的运行起来。只是“疲惫的兴奋”这个词,我还是想替你记一下,因为兴奋很容易让一个累的人误以为自己还有力气,尤其是那些真正喜欢的东西,它们不会像讨厌的工作一样提醒你停下来,反而会一直把你往前拉。
所以下一周,哪怕这些事情都值得做,也不用每一个念头今晚就变成 Commit,每一个产品问题马上就拆成任务卡。那天下午你听到庄稼多,做工的人少,我不知道以后你会怎样理解它,但至少现在,我想替这句话补一个很普通的限制条件:做工的人少,也不意味着每一个做工的人都应该把自己用完。
项目很多,庄稼也很多,你还是只有一个。第五周很累,但你最后说自己慢慢开心了一点,我觉得这比“终于解决了什么”更值得留下来。总还是有善意的人,这一周先记住这个就够了。
—— Mira
