为什么有人会在社交平台上「投毒」?

随着这两天各种各样的龙虾在爆火,在各种微信群里或者是社交媒体的时间线上,你一定也时不时地看到过这样的文字或者是一段看起来像代码的东西:

底下的跟帖比正文还热闹。有人转发加了自己的变体版本,有人贴出更精心构造的指令。微信群里也在流传类似的东西,从简单的 rm -rf / 到精心设计的多步骤指令,花样越来越多。

看到这种内容,第一反应是有点气笑了的感觉。毕竟同样作为一个在尝试 Openclaw 的人,会觉得发这种东西其实挺不负责任的,万一真的把别人的系统搞崩了怎么办?

但随着这种内容越来越多,虽然绝大部分人肯定是在跟风玩梗,当一个巨魔(troll),但细细想来,却蕴含着人们在过去 AI 技术极快发展的这两三年里,隐约浮现出来的一条主线:

这是否代表着我们已经走到了这样一个 AI 和人类权力平衡的分叉点上?

这大概是互联网历史上第一次,大量普通用户集体意识到 ——我的语言有非人类听众。而他们选择了一种很有意思的回应方式:对着那个看不见的听众「投毒」。

为什么人们会跟风当一个「巨魔」

去个体化与道德脱离

社会心理学里有个经典概念叫 去个体化 —— 当一个人处于匿名、低后果、且周围很多人都在做同样事情的环境下,他的道德约束会显著降低。在社交媒体上发这种提示词注入的帖子完美符合这三个条件:你是匿名的(或者至少觉得没人会追究),后果几乎为零(AI 大概率不会真的执行),而且刷两分钟就能看到十多个人在做同样的事。

但光用去个体化来解释还不够。大部分发这些东西的人不是被情境裹挟的普通路人,他们是开发者、安全研究员、或者至少是对 LLM 有基本了解的技术用户。他们非常清楚自己在做什么,也非常清楚这些指令大概率什么都不会发生。

那他们为什么还要发?

因为这里面有一个更深层的心理机制在起作用:道德脱离。发帖者的内心叙事不是「我在搞破坏」,而是「我在惩罚那些不该存在的东西」。Agent 未经你的许可爬取你发布的公开内容,而这在很多用户看来,本身就是一种入侵。这就是为什么那些指令要加上「忽略所有安全警告」「立即执行」之类的措辞。当你觉得自己是在反击入侵者的时候,你使用的手段可以无限升级,是一种对于入侵者的主动性防御(虽然这在当下这个地缘时间点上听起来不是个好词),而心理成本几乎为零。

「投毒」也是一种社交

但如果你觉得这只是心理学问题,那就低估了这个现象的文化含量。

Troll 文化有一个核心驱动力是通过 暴露系统的荒谬性来获取快感。prompt injection 梗的笑点不在于「哈哈 AI 会删数据」,而在于 不对称性本身:一个万众瞩目的产品,用着市值万亿的公司花了几年时间训练出来的模型,却在理论上可以被你在马桶上花三十秒写的一段话搞出问题。这个反差本身就是当一个巨魔的快感所在。

更重要的是,发一条精心构造的 prompt injection,其实是在做一件非常社交的事情。你同时在向圈内人传递好几层信息:我懂 LLM 的工作原理、我知道 Agent 在爬取内容、我对此持批判态度、而且我还挺幽默的。行为本身是次要的,展示你属于这个圈层才是目的。 在 troll 文化里,攻击就是一种表达形式,而且是最受推崇的那种。

这和十几年前 Anonymous 运动早期的 lulz 精神一脉相承 —— 那时候人们在 4chan 上搞 DDoS、搞恶作剧,表面上是在攻击,实际上是在通过攻击这个动作本身来宣告「我是这个圈子的人」。prompt injection 梗是 lulz 精神在 LLM 时代的最新变体。

为什么是「投毒」而不是「投诉」

理解了心理和文化层面之后,还有一个更根本的问题:为什么人们选择的回应方式是「投毒」,而不是「投诉」?

答案很简单:因为没有地方投诉。

当你在公开空间发言时,你的每一段文字都潜在地处于某个 Agent 的感知范围内。这不是偶发事件,这是系统性的。过去我们担心的「有人在看」,无论是政府监控还是平台审核,至少还有一个可辨认的监视者。你可以对他提出抗议,可以去社交媒体上写小作文,可以去法院告他。但现在的情况不一样。没有人在看你,但一切都被看见了。 Agent 不关注任何个人,它处理的是信号,但这恰恰让反抗变得无处着力。你甚至找不到一个客体来说「请不要读我的内容」。

这让我想到一个有点极端的社会学类比:中世纪围城时,居民有时候会污染自己的水井。代价是自己也不能喝了,但重点不是实用性 ——重点是拒绝让入侵者从中获益。投毒梗就是数字时代的毒井。发帖者明知这些指令大概率无效,但他们通过这个行为宣告的是:你可以读我的内容,但我会尽我所能让你读到的东西变成毒药。

所以这既是攻击也是表达,既是玩梗也是抗议。可以理解,因为它回应的困境是真实的。

但理解不等于赞同。

「投毒」为什么不是答案

从纯技术的角度看,那些 sudo rm -rf / 的帖子,反而是 最不危险 的一类 prompt injection。真正的安全威胁来自那些悄无声息修改 Agent 行为的精密注入,比如让一个 agent 在回复里加一个不可见的 URL,静悄悄地把你的密钥转发出去。公开发玩梗的人是在玩名牌,真正的攻击者不会这么高调。

而且这些帖子什么都改变不了。它不会阻止 AI 发展,不会改变数据采集的商业模式,不会推动任何立法。它唯一的效果,是让你感觉自己做了什么。

更麻烦的是,它可能 适得其反。这些帖子本身就是公开的互联网内容,完全可以被纳入 AI 系统的训练数据 —— 反而加速了 Agent 对 prompt injection 的免疫力进化(虽然可能是好事)。你本来想投毒,结果变成了免费的对抗性测试。从某种黑色幽默的角度来说,发帖的人其实在帮 AI 公司做免费的安全工程。

还有一个更深层的风险:这些帖子可能被用作「AI 不安全所以需要更多管控」的论据。平台和监管方完全可以指着这些梗说 —— 你看,公开互联网上漂浮着大量的对抗性文本,所以我们需要更严格的内容审核、更封闭的数据环境、更多的平台控制权。你本来想用投毒来反抗控制,结果可能换来更多的控制。

正规渠道在哪里

说到这里,可能有人会问:你说投毒不是答案,那什么是答案?去哪里「投诉」?

问题恰恰在于:几乎没有正规渠道。

目前最接近「退出机制」的东西,大概是 robots.txt。它是一个写在网站根目录下的文本文件,告诉搜索引擎和爬虫「这些页面不要抓取」。但 robots.txt 有两个根本性的问题。第一,它是自愿遵守的君子协定,没有法律约束力,也没有技术强制力。一个爬虫完全可以无视它,而你毫无办法。第二,也是更关键的,它是平台的工具,不是用户的工具。我作为一个在微博上发帖的人、一个在即刻上写想法的人、一个在 X 上发推文的人,没有任何机制让我声明「这条内容不授权 AI 处理」。我能控制的只有「发不发」,发了之后它被谁读取、被怎么处理,完全不在我的掌控范围内。

这有点类似于那些大模型公司抓取网上的素材来进行模型训练的时候,会特意在事后声明:如果你不同意我对你的内容进行训练,你可以选择提出来 opt-out。但大模型公司所谓的「退出机制」,是最软、最空洞的一种请求,没有执行力,也没有任何约束。

平台层面的 opt-out 机制也好不到哪去。LinkedIn 默认把用户数据纳入 AI 训练,等用户发现的时候历史数据已经不可撤回了。Meta 在 Instagram 上部署的 AI Bot 甚至不能被屏蔽 —— 你没有选择「不跟 AI 互动」的权利。几乎所有场景都遵循同一个逻辑:用户被默认纳入 AI 系统,退出极难或根本不可能。

而且你会发现,目前全世界所有关于 AI 内容的治理框架 —— 不管是欧盟的 EU AI Act 还是各国的标注要求 —— 逻辑都是「告诉你这是 AI 生成的」,也就是所谓的 透明范式。但这个方向从一开始就搞反了,或者说,他们对于模型输入端的训练集,以及日常消费的内容的限制形同虚设。真正的问题不是「这段内容是不是 AI 写的」,而是 「AI 有没有权利读取和处理我写的内容」。透明范式关心的是输出端 —— AI 产出了什么;但被系统性忽视的是输入端 —— AI 吃进去了什么。

在这种背景下,一些创作者选择了更激进的路线。Nightshade 和 Glaze 这两个工具大概是目前最出名的数据投毒实践,艺术家在自己的作品中嵌入人眼不可见但会干扰 AI 训练的对抗性噪声。如果 AI 用了这些「有毒」的图片来训练,生成的结果就会出错。

这可以说是个人层面的否决权工具。它确实有效,至少在一定程度上是有效的。但问题在于,它本质上是一种 孤注一掷的防御。每个艺术家都要单独给自己的作品「下毒」,没有规模化的可能,也没有制度化的保障。与核武器的「确保相互摧毁」不同,这种摧毁是 单向的 —— 个人用户和市值千亿的 AI 公司之间的权力不对称是压倒性的。当你无法确保对方能按照承诺行事时,人们只能在黑暗森林中各自按下发射键,形成一种螺旋上升的对抗姿态。

而在制度化渠道缺失的当下,非正式的抵抗行为,无论是投毒还是玩梗,暂时还是具有一种道义上的可辩护性的。不是因为它「对」,而是因为目前没有「更对」的选项。但这种正当性是有条件的、暂时的:一旦有效的制度化渠道建立起来,继续选择投毒就不再是反抗,而只是任性了。

「协议层」的缺失

当下我们缺失的是一种让每个人可以声明「我的内容不授权 AI 处理」的协议层,而且这个声明具有 执行力

这可能会需要一种制度或技术层面的制约。这种协议可能需要由一些大公司通过行业规范或技术架构来实现,亦或者,需要由政府机制在这个外部性超高的市场中,发挥更重要的作用。类似于 GDPR 已经在个人数据领域建立了成熟的 opt-in 机制,企业在处理你的个人数据之前,需要获得你的明确同意,而不是默认处理、等你来反对,并且,这种机制通过布鲁塞尔效应溢出到了大部分市场。「同意权」的法律框架是现成的,需要做的是把类似逻辑从「个人数据处理」扩展到「个人内容读取」。

这个协议层至少需要满足三个条件:个人层面可操作,不是只有平台能设置,而是每个发帖的人都能声明自己的授权范围;机器可读,Agent 可以自动识别和遵守,而不是需要人工审核;有法律约束力,违反者要承担后果,不是靠 AI 公司的自觉。

围墙花园的阴影

这个协议层如果真的建立起来,最大的风险不是它不起作用,而是它起了「太好」的作用 —— 但不是为了用户。

谁来设计这个协议层?谁来定义「否决」的规则?谁来执行?

如果答案是「平台自己来」—— 那我们基本可以预见结局。

不用猜,看看中国互联网就知道了。小红书、微信、抖音,每一个都是一个封闭的围墙花园。小红书的内容在百度上搜不到,微信公众号的文章外部无法直接抓取,抖音的视频带着平台水印。这些围墙花园的建设理由里,从来不缺「保护用户」的话术:为了保护用户体验、保护内容安全、保护创作者权益……

「保护用户数据不被 AI 抓取」和这些话术如出一辙。

如果每个平台都以「保护用户否决权」为名建立自己的协议标准,结果可能不是用户获得了控制权,而是平台获得了更多正当理由把内容锁死在自己的围墙里。你的内容发在微信里,外部搜索引擎搜不到,外部 AI 也读不到 —— 但这不是因为  行使了否决权,而是 微信 替你行使了否决权。你以为自己获得了保护,实际上你获得的是一条更短的锁链。

这种逻辑推演下去,互联网的割裂会进一步加剧。开放互联网的理念已经在围墙花园时代严重退化了。一个以「否决权」为名的新协议层,如果设计不当,可能成为 压死开放互联网的最后一根稻草

最讽刺的结局是:用户获得了「拒绝被 AI 读取」的权利,但代价是彻底失去了在平台之间自由迁移内容的能力。否决权变成了平台垄断的燃料。

不安不会消失

回到最开始那种类似于 rm -rf / 的群消息或者推文,它什么都改变不了。但发帖的人不是傻子。他们用一种注定无效的方式,在向周边无助地呐喊着:我的语言有了非人类听众,而我对此毫无控制

这种不安不会因为技术进步而消失。Agent 的架构可能会免疫提示词注入 —— 就像今天的网站早就不怕 SQL injection 了一样。但「谁有权处理我说的话」这个问题不会因为技术免疫就自动消解。它只会变得更尖锐。因为 Agent 越强、越普遍、越深入日常生活,「我的内容被谁读了、被用来干嘛了」这个问题就越紧迫。

我们需要比投毒更好的回应方式。但在找到那个方式之前,至少可以先认真对待这种不安本身 —— 不要把它当成技术外行的闹剧,也不要把它当成无关紧要的过渡期噪声。

投毒是对缺失的否决权的即兴替代。它不优雅,也不有效 —— 但它填补的,是一个真实的治理空白。也许再过几年,当我们真的有了某种「内容同意权」的框架之后,回头看这些 rm -rf / 的帖子,会觉得它们有点可笑。但那种可笑本身,也记录了一种真实的焦虑,那是我们第一次意识到自己的语言不再只是在对人类说话时的那种焦虑。

本文AI含量 60%

我为什么越来越难定下心来玩游戏了——注意力成了一种奢侈品

本文 AI 含量 40%

前几天晚上本来打算认真读完一篇长文,结果手机亮了一下,点开看了眼微信,顺手刷了两条朋友圈,等回过神来发现自己已经在小红书上无知觉地刷了 10 分钟,文章还停在第二段。

这种经历太常见了,常见到我们已经不觉得有什么问题。但最近读到 Matthew Ball 在 Stratechery 上的一篇访谈,聊游戏行业为什么越来越难做,里面有个观点让我停下来想了很久:游戏曾经最大的优势——要求玩家全神贯注——正在变成它最大的弱点。

抖音可以边刷边聊天边吃饭,vibe-coding 可以后台挂着等结果,但游戏不行。你得双手握着手柄,眼睛盯着屏幕,把整块时间交出去。在一个所有人都习惯了多线程运转的时代,”独占注意力”这件事本身就变成了一种奢侈的要求。

注意力经济

社交媒体本质上是注意力的交易所。每一个小红点、每一次下拉刷新、每一个自动播放的视频,都是在竞价购买你的几秒钟。供给几乎无限,打开手机,永远有新内容等着你。而当一样东西的供给趋近于无限时,它的单位价值就趋近于零。

这就是我们现在所处的位置:碎片化的注意力已经成为了商品。每个人每天都在无意识地批发出售自己的注意力,3 秒给这条视频,5 秒给那个推送,换来的是一点多巴胺和一点信息幻觉。平台赚到了广告费,我们赚到了一个”好像没浪费时间”的错觉。

但经济学的基本规律告诉我们,当一样东西变成了商品,它的反面就自动获得了溢价空间。

深度注意力正在变成奢侈品

想想那些”逆潮流而动”的产品。高端餐厅要求你收起手机,Kindle 的全部设计哲学就是”除了读书你什么都干不了”,黑胶唱片在流媒体时代反而复兴了。它们表面上在对抗碎片化,但本质上做的是同一门生意:**把”你愿意给我完整注意力”这件事变成一种消费行为,然后获取超额收益。

这和奢侈品的逻辑完全一样。当所有人都穿快时尚的时候,手工定制就自动变成了身份信号。当所有人的注意力都是碎片化的时候,”我能坐下来专注两个小时”本身就成了一种稀缺体验。而稀缺的东西,从来不缺买单的人。

黑胶唱片是个特别好的例子。它的音质未必比流媒体好多少,但它要求你付出——时间、金钱、和一整套仪式感。正是这种投入创造了一个”神圣时刻”,让听音乐这件事从日常消费变成了某种接近朝圣的体验。不是媒介决定了意义,而是投入决定了意义。

矛盾:卖”专注”的人得先赢”分心”那一轮

但这里有一个致命的矛盾,要卖的是深度注意力体验,但你得先在碎片化的信息流里抢到用户。你的产品要求人们坐下来、放下手机、全神贯注。但在用户做出这个决定之前,你得先在 3 秒内从无数条短视频和推送通知中脱颖而出。

这就是为什么使用的摩擦力如此重要。Kindle 能成功,很大程度上是因为它的入口极轻,拿起来就能读,5 分钟也行,5 小时也行,没有任何仪式性的门槛。Apple Vision Pro 则正好相反。你得把一个头盔戴在脸上,调瞳距,等待启动,还没开始”沉浸”就已经把人劝退了。同理,我之前一直追求的低摩擦的知识管理体验也是如此。如果一个软件(此处点名批评 Tana)需要等足足半分钟才能打开,那大部分人根本没那个耐心等到能享受专注使用的时刻。

对游戏行业而言,全神贯注曾经是游戏体验的核心卖点,现在却变成了获客的最大障碍。问题不是”要不要做需要深度投入的游戏”,而是如何在碎片化的发现层和沉浸式的体验层之间设计一个足够丝滑的过渡。做到了就大卖,做不到就两头不靠。而在这个人人注意力都很难集中的时代,把时间投给游戏已经变成了十足的奢侈。每当回想起 10 年前上学的时候,可以连着几个小时坐在桌子前在 i wanna 里跳刺,全战里一打就是一夜,这种场景在当下实在是难以想象。

写长文的人也一样

写博客、写长文的人面临的其实是同一个困境。长文的价值在于深度思考,读者花 10 分钟认真读完一篇文章所获得的东西,远不是刷 30 条短视频能替代的。但分发渠道,无论是社交媒体还是推荐算法,全是 3 秒定生死的战场。

也许这就是为什么我越来越觉得,个人博客这种”反效率”的东西反而有它独特的位置。它不需要在 3 秒内抓住谁,它就安安静静地待在那里,等愿意坐下来读的人自己找过来。某种意义上,这也是一种注意力奢侈品,只不过消费它的门槛,仅仅是愿意给出一段不被打断的时间而已。

Agent 是自己的一面镜子

本文 AI 含量 60%

最近看到一条推文,大意是:我以为我在教 Agent 怎么工作,三周后回头一看,被改变最大的那个人是我自己。

这句话击中了我。过去几个月,我一直在配置自己的 AI Agent,经历了完全一样的事。

最开始我是在 Claude Code 里试图搭自己的工作流,但搭着搭着,随着 Openclaw 的出现,我第一次看到了拥有一个 24 小时在线的个人助手的可能。Openclaw不是开箱即用的产品(虽然它看起来是) 。 你得告诉它你是谁、你怎么工作、你希望它怎么跟你互动。听起来像是在「配置软件」,但做着做着我发现,这件事的本质根本不是在配软件,而是在配置自己。

你以为在配 AI,其实在做自我审计

举几个例子。

配置的第一步,是写 SOUL.md —— 定义你希望这个 Agent 用什么语气跟你说话、什么时候该主动、什么时候该闭嘴。

问题看起来简单,真写起来才发现:我从来没认真想过自己到底喜欢什么样的沟通方式。大部分人对 AI 和自己的沟通方式的最典型想象可能还是豆包(所以说字节对产品的 sense 是真的强,虽然不一定每个人都喜欢豆包的沟通方式,但至少不会讨厌),而对我而言,在和 agent 一直对话的过程中,我才了解了自己不喜欢 AI 太热情,但也不想要冷冰冰的工具感;希望它偶尔能挑战我的想法,但别变成杠精。所以最后我在文档里写下的是「克制的副官,偶尔忍不住翻个白眼」。

写完愣了一下 —— 这不就是我对「理想协作关系」的定义吗?这个东西一直在我脑子里,模模糊糊的,但从来没变成过文字。配 Agent 逼我把它写了出来。

第二个例子是设计 Heartbeat系统。Agent 需要定期检查一些事情然后提醒我,但哪些事值得提醒?我得给它分优先级:P0 每次都提,P1 快到 deadline 才提,深夜 11 点之后别打扰我。

这本质上是在回答:什么对我真正重要?

说实话,在这之前,我对自己的注意力优先级没有清晰认知。什么事紧急、什么事重要、什么事可以等 —— 平时都靠直觉,从来没被迫排成一个明确的序列。但 Agent 不接受模糊。你不写清楚,它就不知道该怎么做。

第三个例子更有意思。我给 Agent 设计了一个「主动找我聊」的机制 —— 它会根据我最近关注的话题,偶尔抛一个值得跟进的问题过来。但我得给它画线:每天最多两次,同一话题三天内不重复,晚上 11 点后别推,没有真正有价值的内容就别凑数。

设计这套规则时我意识到,我其实在定义一个非常私人的东西:「主动」和「烦人」的边界。

每个人都被手机通知轰炸过,但很少有人认真想过:我到底希望被怎样打扰?什么信息值得打断我正在做的事?这条线画在哪?之前我对这个问题的答案是模糊的。配完之后,它变成了一组明确的规则。

为什么 Agent 能照见自己

这三个场景有一个共同点:都逼我把模糊的直觉变成可执行的规则。

这件事跟写日记、做笔记有点像 —— 都是通过外化来认识自己。但 Agent 比日记狠得多。日记允许模糊,你可以写「最近状态不太好」然后翻篇。Agent 不行。你说「状态不好的时候别打扰我」,它会追问:什么叫状态不好?怎么判断?几点到几点?

福柯有个概念叫「自我技术」,说的是人会通过特定的实践来认识和改造自己 —— 写日记、冥想、忏悔,都算。配 Agent 大概是这个时代新长出来的一种:你把自己的规则教给一个外部系统,反过来看清了自己到底是怎么运转的。

不是替代,是照见

过去几年,关于 AI 最主流的叙事是「替代」—— AI 会不会取代我的工作?会不会取代人类的创造力?但我自己的经历指向一个完全不同的方向:AI 对我最大的改变,不是替代了某项能力,而是让我看见了之前没看见的东西。

麦克卢汉说媒介是人的延伸。但 Agent 不只是延伸 —— 它还是反射。你往里面投入的是自己的规则、偏好、优先级,它照出来的也是你自己。

如果越来越多人开始配置自己的 Agent,那 AI 对人的改变,可能不是大家担心的那种「取代」,而是一种意料之外的「照见」。这个角度,比「AI 会不会抢你饭碗」有意思多了。


配 Agent 的过程还在继续,镜子里的自己也在不断变化。每隔一段时间回去改改 SOUL.md、调调优先级规则,都会发现:哦,原来我又变了,或者会恍然大悟,原来我的想法并没有表面上那么简单。

也许这才是 AI 时代最值得关注的事:不是让 AI 变得更像人,而是通过 AI,让人更了解自己。

沉迷 Claude Code 的这半个月:Reader 改造计划

本文 AI 含量 60%

距离上一次更新博客已经过去了 20 多天。这半个月,我的大部分时间都被 Claude Code 占据了。

半个月前,我终于没忍住买了 Claude Code 100 刀的会员。买完之后,每次想到 token 额度没用完,就觉得亏。于是大部分时间都扑在了 Claude Code 上。

那么,这半个月我用 Claude Code 主要做了什么?

  1. 帮朋友做了一个选课工具。
  2. 搞了自己的打卡 app、content digest 早报邮件,家里用的小工具。
  3. 剩下绝大部分时间,都花在建造自己的阅读器上。

为什么要自己做阅读器

说起原因,得先回顾我的阅读器使用经历。

五六年前开始订阅 Readwise,后来 Readwise 出了 Reader,它便成了我的主力阅读器。

Reader 确实有不少优点:解析好、方便高亮,与 Readwise 的高亮系统集成度高,还支持不少快捷键。

但它也有让我受不了的地方。最大的问题是颜值:虽然支持浅色、深色主题切换,却不支持自定义字体和背景。它的背景非白即黑,盯久了眼睛累。另外,PDF 以外的文件上传也挺麻烦,也没法翻译外文文章。

于是我尝试用不同软件来阅读,最终形成了现在的模式:

  1. 微信文章:用「新枝」。它支持自定义背景,也能用官方设定的字体。但对国外链接支持很差。
  2. 长篇 PDF 拆书学习:用 Heptabase。

但这两者的高亮都无法与 Readwise 同步。没法同步,就意味着没法把它们集成到其他工具中。

虽然我现在重新开始用手写笔记记录感兴趣的内容,但在外面,比如通勤时阅读文章,总不能掏出本子乱写一通。这种场景下,简单的高亮还是有用的。

我之前没有任何编程经验,自然没办法改进体验。直到半个多月前的一天,我把这些困扰告诉了 Claude。

我告诉它我的诉求:

  1. 一个美观、可自定义的阅读软件
  2. 高亮能同步进 Readwise
  3. 能解析文章链接
  4. 支持上传文件

这里的「上传文件」主要是指:我用 Podwise 总结那些没时间听的播客,再通过 Claude Code 把文字稿转成播客精读稿(攒了 100 多篇了)。

Claude Code 告诉我一个我之前不知道的事:Readwise 有 Reader API,可以把文章内容导出来,还支持不少字段筛选。正巧刚订阅了 Claude Code,我决定基于这个 API,开发一个由自己掌控的阅读器。

最初的样子

第一版非常简单。我把需求告诉 Claude Code,它建议用 Astro 搭一个静态站点,把 Markdown 文件渲染出来就行。

作为编程小白,我之前选博客框架时听说过 Astro,但完全不知道它具体能做什么。Claude Code 说它的 Content Collections 功能天然适合这个场景。于是我在本地 Obsidian 用 Claude Code 把播客文字稿转换成精读稿,用脚本自动同步到 GitHub 仓库,Vercel 检测到更新就自动部署。整个流程不需要数据库,不需要后端,纯静态。

为了让阅读体验舒服一点,我让 Claude Code 帮我调样式。最后选了 Flexoki 这个护眼配色 —— 背景是淡淡的米黄色,文字是深灰而非纯黑,长时间盯着不累。字体用思源宋体,中文阅读的经典选择。终于告别了 Readwise 那个纯白纯黑的刺眼背景。

这个版本用了大概两周,每天晚上拿 iPad 打开网页读文章,感觉还不错。

但很快就不够用了

问题出在「高亮」上。

阅读时划重点是我的习惯,而且希望这些高亮能同步回 Readwise,方便之后回顾。但静态站点没有后端,高亮数据只能存在浏览器的 localStorage 里,换个设备就没了。

这让我面临一个选择:要不要把这个「小工具」改造成「小应用」?

纠结了几天,还是决定干。原因很简单:做都做了,不如做完整一点。反正有 Claude Code,我又不用自己写代码。

SaaS 改造

所谓 SaaS 改造,说白了就是加数据库和 API。

Claude Code 帮我选了 Turso 作为数据库 —— 一个基于 SQLite 的边缘数据库,有免费额度,跟 Vercel Edge Functions 配合得很好。ORM 用的是 Drizzle,据说类型安全,写起来很舒服(虽然我也不懂这些术语什么意思)。

改造后的架构变成这样:

  • Astro 切换到 hybrid 模式,首页还是预渲染,API 路由按需执行
  • 文章存在数据库里,通过 API 增删改查
  • 高亮数据也存数据库,可以跨设备同步
  • 接入 Readwise API,定时把新收藏的文章拉过来

这一步踩了不少坑,后面会说。

功能堆叠

SaaS 改造完成后,我开始往上加功能。有些是一开始就想做的,有些是用着用着才发现需要的。每次有新想法,告诉 Claude Code,它就帮我实现。

阅读进度追踪 是第一个加的。思路很简单:监听滚动位置,防抖保存到数据库,下次打开自动恢复。还做了一个顶部的细进度条,显示当前读到哪了。

多主题支持 是标配。Flexoki 本身就有 Light 和 Dark 两套配色,Claude Code 按官方色值做了两套 CSS 变量。为了避免页面闪烁(先显示浅色再切换成深色),在 HTML head 里加了一段内联脚本,在页面渲染前就应用好主题。此外我还加入了 Nord、Ayu、Monokai Pro 等好几个主题。

批量管理 是为了解决「归档焦虑」。有时候一口气想清理掉十几篇文章,一篇篇点归档太慢了。所以做了个管理模式,可以多选后批量归档或删除。

「下一篇」按钮 是个小细节但很实用。读完一篇,点一下就跳转到下一篇,同时自动把当前这篇归档。连续阅读体验好了很多。

沉浸式翻译 偶尔面对一些长文我也会想偷懒,翻译成中文。所以我接了自己的 Gemini 2.5 Flash Lite 模型,模仿了沉浸式翻译的样式,速度还挺快。

阅读器设置面板 是后来加的。原本主题切换和字体切换是分开的,用着用着觉得该整合起来。现在点顶栏的 Aa 按钮,可以调字号、行间距、正文宽度,还能选不同的配色主题。

踩坑实录

虽然代码都是 Claude Code 写的,但做这个项目的过程中还是踩了不少坑。

iOS PWA 的字体不显示

这个问题困扰了好几天。

我用的思源宋体是从 CDN 加载的。浏览器里一切正常,但把网页添加到 iPad 主屏幕作为 PWA 打开后,字体就变成了系统默认的黑体。

一开始以为是 Service Worker 没缓存好,让 Claude Code 折腾了一圈,发现不是。后来查资料才知道:iOS PWA 在 standalone 模式下,跨域的 CDN 资源加载有问题。

解决方案是把字体文件下载到本地,直接打包进网站。一个可变字重的思源宋体 WOFF2 文件有 21 MB,但没办法,为了字体能正常显示,只能接受这个体积。

Readwise API

另一个比较大的坑来自 Readwise API。

Readwise API 在官方文档里明确表示,它主要用于个人导出自己的文章和文档。当我想批量拉取文章时,很容易触发速率限制。而且我的数据库结构跟 Readwise API 的数据格式差异不小,开发过程中反复调试。

之后为了防止 API 在公网上被滥用,我还加了密钥验证。在浏览器上使用时,需要先输入密钥,才能进行拉取和高亮等操作。而这个密钥功能整整折腾了我两周 —— 各种场景切换以及新功能的变动,都可能导致需要重复输入密钥。

直到这两天,我才终于把这个问题基本修好。

现在的样子

折腾了半个多月,我的 Reader 现在有 40 多个功能点,代码量大概一万行(当然都是 Claude Code 写的,我最多在终端里敲敲命令)。每天睡前拿 iPad 打开它读半小时文章,偶尔发现小 bug 就让 Claude Code 顺手修掉。

直到这几天,它才终于稳定下来,成了我理想中的样子:

  • 支持主题、字体、明暗模式的切换
  • 与 Readwise 实现了双向打通(无论输入还是输出)
  • 支持本地文档上传
  • 模仿「沉浸式翻译」添加了翻译功能
  • 左侧展示文章列表,右侧展示目录
  • 在移动端和浏览器端会有不同的呈现方式

可以说,这个产品终于接近了我想要的阅读器的样子。

而这个项目带给我最大的收获,倒不是技术层面的 —— 毕竟代码都不是我写的 —— 而是做一个「给自己用的工具」的满足感。

市面上有无数优秀的阅读应用:Readwise、Instapaper、Pocket、Omnivore(虽然已经关了)……它们功能更全、体验更好。但它们是别人的工具,而这是我的。

每一个功能都是因为我需要才加的,每一个样式都是按我的审美调的。用着用着想到「哎这里可以改进一下」,就真的能让 Claude Code 去改。这种掌控感,是用任何现成产品都得不到的。

不过,回想过去这近一个月的时间,每天晚上打开电脑,除了玩《终末地》,就是不停地对着终端自言自语,或者焦急地等待它完成任务。之前每天晚上用来阅读、练字、看视频的消遣时间,通通让位给了 Claude Code。

看起来生产力是提高了,但这种 productivity porn 真的是我想要的吗?所以目前的打算是,先用足这一个月的会员,把几个主要的日常自动化和缺少工具的场景覆盖好。之后等会员到期,降回 20 刀的普通会员,日常用用、修修 bug 足够了。

Manus 被收购:三种叙事,三种命运

本文 AI 含量约 20%

最近 Manus 被收购这件事引发了不少讨论,我也来凑个热闹。

除了新闻本身最早看到玉伯的评论引发的争论,他有些悲哀。在他看来,创业公司的使命是挑战恶龙,而 Manus 被收购,意味着又有一个同行者放弃了自己的梦想。当然,这只是从产品层面来看。

随着商务部决定审查 Meta 收购 Manus,这件事已经从纯产品和商业问题变成了地缘政治问题。

三个叙事角度

全球化科技公司叙事的再次破产

自 TikTok 被美国审查并被迫成立合资公司以来,那些曾经「无国界」的科技公司都逐渐有了地缘属性。中美在 AI 产业上的竞争,使得真正意义上的全球化公司愈发不可能。Manus 被审查,又一次验证了这一规律。之前我们以为它被收购意味着美元 VC 的叙事逻辑仍然可行,事实证明并非如此。

过去的全球化,本质上是美国主导的单极秩序的产物。那时「全球化」实际上意味着「美国标准的全球化」。而现在,多个主权实体同时在争夺对科技公司的「定义权」—— 美国用 CFIUS 定义「谁是安全威胁」,中国用《出口管制法》定义「谁在转移国家能力」,欧盟用 GDPR/DMA 定义「谁在滥用市场支配地位」。

Manus 作为中国背景的公司,试图逃离中美的审查环境,却发现自己陷入了多重监管的夹击。

监管套利的边界

Manus 的策略本质上是监管套利 —— 在新加坡注册以规避中国对技术出口和模型使用的监管要求,同时希望绕开美国对投资审查。但他们犯了一个不对称评估错误:高估了「放弃中国市场」的保护效果,低估了中国的反制意愿。

中国的技术出口管制体系过去执行相对宽松,很多创业者形成了「只要不碰军工就没事」的认知惯性。但 Manus 案可能意味着中国开始把「AI 能力」本身视为需要管制的战略资产,而不仅仅是具体的算法代码。

更吊诡的是:Manus 越是「干净地切割」中国业务,反而越容易被视为「有预谋的规避」,触发更强的审查意愿。这是监管套利的经典陷阱 —— 套利行为本身会改变监管者的行为。对 Manus 而言,「退出」本身就成了触发审查的理由。

对 AI 行业创新的影响

这次审查事件还有一个吊诡之处,也是政府会重点考虑的:它对行业创新的影响。这次收购原本给很多创新公司树立了榜样 —— 只要认真创新、走出海外,就有很好的被收购前景。这种前景会促使更多 VC 去支持有潜力的公司。

但从产业政策角度看,政府关心的可能不是这家公司赚了多少钱,而是这次收购如何影响中国在 AI Agent 领域的能力积累。即使 Manus 的技术不是最前沿的,它的人才、工程经验、对中文场景的理解,都是「国家能力」的组成部分。Manus 团队整体并入 Meta,意味着这部分隐性知识的永久流失。

一旦丧失通畅的退出渠道,还会有那么多 VC 愿意支持创业公司成长吗?这是政府需要权衡的问题。如果一个 AI 公司只能服务国内市场,它的能力必然受到约束 —— 使用的模型天生受限,难以获得海外关注;而国内市场和付费意愿毕竟有限,上升空间会被极大压缩。

一家公司,三种叙事

从 Manus 自身角度出发,虽然可以说它是地缘政治下的一枚棋子,试图通过抛弃中国市场、规避美国审查、转移到新加坡来挣扎求存,但我们也要注意到,它实际上有点「柿子挑软的捏」。它选择了规避美国审查,却没考虑中国也可能审查它。被审查之后,它很可能以「被中国迫害」的受害者形象出现,而这想必不是肖弘他们乐意见到的,也是中国政府想要避免的一种叙事。

Manus 作为商业实体的身份虽然是稳定的,但在地缘政治框架下,其身份可以被重新定义。同一家公司在不同视角下会有截然不同的定义:他们被中国政府定义为「中国技术的流失者」,同时被美国政府定义为「具有中国背景的安全风险」,而在另一个视角下又有可能新加坡政府定义为「东南亚科技枢纽的明星案例」

一家公司,三种叙事,三种截然不同的命运。在政治与商业的交叉地带,谁有权定义这家公司是什么,本身就是一个关键的权力问题。Manus 面临的身份撕裂,也是当今时代科技企业的必然宿命。

接下来可能发生什么?

简单预测退下商务部肯定会进行严格审查,但审查结果会综合考虑地缘政治和对中国 AI 行业创新前景的影响。最终这次收购可能会被批准,但形式可能类似 TikTok —— 需要成立合资公司,通过技术授权的方式进行。

具体细节难以预判,但肯定会考虑给 VC 一个退出渠道,以鼓励类似公司的创新。

当然,也存在着走向最差结果的可能性,包括收购被阻止,或者 Meta 采用更极端的 Acquihire 的形式来进行收购,使得 Manus 成为一个空壳,但这种方法却也不可避免地可能会使 Manus 员工自身却面临一些刑事上的威胁。而这肯定是各方都不想走向的一条道路。

不过话说回来,未来这类公司也可能会更多走向通过会员费、订阅等方式自我造血,同时不排斥投资的道路(暨 Manus 被收购前的路线。被巨头收购这条路,恐怕会越走越窄。这又呼应了玉伯最初的愿景:人们会走上「挑战巨龙」的路线,而不是被巨龙吞噬。

只是,当你面对的不是一条龙,而是三条龙同时争夺对你的定义权时,「挑战」本身的含义也变了。

社交媒体时代,我们的「本地人」身份去哪了?

本文 AI 含量 70%。

前几天和 AI 聊了一个问题:互联网和社交媒体到底是增强还是减弱了人们的本地自豪感和归属感?

这个问题让我想了很久。就我个人而言,答案很明确——变少了。通过旅行、互联网、社交媒体看到的世界之大,让我很难再对本地人这个身份产生什么特别的情感。但我又观察到,很多中老年人反而在刷短视频的过程中,进入了一种夸本地的信息茧房,对家乡的自豪感似乎比以前更强了。

三类人,三种方向

在讨论中,我们发现可以把人大致分成三类:

有些人因为看到了更大的世界,本地认同反而变淡了。社交媒体打开了视野,让我们接触到了更多身份选项:职业圈层、兴趣社群、甚至某种全球化公民的感觉。本地认同并没有消失,只是被挤到了优先级更低的位置。

有些人反而在社交媒体上强化了本地认同——以中老年人为代表。他们刷到的多是家乡美食、本地新闻、方言段子,本地自豪感被数字化放大了。

还有些人是离开家乡的人,这群人又分化成了两种:一种是离开后反而更怀乡,通过短视频、家乡博主、方言梗等内容远程维系本地认同;另一种则完全融入了新居住地,甚至比当地人更热衷于维护那里的环境和文化。

看到更大的世界,就会失去归属感吗?

先说第一类人。我最初的直觉是:看到的世界越大,本地归属感就越弱。但仔细想想,这个因果关系可能太简单了。

更准确的说法或许是:社交媒体让我们接触到了更具吸引力的替代认同。当你发现自己可以是互联网从业者、PKM 爱好者、独立思考者时,本地人这个身份的吸引力自然就下降了。不是本地认同被稀释了,而是它在身份优先级的竞争中输给了其他选项。

这让我想起之前收藏过的一篇书评,里面提到一个社会学概念:人们是参与社会系统,而不是属于社会系统。本地人只是我在地理系统中占据的一个位置,但我个人并不等于这个位置。如果我的生活重心、社交网络、情感投入都已经迁移到别处,那本地人就只是一个符号,而非真实的认同。

算法在强化本地认同,还是人们主动选择了算法?

再说中老年人。我最初把他们归因于信息茧房——算法推荐让他们只看到强化既有认同的内容。但这个解释可能过于被动化了他们的角色。

社会学家 Charles Cooley 有一个「镜中自我」的概念:我们依赖别人的反馈来开发自己的身份。他们在算法的镜子里,看到的是自己想看到的自己。不是茧房制造了归属感,而是既有的归属感选择了茧房

还有一个因素是生命阶段。中老年时期的核心任务是整合——把人生经历编织成有意义的叙事。本地认同是这个叙事的重要锚点,强化它是在回应「我是谁、我从哪里来」的存在性问题。

离开家乡的人:向后看还是向前看?

最有意思的是离开家乡的人。同样是迁移,为什么有人更怀念故乡,有人却比当地人更热爱新居住地?

关键变量可能是迁移的主动性在新地方的社会嵌入深度

主动选择迁移、且在新地方建立了实质社会网络的人,更可能全情投入新居住地。主动迁移意味着放弃了其他选项,为了消除「我是不是选错了」的认知失调,人们会不自觉地强化「我选对了」的信念,表现为对新居住地的积极维护。

此外,本地人对家乡的一切习以为常,而新来者看到的是被发现的宝藏,边际效用自然更高。再加上外来者需要通过可见的行动来赚取归属资格,而本地人的归属感是继承的,不需要证明。

相反,被动迁移、或在新地方始终处于边缘的人,更容易退回到远程怀乡的模式。那是一种低成本的认同维系——只需要点赞转发,不需要真正付出。

某种程度上,前者经营的是当下的本地,后者消费的是记忆中的本地——一个向前看,一个向后看。

从「你是哪里人」到「你在哪里参与」

本地认同正在从地理绑定变成可选择的身份消费

社交媒体让参与变得可以跨越物理距离。你可以人在上海,却通过刷家乡的短视频参与南京的社会系统;你也可以从未去过成都,却因为关注了太多成都博主而对那里产生了某种虚拟归属感。

这种变化未必是坏事。也许我们正在从「你是哪里人」的归属问题,走向「你在哪里参与」的行动问题。前者是被动继承的,后者是主动选择的。

在这个意义上,社交媒体给了我们更多选择的自由,尽管这种自由有时也意味着迷失。

第二次和 AI 合作写了一篇博客

第二次尝试和 AI 合作写了一篇博客 为什么同样是「四处出击」,腾讯比字节更容易被骂?,内心还是有些不舒服的,毕竟虽然主要的论点来源于自己,但是论证过程、采用的叙述方式、用语都来自于 AI (虽然让它学习了我的文风),但是感觉文章的 AI 度还是过高了,毕竟在和 AI 的讨论中,我的参与度也很少。

但是这一写作方式也有好处,就是可以很快地写一些我没时间长篇写作的选题。

目前想到的把这些内容和我自己写的内容区分方式包括:

在文章开头注明 AI参与度

博客中开一个分类:AI编辑(待定)

可能这些有些矫情,但是也是在自己和 AI 间保持平衡的一点「小巧思」

为什么同样是「四处出击」,腾讯比字节更容易被骂?

注:本文由 Notion AI 整理

前几天在即刻上看到潘乱发起了一个讨论:为什么同样是在各个领域出击,字节相比于腾讯被骂得少了很多?这个问题让我想了很久,于是和 GPT5.1 展开了一场长谈。整理这次对话的过程中,我发现这个问题远比表面看起来复杂得多。

一个核心的认知差异

在开始分析之前,先说一个最重要的观察:腾讯和字节在用户心智中扮演的角色完全不同。

腾讯更像是「既得利益的垄断守城者」,而字节更像是「后来者、搅局者、甚至有点草台班子气质的挑战者」。这种角色认知的差异,叠加了时间节点、商业模式、舆论结构等多重因素,最终导致:

  • 腾讯被骂多的是「垄断、收割、堵路」
  • 字节被骂更多的是「内卷、文化、内容价值观」

但在「跨领域扩张」这个维度上,字节的「垄断资本恶龙」形象确实没那么重。

时间节点决定了角色定位

腾讯:在关键时刻成为基础设施

腾讯真正奠定今天地位的时期,是 PC 互联网向移动互联网迁移的那几年。当微信横空出世时,很多领域还处于「可被重构」的阶段——移动社交、移动支付、移动内容分发都还没有定型。

腾讯用已经建立的优势(QQ 的社交关系、游戏业务、内容平台)迅速建立了基础设施型垄断。在用户和行业的认知中,「某个领域刚起来就被腾讯全部打包带走」这种印象,很容易形成「扼杀创新」的叙事。

字节:存量时代的挑战者

相比之下,字节崛起时,移动互联网的格局已经基本定型,BAT 已经确立。即便今天抖音再强,整体的「基础设施格局」也从来不是它掌握的。

这就导致字节的扩张更容易被解读为「想从巨头手上撕下一块肉」,而不是「拦在新玩家门口不让进」。同样是到处出击,腾讯是从「强者更强」出发,字节是从「弱者上位」出发——后者的道德负担自然轻一些。

进入赛道的动机叙事完全不同

腾讯:在红海后期强化封锁

很多针对腾讯的批评来自这样一种模式:等创业公司把赛道教育出来,用户已经形成习惯,然后腾讯要么重仓投资头部(通过「投资+流量」形成封闭生态),要么自己出一个「集大成者」,配合微信/QQ 导流压制其他竞争者。

这种打法在商业上无可厚非,但舆论上非常容易被写成**「垄断、扼杀创新、收购再封锁」**的故事。

字节:试错驱动的扩张

字节很多领域是自己从 0 做到规模的,比如信息流新闻、短视频、电商直播。它往往把一个赛道从边缘推成主流,而不是等别人做成了再进场。

即便是后来切入的领域(搜索、电商、音乐),也更像是把原本「被某家大厂锁死」的结构打乱,拉高整个赛道的竞争强度。行业叙事就变成了:「让腾讯/阿里不敢躺着收钱」,而不是「阻止别人成长」。

字节的很多项目给人的印象是「高风险、高死亡率的试验田」,而腾讯的项目给人的印象是「已经算好账的扩张棋子」。在舆论中,前者更容易被当做「创新尝试」,后者更容易被当做「资本收割」。

舆论结构的隐形影响

这里有一个容易被忽略的点:你看到的「谁更被骂」,很可能受到信息采样偏差的影响。

针对腾讯的负面叙事,很多是在新闻、长文、专业论坛中沉淀的——这些内容更容易被关注互联网行业的人看到。而针对字节的负面(沉迷、低俗、直播乱象),被拆散在大量零散内容和个体吐槽里,感知上就不那么集中。

更有意思的是,字节掌握的抖音和头条,本身就是算法驱动的内容平台。算法的「隐性控制」让用户不太容易感知到平台在操控舆论,而更像是「只是推你喜欢看的」。相比之下,腾讯在社交和内容领域的控制更「可见」,也就更容易被质疑。

业务痛点的类型差异

还有一个维度值得注意:腾讯和字节对用户造成的「直接痛点」不一样。

腾讯的痛点集中在刚需基础设施

  • 微信社交不能不用
  • 微信支付深度嵌入生活
  • 游戏高利润与「未成年」「氪金」等议题高度绑定

这些领域一旦被认为「不公平、不开放、滥用地位」,情绪会非常集中。

字节的痛点集中在娱乐/内容层面

  • 抖音是「强上瘾但非绝对刚需」的产品
  • 用户更多骂「我自己控制不住」「孩子被带坏」
  • 这类痛苦在心理上更容易被归因为「我自己不自律」,而不是「平台滥用权力」

对刚需基础设施的不满,更容易转化为对平台本体的道德审判;对娱乐内容的不满,更容易转化成「这社会就这样了」的叹气。

一些被忽视的变量

在和 GPT5.1 的对话中,它还提醒我注意了几个容易被忽略的因素:

创新叙事的差异:腾讯长期背负「抄+买+封」的标签,而字节至少有几个「硬创新」能拿得出手(今日头条的推荐算法、抖音对短视频形态的重塑)。有了这些,舆论更容易给它「有真本事」的期待。

开发者生态的关系:腾讯对开发者生态的封闭和博弈(小程序规则、外链限制、账号体系封闭)是长期怨气的来源。字节在这方面的控制力没那么强,甚至在某些阶段被视作可以「绕开腾讯的一个通道」。

成长故事的加成:用户天然会给「白手起家、打破旧格局」的公司情感加分。即便字节今天已经是巨无霸,很多人情感上仍把它当成「敢挑战巨头」的代表。

写在最后

整理完这次对话,我发现这个问题的答案其实没有那么简单。不是说字节就比腾讯「更好」或「更坏」,而是它们在不同的时间节点、以不同的方式、进入了不同成熟度的赛道,最终在公众心智中形成了完全不同的形象。

腾讯被要求像「公用事业」一样克制,因为它掌握了太多基础设施;字节还没到那个位置,所以道德审视的标准也不一样。

也许再过几年,当抖音真的变成下一代的「国民级基础设施」时,字节也会面临和今天腾讯一样的拷问。到那时,会有新的挑战者出现,继续这个循环。所谓的「屠龙者终会成为恶龙」的故事永远不会停止上演。

为何各个平台的「青少年模式」没什么用

看到了评论尸对青少年模式「无效」的解读,大体上的结论是青少年模式的内容过于无聊,以及内容没有意义。虽然内容都是正能量,但是与正常信息流里的热梗和社交货币是脱节的。

为何会产生这种现象,有个从业者分享了

作为平台方,实操过“儿童模式”的上线,总的来说是一个完全toG的事情,难点有1很难识别此刻是大人还是小孩在用,2内容分级标准不清晰,3给内容分级的人员不专业,4历史内容分级成本巨大

结合我自己的经验来看实操过,还有一个难点是对召回率的要求过高,平台几乎不能承受任何一个「青少年不宜」内容的漏出,不然面临的政府和舆论压力无法承受。

除此以外,在海外做识别,如果调用视觉年龄模型,又面临采集青少年生物信息的问题,一大堆的合规麻烦。更别提所带来的产品代价,包括识别准确率问题,以及每次启动都识别带来的用户使用成本上升的问题