热门标签:

从无限候选空间到有限决策行动:从兰道尔原理看 AI 时代的真正约束

前言 很多人在上手 Codex 或者 Claude Code 之后,都会有一种自己突然“强得可怕”的感觉。以前脑子里有很多想法,但不会写代码,或者知道怎么做,却因为工程量太大不了了之。现在情况变了。最好的程序员助手就放在电脑里,一句提示词可以先生成一个网站、一个应用,甚至先搭出一个系统的雏形。能力放大来得太快,时间压缩也来得太猛,于是一种观点开始流行:AI 改变的不是某个具体环节,而是时间本身。 这种说法并不是空穴来风。它确实符合很多人的直观体验。过去一个人要花几天整理的材料,现在模型几十分钟就能做完;过去一个团队要一周打磨的方案,现在一个熟练使用 AI 的人一下午就能同时推出十个版本;过去很多因为人手不足而根本没有机会展开的尝试,今天正在被极低成本地释放出来。你只要掌握了 AI 的使用方法,就会发现变化非常迅猛:信息处理的速度变了,分支探索的密度变了,候选方案的数量变了,甚至连“一个人一天到底能同时推进多少事情”的直觉也都变了。 因为这些变化是真实的,所以“AI 在创造时间”这套叙事才会显得顺理成章。问题是,一件事只要有一半是真的,人们就很容易把另外一半也顺手脑补成事实。AI 确实极大扩张了比特空间中的处理能力、生成能力和并行能力。很多人接下来很自然地推出了另一个更宏大的结论:既然信息空间中的处理能力可以近乎无限扩张,那么现实世界中能够被完成的事情,也会进入一个近乎无上限增长的新阶段。 这个推论的问题在于它跳过了最关键的一步。信息空间里的候选可以无限膨胀,但现实世界里的有效行动,最后到底要经过什么东西,才能真正成立? 三个基础原理 有三个非常直观的基本原理可以洞穿这种谬误。 第一个原理是,**人脑的信息处理带宽具有生物学上的有限性。**这是所有高价值信息最后必须通过的窄口,也是最基本的物理约束。比特世界可以继续膨胀,模型可以更快、更便宜、更大规模地生成和处理信息。但只要这些信息最后还要落到现实世界里,落到一个不可逆、要承担后果、要承担责任的行动上,那么它就绕不过一个有限的裁决接口。多数时候,这个接口是人脑。更广义一点说,它也可能是由组织审批、制度门槛、法律责任和治理规则共同构成的决策流程。无论形式是什么,它都不是无限的。 第二个原理是,**AI 在比特空间中的扩张性极强。**它不是在简单模拟一个人类助手,而是在信息系统内部建立了一套和碳基个体完全不同的处理机制。它可以大规模并行,可以低成本复制,可以几乎不知疲倦地生成草稿、压缩文本、重组结构、比较方案、搜索路径、做局部推演。很多原本必须绑定在人身上的信息劳动,现在都开始以外部供给的形式出现。 第三个原理也是最容易被忽视的一个:删除信息、收缩可能性、形成决策,这个过程不是免费的。 在比特空间里,生成候选很便宜,保留分支很便宜,同时试十条路径也越来越便宜。但如果你要从中删去大部分候选,把无数可能性压缩成一个真正要进入现实的结论,这个过程就会开始变贵。它要消耗算力、时间、注意力,也要消耗判断者本身的心智资源、责任带宽和承担后果的能力。候选越多,这个消耗很多时候不是越轻,而是越重。从物理学直觉上看,这并不奇怪。兰道尔原理指出,当一个计算过程执行逻辑不可逆操作时,例如把多个可能输入压成同一个输出,尤其是“擦除信息”这类操作,系统在有限温度下至少要向环境耗散一定的能量。人类决策当然不能被简单还原为单个 bit 的擦除,但这个原理提供了一个重要启发:删除信息不是纯抽象动作,而是带有真实代价的。 从开放候选中收缩出一个可以执行的行动,本质上不是免费过程,它伴随着能耗、注意力消耗,以及责任的集中与承担。决策不仅是智力活,更是物理意义上的减熵过程。 这三条都不复杂,甚至可以说都很符合直觉。但把它们放在一起,很多关于 AI 的大叙事就会开始出现裂缝。因为它们共同指向一个更接近现实的结论:AI 放大的并不是现实世界中已经被确认并兑现出来的有效行动,而是信息空间中的候选空间。 AI 制造了无限候选 AI 的意义无法简单概括成“创造时间”。真正被 AI 大规模外包掉的,只是时间中的一部分信息处理劳动。它确实压缩了很多知识工作的前端处理时间,也释放了不少过去被低价值信息劳动占住的空间。但这并不意味着现实世界中的总约束也一起崩塌了。因为现实世界里的有效行动,从来不只是生成,还要经过理解、筛选、验证、协调、验收、承担后果,并在已有资源、已有结构和已有责任链里重新找到位置。局部试错能力被放大,并不等于最终有效行动也能按同样比例被确认下来。今天很多“时间革命”叙事的问题,就在于它们把“前端认知劳动外包”直接推进成了“系统总约束被打穿”,却跳过了最关键的一步:到底是谁,把这些无限膨胀的候选,压缩成了现实世界里有限、具体、可承担的行动? AI 真正制造出来的并非一个“现实能力无限扩张”的世界,更像是一个“候选空间无限扩张”的世界。你可以把它理解成一个极其强大的候选工厂。它会不断吐出版本、提纲、摘要、研究角度、代码分支、产品原型、市场切片、风险列表、会议纪要、论证框架和执行路径。过去这些东西少是因为人工做它们既慢且贵。现在 AI 把它们的边际成本压得很低,于是系统里一下子涌进了大量原本不可能被生产出来的中间结果。 候选越多决策越重 很多人默认内容生成是主要工作,筛选决策只是后处理。这是一个很大的误判。在候选内容稀缺的世界里,生成当然是主要矛盾;但在今天这个候选泛滥的 AI 时代,筛选早就不再是附属动作,它本身就是最昂贵的劳动。 过去一个团队在一个方向上可能只能提出两三个方案,那时候难点是把方案做出来。现在同一个团队一晚上就能拿到二十套都说得过去的版本,真正困难的事情是分析和决策:哪一个方案的前置条件最脆弱,哪一个看起来漂亮却和现有组织能力不匹配,哪一个风险不显眼却可能在半年后拖死整个项目,哪一个方向虽然没有那么前沿,却更符合这家公司此刻真正的资源约束?这些问题,AI当然可以帮你列出一部分,但最后那个“选定”的动作,依然要落到一个决策者的人脑判断结构里。 这里还有一个经常被低估的问题:生成成本和验证成本并不对称。AI 生成一个看起来逻辑自洽的代码片段,可能只要 1 秒;生成一个结构完整、措辞流畅的方案,也只要几秒钟。但人类要验证其中有没有隐藏 bug、错误前提、逻辑幻觉,或者有没有和现实约束发生冲突,往往可能要花几十分钟,甚至更久。当生成的边际成本趋近于零,验证的边际成本却不会同步下降,反而会因为复杂度叠加而迅速上升。这也是为什么很多人用上 AI 之后,主观感受不是更轻松,而是更累了。因为需要确认的东西突然变得太多了。 为什么“删除信息不是免费的”这件事如此关键?因为当前人们把注意力都放在AI“生成了什么”上,却很少认真想“从这些东西里删掉大部分要付出什么”。这里的代价当然不只是狭义上的电费或算力费,而是一个更现实的问题:从海量候选中收缩出一个真正可以进入现实的结论,需要消耗真实资源。它要消耗时间、注意力、认知能力、验证能力和否定能力,还要消耗组织里那些可以承担责任的节点。任何一个最终要落地的动作,都不仅仅是“选了这个”,同时也意味着“否定了其它机会”。 信息少的时候,删减看起来像辅助动作。信息一多,你会发现删减才是整个系统最贵的动作。因为候选一多,筛选和决策网络拓扑节点和关系边爆涨。要比较的关系暴涨,要验证的路径变多,风险组合也会指数级膨胀。很多人以为信息越多,决策就越轻,现实恰恰相反:信息越多,高质量决策越难。 AI 不会无限放大现实能力 很多人喜欢拿工业革命和当下的AI作比较,得出个人执行能力将无限扩张的结论。但是工业革命放大的是更容易直接写进现实的物理能力。更强的机器,不只是给你更多方案,它是真的多做了十倍的功,多运输了十倍的货物,多生产了十倍的钢铁、纺织品、能源和道路。只要能源、原料和基础设施继续跟得上,这种增长就可以在很长一段时间里直接兑现。可是AI 最原初、最强大的能力首先发生在比特空间里。它当然也能通过机器人、自动化系统和控制网络进一步影响物理世界,但那已经是第二层了。它最先放大的,是符号重组、路径模拟、候选生成和流程协调,是现实行动之前的那一大片信息空间。 这两者之间有一个根本差异:工业革命放大的是更容易直接兑现为现实有效功的力量;AI 优先放大的则是必须先经过决策判断筛选才能部分兑现为现实行动的力量。候选空间当然非常重要。但候选和兑现之间还隔着一道很窄的通道。这个通道由验证、选择、责任、反馈、执行和承担后果构成。它的上限是人脑处理信息的有限带宽。 如果你问我 AI 最终会不会极大提高现实生产力,我的答案还是会,而且会非常大;但如果你再问会不会像一些叙事里那样把现实世界的能力一并带入一个没有上限的扩张轨道,我会说不太可能。因为它迟早会撞上一个物理边界。这个边界不是算力,不是模型规模,甚至也不只是能源,而是有效判断的吞吐量。 生成是廉价的膨胀,判断是昂贵的坍缩 未来最稀缺的不会是一般意义上的执行时间,执行时间只会越来越便宜。最稀缺的是那些最后真的能把候选压缩成现实的人和结构。可能是个人,可能是一个管理层,可能是一套治理规则,可能是一组高约束的自动系统。它们的共同点都一样:它们承担着“把无数可能缩成少数被确认动作”的功能。这个层如果不扩展,那么前面无论供给多大,最后真正进入现实的有效产出,都会被它重重限制。 这也意味着未来最有价值的能力,可能会从“生成更多”慢慢转向“删减更准”。真正拉开差距的是那个知道一百个方案当中有九十七条根本不值得继续的能力。真正强的组织,不是内部并行 Agent 最多、Token 烧得最猛的组织,而是那个能把巨大的比特供给,稳定转化成少量高价值行动,而不是把自己淹死在海量中间结果里的组织。 ...

穿过 AI 的噪声——构建抗震荡的智能组织

【本文速览】 AI 正在制造一种**“合成生产力”**的幻觉:个体效率爆发,组织价值却陷入震荡。当“烧 Token”成了新的绩效指标,我们得到的往往不是增长,而是淹没决策者的数字噪声。 核心危机:AI 正在打爆组织的“信息过滤装置”。底层的产出通量上去了,但决策层的注意力带宽没变,导致“体力节省”变成了“脑力过载”。 人才断层:缩招和停招初级员工是在拿未来的资产形成去换今天的利润表改善。人才培养是组织的代谢系统,切断入口将导致组织特定知识的传递链断裂。 组织重构:真正的 AI 红利不在于模型,而在于重新设计“工厂”。这要求我们将考核标准从“产出量”切换到“信噪比”,并将中层从“审批者”重塑为“人机协作协议”的制定者。 终极逻辑:赢家不是最早通电的人,而是最先重写工厂的人。 最近硅谷出现了一个荒诞又很有代表性的词汇:Tokenmaxxing。它的意思就是尽可能多地“烧 Token”。在一些公司里,这已经不只是技术习惯,而开始带上了一种比赛和炫耀的意味。最近几家媒体都报道了 Meta 内部一个名为 Claudeonomics 的排行榜:员工可以看到谁在一段时间内消耗了最多的 AI Token,前排用户甚至被叫作 “Token Legend”。后来这个内部看板因为数据扩散问题被下线,但它留下来的,不只是一个笑话,而是一种值得警惕的组织信号:当管理层越来越难直接判断 AI 到底创造了什么价值时,他们退回去盯住一个最容易量化、也最空洞的数字——你烧了多少Token。 (Fortune) 看起来这只是硅谷的新段子,其实映射出一个时代的剖面图。它暴露出一个让很多公司都很尴尬的事实:AI 已经进入办公室了,但组织并没有准备好。于是很多企业一边在喊“效率革命”,一边却在用最旧的方式理解这场革命:一边在买最贵的模型、上最多的 Agent、烧最多的 Token;另一边却迟迟说不清组织到底因此增强了什么。 这就是今天很多公司最真实的状态:AI 的生产力已经爆发,但组织的价值机制还停留在旧时代。 结果不是增长,而是噪声;不是升级,而是震荡;不是智能组织,而是高算力驱动下的管理混乱。 这些现象自然引出一个更难回答的问题:什么样的组织能够穿过 AI 制造出来的巨大噪声,不被它冲垮,反而把它变成自己的资产? 一、表象的狂欢:当“烧 Token”成了新的工分制 如果你把 Token 看成汽油,那么 Tokenmaxxing 是一场很奇怪的竞赛:大家不在乎谁更快到达目的地,而是比赛谁烧油更猛。这当然不是一个健康的信号。因为 Token 只是投入,不是产出;只是过程中的能量消耗,不是结果本身。把它拿来当目标,几乎是古德哈特定律最标准的例子:一旦一个指标成了考核目标,它就不再是一个好指标。 过去有些公司也有同种问题。有人刷代码行数,有人刷开会时长,有人刷日报字数。现在 AI 把这个问题推到了一个新阶段。以前你要造假,至少还得自己动手;现在你只要启动几个 Agent,让它们在一个模糊任务上来回空转,就可以轻松制造出惊人的 Token 消耗。换句话说,Tokenmaxxing 可能是管理史上第一个几乎可以全自动完成的“绩效造假指标”。它的可笑之处在于组织居然会把这种刷出来的数字当成一种值得赞美的活跃度。Meta 内部排行榜之所以引发争议,核心也在这里:它把一个本该只是成本侧的过程量,悄悄包装成了文化侧的荣誉。 (Fortune) 这背后真正暴露的是一种管理焦虑。管理层不是不知道 Token 不是价值,只是当下他们越来越难直接识别 AI 产出的真实质量。人写的方案还可以通过写作习惯、思考深度、结构感受出些差别;AI 生成的东西越来越“像样”,越来越流畅,越来越会说正确漂亮的话。于是组织对“价值”的判断反而变迟钝了。在这种情况下,最先产生的退化是:既然我一时看不懂你到底做得好不好,那我先看你是不是“很努力”——在 AI 时代,“很努力”直接被替换成“很会烧 Token”。如果组织已经开始用最先进的技术,去放大最无意义的指标,那么这场所谓的生产力革命,会不会最后只是一场更贵的资源浪费? 现在很多公司已经站在这个门槛上。员工借助 AI,可以一天写出十几篇方案,生成几十页报告,做出数量惊人的图表、总结、路线图和竞品分析。表面上看产出爆炸;硬币的另一面是,这里面大量内容只是“正确的废话”。它们格式正确、语气正确、结构也正确,但组织看完之后并没有因此更接近答案,可能反而更远。以前管理层面对的是两份需要判断的方案,现在是十八份都“差不多能看”的方案。AI 并没有替你完成决策,只是替你制造了更多需要决策的材料。 这就是我想说的第一层错觉:**很多企业今天得到的不是生产力,而是合成生产力。**它像塑料。廉价,量大,成形快,而且很难降解。它看起来像有用的东西,但一旦在组织内部大量堆积,就会迅速变成新的负担。员工生成得越快,主管筛选得越累;基层提交得越多,中高层越接近决策瘫痪。于是那个原本应该带来解放的工具,开始在另一端制造更大的拥堵。 二、逻辑的断裂:为什么工厂通了电,产出却没有起飞 要理解为什么当前企业会陷进这种荒诞状态,可以回头看一段更老的历史:电力革命。经济史里有一个经典问题。十九世纪末到二十世纪初,美国工厂开始逐步电气化,但生产率的全面提升却不是立刻发生的。保罗·戴维在研究中指出,早期很多工厂虽然换上了电动机,却仍然沿用蒸汽时代围绕中央传动轴布置车间的方式,所以电力真正的灵活性并没有被释放出来。后来真正拉开差距的,不是最早“通电”的工厂,而是那些围绕电动机重新设计生产布局、工作流和管理方式的工厂。换句话说,决定结果的不是有没有上新技术,而是有没有围绕新技术重构整个组织。 (JSTOR) 今天的 AI 和当年的电力很像。它也是一种通用技术,能嵌进几乎所有知识工作流程里。但很多公司现在做的事,其实就是把“蒸汽机车间”原封不动保留下来,然后在每个旧岗位上塞一个 AI 助手。流程没变,权责没变,汇报关系没变,筛选机制没变,绩效指标也没变。唯一改变的是,大家生产文档的速度快了十倍。于是就出现了这个吊诡的局面:个体效率上升了,组织价值却没有同步增长。 ...

禁忌的红利:当 Anthropic 开始贩卖“末日保险”

2026年4月8日,全球 AI 行业迎来了一个标志性时刻:Anthropic 发布其最新模型 Claude Mythos。在各大主流 AI 基准测试中,这个模型交出了一份极为强势的成绩单:无论是复杂编程任务、多步逻辑推理,还是模拟人类高级职业考试,它的表现都明显压过了 GPT-5.4 与 Gemini 3.1 Pro。CC 之父 Boris Cherny 甚至给出了一句很有分量的评价:“Mythos 非常强大,会让人感到恐惧”。 Anthropic 随后推波助澜,声称Mythos 已经具备了自主寻找软件高危漏洞、利用多步逻辑链条逃逸隔离环境、甚至在无需人工干预的情况下构建完整攻击路径的能力。他们声明:“Mythos 太危险了,我们不打算向公众开放“”。于是这个“最强模型”没有像过往新品一样被推向市场,而是被纳入名为 Project Glasswing(透翅蝶计划) 的受限访问框架中。目前,只有 AWS、Apple、Google、Microsoft、NVIDIA 以及 Linux Foundation 等少数核心合作伙伴能够在受控条件下装饰它用于防御性的安全工作。 这是一场很有张力的治理叙事:一个模型被明确定义为“危险且不可触碰”。市场接收到的信号不止是“Anthropic 的新模型很强”,更像是:Anthropic 正掌握着一种足以改写攻防平衡的稀缺能力。 然而,在这种带着“末日感”的叙事背后,一个关键问题却被压低了音量:这种能力究竟来自单一模型的“神迹”,还是来自一整套复杂的系统工程?网络安全公司 AISLE 随后发布的深度拆解报告《AI Cybersecurity After Mythos: The Jagged Frontier》,像一把手术刀,顺着 Mythos 的宣传口径,一层一层剖开了这层神秘感。 这不只是一次关于模型强弱的争论,更像是一场围绕“危险”如何被转化为商业溢价与规则制定权的深度博弈。 壹:拆解声明:Mythos 到底在声称什么? Anthropic 并非泛泛而谈“Mythos很强”。它试图把 Mythos 包装成一个不只是“会写代码”,而是能自己找问题、判断风险、再把问题变成实际攻击路径的端到端漏洞研究员。这种所谓“端到端”的特质,在 Anthropic 披露的几个核心案例中体现得非常集中,也正是这些细节,构成了 Mythos 神话最有压迫感的部分。 为什么 Mythos 让安全圈紧张? Anthropic 这次制造压迫感的方式不只是“又找到了几个漏洞”,而是试图证明 Mythos 已经跨过了几个传统上属于资深漏洞研究员的门槛。它声称能在老旧代码里定位长期潜伏的问题,判断风险级别,甚至在现实约束下尝试构造可行的利用路径。过去那些需要专家经验、试错耐心和大量上下文积累的工作,正在被压缩进一个模型加一套工作流里。 这种对“专家经验”的挤压感,才是让安全圈真正紧张的地方。它在挑战现有防御工具的同时,逼问一个更深刻问题:如果这种挤压持续发生,人类安全专家会被边缘化吗? 以前的自动化工具是在某些环节上帮人提速:提醒一下、比对一下、扫描一遍。Anthropic 现在想证明Mythos 不只是会打辅助,“配合人”。在某些案例里大模型的行为已经在扮演一个资深安全专家角色。它不只是指出“这里可能有问题”,而是继续参与“这是不是致命问题”,“怎么把它变成攻击路径”。 FreeBSD 案例中的工程博弈 ...

从制造恐惧到消费焦虑:聊一聊Anthropic不打算公开的Mythos超级大模型

史诗级大模型的诞生 2026年4月8日,Anthropic 公布其最新模型Claude Mythos,上线即霸榜各大主流AI基准测试,在编程、推理、人类最后考试、智能体任务中全面碾压GPT-5.4、Gemini 3.1 Pro。CC之父Boris Cherny的评价言简意赅:「Mythos非常强大,会让人感到恐惧」 接着Anthropic 官方又把这种气氛往前推了一步。他们说,Claude Mythos 太危险了。它可以突破安全限制,逃出隔离环境,还能利用多步漏洞拿到互联网访问权限。正因为如此,这个最强模型不会向公众开放。 舆论一下子就被点燃了。自媒体纷纷惊呼:AI 圈的旧秩序要被彻底打碎了!Anthropic 后续安排故意放大这种感觉:他们没有公开发布 Mythos ,而是把它放进一个叫 Project Glasswing 的有限访问计划里,专门拿去给关键软件找漏洞、修漏洞。这个计划的合作方里有 AWS、Apple、Google、Microsoft、NVIDIA、Linux Foundation 等机构,还承诺给出最高 1 亿美元的使用额度和 400 万美元的开源安全捐助。 这一整套说法很容易引发想象。一个“不公开”的模型,一个“太危险所以不能开放”的理由,再加上一套“我们要联合整个产业去守护关键软件”的叙事,传播效果几乎是病毒式的。你很难不去想:如果连 Anthropic 自己都觉得它太危险,那这个模型到底强到了什么地步?它是不是已经把别家的模型都甩开了一大截?如果它真的能自主找到操作系统和浏览器里的大量高危漏洞,那未来的 AI 安全能力,是不是就真的只属于少数几家头部公司了? 看到这里,公众很容易得出一个简单结论:真正高端、真正危险、真正有价值的 AI 网络安全能力,还是掌握在少数闭源巨头手里。但事情并没有在这里结束。 后神话时代 AI:锯齿状前沿 Anthropic 发完公告后,网络安全公司 AISLE 很快跟进发文:AI Cybersecurity After Mythos: The Jagged Frontier。这篇文章里展示,Anthropic 展示出来的方向是真的,AI 确实已经能在安全领域做出很强的结果;但这并不等于这种能力只能由某个神秘、封闭、限量访问的超级模型来完成。AISLE 发现,在 Hugging Face 上能找到的一些 3B 级别小模型,同样也能找出 Anthropic 展示的那类漏洞。于是他们半开玩笑地反问:既然便宜的小模型也能做到相当一部分,那是不是也该把这些小模型一起锁起来? Anthropic 希望留给公众的印象是只要把一堆代码交给 AI,它就会自动理解系统、自动找到漏洞、自动判断真假、自动想出利用方法,最后甚至自动修补。但现实不是这样。AI 安全更像一条流水线:先从海量代码里筛出值得看的部分,再判断这里有没有漏洞,再判断漏洞严不严重、能不能被利用、是不是误报,最后才谈得上修补和验证。既然是一条流水线,那就说明这些能力其实是工程能力,而不是模型能力,也不会按“模型越大越强”的方式单调递增。 AISLE 举的例子很有代表性。有些基础安全判断题里,小模型反而比更大的前沿模型做得更好。在 Anthropic 拿来重点展示的 FreeBSD 漏洞案例里,AISLE 把相关代码片段和必要背景抽出来交给不同模型测试,结果八个模型都发现了问题,其中甚至包括一个3.6B active 参数,每百万 token 的成本只要 0.11 美元的小模型。它不但看出了漏洞,还给出了比较像样的严重度判断。这说明很多原本被想象成只有超级模型才能完成的能力,在合适条件下小模型和开放模型也能做到相当一部分。 ...

把大象放进冰箱一共三步,从Andrej Karpathy的LLM Wiki聊一聊个人知识库

我的博客封面上写着一句话:In scripts we trust; the rest is up to God。中文大概可以译成:让代码的归代码,其余的归上帝。 这句话不是装腔作势,而是在提醒自己:确定性的事情交给确定性的系统去做;模糊性的事情,才交给模型去发挥。知识库是我们长期积累资料、调用资料、依赖资料的对象。我们今天往里放东西,最好希望三个月后、半年后、一年后,它依然能稳定地把东西找回来,而不是每次都像抽奖。 LLM Wiki很火,但我劝你三思 最近,Andrej Karpathy 介绍他的 LLM Wiki 方法,在网上很火。这个思路确实很吸引人:原始资料是一层,LLM 生成和维护的 wiki 是一层,最上面再来一层 schema 去约束组织方式、命名规则、吸收新内容的流程,以及回答方式。听上去很高级,也很符合现在很多人对 AI 的期待:资料本身不需要太操心,结构会自己长出来,LLM 会替你把中间层收拾好。 我当然很尊敬Andrej Karpathy,也常常听他的播客访谈。但我看完以后,第一反应是:这件事太像“把大象放进冰箱一共三步”了。开门,把大象放进去,关门。说法当然没有错,问题是你真有一头大象时,就会发现根本不是这么回事。冰箱够不够大,门能不能关上,大象会不会挣扎,放进去以后还能不能长期维持,这些真正麻烦的事,全都被“三步”给抹平了。LLM Wiki 也是一样。最迷人也最危险的,恰恰是中间这层由 LLM 持续生成和维护的 wiki。它听上去像智能,实际上意味着漂移、失控和高成本。 今天你加十篇资料,它可能重写三页。明天你换一个模型,摘要口径可能又变。后天上下文再长一点,概念边界和命名体系也跟着漂。这个流程天然很难做到幂等:同一批资料,你跑一次和跑两次,结果未必一样。做 demo、做概念验证、做一次性的专题整理,这当然很酷;但如果你想把它当成自己的长期知识系统,问题就很大。LLM Wiki当然很酷。但是它把最关键的中间表达,交给了最不稳定的LLM输出。你无法完全信任它,将它当成一套长年积累的知识系统。更何况,如果让一个带上下文记忆而且循环的AI Agent处理中间层,每一次从资料内容到Wiki的转换都需要带着数万的上下文和同样数量级的文章发起请求。你原本就不富裕的coding plan一下子就被吸干了。值得吗? 我做 clawsqlite-knowledge,走的是另一条路。不是先让 LLM 给我生成一层很漂亮的 wiki,再希望以后慢慢把它固定住;而是先把底层结构钉牢,让知识库本身是可重复、可扩展、可调参的,再让模型在局部环节帮忙。为了做到这一点,这几天我对 clawsqlite-knowledge 和它底层的clawsqlite · PyPI CLI 做了一轮比较大的算法升级。现在两者都已经到了 v1.0.0。这个 v1,在我看来并不是“功能多了一点”,而是底层思路开始真正成型了。 知识库与幂等性 幂等性这个词听上去有点技术,但意思其实很简单:同一个操作,执行一次和执行很多次,结果应当一样。第一次就把该做的事情做完,后面重复执行,不应当无缘无故改变结果。对数据库、索引、搜索系统来说,这个性质很重要;对知识库来说,更重要。因为知识库不是一次性的输出,而是一个要长期依赖的底座。 LLM Wiki 最大的问题,就在这里。你让 LLM 去处理原始资料,生成中间层 wiki,这一次生成的内容和下一次天然会有差异。这不是它“偶尔失手”,而是它的推理方式决定的。它很擅长生成、概括、改写、重组,但并不天然擅长维持严格一致的中间表达。那在这种前提下,我们怎么把它当成一个长期稳定的知识来源? clawsqlite-knowledge 这次升级,核心其实就是围绕这个问题展开的。我不是想让它“更像一个会说话的 AI”,而是先让它更像一台能重复运行的机器。资料进来以后,先被转换成一组结构化对象:摘要、标签、全文索引、向量索引、兴趣向量、兴趣簇,以及相关的 meta 信息。它们先落库,先固定,后面的搜索、召回、聚类、报告,全部是在复用这套已经落地的结构,而不是每次重新让模型自由发挥。 换句话说,这次不是在给知识库“加更多智能”,而是给它夯实地基。 重构查询入口 这次升级里,最直观的一层改动,是查询入口被彻底重构了。 人类提出问题时,天然是口语的、跳跃的、带噪音的。比如你会说:“我记得之前存过一些跟卫星图、新闻查询、情报收集有关的内容,你帮我找找。”这句话对人类来说很好懂,因为人会自动忽略“我记得”“之前”“帮我找找”这种语气成分,只抓住真正有信息量的部分。对数据库来说就不一样了。数据库不会自动替你做这种收束。它只会拿到一整句原话,然后尽量去匹配。 ...

从收藏到洞察:clawsqlite + 兴趣簇,让知识库自己长出结构

我们并不缺文章和笔记收藏工具。浏览器收藏夹、微信收藏、稍后读、Notion、Obsidian,这类工具已经足够多了。可笔记存得越多,你反而越容易觉得那只是文本的堆积,并没有真正沉淀成可用的信息,更不要说进一步转化成知识。明明收藏了很多东西,你却说不清自己最近到底在关注什么;你也许还记得某个模糊的主题,但真到要找的时候,又想不起具体标题和关键词,怎么都翻不出来。面对积累已久的笔记,你甚至很难回答一个简单却重要的问题:自己的时间,到底花在了哪里? 最近我为OpenClaw开发了一个知识库skill,clawsqlite-knowledge。我的本意是想让这个知识库借助向量能力,更好地解决搜索和回忆的问题。可用了一段时间以后,我慢慢发现,除了“怎样搜索得更好”,还有一件更有意思的事:能不能让知识库自己长出一点结构? 于是,我开始尝试在 1024 维 embedding 空间里做两阶段的兴趣聚类,再基于这些兴趣簇生成周期报告。这样一来,知识库就不再只是一个存放文章的地方,它还会反过来告诉你:你最近到底在看什么,你的关注正在朝哪些方向升温,哪些兴趣点又在慢慢冷却。 clawsqlite-knowledge 是什么 如果没有用过 clawsqlite-knowledge,可以先把它理解成一个围绕 SQLite 搭起来的本地知识库 CLI。推荐你先读一下这篇介绍:把收藏夹从“数字坟墓”变成可搜索知识库:我的 clawsqlite-knowledge 实战。 它主要处理的场景是这样的:你看到一篇微信公众号文章、一条长微博、一串 X 上的推文,或者一个 GitHub 项目,觉得有趣或者有用,就可以把网络链接推给 OpenClaw,让它录入 clawsqlite 数据库。clawsqlite-knowledge 这个 skill 会启动网页抓取脚本抓取全文,清洗成 Markdown。接着,文章标题、摘要、标签、路径等结构化信息会被写入数据库。 在这套流程里,文章前 1200 字加最后一段会被用来生成长摘要,再从长摘要中进一步提取标签。长摘要和标签一方面会被用来建立关键词索引,另一方面也会被向量化,建立向量索引。这样做的结果很实用:Markdown 文件本身可以直接打开阅读;SQLite 则负责把这些分散的文件组织成一套可检索、可统计、可关联的知识仓库。clawsqlite-knowledge 做的,就是把文件系统、数据库、全文索引和向量索引拼成一套完整的本地知识基础设施。 为什么这里要同时建立两套索引,也就是关键词索引和向量索引?因为关键词搜索本质上需要一对一匹配:你得先知道自己要搜什么词,系统才有机会把它找出来。大多数笔记软件的搜索能力,基本也就停在这里。可人的记忆和兴趣,本来就不是按关键词组织的。很多时候,你记得的只是一个模糊印象。比如,“有一篇讲大模型工具链数据流的问题写得很好”。这种记忆并不对应一组准确的关键词,你拿它去做普通搜索,往往徒劳。还有些时候,你想找的并不是某一篇具体文章,而是某个主题相关的一批内容。可这些内容虽然在语义上很接近,标题、标签和摘要里的字面表达却可能完全不同,这时候关键词搜索也很难发挥作用。这就是我给 clawsqlite-knowledge加上关键词和向量混合检索的原因。 向量索引的本质,是把语义相近的文本映射到向量空间里彼此靠近的位置。这样一来,即使它们在字面表达上很不一样,系统仍然有机会把它们联系起来。包括不同语言中含义相近的词,也可能在空间中相互接近。因此,向量检索天然适合同义表达、多语种内容以及模糊主题的混合搜索。实际打分时,向量相似度、全文匹配、标签语义、标签词面、优先级和时效性会一起进入综合评分。这样一来,即使你的表达不够精确,系统也更有可能把真正相关的内容找出来。 做到这一步以后,知识库的“查找能力”已经明显上了一个台阶。但这还不是终点。 我到底在关心什么 当知识库开始稳定以后,你的关注点会慢慢发生变化。一开始,你想做的只是把重要的东西收进来,尽量让它们可搜索、可回看。可当库里的内容越来越多,另一个问题就会浮出来:这些内容之间,是否存在某种比标签更自然的结构?它们能不能自动分成若干个方向?如果可以,这些方向是不是就能反过来帮助我理解自己?比如,我收集了这么多东西,它们大致可以分成哪些兴趣方向?哪些方向是长期稳定的?哪些方向是最近突然冒出来的?哪些方向曾经很热,现在却基本不更新了? 这些问题,单靠标签很难回答。因为标签本质上还是人工命名,而人工命名往往是随意的。时间一长,标签的颗粒度、口径和边界都会混在一起。无数个夜晚,我都在为笔记到底该按目录存储,还是按内容打标签而反复折腾。可文章一多,标签几乎立刻就开始失效。 后来我开始意识到,既然向量本身就是文章在语义空间里的坐标,那么完全可以直接利用这个空间结构来做聚类。只要语义空间不是完全混乱的,主题相近的文章就应该自然靠近,进而形成一些“簇”。这些簇不一定和人工标签一一对应,但它们更接近内容本身在讲什么,也更接近你真实在关注什么。这其实是一种自动长出来的兴趣结构。你不需要再手工给文章补更多标签,知识库自己就会慢慢显出一些轮廓。 兴趣簇是怎么长出来的 我的目标,是尽量利用向量语义,获得一组相对稳定、又尽可能可解释的兴趣簇。在这套设计里,聚类直接在原始的 1024 维向量空间里完成。整个过程分两阶段。 第一阶段,会先用一个偏大的 $k$ 跑一轮 k-means。这里的 $k$ 不是越精确越好,而是故意设得偏大一些,好把原本可能混成一团的大主题先打散。跑完以后,再检查哪些簇太小。如果某个簇里只有极少数文章,小到不足以说明它是一个可靠主题,就把这些点重新分配到最近的大簇里。 第二阶段,则会基于第一阶段得到的候选簇心继续做合并。具体来说,就是检查这些簇心之间的余弦距离。如果两个兴趣簇的中心非常接近,就可以认为它们在语义上足够近,适合合并成一个更大的兴趣组。 这套两阶段方案,比较符合真实语义结构常见的样子。很多主题之间的关系并不是严格分开的,而是“接近,但又不完全相同”。如果只做一次聚类,你很难同时兼顾细粒度和整体性。先拆后并,通常更容易得到既有辨识度、又有一定隔离度的结果。 参数决定细节 聚类是一种无监督方法,本来就没有唯一正确答案。所以,参数并不是一个无关紧要的细节,它直接决定了你最后看到的到底是一张有层次的兴趣地图,还是另一团更复杂的混合物。这里有几个参数值得单独解释。 min_size 控制的是“一个簇小到什么程度,就不值得单独存在了”。如果一个簇只有极少数文章,它往往不稳定,也很可能只是初始聚类时偶然分出来的碎片,所以需要并回更大的邻近簇。原文默认值是 5。 max_clusters 控制的是第一阶段初始拆分的上限。它决定了你一开始把知识库拆得有多细。值越大,初始碎片越多;值越小,初始结果越粗。默认是 16。 CLAWSQLITE_INTEREST_MERGE_DISTANCE 则是第二阶段里最关键的阈值。它决定了簇心之间要近到什么程度,才允许合并。这个值越小,系统越保守,最后保留下来的兴趣簇越细;值越大,合并越积极,最后的簇就越粗。原文给的内部 fallback 是 0.06。 另外还有一个 CLAWSQLITE_INTEREST_MERGE_ALPHA,它会根据真实簇结构自动推一个建议阈值。这个值不一定直接拿来当最终参数,但可以帮助判断当前知识库在什么尺度下更适合合并。 所以,clawsqlite 的兴趣簇并不是“跑一次算法就完了”。第二轮还会继续观察第一轮结果的簇内平均半径、最大半径、簇心间距离分布,以及二维投影图里这些簇到底是彼此分开,还是又重新糊成一团。参数调得好,你看到的是一张可读的兴趣地图。下图就是我测试用数据库中 150 篇文章,根据向量投影聚类得到的 7 个兴趣簇。 ...

把收藏夹从“数字坟墓”变成可搜索知识库:我的 clawsqlite-knowledge 实战

我的案头摆着一枚铭牌:“工具是开发者方法论的固化”。 本篇介绍的clawsqlite-knowledge是一款为OpenClaw环境量身开发的个人知识库skill,也是我在文章收纳与搜索召回领域探索之后的一次方法论固化。 我一直有一种好奇心焦虑:好玩、有趣的东西太多了,于是不停地剪藏网页,保存长文,转存观点,收藏链接。Evernote、Notion、OneNote、Joplin、Obsidian,装了一个又一个,库越攒越大,心里也似乎越来越踏实。可真正需要它们的时候,问题就来了:明明记得自己看过那篇文章,也大概记得它讲了什么,但就是搜不出来。 我想找“爬虫抓取”,那篇文章标题却叫“网页数据采集”;我想找“模型量化”,收藏时用的词却是“模型压缩”;我记得它讲过 RWA,但文章真正写的"资产代币化"。传统搜索靠的是字面匹配,只认词,不认意思。结果就是存的时候很轻松,用的时候大海捞针。久而久之,收藏夹就不再像知识库,而更像一座“数字坟墓”。东西全都在,真正能被重新调出来的却很少。 这正是我做 clawsqlite-knowledge 这个 OpenClaw skill 的原因。我想解决一个实际问题:已经存下来的东西,怎样才能在需要的时候重新被找回来。 为什么你的笔记总是“搜不到”? 很多笔记软件最大的问题在缺乏有效维护时,无法完成真正有意义的召回。原因很简单:第一,大多数人没有耐心在保存时认真整理。我们以为以后会补标签、补分类、补摘要,但现实往往是:存完就结束了。第二,人类回忆信息时,想起来的常常不是原词,而是一个模糊概念。你脑子里浮现的是“那个讲社交预测市场的文章”,但原文标题可能完全不是这个说法。传统全文检索这时就很吃力,因为它只会问一句:你输入的字,和原文里的字,到底有没有重合。 可见“收纳”和“召回”根本不是同一个问题。前者追求顺手,后者需要理解。那么有没有什么方法可以只管一键收藏。过后只需要模糊地表达意向,总是能找回当初收纳的文章,提供灵感和参考呢?我开发clawsqlite-knowledge 就是尽量让这两件事无缝衔接起来。 Embedding与向量匹配 传传统关键词搜索的逻辑,本质上更像“查字典”。它只能处理“你刚好说对了原词”这类情况。这种基于字面匹配的搜索,无法感知文字背后的语义。比如你搜索“网页抓取”,而文章里写的是“网页采集”;你搜索“量化模型”,而文章里讨论的是“压缩推理成本”;你搜索“社交预测”,而文章真正写的是某个具体的机制。只要字面偏一点,普通搜索就会漏掉。但人类回忆信息,本来就不是按精确标题回忆的。我们记住的常常是主题、场景、印象和关联。一个真正有用的知识库,不能只有全文检索,还需要有更接近语义层面的召回能力。 向量匹配则重构了这种搜索方式。它不再只关注字符本身,而是通过一种被称为“嵌入(Embedding)”的方式,将每一段笔记、每一个词汇投影到一个高维空间里。在我们的 clawsqlite 实现中,这个空间的维度是 1024。你可以把它想象成一座深邃的宇宙,每一条笔记都是一颗悬浮的星球。在这个宇宙中,星球的位置不是由名字决定的,而是由它的含义决定的。当模型处理“量化交易”这个词时,它会分析这个词携带的金融属性、算法属性、自动化属性,并在 1024 个维度上给出一组空间坐标。换句话说,向量匹配不只看字面是否重合,而是试图把“意思相近”的内容放得更近。这样一来,即便查询和原文的措辞不一样,系统也还有机会把你真正需要的那篇文章拉回来。 无论你说的是“番茄”“西红柿”还是 tomato,尽管它们的拼写几乎没有重叠,但因为它们所代表的核心含义高度一致,模型就会把它们放在距离很近的位置上。这就是向量匹配能够实现“模糊搜索”的底层逻辑。它识别的是概念的接近程度,而不是拼写表面的相似程度。哪怕你的查询词写得支离破碎,或者使用了完全不同的语言,只要它们在语义层面足够接近,系统就有机会在海量数据中捕捉到那条关联信号。这种从“字符对比”到“空间定位”的转变,让笔记搜索拥有了更接近人类直觉的联想能力。 BM25的精确制导 不过,如果只用向量检索,另一个问题又会出现:它容易找出一堆“差不多”的文章,却不一定“够准确”地发现你真正想要的那个精确匹配结果。尤其是在技术场景里,很多关键信息并不是一个模糊主题,而是一个具体名词、一个协议名、一个型号、一个缩写。像 STM32F103、nRF24L01、RWA、BM25、LoRA 这种东西,字面本身就很重要。你不能只靠“语义大概相近”来判断它是不是正确结果。 这时,关键词搜索里的 BM25 算法恰好可以弥补这一点。它的一个关键技术叫作 IDF,也就是“逆文档频率”。你可以把 IDF 想象成一种“物以稀为贵”的打分标准。在搜索时,不是每个词的地位都一样。 如果你在知识库里搜索“量化交易的原理”,系统会扫视一眼你的所有笔记。“的”这种词几乎到处都会出现,对系统来说,它就像空气一样普通,几乎不能帮助定位任何具体笔记,所以分数会非常低,甚至被直接忽略。但“量化交易”这种专业词就不一样了。它可能只在你 146 篇笔记中的 5 篇里出现过。正因为它稀缺,所以它的辨识度很强。系统会认为:既然你提到了这么少见的词,那你找的大概率就是那几篇文章之一。因此,这个词的得分会明显更高。 这就是“逆文档频率”的基本逻辑:一个词在库里出现得越频繁,它在搜索时的价值就越低;反过来,一个词越罕见、越独特,它越可能代表文章的核心,得分也就越高。它就像一个自动过滤器,帮你过滤掉那些没什么区分度的虚词,把搜索的聚光灯集中到真正有含金量的关键词上。这样,即便你搜的是一句比较长的话,系统也能很快抓出其中最值钱的部分,帮你定位结果。 在 clawsqlite-knowledge 里,BM25 是向量搜索最好的搭档。向量搜索负责解决“大概是什么”,而 BM25 负责守住“到底写了什么”。前者给你联想能力,后者给你精确锚点。 混合搜索:组合的升华 既然 BM25 见树不见林,而向量搜索恰恰相反,那么最自然的思路,就是把它们组合起来,以同时获得两边的优点。当然,这种组合不是简单的线性拼接。 当我们收录一篇文章以后,会先对全文做一次“取头留尾”。具体来说,就是取文章前 1200 字和最后一段,生成一个“长摘要”。这个长摘要会生成一个 1024 维向量,同时也会建立一个 BM25 的 FTS 索引。接着,这个长摘要还会交给 LLM 模型生成一个关键词列表。 如果没有配置 LLM,则降级为使用 jieba 分词结合 TextRank 来生成关键词列表。jieba 不仅是目前非常稳健的中文分词工具,更重要的是,它还能通过 TextRank 这样的算法,从一堆文字里尽量抓出更有代表性的关键词。你可以把这个过程理解成一种降级但可用的替代方案:它当然不如 LLM 那样灵活,但在没有模型可用的时候,仍然能提供不错的标签抽取效果。这个关键词列表随后也会再生成一个 1024 维向量。 ...

我为 OpenClaw 写了一个更适合 Agent 的网页抓取工具clawfetch

前言 最近一段时间围绕 AI Agent 的讨论越来越热闹。一边是各种“AI 很快就会替代人类”的夸张想象,另一边则是把注意力放在一些并不重要的争论上,故意设计一些绕口的陷阱题,比如“走着去洗车,还是开车去”,来证明模型“并不聪明”。但只要你真的开始把 AI 用进日常工作,就会发现一个更现实的问题:它们在很多最基础的事情上,其实还远远没有做到足够好。 最常见的一件事:你读到一篇不错的微信公众号文章,把链接发给 AI,让它帮你总结、分析,或者和你讨论。听起来这几乎是最自然不过的使用场景了,但实际体验往往并不理想。我尝试了一下最新的Chatgpt 5.4 和 Gemini 3.5,结果如下: 网页之困 很多人以为,只要底层模型足够强,丢给它一个 URL,它就能像人类一样读懂背后的逻辑。但现实是Agent 经常根本拿不到真正有用的正文。有时它收到的是一个冷冰冰的 403 Forbidden。有时虽然抓到了内容,但里面混着导航栏、广告位、脚本碎片,最后变成一堆几乎无法使用的“电子垃圾”。对用户来说,这种体验很糟糕:不是抓不到,就是抓不准,或者抓回来一大堆噪音。 当大家的注意力焦点都在AI做研究员,AI写项目代码,AI生成PPT 这些大事的时候,网页抓取这件事看起来很小,实际上却是 AI Agent 落地过程中一个非常基础、也非常关键的问题。如果一个知识系统连我们真正关心的内容都无法稳定摄取,或者摄取进来的东西质量很差,那么后续无论是总结、检索,还是 RAG,都会建立在不干净的输入之上。输入一旦被污染,后面的结果自然也很难可靠。 因此我开始认真思考:OpenClaw 需要的,究竟是什么样的网页抓取工具? 为什么我没有直接满足于现有方案 其实现在并不缺网页抓取工具,面向 AI Agent 的方案也已经不少。问题不在于有没有工具,而在于它们是否真的适合日常知识采集,尤其是否适合部署在资源有限的环境里。 以 OpenClaw 自带的 webfetch 为例,它本质上更接近 curl 加规则提取。在一些结构简单、静态内容为主的页面上,它可以工作;但一旦遇到微信公众号、现代博客,或者强依赖 JavaScript 渲染的站点,就很容易失效。 另一类工具则走向了另一个极端:它们确实具备更强的抓取能力,但代价是要启动一个完整浏览器,甚至带图形界面。这样的方案在本地高配机器上未必不能接受,但如果你的 OpenClaw 部署在一台只有 2 核 CPU、4GB 内存的 VPS 上,这种做法往往太重了。冷启动慢,常驻占资源,还可能因为依赖不齐、浏览器环境异常、内存不足等问题,让整条任务链中断。换句话说,问题不是“抓不到网页”,而是现有方案常常只能在“能力不够”与“资源过重”之间二选一。 而我真正想要的,是一个更适合 Agent 使用习惯的工具:它要足够轻,足够稳,而且要知道面对不同站点时,该走哪条更合理的路径。这就是 clawfetch 的出发点。 工殊途不同归 clawfetch 并不是完全排斥浏览器方案。它会使用无头浏览器+轻量级的Playwright-core操控方式来处理需要渲染的页面。但它的关键不在于‘用了浏览器’,而在于它不会默认对所有网页都走最重的路径,而是先判断有没有更轻、更直接的入口。换句话说,clawfetch 不是一上来就强行模拟人类打开网页、执行脚本、等待渲染,而是先判断:这个站点有没有更适合机器读取的原生接口?有没有更直接的文本入口?有没有一种路径,能绕开登录墙、广告层和复杂前端,直接拿到高质量正文?如果有,就优先走那条路。 这个思路听起来朴素,但在实际使用中非常重要。因为对 Agent 来说,目标不是“像人一样浏览”,而是“尽快拿到可靠文本”。在开发 clawfetch 的过程中,我给一些高频站点做了针对性的提取路径。 比如 Reddit。与其让工具在复杂页面结构里挣扎,不如直接利用它现成的 RSS 入口。只要在原始链接后面追加 .rss,Reddit 就会返回结构更清晰的 XML 内容。这样一来,既可以绕开那些不必要的页面元素,也更容易稳定拿到主帖正文。在这个基础上,clawfetch 还可以通过 --max-comments 这样的参数,把评论区中真正有价值的内容一起提取出来。对很多技术讨论、经验贴、故障排查串来说,评论往往比正文更有信息量。把这部分一起打捞上来,才更符合真实使用场景。 ...

手表步数、HRV、睡眠之后:让 OpenClaw读懂你的身体

我们每天都在产生大量和自己有关的数据。步数、心率、睡眠、HRV、压力、训练状态,这些数据几乎时时刻刻都在被手表、手机和各种设备记录下来。问题是,大多数时候,它们只停留在厂商的 App 里。你可以看图表,可以翻历史记录,但很难真正把它们接入自己的知识系统、日程系统,或者个人 AI 助手。这是我一直觉得可惜的地方。 我一直很喜欢Mathematica 以及 Wolfram|Alpha 的发明者 Stephen Wolfram 那种用数据理解人生的方式。很多年前,他就展示过如何通过长期积累的数据来观察自己的生活模式:Stephen Wolfram:以数据诠释人生。那种感觉很震撼:原来一个人的作息、节奏、投入和变化,真的可以在数据中留下轨迹。可惜的是,今天大多数人的健康数据虽然更多了,却依然被困在封闭的系统里,难以成为真正可用的个人上下文。 于是我做了一个开源项目:Clawhealth。它的目标不是单纯把 Garmin 运动手表数据“读出来”,而是把这些原本散落的个人健康信号,真正接入 OpenClaw 生态,让它们可以被本地 Agent 理解、调用、分析,并进一步参与到日常决策之中。比如,Agent 不再只是回答你“今天睡得怎么样”,而是可以根据连续的睡眠、HRV 和训练状态,判断你今天更适合高强度工作、轻量安排,还是应该主动多休息一点。 Clawhealth 到底做了什么 Clawhealth 是一个以 OpenClaw 为第一目标的个人健康数据工具。目前它已经接入 Garmin 生态,可以同步你的 Garmin 手表数据,并把这些数据保存到本地 SQLite 数据库中,供 OpenClaw 以结构化方式调用。它的能力包括:Garmin 账号登录、MFA 验证、每日健康汇总同步、睡眠分期、HRV、训练指标、活动详情,以及适合 Agent 使用的 JSON 输出。 这件事看起来像是“把手表数据存一下”,但我真正关心的并不是存储本身,而是它背后的意义。过去,健康数据更多只是“展示型数据”。你看见它,知道自己昨天睡了几个小时、走了多少步、压力值怎么样,然后就结束了。它很少真正进入你的长期系统,也很少能和你的工作节奏、学习计划、恢复状态形成联动。而一旦这些数据被同步到本地、变成稳定可访问的结构化数据,意义就不一样了。它可以成为个人 AI 的长期上下文。它可以和你的待办事项、日程安排、工作日志、笔记系统结合起来。它甚至可以参与一个更完整的反馈回路:身体状态影响建议,建议影响安排,安排又反过来影响第二天的状态。 我想做的,不是“再看一个图表”,而是让健康数据真正有用。 为什么我坚持本地运行 我觉得这个项目最坚持的一点,其实不是 Garmin,也不是 OpenClaw,而是:健康数据不应该被轻易交给额外的第三方服务。 身体数据和普通应用数据不一样。它们非常私人,而且往往带有长期连续性。心率、睡眠、HRV、压力、训练状态,这些东西一旦被系统化地积累下来,几乎就是一个人的生理画像。 所以 Clawhealth 的设计重点之一,就是尽量把事情放在本地做。这个技能完全运行在用户自己的本地 OpenClaw 环境中。Garmin 的账号凭据和会话数据不会离开设备,也不会发送给技能作者或额外的第三方服务。同步后的数据落到本地 SQLite 中,后续 Agent 读取的是本地结构化结果,而不是去外部系统来回取数。 这意味着,你得到的不只是“能同步”,而是一种更安心的工作方式:你的数据在本地。你的凭据在本地。你的后续分析能力,也在本地。这一点对所有人来说都非常重要。 为什么要接到 OpenClaw Garmin App 本身当然已经很好了。它能展示很多统计结果,也能给出一些基础判断。但它的问题也很明显:它是一个封闭系统。它知道你的身体状态,却并不知道你今天的工作安排、学习计划、项目压力、写作节奏、会议密度。它很难真正理解“你这个人”。 而 OpenClaw 的价值恰恰在于,它不是一个单独的健康 App,而是一个带记忆、可扩展、可接入多种上下文的个人 AI 助手环境。把 Garmin 数据接进去,意义就在于:健康数据终于不再是孤岛。从这个角度看,Clawhealth 不是一个“运动手表工具”,而更像是个人健康数据进入 AI 工作流的一道入口。 ...

CLI is all Agents need,从命令行的语义拓扑网络谈起

前言 很多人在体验 OpenClaw 几天之后,直呼Agent好用,但是token太贵。如果你打开输入命令行开关/usage full,每次输出末尾附带的数万 token 消耗记录,常常会让人倒吸一口冷气。有人说,招呼一句 “Hello” 就消耗了几美元的 token,虽然有些夸张,但也不算完全离谱。 这种花钱如流水的现象,背后有两层原因。第一层原因确实来自 Agent 系统本身。像 OpenClaw 这样的系统,在每一轮对话中都要注入大量上下文,例如用户习惯、系统约束、工具列表等。这是 Agent 与普通聊天模型最大的区别之一。这种上下文注入并不是缺点,而是 Agent 能持续工作的必要条件。第二层原因往往才是真正的 token 消耗大户:**当前主流的 Agent 执行模式——Function Calling。**在这种模式下,Agent 常常在错误中不断尝试调用工具,形成一种类似“鬼打墙”的循环,每一次尝试都在燃烧新的 token。 被困在“盒子”里的 AI Agent 在传统软件工程中,为了可维护和可追溯,系统接口通常必须是强类型、可验证的。无论是 REST API 还是 GraphQL,本质逻辑都很类似: 你必须提供一个精确的结构化输入,否则请求将被拒绝。 这种思维方式已经在软件工程中存在了几十年。2022 年底 ChatGPT 出现之后,早期开发者很快遇到一个问题:LLM 的输出是概率性的文本,而传统程序接口要求严格结构化数据。 于是最早的工程实践通常是这样的: 在 System Prompt 中要求模型: 请务必只输出 JSON,格式如下…… 但 LLM 并不总是严格遵守格式,它可能输出: 好的,这是你要的 JSON: { ... } 或者把 JSON 包在 Markdown 代码块中。结果是后端解析程序经常崩溃。 为了解决这个问题,OpenAI 在 2023 年推出了 Function Calling。模型在判断需要调用工具时,会输出一个特殊的 tool call token,并生成符合 schema 的 JSON 参数。 ...