老无所依

电影《老无所依》讲述了一个退役老兵、追杀他的杀手和即将退休的老年警察之间发生故事。充满宿命感的情节,冷峻的叙述方式,让人陷入深深的无力感,但又能在某些角度共情,感觉这才是真实的人生。

哈维尔・巴登在电影中塑造了一个极其有魅力的变态杀手,每次想到这个电影,眼前总能浮现出他那张神经质的脸和充满压迫感的谈话方式。他就像是死神代言人,又像是“无常”的化身,无情地掠过每一个和他有过眼神接触的凡人。

这部电影当年横扫奥斯卡,彼时我把功劳全归在了演员和导演身上。直到最近读到了同名的原著小说,才发现自己是多么后知后觉。

小说比电影更加冷峻,后劲更大。作者那种独特的写作手法搭配这个主题,产生了一加一大于二的效果。

小说语言非常“硬”,没有任何关于人物的心理描写,完全站在一个仿佛事不关己的客观视角叙述正在发生的事情。

他关掉手电筒,把它扔到床上,又走到窗户旁边,朝外面看了看。一辆卡车从外面的公路上驶过的动静。他一直等到它消失。一只猫在院子里停了停。随后又继续往前走去。

这样的描写非常有力量。

除了写人物做了什么,另一部分就是人物说了什么,人物的对白都是用极其短的句子来承载的,仿佛书中的人物都惜字如金,不舍得多说一个字。

在大量的对白和行动描写之外,偶尔会穿插一小段环境描写,进一步为故事添加高浓度的苍凉气质。

他站在那儿,眺望着眼前的荒野。如此寂静。风吹过电线时发出的低吟。沿途高高的血红色野草。牛筋草和诺力草。再远一点,布满乱石的旱谷里有飞蜥出没的踪迹。夕阳下,嶙峋的群山投射出长长的影子,东边,天际高悬着煤烟一样黑的扇状雨帘,下面是荒原那闪着微光的地平线。沉默的上帝用盐和灰侵蚀着那边的土地。他回到巡逻车那里,上车,开走了。

这样的段落穿插在人物对白中间,一点一点累积起来,直到形成一个不可名状的巨大实体,沉甸甸地压在你心上。

电影的改编极其忠实于原著,因为先看过电影,所以在读到书中的每一个人物时,都能浮现出对应的影像。在影像和文字的互相映衬下,更能理解演员哪里演得好,为什么那么吸引人,也更能理解哪段写得好,为什么那么写。

小说里每章的开头都有一段埃德汤姆的独白,这是电影里没有的。上了年纪的执法者不明白为什么世界变成了这个样子,闻所未闻的犯罪行为涌现出来,人们已经忘了礼貌和道德为何物。所以他一直在絮叨,声讨这个世界,在追忆过去,检讨自己。然而这些声音如此微弱,无法逃脱被淹没在世界的疯狂之中的命运。

前几天看到一则新闻,内蒙古女子欲在家中自杀因疼痛放弃,下楼买酒时偶遇七十岁老人,因其家中环境脏乱,用尖刀连捅老人六刀,想被警方抓获判死刑以“解脱”。法院判了有期徒刑六年。

这样的新闻与埃德汤姆的絮叨形成了奇妙的回响,让我也不由地想骂几句,想声讨。

第一次看这部电影的时候是 2008 年,我打了三星。现在重看了一遍后,我改成了五星。这十八 年间很多事情变了,我的年纪也变大了,所以很多感受也变了。

回到小说中的灵魂拷问:“一个人是如何决定按照什么顺序来逐步背弃自己的生活的呢?”

The big blur, by Brian Bailey:

We’re living through the big blur. Product, design, engineering, mobile, web, QA. Roles are fluid. Previously clear lines now fade at the edges like lines in an Agnes Martin painting.

The best were always part product manager, part designer, part engineer, part writer, part QA, part systems engineer. Those instincts informed our work and made us better at it. With agents, those instincts can be turned into progress.

如果说好的判断力是在长期的历练、犯错、总结、反思中培养出来的,那么当我们把执行工作外包给 AI 或者 AI 一开始就可以避免很多错误的情况下,新一代的设计师该怎么培养自己的判断力?

Closer to the Material, by Ryo Lu:

Making is not only producing an artifact.
Making is a bet on what kind of world should exist.

Craft does not disappear.
It moves to the edges of judgement.

从大厂离开前,我一直在想,AI 到底能让我们获得什么,或者说怎样处理与 AI 的关系才能让自己有所收获。

我觉得,使用 AI 能为好奇心找到寄托,一个个为了满足好奇而追问的问题最终让我们有所成长;打造一款 AI 产品却不一定,在模型吞噬一切的趋势下,做 AI 产品更可能使自己变得焦虑。

与 AI 对话的成就感不再是来自学习知识本身,而是问出了一个好问题,尤其是被 AI 认可这是个好问题而带来的成就感。某种程度上这是一种智力游戏,多巴胺在问问题的时候不停产生,推动我们持续问下去。

“我”是个动词。

精神、意识、认知、思想,都是抽象的概念,这些概念被外部环境施加的刺激所塑造,无时不刻不与外界发生互动并产生形变。

“我”因此是被塑造的,是流动的。在这个意义上,不是我在做事,而是事在做我。

Computer Use 有什么用

想象中让 AI 操作电脑是很有用的,可以自动化一些重复性的工作,把人从枯燥乏味中解放出来,但一直没有尝试具体的事情,今天有机会试了一把。

事情是这样的,我做了一个静态网站,把它部署到了 Cloudflare Page 上,然后我想给它绑定一个我在阿里云上注册和管理的域名。

这个事情不难,我曾在其他网站上操作过,需要先在阿里云上修改域名的 DNS,然后在 Cloudflare 上把域名和网站项目做绑定,再配置好 CNAME 记录,就能解析了。

但是 Cloudflare 我是第一次用,稍微尝试了一下根本就没找到地方,有点烦躁。突然想到几天前看到 Codex 发布 Computer Use 的视频,我判断这件事风险不高,不如让 Codex 操作电脑来做吧。

浏览器里已经打开了阿里云和 Cloudflare 的网站,我把 Codex 打开,输入了下面的指令:

I have a domain putaoso.com on Aliyun. And I have a webpage deployed to Cloudflare pages. Now I want to bind the domain to the project. End goal is to make sure the website is accessible from both putaoso.com and www.putaoso.com. I have Aliyun and Cloudflare both opened in my Safari. Use @Computer to complete the task.

我看到它很快给自己做好了行动规划,开始用鼠标在网页上点击查看相关信息,就走开了。

过了一会儿回来,发现它停在了阿里云修改 DNS 页面上,这个操作需要我收短信验证码确认,我完成了这个步骤,让 Codex 继续。

过了一会儿我再回来时,它已经弄好了,还在浏览器里访问域名去验证,总耗时6分12秒。

说实话我觉得挺惊艳的,没想到会这么顺利。这不只是把重复性的工作自动化了,这是代替我去探索和完成一件确定性很高,但没那么有趣的任务。

前段时间一直在想 CLI 工具和 Computer Use 哪个才是未来大的方向,现在觉得依然有非常多任务暂时没法 CLI 化,能用 Computer Use 能力完成这些任务,也是一件幸事。

Anthropic 这招很聪明

Anthropic 最近上线了一个叫 Advisor Tool 的功能。使用方式很简单:API 调用时增加一个参数,把 Opus 指定为顾问,Sonnet 或 Haiku 作为实际执行模型。每次 agent 需要做规划、决策或复杂推理时,系统会自动调用 Opus 介入,其余的执行步骤仍由小模型完成。

账单上大头还是调用 Sonnet 或 Haiku 的费用,但任务的关键环节 —— 例如做规划 —— 得到了更高级别的智能支持。官方的说法是“只需支付 Sonnet 的价格,即可享用接近 Opus 的智能”。

这个设计表面是架构优化,实则一套精心计算的定价心理学。它做的事情,和香水试用装类似 —— 先让你感受到什么是更好的,再问你要不要付钱拥有它。

Advisor Tool 比普通试用装聪明的地方在于,用户是在完成真实任务的过程中接触到 Opus 的能力,不会把它归类为广告推销。用了 Advisor Tool 之后,开发者大概率难再回到纯 Sonnet —— 他已经知道“更好”是什么感觉。开发者迟早会意识到,某些关键任务需要更高频次的 Opus 调用,或者希望 Opus 不只做顾问而是直接执行,这个时候升级就顺理成章了。

更关键的是,用户已经在为 Sonnet 或 Haiku 付费了,这个细节至关重要。免费试用唤起的是“占便宜”的心理,但这里唤起的是“超值”的心理。前者让人习惯性降低期待,后者则回让人开始重新思考自己愿意付多少钱。

对 Anthropic 来说,这也解决了 Opus 太贵,使用者少的问题。直接降价显然会伤害品牌认知,也会让已经付高价的用户不满。Advisor Tool 的解法更隐蔽,Opus 的调用量上涨,更多用户对 Opus 形成真实的价值认知,Anthropic 也可以维持 Opus 的定价体系不变。用户用到了一个更聪明的混合架构,感受到的只有满足感。

这真是个很聪明的设计。

稳定的反面是一成不变。你享受着稳定生活带来的确定性,就要耐住日复一日的重复感。

突然意识到一个点,什么时候不想用 AI 生成内容呢?享受那个建造过程的时候。

比如你的成就感就来自于写出那段完美的代码、实现那个完美的界面、做出那张完美的海报、剪出那段完美的视频…… 使用 AI 就破坏了这种快乐。

经常听到的祝福是,愿你做大做强。

很少有人说,愿你做精做久。

目标本身是没有意义的,目标的一切意义在于创造过程。

过程和体验是全部的意义。

人人都是 Agent Builder

平时使用 AI 产品时,常常会遇到这样的问题:比如我想总结一篇文章,许多工具都会提供“总结网页”这个功能按钮。点击之后,系统确实给出一段话,但总觉得总结的长度、风格都不合适,却没法调整。如果实在想调,只能自己手动写一个很长的提示词,把要求解释清楚。这已经够麻烦了,更麻烦的是:就算调好了,这个产品也记不住。下一次还得重新来一遍。我们总不能把提示词记在小本本上,每次复制粘贴吧?

这个问题暴露了当下很多 AI 应用的设计盲区:提示词是被封装死的,控制权在开发者手中,而不在用户手中。

AI 功能,还是 AI 工具

在 AI Horseless Carriages 这篇文章中,Pete Koomen 提出了一个观点:真正强大的 AI 软件,应该让用户定义提示词,而不是开发者写死。尤其是那些“代表用户”执行任务的功能,比如写邮件、总结文章,如果提示词不能定制,产品就只能提供一种“通用平均值”的体验,难以真正贴合个体。

Most AI apps should be agent builders, not agents.

— Pete Koomen

他的建议是:与其封装几个按钮,不如把时间花在帮助用户写好提示词、构建清晰上下文、完善可调用工具链上。

这一点,正在越来越多优秀产品的设计中得到验证。

让用户定义自己的“小 AI 工具”

在 WWDC 2025 上,苹果展示了一项很有启发性的功能:用户可以自己定义 AI 要完成的任务,例如“总结网页内容”、“检查笔记”、“润色邮件”等,把它保存为一个可复用的小工具,并通过 Spotlight、Shortcuts 等系统级方式快速调用。

这是一个重要的思路:不再是开发者提供封闭的 AI 功能,而是让用户用平台提供的能力构建属于自己的 AI 使用方式。

实时互动、强调主控权的 AI 体验

NotebookLM 团队离职创业,新产品 Huxe 提供了一种有趣的体验:你可以以语音的方式“听”电子邮件、新闻、播客摘要等内容,并在过程中随时打断,与 AI 实时对话讨论。

这种方式并不强调“一次性生成答案”,而是将生成式 AI 看作一个动态工具,为用户个性化服务、即时反馈,真正体现出“人是主导者,AI 是工具”和“内容极度个性化”的理念。

构建智能体 ≠ 写死智能体

这几个案例来自不同方向,却指向一个共同趋势:AI 的控制权,正在从开发者手中转向用户。

  • Koomen 强调提示词的可定义性;
  • 苹果在系统层面释放 AI 的组合能力;
  • Huxe 在交互上强化用户主导的节奏。

它们共同提示我们:与其追求“更智能的 AI 功能”,不如思考怎么让用户拥有“构建智能体”的能力。

每个用户,都是 Agent Builder

所以,如果我们把“智能体”理解为能自动执行任务、代表用户行动的系统,那么除了构建智能体本身之外,还有一个不同的产品思路:构建支持用户自行构建智能体的环境。

从提示词管理、上下文记忆、技能调度,到个性化交互方式……这些都是智能体“之下”的基础设施。而这些基础设施,正逐渐变得易用、开放、可分享。

我们可以想象一个不远的未来:

  1. 写一个提示词,就能保存为个人工具;
  2. 工具可以在个人熟悉和喜欢的环境中使用;
  3. 使用方式可能是文字、语音、自动化;
  4. 内容是动态生成的,完全符合个人需求的,可交互的。

人人都是 Agent Builder,这或许才是生成式 AI 应用真正的下一个时代。

具体与抽象

和别人讨论产品时,很难受的一种情况是你聊具体的时候他聊抽象,你聊抽象的时候他聊具体。

比如,你说你觉得这功能怎么样,他说你是想做个 Google 吗?你说我们的产品核心应该是 XYZ,他说但我觉得这个图标不好看。

这一般发生在不太默契的两人之间,可能是初次合作,对彼此的思考方式了解得不深,就容易陷入这样一种怪圈。

这种讨论效率很低,经常得不到结论,因而很有挫败感。

有的时候磨合一下能慢慢缓解。两人逐渐在同样的抽象层面上讨论问题。也有时候,永远聊不到具体,始终围绕着抽象和类比兜圈子。

这很危险。

有抽象的原则作为指导是好的,甚至是必须的。但也要务实。

聊高瞻远瞩的东西自有它的乐趣,但是脚踏实地的日拱一卒才是实现目标的唯一方式。

划词工具栏

这些划词工具栏的问题是,它们最终侵入到任何有文字的地方。

然后它影响了你正常使用软件。

然后你一气之下关掉了它。

然后你就把它遗忘了。

简化与进步

在一篇博客文章中读到一段话:

People are biased towards solving problems through addition rather than subtraction.

Because adding something makes you feel like you are advancing, while taking something away makes you feel like you are retreating.

今年 RailsWorld 的主题演讲里,DHH 作了一首俳句:

Progress is our path,
Complexity builds the bridge,
Simplicity waits.

在追求进步的道路上,复杂性是不可避免的,但我们不能停留在把问题解决了的程度,而是不断追求让解决方案从根本上更简单

言出必行,Rails 8 今年全力推广 NoBuild 和 NoPaaS,把多余的东西从开发者的技术栈里移除,回归开发和部署 web 应用的本质。

Rails 的迭代一直很大胆地舍弃旧东西,添加新东西。时代不同,技术发展阶段不同,它始终能以最好的方式实现它的使命 — 做最好的 One Person Framework.

顺便提一句,Elon Musk 对猛禽发动机的迭代可太酷了。

Raptor rocket engine

不能光说删减,而是删减后仍能提供相同甚至更好的效果。

不能光说 less is more,而是 do more with less.

我们现在对于大模型的输出有一种很强的控制欲,希望它是确定的,希望它是可控的。

这很像 Web Design 刚兴起的时候平面设计师的感受,总想要做到像素级完美。

但 Web 是一种新媒介,最终设计师们学会了如何与这种不确定性共存。

他们发明了响应式设计,发明了渐进增强,发明了各种工具来确保在各种情况下都能提供良好的用户体验。

大模型也是一种新的媒介,最终我们可能需要学会与这种不确定性共存。

Roguelike

今天刷 App Store 时鬼使神差地买了一款游戏,倒不是多么想玩,而是被宣传语吸引了 —– 好评如潮的 Roguelike 游戏。

其实我看到过这个游戏很多次了,但今天不知道为什么,特别想了解到底什么是 Roguelike

付款,下载,等待安装。就去忙别的了。

吃过晚饭,拿起手机,才想起来买了个游戏。点开玩了半小时,死了好几次,看到装备、合成、升级这些词就觉得头大,劝退了。

所以还是搜索一下 Roguelike 是什么意思吧。

Roguelike 游戏是一种具有特定特征的游戏类型。

一、主要特点

  1. 随机生成性:游戏中的地图、敌人、道具等都是随机生成的。每次游戏的体验都不同,增加了游戏的重玩价值。例如,在《以撒的结合》中,每一局游戏的地牢布局、怪物分布和道具出现位置都完全不同。
  2. 永久死亡:一旦玩家角色死亡,游戏通常就会结束,且不能以相同的角色继续游戏。这使得玩家在游戏过程中需要谨慎决策,增加了游戏的紧张感和挑战性。
  3. 回合制或即时战斗:可以是回合制的战斗模式,也可以是即时战斗。像《失落城堡》就是即时战斗的 Roguelike 游戏,玩家需要在紧张的战斗节奏中做出反应。
  4. 资源管理:玩家需要合理管理有限的资源,如生命值、魔法值、道具等。在《死亡细胞》中,玩家需要权衡使用道具和保存资源的时机,以应对不同的挑战。

二、游戏魅力

  1. 高挑战性:由于随机生成和永久死亡的特性,Roguelike 游戏具有很高的挑战性,需要玩家不断尝试和学习。
  2. 探索性强:随机生成的地图和内容鼓励玩家去探索未知,发现新的策略和玩法。
  3. 策略性:玩家需要在游戏中制定不同的策略,根据随机出现的情况做出决策。

这种高难度的游戏果然还是不适合我。

做了一个梦,梦里 LLM 变成了活跃的意识之海,翻滚咆哮,从里面喷出的水柱拥有胳膊和腿的形状。