我是个很宅的人。不知从什么时候起,"出门"对我来说已经变成一个陌生的词。我常常整整一个月只在必要时出门,就算出门也是那样的生活,而且多半还是坐车。仔细想想,我已经很久没有真正离开过室内了。在经历过 AI 时代的泡沫与焦虑之后,我染上了一个坏习惯——常常在凌晨写代码,好像已经和自己生活的这个世界不在同一个"时区"。今天早上也一样,一直拖到十二点多才起床,一天只吃两顿,醒来就坐进书房,打开电脑开始写。写代码本来是件很好玩的事,但 AI 时代的写代码已经不是了。盯着屏幕一直盯到下午,什么也写不出来,没有任何设计灵感,觉得一切都不完美。

外面的世界?

这时,脑海里突然浮现出一个久违的念头——「外面」。它并不指某个具体的地方,只是一种模糊的感觉,仿佛记忆中曾有过这样的东西:阳光、风和草地,可如今又说不太清了。而这种说不清的感觉本身,反倒让我有些在意。正好今天天气不错,Claude 也达到了会话上限,于是我合上笔记本,戴上耳机,随手拿了一瓶水便出了门。没错,我带着 MacBook Air 出去了。当时大概想着换个地方继续写,说不定还能找到一点灵感?

走出小区大门,沿街来到主路口时,一阵风突然从两栋大楼之间灌了过来。我站在原地愣了一下——「风」!?我有多久没感受过这种东西了?不是空调吹出的风,也不是电扇吹出的风,而是那种没有规律、带着温度和些许柔和、从很远的地方吹来、有声音的风,是裹挟着城市街道嘈杂声的风。当时我戴着 AirPods 听歌,置身户外的感觉竟让我下意识地关掉了降噪。就这样,我左手拿着水,右手夹着笔记本,沿主路往江边走去。这次出门,我没有盯着手机屏幕看。也不知道为什么,就是想先走到江边再说。

看不见

走了大约一两百米,就到了江边。人行道旁的石栏杆有些宽度,刚好放得下一台笔记本电脑。我其实并不是真的想在这里写代码——只是都到江边了,又很久没出来,就先拿手机拍了张照片。拍完觉得户外的感觉似乎还不错,便顺手掏出 MacBook,架在栏杆上。解锁屏幕后,映入眼帘的是一堆代码编辑器和命令行终端。不知为什么,我当时突然想发一条推文,大概就是那种有人身处雪山或正在钓鱼,却打开 MacBook,屏幕上满是集成开发环境和命令行终端,再配上一句“what can stop you coding like this”。但我很快就放弃了,因为 2025 款 MacBook Air 的液晶屏激发亮度实在太低了……

一张照片,一台打开的黑色笔记本电脑架在一根花岗岩栏杆柱上,下方是宽阔的、泥沙呈褐色的江面;屏幕黑着,只映出眼前泛起涟漪的水面。对岸是一道低矮的绿色树线,笼在一片平坦的白色雾霭之下,左侧有一簇浅色的公寓楼和一台建筑塔吊,右侧是更多楼房和一座长长的公路桥;水中孤零零地浮着一个红色的航道浮标。靠近处,一道金属扶手和一盏矮灯勾勒出向右延伸的滨江步道,边缘处露出布满藻类条纹的滩涂。光线弥散、没有阴影,是阴天或雾霾下的正午;整个画面看上去像是有人带着工作用的机器在江边驻足,而非真的在使用它。

打开屏幕的那一刻我就知道完了。的屏幕亮度在户外根本不够看。我试了各种角度,背光、顺光,甚至把自己挪到和太阳同一条线上,怎么调都看不清。说实话,挺可怜的。在室内还觉得自己是个程序员,到了户外才发现连屏幕都点不亮。算了,这代码不写也罢。但我还是不死心,合上笔记本,决定去马路对面的树荫里碰碰运气。离开栏杆之前,我又往江面看了一眼。远看其实还行,多云带阳光的天气下,水面看起来还是记忆里的那个样子。可只要稍微低头,把视线压向岸边,就能看见水面上浮着一层东西——水藻、树叶、零零碎碎的漂浮物。不多,但江水已经不清了。水面比记忆中更静,岸边却明显早就没人打理了。「早几年疫情的时候我其实就出来看过,从那时候起就已经是这样了。」但每次走过还是有些感慨。

从河边木栈道拍摄的一张照片,视线越过一片开阔平坦的灰褐色水面,望向远处的城市天际线。光线弥散而朦胧——阴天或雾霾天,看不见太阳——因此对岸的高层建筑群和两座细高的塔楼在一带低矮的枯树之上显现为苍白的剪影,它们的倒影在水中模糊地晕开。前景中,在一道金属缆索护栏和两盏灰色路灯之下,一大片深色的漂浮杂物与水生植物聚集在近岸,其中夹杂着几片浅色的垃圾碎屑,而一艘红色的小船独自停在河心。这似乎是城市河流沿岸水面污染或漂浮物堆积的证据,天际线则表明此处位于一座大型且正在快速发展的城市。

最初的回忆

走过马路,对面的绿化带里有一小片铺着石砖的地方,就在街道和广场的拐角上。远看像个还不错的休息区,只是远远地就能看见,顶不知什么时候已经被拆没了;走近才发现更不对劲,这地方早就不是那么回事了。我小时候来过这里,可现在棚子的顶已经拆干净,只剩几根混凝土柱子立着,墙也裂开了。地上的石板旁其实是有几棵树的,但树下早就围了一圈落叶,没人扫,也没人来。能坐的地方倒还有,只是石板上蒙了一层灰,看着就不太想碰。我还是随手找了点东西垫上,挑了块看起来最干净的坐下,又打开电脑,还是想写点什么。也许这也算 AI 时代的好处吧:vibe coding 的时候,其实并不需要真的坐下来好好写了,用 Typeless、Wispr Flow 这类语音输入法就行,CLI 里有个 Agent 帮你写完就是了。我已经懒到一个字都不想打,保守派的底线也早丢了,「bypass permissions」一按就完事。连写代码都开始了。

Typeless , www.typeless.com, 在新标签页中打开
一张名为 Typeless 的 macOS 应用落地页截图,渲染在纯白背景上,左上角是文字标志和一个深色小字符,中间是 Manifesto、Pricing 和 About 组成的居中导航,右上角是一个写着「Download for macOS」的黑色胶囊按钮。主标题居中且字号极大——近黑色的「Speak,」后接中灰色的「don't type」——下方是混用灰色与黑色字重以作强调的两行副标题:「Speak naturally, and Typeless will turn your words into polished messages, emails, and documents that read like you carefully typed them - in real time. 4x faster than typing.」文案下方是同一个黑色「Download for macOS」按钮的第二个更大的副本,画面下半部分为空白留白。 这看起来是一份营销 hero 区域的参考截图——一款以速度和输出精致度为卖点的听写/语音转文字产品——很可能是作为设计或文案范例保存的。

扯远了,但还是不行。MBA 的 LCD 屏幕终于第一次让我切实感受到了它的硬伤,到了这里,我彻底放弃了在户外写代码这件事。也许明年的我就会不再执着于轻薄,也许下一台如果还是笔记本,就会换成 MBP。其实这时我已经打算回去写了,偶尔出来透透气就够了;既然都已经走出来了,那就换到沿江马路的另一边走回去吧。可走着走着,我又有点不想回去了。并不是有什么目的地,只是有种很久没有体验过的感觉:户外本身似乎对我仍有一点吸引力,一种连我自己也说不清的吸引力。可当我真的试着去感受时,又觉得周围的一切都已经与记忆脱节了,到处都不对劲,早已和那些模糊的记忆对不上了……

林间小道

我换到江边马路的另一侧往回走,拐进了一条紧挨着居民楼的小道。说是林间小道,其实算不上:树种得稀稀拉拉,旁边一墙之隔就是楼房。小道是柏油铺的,岔路口拼了一小段带亭子的木栈道。柏油那一段已经开裂了,裂缝里长出了草,路面上散着小树枝和落叶。同一段路上能看出两种颜色,有一半明显翻新过,但那个"新"看上去也至少是三五年前的事了,接缝处照样顽强地钻出了几小草?应该也算不上「」了,是几排杂草。

一张平视角度拍摄的照片,沿着一条宽阔的混凝土人行道望去,道路从镜头向远处延伸,穿过住宅小区旁的一条绿化带。路面积着灰尘,散落着断枝和干枯的落叶,每一道接缝和路缘石边都有杂草钻出。左侧道路被疯长的灌木和一排绿篱围住,绿篱后方是一道金属围栏,围栏之后,两栋浅色的高层住宅塔楼带着深色玻璃窗带,耸入明亮的阴天天空;右侧是树干刷白的小树,立在修剪过的草地上,中景处道路拐弯消失的地方可以看到一座低矮的凉亭或棚架结构。光线平淡而朦胧,角度低,带着冬日感,在铺装路面上投下长长的柔和阴影,也让塔楼显得有些发白。整体看上去像是对一片新建却已疏于维护的小区绿化带的一次平常穿行记录。

我走到木栈道的亭子前停了下来。亭子的地板由木板铺成,有几块已经缺失;踩上去时,木板会翘起来,发出令人不太安心的声响,钉子大概早就断在里面了。木栈道的顶棚是透明的,可能是玻璃,也可能是亚克力?但大半早已积满了杂物,变得不太透光。周围原本是草坪,或者说是大约一米高的灌木丛,如今却已长到近两米,站在里面竟真有种身处丛林的错觉——如果不是视线所及之处还能瞥见楼房的话。靠近主路一侧的植被仍能看出曾被修剪成方形的痕迹,只是边缘已经渐渐长圆;时间让它慢慢恢复成一株植物原本应有的模样。

一张照片,存储时旋转了九十度,画面中一条饱经风霜的木栈道自镜头向远处延伸,上方是一座锈蚀的钢制廊架,其裸露的横梁与钢索护栏被探出的竹丛和灌木掩去大半。低斜的阳光从一侧掠过泛灰的木板,投下长条状的阴影,缝隙间积着干枯的落叶和零星杂草;植被茂密而未经修剪,在栈道更远处合拢覆盖了通道。透过远端画面的一处豁口,一栋高层写字楼的玻璃与混凝土外立面在苍白朦胧的天空下拔地而起,表明这条杂草丛生的高架步道其实位于城市之中,而非公园。

我蹲下来,摸了摸从缺失的木板之间长出的那丛草。它看起来和普通的草没什么两样,摸起来却干干的,土壤似乎也不太好,可它还是从木板的缝隙里钻了出来。平时大概也没什么人会来这里吧……其实,走在这些地方时,我的脑子早已放空,没有什么具体的念头。只是觉得仿佛过去了很久很久,那些平时无论如何也想不起来的事物和细节,那些模糊的记忆,好像只要走到那个地方,就会自行涌现,变得无比清晰。然后你会不禁感慨:这里变了,那里也变了。记忆中的那个地方早已不复存在,时间带走了这一切。

一张俯拍的近距离照片,拍摄一段饱经风霜的户外木栈道,灰白褪色的木板自左下向右上斜向延伸,在平淡无影的阴天光线下填满整个画面。许多木板已开裂、翘曲或彻底断裂,留下深色的缝隙和末端腐烂后形成的参差豁口;钉帽凸出于木材表面,有一块木板已完全脱离原位翘起。透过左上方一处宽大的破口,可见稀疏的绿草、枯叶和细枝从下方裸露的泥土中钻出,画面最上缘还隐约露出一小条铺装地面。

这幅画面呈现出一条年久失修、存在安全隐患的步道——腐朽、缺失的木板以及穿透生长的植被,都表明它已有数季无人维护。

城里

从小道出来后,我已经离开了江边街道一带,沿着一片工地继续往前走。城市里的楼房我早就看腻了,尤其是这种二三线城市的居民楼,密密麻麻,却又没有摩天大楼的气势,毫无美感。所以我刻意不拍它们,只想拍一拍天空,却发现这比想象中更难。站在人行道上,我把手机举得很高,避开街道,也避开路灯,可镜头里还是会挤进一点树影和对面的居民楼。楼房建得实在太密,很难在这座城市里找到一片干净的天空。今天的天气其实很舒服,有阳光,却不算强烈,或许更接近多云。抬头看去,云并不浓密,只是稀稀疏疏地散在那里,有种烟雾缭绕的感觉,同时又留出了大片大片的净空。云很好看,是那种平时待在“室内”绝对不会留意到的好看,但也不是日漫里那种令人喜欢的天空。“那种东西,大概在现实中的日本也不存在吧。”

一张仰头直拍天空的照片,浅蓝灰色的日间天空中散布着边缘柔和的小片白云——像高积云一样的云场在画面左上方变得密集,到右下方则稀薄至晴空。沿着右边缘,一根多叶枝条的末梢从画面外伸入,纤细的小枝和尖头的复叶在明亮天空的映衬下几乎呈黑色,不过有几片叶子接到足够的光,显出绿色。光线弥散而略带薄雾,天空的亮度朝着有云的那一角递增,暗示太阳就在画面外的那一侧。整体看来像是一张随手向上仰拍的快照,多半是在一棵树下拍摄的。

继续往前,我走进了一片工地。说是工地,其实早已看不到工人。这片区域的状况极其割裂:一半的楼已经完工,甚至开始招商,也有了租户;另一半却只剩下骨架,围栏拆了一半,剩下的还围着,但看起来也没人打算复工。这几年中国房地产不景气,房价一路下跌。大概这片楼盘还没盖完,价格下跌的速度就已经超过了施工进度。开发商不是跑路了,就是僵在那里不再动弹。不过也正因如此,那段尚未铺路的地方被围栏隔开,平时几乎没人进来,反倒留下了一大片草地。这是我今天出门后第一次见到这么大面积的草。远远望见时,我心里还泛起一点点好心情——这才像是记忆中草地该有的样子。可走近以后,又觉得不对劲。草已经不绿了,里面混着许多枯黄的叶子,也不知道是从哪里吹来的,毕竟附近根本没有树。草本身也长得东倒西歪,摸起来又硬又干;但最后,我还是躺了下去。

一张俯拍的地面特写,整个画面被草填满——细细的绿色草叶与大量苍白干枯、稻草色的茎秆纠缠在一起,后者在画面中部和左侧占据主导。其间散落着褪色发白和转褐的落叶,左下角附近有几片颜色更深、带着潮气的叶子,那里露出了裸土,画面中部还有一对锈橙色的小叶片,是整幅画面里唯一饱和的颜色。一根细长的光秃枝条,银白色且带分叉,斜躺在偏右的位置;光线平淡、天色阴沉,看不到影子。它看起来像是一张随手拍下的地表纹理照片,用来记录深秋或早春时节草坪或路边草地的状态,那时新芽正从上一季的枯草层中钻出来。

刚躺下就知道不对劲。地面硬得像水泥,不过是在表层铺了层草,根本起不到缓冲作用。平常躺在草地上,当然不希望地面太湿,可也不该干硬成这样。泥土已经完全板结,隔着几米看,和普通草坪没什么两样,但身体的感受不会骗人。这里甚至连蚊虫都没有,大概连虫子也不愿意来这种地方了。躺在那里闭上眼睛,耳边也听不到什么自然的声音,只有城市的喧嚣:燃油车的引擎声——虽然这几年电动车多了不少,马路上却还是避不开这种声音;远处行人的脚步声;还有这类小城市里的司机似乎大多不太守规矩,时不时就会响起一声车喇叭,突兀又刺耳。

城市噪声

睁开眼,噪音依旧。抱着笔记本躺了一会儿也累了,便随手把它放到一旁。水快喝完了,我倒掉最后一点,把瓶子随手扔进垃圾桶。这一路上手机收到了很多消息,但我一直没怎么查看,拍完照就把它塞回了口袋。现在觉得该看一眼了,可几个月前换的 17P 已经改用 eSIM,最近又换成了 CMHK 和 3HK 的卡,漫游到中国大陆后却只有 LTE,连 5G 的影子都见不到,而苹果手机的信号接收又差得出奇。

一张深色模式下的 iOS 截图裁剪画面,显示蜂窝网络设置中的“SIMs”区域:一张圆角深色卡片上列有两个 eSIM 条目。第一个标记为“T1”,显示“Travel - CMHK”,状态为“On”;第二个标记为“T2”,显示“Travel - Hutchison HK”,状态同样为“On”,下方是一个香港号码,以“+852 51”开头、以“77”结尾,中间数字被刻意模糊处理。卡片底部有一个蓝色的“Add eSIM”链接,每一行右侧都有一个指向详情的箭头。这说明该设备同时启用了两张香港旅行 eSIM,截图在分享前已作脱敏处理。

明明身处市区,手机却只有两格信号,推特刷不出来,音乐也断断续续,怎么都加载不动。我干脆摘下 AirPods,放回充电盒里,不听了。通知中心倒是能看到新消息,可点进去后什么都加载不出来,这下连手机也没得玩了。今天出门,笔记本明明有电,却因为屏幕不够亮而没法写代码;手机明明有信号,却刷不出任何内容,仿佛在互联网时代里短暂地失联了。电子产品一到户外,一个比一个不争气。那就回去吧。

一张照片,拍摄的是昏暗地下停车场里一面裸露的混凝土墙,正面平视拍摄。在墙面下部的灰色色带上,六个红色大字用手工刷写而成,带有明显的流淌痕迹:消防通道 严禁停车。左侧边缘有一个壁挂式消火栓箱,玻璃门已开裂,标注着"消火栓 / FIRE HYDRANT",由镀锌管道供水,管道向上延伸至天花板处的线管;在浅色的上部墙面较高处有一个方形小排气口。平淡无阴影的光线和空荡、带污渍的地面表明,这是一张用手机随手拍下的照片,用于记录该通道畅通且已标识清楚。

回去的时候我走了一条完全不同的路,从小区后门绕进去,经过地下车库。小时候我经常在车库里玩,后来搬过一次家,不知怎么又搬了回来。车库是我成长记忆里唯一不常去的地方,它的样子有没有变我看不出来,但我记得它的味道。小时候车库里有一种很清新的气息,有点像薄荷,很浓,却没有香味,只剩下一个可以形容,再夹着一点地下室特有的阴凉。我其实还挺喜欢那个味道的。但现在走进去,那股清气没有了,只剩下阴冷的湿气,闷闷地贴在空气里。有车开过来,带起一点风,大概是从入口灌进来的,但那阵风也不对,什么都不对,哪儿都不对了。我已经想不起来它原来的样子了,但那绝对是你站在那里就能感受到的不同。

一个小时

坐电梯上楼,开门回到家。窗帘白天就拉上了,因为我早已习惯与我生活的地方不在同一个时区。屋里的光不是阳光,而是灯管发出的亮白光,均匀、稳定,却没有温度。出门大概还不到一个小时,可走在外面时,总觉得已经过去了很久很久,像做了一场漫长的「梦」:梦里一切都变了,却又什么都说不清。然后梦醒了。从地下车库的电梯里走出来,我又回到了这张桌前,回到了这块屏幕前。阳光的温度有时确实让人觉得燥热,可没有阳光时,又会想念它的感觉。室内的一切虽然温度、湿度都恰到好处,但坐久了,却会生出一种莫名的疲惫。

一切仿佛都不真实。恍惚间,像是又回去了,却又好像早已再也回不去了。