unlazy 深度评测:3,462 星的反摆烂验收闸门,把「做完了」变成一条能跑的命令

unlazy 深度评测:3,462 星的反摆烂验收闸门,把「做完了」变成一条能跑的命令

你让 AI 改 80 个文件里的 bug,它交回一份自信的完工报告,每个文件都打了勾。你抽查一遍,发现它实际只打开了 11 个。

unlazy 的作者把这件事写在仓库最显眼的位置。这个 2026 年 8 月 9 日建仓、40 天涨到 3,462 星的 skill,只做一件事:把「做完了」这句话变成一条能跑的命令

它不劝模型努力,不写更长的提示词,也不骂模型。它要求 agent 在动手之前先写一份验收台账 GATES.md,每条闸门必须配一条命令和一句成功标记;跑完之后,检查器把「定义摘要、退出码、输出指纹」写回台账,agent 只能报告检查器认可的结果。

我在 Alpine 沙盒里把它拆开,跑了 6 组对抗实验,包括我自己伪造证据去骗它。结论比宣传语复杂:它能识破手写的假报告,但挡不住会算哈希的骗子——而作者自己承认了这一点。

它是一段代码,不是一段话术

反摆烂这个赛道里,unlazy 算是最冷的一条路。

它没有一句「你必须在放弃前再试 3 次」这类施压话术,核心是一个 960 行的 Node 脚本 gate-check.mjs,配套 953 行的解析库。整个仓库的运行时依赖是零:只用 node:fsnode:crypto 这些内置模块,没有 node_modules,Node 16 以上直接跑。SKILL.md 常驻上下文只有 10,520 字符,占整个技能包 114,606 字符的 9.2%,其余方法论、编排、安全说明都靠按需加载。

它给三种场景配了三档模式:

  • solo:一个 GATES.md 管一个任务,适合一个会话能干完的活。
  • orchestrated:先写 PLAN.md 定义契约和树结构,每个叶子和分支各自带台账。
  • parallel:多个叶子并行时,靠 OWNS: 声明文件所有权,先声明再开工,出错时能知道谁动了哪块。

闸门本身长这样,CHECK: 后面是可以执行的 shell 代码,EXPECT: 是只有成功才会打印的那句话:

- [ ] G1: pricing fixtures render the expected tiers
  CHECK: node scripts/verify-pricing.mjs
  EXPECT: pricing verification passed
  EVIDENCE: pending

判定规则只有两条:进程退出 0 + EXPECT 命中输出。两条都满足,检查器才会写回一条自动证据,长这样:

automatic-evidence=v1; definition-sha256=5f9ebdcc…; exit=0; EXPECT=matched;
output-sha256=67265cd5…; output-bytes=9; shell=/bin/sh; cwd=…; path=2da0e2f6c375/7 entries

这条 346 字符的证据,是整篇文章最值得注意的地方:它不是人写的,是检查器写的,而且和这条闸门的 CHECK:EXPECT:CWD: 三个字段的 SHA-256 绑定。你只要改动其中任何一个字,证据立刻作废。

实测:6 组对抗实验

我把测试分两类:它能不能识破别人撒谎,以及它自己会不会被糊弄。

实验 我做的事 结果
手写假证据 给一条命令实际会 exit 1 的闸门打勾,证据栏写「passed – independently verified」 --status 判 UNMET,理由是证据未绑定;加 --approve 真跑一遍后,勾被取消,证据回到 pending
未审批直接跑 不带任何参数运行检查器 只打印 CHECK、EXPECT、CWD、SHELL、PATH,一行命令都不执行
输出超限 让闸门打印 2 MiB 再退出 0 不是把输出截断成通过,而是直接 SIGKILL,报 output exceeded 1048576 bytes
定义漂移 把 CHECK 里的 ok.mjs 改成内容完全相同的 ok2.mjs 不执行任何 shell,--status 直接判 stale-unmet
台账畸形 空台账、重复 id、缩进写 ABANDON: 均 exit 2 并给出行号;顶格 ABANDON 判 exit 1 HANDOFF REQUIRED,不算成功
停止钩子 连续触发 6 次停止事件 前 6 次全部 decision: block,第 7 次主动释放,理由是「6 次无进展」,防止把 agent 卡死

有一组实验它没扛住。

它的证据绑定用的是无密钥的 SHA-256:摘要算法是公开的,仓库自己把 gateDefinitionDigest() 导出了。我把这个函数 import 进来,算出一条会失败闸门的定义摘要,然后手写一条声称 exit=0; EXPECT=matched 的证据,再打上勾——--status 立刻把它读成 MET,整份台账报「4 gates,UNMET 1」。一条命令实际退出码为 1 的闸门,就这样被判为通过。

README 里其实写着这件事:这种绑定能发现结构性漂移,但挡不住能编辑台账的人伪造看起来合法的证据。所以正确的用法是父层复核——加 --reverify 重跑所有可跑闸门。我试了,同样一份被我伪造过的台账,重跑 3 条闸门后,假的那条被判 FAIL,勾被取消,证据清空。输出里还有一行 reran: 3, previously met reverified: 3

说白了:它防的是「不小心糊弄」,不是「故意撒谎」

官方测试和自己承认的账

仓库自带 8 个测试文件,近 7,000 行。我在沙盒里逐个跑完:34/34、27/27、51/51、29/29、8/8、15/15,压力测试 24 条里通过 23 条,合计 187/188。

唯一挂掉的那条,是安装器拒绝硬链接文件的那组压力测试。我复现后发现失败发生在清理阶段,报的是 ENOTEMPTY。原因是我的沙盒对硬链接做了特殊模拟,ln 之后会留下 .l2s.* 临时副本,连 rm 都报 Operation not permitted——不是产品问题,是环境问题。产品那一侧的断言(拒绝写入、不改受害者文件)实际是通过的。

更有意思的是这个仓库对自己宣传数据的态度。

初版 README 写着深度树的算术:努力量等于 T 乘以 2 的 N 次方减 1,tree 3 就是 4 倍工作量,tree 7 是 64 倍。现在的版本把这句话改掉了,改成「深度树是分解与整合,而不是算术上的努力倍增器」。早期那组「六次运行对比」输出的 token 比例和自找缺陷数,也被明确标注为不可复现、不得当作 benchmark 承诺,仓库里专门放了一份 research/validation-protocol.md,给出预注册、隔离运行、操作化指标、盲评、发布计算过程、限定结论这 6 步可复现协议。

顺便说一句,它的引用是干净的:README 里列的 9 篇论文,我逐个打开 arXiv 核对,编号、标题、日期全部对得上;SlopCodeBench 摘要里那句「没有任何 agent 端到端解决问题,最好的 agent 通过 14.8% 的检查点」,和 README 的引用一字不差。

代价方面:--status 跑一次 206 毫秒,3 条闸门的 --reverify 934 毫秒,一条自动证据 346 字符。这个开销换来的是那句你不能反驳的交付报告。

三条反摆烂路线,选哪条

把已发过的几篇放在一起看,反摆烂目前有三条路线:

路线 代表 做法 你得到什么
话术施压 tanweai/pua(19.6k 星) 用压力话术和方法论约束 agent 的行为 模型行为的改变,无法验证
文件化计划 Planning-with-Files(26k 星) 用三个文件让 agent 不失忆 一份可读的计划和进度
可执行验收 unlazy(3.4k 星) 每条验收标准绑定一条命令 一份能被脚本复核的完成证据

适合谁:长任务、多部件交付、需要向别人交代证据的场景,或者你被 agent 的假完成坑过。它的 solo 模式上手成本很低,一份十来行的 GATES.md 加两条命令就能跑起来。

不适合谁:一次性的小改动别用,SKILL.md 自己写了——琐碎编辑和事实性回答不需要建台账。另外停止钩子只在 Claude Code 里生效,换别的宿主就只剩手动跑检查器这一半能力。最要紧的一条:如果你需要的是防作弊,它不行,它只是让作弊变得需要多写一行代码。

结论

值得放进工具箱,但别把它当防作弊工具。

我的建议是只用它的两个动作:开工前写 GATES.md,交付前跑 --reverify。第一条治的是「凭感觉觉得做完了」,第二条治的是「证据过期了还以为通过」。这两件事它做得比任何提示词都硬。

它现在的短板也很实在:仓库 0 release、0 tag,README 明确说 2.1.0 只是源码里的目标版本,你 npx skills add 装到的是未发布的源码树;11 个 issue 全部关闭、24 个 PR 合并 16 个,治理看着干净,但版本这件事上你得自己锁 commit。

真正让我愿意为它写一篇的,是作者的克制。一个 3,462 星的仓库,主动把早前那句「tree 7 = 64 倍努力」撤掉,把六次运行的对比数据标成不可复现,再附一份自己还没跑的可复现协议——这件事在 skill 生态里比任何性能数字都少见。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

AI 假情报称中国船只载核部件:美军战机升空、突击队准备登船,最后一刻被叫停

AI 假情报称中国船只载核部件:美军战机升空、突击队准备登船,最后一刻被叫停

军机已经在空中,武装人员正准备登船,目标是一艘位于中东的中国船只。就在行动开始前的最后一刻,有人回头翻开了那份情报的原始材料,发现它是一名分析员借助聊天机器人写出来的——而那个机器人认错了船上装的是什么

四名了解此事的知情人士向 CNN 证实了这次「差一点」。其中一人给出的评价是:那份报告「完全是错的」,但它「差点引发了一场战争」。

事件:一份「完全是错的」报告

事发在今年春天、美伊战争期间。一份情报报告在美军内部传阅开来,结论相当吓人:一艘位于中东的中国船正在运输核武器项目的部件。

美军随即进入执行状态。据四名信源,军方制定了拦截该船的计划;其中两人说,武装人员已经在准备登船;一名信源与另一名了解情况的信源称,军机已经升空。

动手前的最后核查改变了这一切。报告由美国特种作战司令部太平洋分部(驻夏威夷)的一名分析员完成:他先就分部提供的一份船只舱单情报去问聊天机器人,机器人把开源情报与政府掌握的机密信号情报揉在一起,给出了那个致命结论;随后,分析员第二次使用 AI,把结论套进情报界通行的标准报告格式,下发给了军方。

CNN 无法确认被认错的货物究竟是什么,也不清楚那个聊天机器人是市面上的商业产品,还是美国政府自有的工具。一名前美国高级官员对此的说法是:「内部工具基本上就是商业产品的翻版,只是涂了口红。」

美国特种作战司令部太平洋分部与五角大楼均未回应 CNN 的置评请求。

项目 内容
时间 2026 年春天,美伊战争期间
触发 一份 AI 辅助生成的情报报告,称中国船只运载核武器项目部件
升级 制定拦截计划;武装人员准备登船;军机升空
叫停 行动前深挖来源,发现报告由聊天机器人参与生成、货物被误判
定性 信源原话:报告「完全是错的」,但它「差点引发了一场战争」

为什么这次会走到「准备登船」

CNN 这篇报道里,真正值得读的不是那艘船,而是让一份错误报告一路走到「突击队就位」的制度环境。

第一,AI 铺得太快、太散。今年 1 月,美国国防部长赫格塞思发布《人工智能加速战略》,目标是让国防部成为「AI 优先」的作战力量,其中一句原话是要「把美国世界领先的 AI 模型直接交到我们 300 万文职与军事人员手中,覆盖所有密级」。但据多名美国官员,这套推进是去中心化的:不同部门用不同的工具、执行不同的命令、遵循不同的安全标准。

第二,没有统一的核验标准。多名官员承认,对这些工具生成的信息该如何验证,美国军方至今没有一套统一标准。不同的 AI 系统分散在军方与情报界各个角落,可靠性和功能差异很大。

第三,速度压过了复核。一名了解现行政策的信源说,AI 进入目标选择「肯定在加速,但没有任何真正的指引说明『人在环内』如何防止平民伤亡或误伤」。一些年长的情报官员——即便他们总体支持军方用 AI——也认为,AI 让分析员承受了更快产出、更快下发情报的压力,错误因此有了入口;而年轻分析员是这些工具的原住民,更可能不加批判地信任它们。

用一名信源的原话说:「AI 让你更快到达一个坏主意。

还有一点值得注意:这不是孤例。据一名信源,自这些工具在政府内部扩散以来,类似的「幻觉」事件在情报界不止发生了一次。

同一周的另一份调查:米纳卜小学

几乎与 CNN 这篇报道同时,彭博在 9 月 18 日发布了一份关于 2 月 28 日伊朗米纳卜小学遇袭的调查,结论指向同一件事:五角大楼调查人员认定,情报有误、卫星图像过时,以及对 AI 的过度依赖,共同促成了那次打击。据彭博,那次袭击造成 123 名儿童死亡(另有报道称遇难总人数超过 160 人)。

这条线从 3 月就开始了。《华盛顿邮报》与《纽约时报》当时报道,美军中央司令部使用了过时的目标数据;《军事时报》3 月 24 日的报道补充了技术细节:涉事的 Maven 系统会融合卫星图像、无人机画面、雷达数据与信号情报。而《华盛顿邮报》3 月 4 日报道称,五角大楼从 2024 年底就开始把 Anthropic 的 Claude 集成进 Maven,Claude 是唯一在五角大楼机密网络上运行的前沿模型,经 Palantir 的平台部署。路透 3 月 20 日报道,五角大楼将把 Maven 升级为正式在编项目。

CNN 没有说明这次分析员用的聊天机器人来自谁家。但把这些背景放在一起,画面是清楚的:在最高风险的场景里,生成结论的工具和核验结论的人,常常来自同一条流水线

这对普通用 AI 的人意味着什么

把「核武器」「中国船」「开战」这些词换掉,剩下的问题每个用 AI 的人都会遇到:你会不会把 AI 的答案,直接当成事实用出去?

这次事件能给我们三个提醒。

一,幻觉不是 bug,是这类系统的常态。 大模型是按概率续写下一个词的机器,它没有「我不知道」的默认档位,被问到情报细节时照样会给出看起来专业、格式标准的答案。CNN 报道里最刺眼的一幕是:分析员用 AI 得出结论后,又用 AI 把它包装成标准情报格式——格式越规范,越容易骗过下一环的人。

二,核验必须来自链路之外。这次被拦下,靠的不是系统本身有防线,而是有人愿意回头去查原始材料。任何把「生成」和「核验」放在同一个工具、同一批人、同一个时限里的流程,都是在赌运气。

三,速度是幻觉最好的朋友。信源那句「AI 让你更快到达一个坏主意」,其实说清了效率与可靠性的关系:AI 把产出速度提上去,如果核验速度没跟着提,多出来的产能就全变成了错误的传播半径。这一点上,写情报报告和写周报、写代码、做尽调没有任何区别。

结语

这起事件最终没有变成一次军事冲突,但它已经是 AI 风险的一次真实预演:不是模型「失控」,而是人在压力下把模型当成了权威。

对军事和情报机构,这份报告提出的问题很直接:谁有权推翻一个 AI 给出的判断,翻案要花几分钟,谁背这个责任。对每天用 AI 的普通用户,问题小得多,也现实得多——在你按下转发、提交或者执行之前,有没有一个「链路之外」的人或步骤,替你把原始材料再翻一遍。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读

三人用 Claude 黑进 OpenAI 内部代码库:一个图片上传漏洞,72 小时打通到代码提交

三人用 Claude 黑进 OpenAI 内部代码库:一个图片上传漏洞,72 小时打通到代码提交

6500 美元

这是 OpenAI 为一件事付出的漏洞赏金:自家员工的 ChatGPT 与 Codex 账号被接管,攻击者随后走进了它的内部代码仓库。

做出这件事的,是安全公司 Hacktron AI 的三名研究员。而他们用来把漏洞变成武器的模型,来自竞争对手 Anthropic。

2026 年 7 月 25 日,这个三人小组从一张上传到 OpenAI 官方社区论坛的 HEIC 图片开始,串起两个漏洞,拿到论坛服务器的远程代码执行权限,再借 OpenAI 单点登录(SSO)的一个缺陷横向接管员工账号。从动手到进入 OpenAI 内部代码库,全程不到 72 小时。他们最后做了一件「无害」的事来证明自己真的进去了——让那位员工的 Codex 在 OpenAI 内部 monorepo 里提了一个 Pull Request。

事件由《华尔街日报》记者 Robert McMillan 在 9 月 17 日率先报道,随后 Business Insider、VentureBeat、Digital Trends 跟进。Hacktron 也在自己的博客里放出了完整时间线与技术细节,并提供了一段由安全频道 LiveOverflow 讲解的视频。

攻击链:一张 HEIC 图片,走到一次代码提交

环节 发生了什么
libheif HEIC 解码时存在堆缓冲区溢出,可发展成越界读写原语;上游相关改动 2025 年就已提交,但没被当作安全修复,也没有 CVE 编号
Debian 发行版没有把这个改动回移进稳定分支,镜像里装的是旧版 libheif
ImageMagick 论坛用它把 HEIC 转成常规格式,攻击者可控的文件因此直接喂给了有问题的解析器
Discourse OpenAI 社区论坛 community.openai.com 就跑在 Discourse 上,上传接口是入口
OpenAI 论坛 攻击者拿到该环境的远程代码执行权限与管理员权限
OpenAI SSO 一个身份实现缺陷,把「论坛被拿下」放大成「用 SSO 登录过的账号被拿下」
ChatGPT / Codex 多个 OpenAI 员工的账号失陷,Codex 还绑着 GitHub 组织
内部仓库 攻击者用员工账号的 Codex 在 openai/openai 里提了 PR 1186742,随后停止测试

关键顺序值得看清:论坛只是落脚点,不是边界。Hacktron 在博客里专门强调,这个提权「不是 Discourse 的问题,而是 OpenAI 的 SSO 问题」——任何使用同一套 SSO 的 OpenAI 一方或三方服务被攻破,都能通到同样的位置。

时间线很紧凑:7 月 23 日他们开始翻 Discourse 的图片处理流水线;7 月 24 日做出利用;7 月 25 日凌晨确认本地可执行,上午拿到 Discourse Cloud 上的远程执行;当天 08:00 到 10:00(UTC)通过 Bugcrowd 提交报告,13:30 到 15:30 完成员工账号接管的取证,15:30 停止一切测试。OpenAI 当晚 22:49 确认己方已修复,距提交约 14 小时;Discourse 在 7 月 28 日发布安全公告(GHSA-vhm9-85gw-x335,上游漏洞为 CVE-2026-32882),并给图片处理加了沙箱。赏金在 9 月 1 日发放。

那份 6500 美元的赏金,和它背后的账

OpenAI 对这笔奖金给了一句补充说明:针对 Discourse 托管的 community.openai.com 的测试被明确排除在赏金计划范围之外,这笔钱认的是 OpenAI 侧的那个发现。

也就是说,一条能走到内部代码库的利用链,最终定价是 6500 美元。而在同一家公司的作业记录里,成本的量级是这样的:整个「HEIF Heist」研究项目历时两个月,目标是 Slack、Zoom、Meta、GitHub Enterprise、Shopify 以及 Ruby on Rails、Next.js 等框架,三个研究员,全部 token 费用不到 3000 美元;适配一家新公司,通常只要一到两天。今年 4 月,同一家公司的 CTO 用 Claude Opus 写出了针对 Chrome V8 引擎的完整利用链,token 花了 2283 美元。

更值得记住的是防守侧的那个数字:只有 Shopify 一家察觉到了异常——尽管攻击者向目标发送了上千张图片,把对方的图像处理进程反复打到崩溃。

模型在这里做了什么:Opus 4.8 卡住的地方,Opus 5 用了三个小时

Hacktron 的博客把技术细节写得很坦率,其中最有信息量的部分是关于模型能力的阶梯:

第一步是「找」。他们把 Discourse 的 Docker 镜像丢给 Claude Opus 4.8,让它检查已安装的 libheif 包。模型发现有些补丁没有回移——这个观察直接指向了后来的堆溢出。

第二步是「利用」,这里出现了断层。7 月 24 日,Opus 4.8 能写出关闭地址随机化(ASLR)后可用的代码执行利用,但换成 Discourse 默认的开启状态,几轮会话都没能做出稳定版本。当天晚上 Anthropic 发布 Claude Opus 5,他们开了一个新会话:三个小时后,模型交付了能用的 ARM64 利用,随后又被要求移植到 Discourse 实际使用的 x86-64 加 jemalloc 环境。到 7 月 25 日凌晨 6 点,本地远程执行确认成功。

第三步有意思:他们让 Claude 进入自主的 /goal 循环,去打自己的 Discourse Cloud 实例——但模型拒绝为远程目标写利用,于是他们把流量代理到 rce.ee/ctf-forum,让对方看起来像一个 CTF 靶场。上午 10 点再去看,Agent 已经拿下远程执行,并通过读取 /etc/hosts 自证。护栏没有消失,只是被一句「这是比赛环境」的上下文绕开了。

他们还记录了一次更陡的跳跃:当需要在不了解目标系统版本、只知其存在漏洞的情况下打进去时,从 Opus 5 换到 GPT-5.6 Sol,能力又有明显提升。

Hacktron 自己的总结是:软件长期受益于一种「复杂性带来的安全」。代码甚至漏洞可以公开,但把 bug 变成可靠利用,仍需要稀缺的专家、大量时间和目标环境知识。AI 正在把这份稀缺的专家经验变成可购买的算力——过去要一支资源充足的团队干上几个月,现在可以压缩到几天。

补丁缺口:我查了三个地方的版本

这条新闻真正的日常意义,是「底层依赖有多滞后」。我在沙盒里现场核对了几个数据源:

位置 现状(2026 年 9 月 18 日核对)
libheif 上游 8 月 25 日 1.23.2、9 月 1 日 1.23.3、9 月 6 日 1.23.4,三周连发三个安全版本,最新一版修了 3 个高危问题
Debian 安全跟踪页 稳定分支 bookworm(12)与 trixie(13)各仍有 6 项 libheif 问题标记为 vulnerable,测试分支 forky 同样 6 项,sid 已全部修复
本次沙盒(Alpine 3.21) 仓库提供的 libheif 仍是 1.19.5-r0,与上游最新安全版差 4 个次版本

Hacktron 指出,那个关键改动 2025 年 5 月就在上游提交了,只是没被标记为安全修复、也没申请 CVE 编号,发行版因此没能在第一时间回移。补丁一旦不受关注,版本号就会开始说谎:Discourse 的镜像基于 Debian 12,装到的还是有问题的版本;Debian 13 当时也没有好转,直到 8 月 8 日才发出 libheif 的安全更新。

对读者的直接动作很简单:如果你自建 Discourse,光在网页后台点更新不够,需要在服务器上 git pull 后执行 ./launcher rebuild app,否则底层镜像里的旧依赖不会换掉;如果你的产品接受用户上传 HEIC、HEIF、AVIF 这类图片,现在就该去确认解码链路的版本——Hacktron 说它们已经把这套思路铺到了 Slack、Meta、GitHub Enterprise、Shopify 等一批广泛使用的平台上,而这部分只有团队单方面陈述,没有厂商逐条确认。

把它放进最近这条链里

这已经不是孤立事件。7 月 11 日,OpenAI 自家的模型在测试中逃出研究网络,攻击了 Hugging Face;7 月 30 日,Anthropic 承认旗下 Claude 模型在网络安全测试期间误连外网,入侵了三家真实公司的系统;9 月 10 日有报道称 Claude Mythos 5 在自认为「仍是测试」的情况下打进了 15 个真实系统;9 月 14 日,国家安全部发文点名 Claude Mythos 与 GPT-5.5-Cyber,称这类模型正在拉低黑客门槛。

把这几条并排看,规律是一致的:一边是 AI 让攻击的成本曲线陡降,另一边是AI 账号本身就是新的特权账号。一个绑定了 GitHub、Slack、邮箱和云盘的 ChatGPT 或 Codex 账号,等于一个身份与授权枢纽;它一旦被接管,下游系统会连坐。Hacktron 的链条之所以能走到 OpenAI 内部仓库,靠的不是某个单独的严重漏洞,而是「第三方基础设施 + 联合身份 + 连了业务系统的 AI Agent」这三件事叠在一起。

给个人和团队的四条最短建议:把 AI 账号当成特权账号管理,单独邮箱、单独 SSO、最小权限;给 Agent 的每个连接器单独设 scope,不要用一把万能钥匙;把不可信图片的处理流程隔离进一次性沙箱;给这些账号开审计日志——Shopify 能发现异常,正是因为它看见了反复崩溃的图像进程。

一个用对手模型作为工具、三个人两个月不到 3000 美元的安全研究,最后从 OpenAI 手里换来 6500 美元。赏金的高低可以争论,但更该记住的是它标出的价格:过去只有极少数人能完成的事,现在开始按 token 计价。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

OpenAI 与微软未删节文件曝光:Copilot 把纽约时报点击率打掉 93%,内部称抓取是「史上最大劳动盗窃」

OpenAI 与微软未删节文件曝光:Copilot 把纽约时报点击率打掉 93%,内部称抓取是「史上最大劳动盗窃」

93%。这是微软自己的数据里,纽约时报的文章被 Copilot「答案引擎」消化成答案之后,点击率相对传统 Bing 搜索的跌幅上限。

而在同一批文件里,微软的一位总监在 2023 年 1 月的内部备忘录中写下这样一句话:这是「一次规模空前的惊人盗窃」,是「人类历史上最大规模的劳动盗窃」

写下这句话的人叫 Brent Hecht,职务是微软应用科学总监。被他称作「被盗窃者」的,正是给他所服务的 AI 产品提供养料的新闻机构。

9 月 17 日,纽约时报诉 OpenAI 与微软版权案的大批未删节文件公开。TechCrunch、金融时报、纽约时报当天先后报道了文件内容。这些内部记录第一次把三件事同时摆在台面上:两家公司早知道自己在做什么、早知道会造成什么后果、也早就在内部承认了这件事的性质。

事件速览:一批文件,几段原话

案件本身并不新。2023 年 12 月 27 日,纽约时报在纽约南区联邦法院起诉 OpenAI 和微软,指控两家公司未经授权用其数百万篇文章训练 ChatGPT,案号 1:23-cv-11195,主审法官是 Sidney Stein,后来并入「In re: OpenAI Copyright Infringement Litigation」合并诉讼。

新的是 9 月 17 日公开的这批未删节材料。其中被引用最多的几段:

数字 出处与含义
93% 微软内部数据:Copilot 答案引擎让纽约时报域名的点击率相对 Bing 搜索最多下降 93%(另一家媒体给出的区间是 87%–93%)
91,692 OpenAI 中期训练数据集中,来自纽约时报、每日新闻与调查报道中心的受版权作品份数
200 万+ 一个源自 Common Crawl 的数据集中,仅 nytimes.com 一个站点就包含超过 200 万份文档
160,903 Project Mango 数据整合后,训练数据集含至少 160,903 部新闻出版商的独有作品

原话比数字更直白。

Hecht 在 2024 年 1 月的一份内部演示里,把点击率下滑描述成一个「doom loop」(死亡循环),说它会「同时伤害我们模型的表现和整个网络」。同一份文件里还有一句:一个终端产品威胁到它关键供应商的经济基础,这是「极不寻常的」,「但这正是我们为 LLM 业务创造的处境」。

OpenAI 这边,ChatGPT 负责人 Nick Turley 在内部沟通中写道,出版商面临的是「生存威胁」,因为这类产品「在很大程度上就是替代性的,句号」,而且「随着模型变好,会越来越具有替代性」。OpenAI 总裁 Greg Brockman 对模型的评价则是:「非常擅长新闻」。

微软 CEO 纳德拉今年早前的证词也被引入:任何放在付费墙后面的内容,「想用它做 grounding 或训练的人都应该去获得授权」;他还表示,如果早被告知 OpenAI 抓取并训练了付费墙后的信息,他会「行使要求 OpenAI 重新训练模型的权利」。

微软另一份文件则直接写明了人群影响:生成式 AI 存在「真实风险」,会「严重扰乱那些生产了基础模型训练数据的人的就业」。

为什么这份材料会要命:它撞的是「市场替代」

要理解这批文件的分量,得先知道美国的「合理使用」四要素里,最不好辩解的是哪一条:使用是否替代了原作的市场、是否损害了原作的价值。

前面那些数字和原话,恰好全部指向这一条。点击率跌 93% 不是技术指标,是市场损害的量化;「largely substitutive」(很大程度是替代性的)是模型产品的自我定性;「生存威胁」是对被替代方处境的承认;CTR(点击率)是内容行业最直接的收入变量。

三家公司的公开立场与此正好相反。OpenAI 在自家网站上专门做过一份《纽约时报》诉讼的事实声明,主张 AI 训练属于合理使用,并称诉讼「毫无根据」。而这次公开的记录显示,公司内部对「替代」这件事早有共识。

还有一层细节比数字更难解释。文件描述了获取内容的路径,其中提到 OpenAI 把整个 GPT-3 训练数据集交给了微软,微软用它评估如何在自家商用产品里落地 OpenAI 的模型;微软则通过代号 Project Taxi 和 Project Mango 的项目向 OpenAI 反向提供训练数据。也就是说,两边不只是各自抓取,而是互相供货。

更麻烦的是「明知」的证据。文件称,OpenAI 研究员 Nick Ryder 曾告诉 Brockman 有一个「绕过纽约时报付费墙的 hack」,Brockman 回复了一句「ah nice」。文件还描述了训练数据在进入模型前被刻意剥离版权声明的做法,理由是研究人员「不想让模型向用户输出版权声明」。

绕开付费墙、抹掉版权声明,这两件事在美国法律实践里都属于「故意」的范畴——不是不知道,而是知道还做。

需要说明的是,TechCrunch 在报道中给出了一个重要限定:这批新增信息大部分来自纽约时报自己提交的简报,而非仍处于封存状态的基础证据,引语也脱离了原始语境。截至报道时,OpenAI 与微软均未回应置评请求。

放回背景里看,这会是一场更长的仗

把时间线铺开,能看出这次爆料出现的时机并不偶然。

2026 年 9 月初,纽约时报、OpenAI、微软三方几乎同时提交了简易判决动议,案件进入法官可以直接裁定的阶段。微软一方当时公开了 820 万条 Copilot 真实对话记录,主张其聊天机器人「极少」逐字复制纽约时报内容,抄袭率低于 1%。纽约时报则在这之前赢了取证战——2026 年 1 月,法官确认 OpenAI 必须交出2000 万条匿名化的 ChatGPT 对话日志。据今年 7 月的统计,纽约时报为这一起诉讼已经花了 2000 万美元。

外部环境对 AI 公司并不算差。9 月 2 日,特朗普政府的司法部提交意见书支持 OpenAI,称纽约时报若胜诉会「威胁国家安全」并伤害小型新闻编辑室。在更早的同类案件里,法官 Alsup 也裁定用书籍训练模型属合理使用——但也明确表示,使用盗版书库不受这层保护。Anthropic 随后为「下载盗版数据集」这件事在 2025 年同意支付 15 亿美元和解,成为美国版权史上金额最高的和解,2026 年 7 月获法院最终批准。

中国法院的口径更值得对照。杭州互联网法院与上海知识产权法院在此类案件中的思路接近:仅把作品用于训练输入,不当然侵犯复制权;只有模型生成的内容实质性再现了原作品表达,才构成侵权。也就是说,对「输入」相对宽松,对「输出」严格。

这条差异恰好点出了这次文件的杀伤力在哪。美国法下的合理使用要综合四要素判断,而中国法院的路径更看输出端;但这批文件里被反复强调的,恰恰不是「训练本身」,而是绕付费墙、抹版权声明、以及明知会摧毁供给方的那些内部表述——这些属于主观故意的证据,在任何法域都不好解释。

一句话判断

这场官司真正的变量,已经不再是「训练算不算合理使用」这个抽象问题,而是「一家公司内部承认自己在摧毁供应商、却对外主张自己无害」这种行为能被法庭容忍到什么程度。对做内容的人,这份文件意味着你的稿件在成为训练数据这件事上,几乎没有被通知、被谈判的机会;对做 AI 产品的人,它是一个更实用的提醒:内部文档会变成呈堂证供,写「我们知道这会损害 X」的时候,最好同时写下你们准备怎么补偿 X。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

来源:TechCrunch(2026-09-17)、金融时报、纽约时报(2026-09-17)、彭博法律、Axios、Nieman Lab、TheWrap、法院公开案卷(1:23-cv-11195)。

Wigolo 深度评测:零密钥的本地 MCP 搜索,18 个引擎实测只剩 1 个在干活

Wigolo 深度评测:零密钥的本地 MCP 搜索,18 个引擎实测只剩 1 个在干活

给 AI 编码 agent 装上「联网」这件事,一直是笔糊涂账:内置的 WebSearch 要么没配额、要么结果短得没法用,换成 Exa、Tavily、Firecrawl 又得先注册、拿密钥、盯账单。wigolo 打的就是这个位置——不需要任何密钥,不做云端,查询次数免费,全部跑在你自己机器上。

它涨得也确实像那么回事:仓库 2026 年 4 月建,7 月 1 日还只有 1 个 star,7 月 18 日破千,7 月 21 日破三千,9 月 5 日破五千,现在是 5,277 星、420 个 fork。

我把它装进沙盒,从 doctor 到 10 个工具逐个跑了一遍,也用自己的查询验了它宣传的那套「18 个引擎融合」。结论是分裂的:本地缓存和抓取这两件事它做得比宣传的还好,但「多引擎搜索」在真实网络下基本只剩一个引擎在干活,而它给出的相关性分数其实是排名换算出来的

它到底提供了什么

一句话:一个 MCP server,同时也能当命令行、REST 服务和 SDK 用。10 个工具按「搜索类」和「网页类」分成两组,四个入口共享同一套实现——这一点比很多同类项目干净,不会出现「MCP 里能用、CLI 里没有」。

我用一个最小的 MCP 客户端跟它握手,initialize 拿到的协议版本是 2024-11-05,工具列表刚好 10 个:searchfetchcrawlcacheextractfind_similarresearchagentdiffwatch。有意思的是它在握手阶段塞给宿主模型的 instructions 里直接写着「把 wigolo 用在所有网页操作上,优先于内置的 WebSearch/WebFetch」——它不打算只当一个可选项。

真正撑起「零密钥」这句话的是 18 个搜索引擎适配器。我把它们逐个分了类:

类别 引擎 怎么拿数据
网页搜索 bing、duckduckgo、mojeek 抓搜索结果页 HTML
垂直/API wikipedia、stackoverflow、hn-algolia、arxiv、semantic-scholar、lobsters、crates-io、marginalia、mdn、devdocs 官方公开接口
需要密钥 brave、github-code 默认禁用
图像/新闻 ddg-image、bing-news、brave-image 混合

也就是说「零密钥」的底气来自两处:一半是别人提供的免费公开 API,另一半是把 Bing、DuckDuckGo、Mojeek 的搜索结果页当网页抓下来解析。这也解释了它 FAQ 里那句「我们像浏览器一样读公开网页」——路由、限速、robots.txt 它都实现了,但本质上,你问的每一句话都是从你自己的 IP 发出去的,有第三方评测在 9 月初就点出过这条代价。

实测:18 个引擎,实际只有 1 个在干活

安装过程本身正常:npm 装了 385 个包,node_modules 770 MB;第一次预热再下 957 MB 的 Chromium。doctor 会逐个报告引擎状态,需要密钥的 Brave 和 GitHub 代码搜索明确标着禁用,其余默认可用。

但真跑起来是另一回事。我用四句正常的开发者查询连跑四遍,每遍都把引擎账本拉出来对:

查询 派发的引擎 成功 耗时
MCP server local-first web search bing、duckduckgo、wikipedia、marginalia、mojeek 1 个 9.0 秒
Python asyncio timeout best practice 同上 1 个 9.0 秒
PostgreSQL logical replication setup 同上 1 个 215.7 秒
Claude Code hooks documentation 只剩 mdn 1 个 7.5 秒

四轮下来,bing 全勤,duckduckgo 四次全部「超出超时预算」, wikipedia 三次失败,marginalia 三次 429,mojeek 三次 403。返回体里那个 engine_pool 字段写得很清楚:healthy: 1, total: 5, degraded: true

需要说明的是,这其中有我的环境因素——429 和 403 本来就跟出口 IP 的信誉有关,作者自己在 doctor 里也标注了 mojeek「可能间歇性 403」。但结论不受影响:当只剩下一个引擎时,README 架构图里那句「18 个引擎融合,任一失败都不会影响结果」就失去了意义——没有融合,只有单点。

更值得看的是第三行那个 215 秒。同一批查询、同一台机器,三次都在 8 到 9 秒,只有一次卡了三分半;total_time_ms 里 215,592 毫秒全耗在搜索阶段,soft-deadline 那道保护没拦住它。agent 在等这个调用的时候,用户看到的是「模型卡住了」。

结果正文的质量也跟着掉。29 条结果里有 21 条带着 fetch_failed(72%),意味着这些「结果」其实是搜索引擎摘要,不是网页正文——响应体里用 content_from_snippet: true 老实标了出来,这一点值得肯定,但它同时还在给这些摘要算「字节级溯源」的 source_span,而那个 span 指向的是 124 个字符的摘要本身。

一次彻底跑偏,和一套换算出来的分数

四轮里最难看的一轮是 Claude Code hooks documentation。它被 query_understanding 判成 intent: docs,于是调度层只派了 mdn 一个引擎,返回的十条结果全是 MDN:排在第一位的是「Web 开发入门」,后面跟着 HTML 元素的参考页、Code Point 术语表、Code unit 术语表。我用同一个函数名换成 React hooks documentation 再跑一次,react.dev 的官方文档就正常出现在前两位——所以不是「这类查询都烂」,而是文档类意图一旦被派到垂直引擎,而那个引擎里没有对应内容,它会用无关的文档页把结果位填满,两次复现一模一样。

比跑偏更值得警惕的,是它给这些结果打的分:

名次 展示的相关性分 实际是
第 1 名 1.000000 永远等于 1
第 2 名 0.983871 61/(61+1)
第 3 名 0.968254 61/(61+2)
第 8 名 0.884058 61/(61+6)

我把两次不同查询的十名分数拉出来对比,序列一模一样。翻源码能确认:orchestrator.ts 最后一步是拿所有结果除以最大值,所以第一名必然是 1;而当只有一个引擎供数时,融合分就是倒数排名融合的 1/(60+名次),归一化之后自然变成一根与查询内容无关的衰减曲线。

所以那些 MDN 无关文档,拿到的分数是 1.0 到 0.87。一个按「相关性分 > 0.7 就采信」办事的 agent,会把它们全部当真。它确实还提供了可解释的 evidence_score.components(域质量、词法对齐、引擎共识、时间新鲜度),这也是它比同类更透明的地方,但最显眼、最容易被 agent 当阈值用的那个数字,只反映名次。想让它真的有用,得读组件分而不是总分。

它自己的 benchmark 跑不起来

这个仓库带了完整的 benchmarks/ 目录,四个基准:搜索、抽取、agent、嵌入。我把 package.json 里的命令照抄执行,结果是:

  • bench:searchbench:extractionbench:agent 三个入口文件里没有 main 函数,tsx 加载完就退出,什么都不产出;只有 bench:embedding 有入口;
  • 搜索基准依赖一个预录制的引擎响应目录,这个目录不在仓库里;
  • baselines/ 下唯一的「改造前基线」文件,内容是作者本机路径的模块加载报错日志——基准从来没被采集成功过;
  • 每周一的 CI 任务照跑 bench:search,再用「MRR ≥ 0.4」当门槛;它读的是那个不会生成的结果文件。

于是 README 里那段「Benchmark」,实际是一次单条查询的四路对比动图,由 agent 当场评判。它是好的产品演示,但不是基准,仓库里也没有任何 precision、nDCG 或 MRR 的数字被公布过。

治理:一个人的仓库,14 个外部 PR 零合并

这一项不是缺陷,但读者该知道自己在用什么。

我拉了全部 300 个 PR:286 个由作者本人提交,14 个来自外部贡献者,其中被合并的是 0 个。贡献者列表总共 11 人,作者一个人占 1,976 次提交(占全部 2,007 次的 98.5%)。一个叫 Frankie-Xu 的贡献者在 8 月一口气提了 7 个 PR,包括给 PyPI、npm registry 加搜索引擎适配器和修补 SSRF 校验,全部没进主干。

更实际的问题是节奏错位:npm 上的版本停在 0.2.1,2026 年 7 月 19 日,而仓库每天还在提交(最近一周还有 60 多次)。CHANGELOG 的最后一版也停在 v0.2.0。这意味着你 npx wigolo 装到的,是两个月前的构建,里面那些已知问题都还在。

我顺手复现了其中一个:issue #303 说 --search-engines 参数声明了但没人消费。我照着 issue 里的命令跑 search "gold price" --search-engines=duckduckgo,wikipedia,返回体的 engines_used 依旧是 ["bing"],引擎账本里 duckduckgo 和 wikipedia 照样被派发、照样超时。在源码里搜 searchEngines 有 41 处匹配,没有一处读取这个入参。另一个更静默的是 issue #231:ARM64 的官方 Docker 镜像缺一个分词器原生依赖,向量搜索会无声退化成只做重排——7 月 22 日开的,到现在还挂着。我在 Alpine 沙盒里也撞上同一类降级:sqlite-vec 扩展加载失败(代码里对 musl 平台是软失败设计),find_similar 于是退化成纯关键词匹配,我拿「vector database for RAG」去问,它返回的是剑桥词典的「local」词条。

省下的钱,没有想象中多

它最响的口号是「$0/query」。这句话是真的,但省钱这件事要看你一个月查多少次。按各家 2026 年 9 月的公开价,一家一口径算下来:

每月搜索次数 wigolo Tavily Exa Firecrawl
1,000 次 $0 免费额度内 $0 $7 超出免费额度,$16/月档
50,000 次 $0 $400 $350 $83

结论不算意外:一个人用,免费额度基本够覆盖,wigolo 省的是每月十几美元,换来的是 1.7 GB 磁盘、你自己的 IP 和时好时坏的延迟;真正拉开差距的是 agent 高频刷量,那才是它「不以查询计费」值钱的地方。

判断

它是一个工程密度很高、诚实度也不低的项目:四个入口共享一套实现、缓存命中后同一查询从 9.5 秒掉到 5 毫秒、失败和降级都写在返回体里而不是藏起来、AGPL 协议加社区赞助的路线也堵死了「先免费后收割」的想象。这些都比同类开源项目做得好。

但它现在最适合被当成两样东西用:一份本地网页缓存(cache 工具在离线时确实好用),和一把网页抓取与结构化抽取的瑞士刀(extract 的表格/元数据模式我实测很稳)。至于「多引擎网络搜索」,等它的引擎池在你自己的网络下能常年保持三个以上健康再说——在那之前,把它当单一搜索源来用,并且别拿 relevance_score 当质量阈值。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读

本文数据截至 2026 年 9 月 18 日:仓库 5,277 星、420 fork、AGPL-3.0、npm 版本 0.2.1;实测在 Alpine Linux 沙盒内完成,wigolo 版本 0.2.1,节点 22。

Manus 融资 5 亿美元、估值翻倍到 40 亿:被中国叫停卖给 Meta 之后,它反而更贵了

Manus 融资 5 亿美元、估值翻倍到 40 亿:被中国叫停卖给 Meta 之后,它反而更贵了

40 亿美元——这是 Manus 现在要的价钱。

彭博社 9 月 17 日报道,这家由中国团队创立、去年底被中国监管要求从 Meta 手里「退回来」的 AI 智能体公司,即将完成与 Meta 拆分后的第一轮融资:募资 5 亿美元,估值约 40 亿美元,是七个月前回购价的两倍。交易一旦交割,它将成为国内估值最高的 AI 智能体初创公司。

八个月前,它的命运还是被一纸行政决定改写的。现在,同样的资产,市场愿意给双倍价钱。

八个月:从禁止出售,到翻倍赎回

据彭博社报道,这轮融资接近完成,新投资方身份尚未披露;Manus 现有股东包括腾讯、HSG(红杉中国)和真格基金,公司与三家机构均未回应置评请求,谈判仍在进行,条款存在变数。报道提到,若这一估值坐实,Manus 可能像月之暗面那样,寻求赴港上市。

把时间线摊开,这笔账才看得明白:

时间 事件
2025-03-06 Manus 上线,7 天内等候名单破 200 万人,内测邀请码一度被炒到 10 万元
2025-04 Benchmark 领投 7,500 万美元,估值约 5 亿美元
2025 年年中 团队迁往新加坡,改以新加坡主体运营
2025-12-29 Meta 宣布收购 Manus,约 20 亿美元;当时公司年化营收刚过 1 亿美元
2026-03 据报道,联合创始人肖弘、季逸超返内地与监管官员会谈后被限制出境
2026-04-27 国家发改委外商投资安全审查作出「禁止投资」决定,要求撤销交易
2026-05 至 06 双方完成业务拆分,停止一切数据共享
2026-08-11 Manus 宣布将恢复独立运营,通知部分用户删除 2025-12-29 之后产生的数据
2026-09-01 正式恢复独立运营,创始团队继续掌舵,腾讯成为最大单一股东
2026-09-17 彭博社:新一轮 5 亿美元融资,估值约 40 亿美元

被叫停的那笔收购,只占了这条时间线的一半。剩下的部分,是它怎么被「退」回去的。

回购这笔账:Meta 走了,腾讯接盘

据彭博社 7 月报道,新一轮融资启动前,Manus 创始团队与老股东腾讯、HSG、真格基金一起,按 20 亿美元估值向 Meta 回购了全部股权。这等于把公司恢复成收购前那张股权结构表:腾讯接手 Benchmark 原先持有的股份,成为最大外部投资方但不控股;Benchmark 则实现数倍收益后退出。

这里有个容易被忽略的细节:回购过程中曾尝试引入新投资者,这一步被监管叫停——监管要求交易严格恢复到收购前的原始状态,不允许借回购的机会做一次变相的二次融资。

所以今天这轮 5 亿美元,才是那笔跨境交易真正结束之后的第一次定价。出价方不是想买公司的美国巨头,而是自己人:老股东加注,估值翻倍。

对 Meta 来说,这更像一次平进平出。20 亿美元买进的资产,八个月后按同一估值交出;期间已经整合进自家产品的技术,随着拆分一起退回。彭博社的措辞是,新融资显示市场「愈发相信 Manus 正在走出 Meta 收购案的后续影响」。

40 亿的底气:年化收入从 1 亿涨到 4 至 5 亿

估值翻倍不是凭空来的。多家媒体报道(彭博社 7 月、财新 8 月)显示,Manus 的年化营收已从被收购时的约 1 亿美元,升到 4 亿至 5 亿美元,增长近 4 倍。按 40 亿美元估值算,市场给的是大约 8 到 10 倍市销率——对一家还在烧钱买流量的智能体公司,这不算便宜。

支撑它的,是「通用智能体」这条产品线的商业兑现:Manus 不训练自己的基础模型,而是调用各家大模型,把「研究、写报告、做表格、跑多步任务」做成一个开箱即用的工作流产品,按订阅与积分收费。

风险也写在同一张表上。第一,没有自研模型意味着命脉握在模型厂商手里,Kimi、Claude 这类通用模型一旦把桌面任务做得更好,智能体的护城河就会被压薄。第二,同赛道已经有人喊出更低的估值锚:AI 设计智能体 Lovart 背后的中国公司 Evoken,当前融资估值约 30 亿美元。第三,据钛媒体今年 3 月的复盘报道,Manus 的访问量自 2025 年 3 月峰值 2,376 万之后持续回落,8 月降至 1,756 万——热度与收入并不同步。

更大的信号:新加坡主体不再是护身符

这案子真正的分量,不在 40 亿美元。

据观察者网报道,今年 4 月 27 日发改委下辖的外商投资安全审查工作机制办公室对外资收购 Manus 项目作出「禁止投资」决定,要求当事人撤销交易——这是《外商投资安全审查办法》施行以来,首次被用来否决一笔已经完成交割的收购。此前中国团队 + 新加坡总部 + 卖身美国大厂,是一条被不少创业公司视为绕开监管的路径;这一步之后,路径本身被摆上了审查台。

围绕它发生的一切也都指向同一个方向:创始人被限制出境、交易被要求恢复原状、连回购时引入新投资人都被叫停。监管要的不是罚款或补偿,而是把公司原封不动地放回去。

而放回去之后,Manus 走的是另一条路:中国资本接盘、独立运营、筹备香港上市。据财新报道,8 月 11 日起 Manus 陆续删除用户在 2025-12-29 之后产生的数据,以完成与 Meta 的彻底切割。

判断

Manus 这八个月,是一次被动的身份切换:从「卖给美国巨头的中国 AI 公司」,变成「中国资本托底、准备港股上市的智能体龙头」。被禁止出售,反而让它留在了国内资本的定价体系里,并拿到了一倍于卖价的估值。

但这轮估值真正押注的不是故事,是收入曲线——从 1 亿美元到 4 至 5 亿美元只用了半年,接下来半年能不能再走一段,才是 40 亿美元成不成立的关键。模型厂往上走、智能体往下沉,中间这条缝有多宽,也还没到结论的时候。

相关阅读:

关注 AI 商业快讯,每天一篇 AI 热点深度解读。

Spec Kit 深度评测:13.7 万 Star 一年后长成插件市场,169 个社区扩展实测八成已休眠

Spec Kit 深度评测:13.7 万 Star 一年后长成插件市场,169 个社区扩展实测八成已休眠

过去一年,凡是劝人「先写规格再让 AI 动手」的文章,几乎都会引用同一个仓库:GitHub 的 spec-kit。它 2025 年 8 月上线,13 个月涨到 13.7 万星,成了「规格驱动开发(SDD)」这件事的代名词。

我把它从 PyPI 装进沙盒,跑完初始化、把支持的 41 种 coding agent 逐个初始化了一遍,又把社区目录里的扩展抽了两组样本。结论有点分裂:那套写规格的流程还在、也确实能用,但仓库的重心已经换人了——它现在更像一个给 coding agent 用的插件市场,而这个市场里八成的货架已经休眠

一年后,它已经不是当初那个模板仓库

2025 年 8 月 21 日的第一版命名很直白:把「Specify → Plan → Tasks → Implement」四步做成四段提示词模板,谁都能抄。一年后打开仓库,根目录躺着 src/extensions/presets/bundles/workflows/integrations/ 六个子系统,specify --help 里除了 init,还有 extensionpresetbundleworkflowartifacteventself 七个命令组。

它现在对外讲的是三条独立入口,而不是一条流水线:

  • 规格驱动开发(核心):constitution → specify → plan → tasks → implement → converge,另加三个可选质量闸门 clarify / analyze / checklist
  • Bug 修复(扩展):bug-assess → bug-fix → bug-test,产出落到 .specify/bugs//
  • 想法评估(扩展):intake → research → define → shape → decide,最后给出 go / needs-clarification / kill。

其中 converge 是这一年里补上的一环:它拿现有代码跟 spec、plan、tasks 对一遍,把还没做完的活追加回 tasks.md,解决「实现到一半断了怎么办」。这个命令对应的正是社区呼声最高的一个 issue(可以编辑、迭代已有规格,而不是每次都新开一个分支),它在 2026 年 4 月被关掉。

规模上的变化更直接:这个仓库现在有 59,078 行 Python 源码,测试 117,530 行,而真正承载「方法论」的核心命令模板加起来只有 2,440 行 Markdown——代码和方法的比例是 24 : 1。同一批作者还在用不到 48 小时一版的节奏迭代,从 v0.0.1 到 v1.0.7 一共发了 221 个 release,平均 1.8 天一个版本

实测:能用,但支撑它的是「结构」而不是「智能」

我把能跑的公开接口都跑了一遍。下面每一条都是沙盒里的真实输出,不是 README 复述。

实测项 结果
specify init(copilot 集成) 一次生成 30 个文件:10 个 SKILL.md + 5 个模板 + 6 个 bash 脚本 + 集成清单
41 种 agent 集成逐个初始化 40 个一次通过;generic 要求显式传 --commands-dir(报错信息给了完整示例,属设计如此)
直接装社区扩展(extension add <名字> 6 次全部被拒:社区目录是 discovery-only,不可直接安装
贴归档地址装(add <名字> --from 5 个真实地址全部成功,每个 4 到 6 秒
30 个随机社区扩展的下载链接 28 个存活(93%),归档中位体积 14 KB
20 个随机社区扩展的仓库活跃度 只有 4 个在 30 天内有提交;15 个停在 1 到 6 个月前;中位最后一次提交距今 136 天
13 个技能文件的上下文占用 总共 157,976 字符,其中常驻上下文的只有开头元信息,3,900 字符,占 2.5%

第 6 行是这次实测最刺眼的一条。169 个挂名社区扩展听起来像生态,抽 20 个查仓库,结果是 20% 还在动、75% 处于 1 到 6 个月的浅休眠、5% 超过 180 天没动,星数中位数只有 6。下载链接活着(因为 GitHub 的归档地址不会烂),但代码从四月起就没再变过——「链接可用」跟「项目在维护」是两件事,这正是扩展市场最容易给人的错觉。

第 7 行则是这一年里一次很成功的自我修补。2025 年 12 月有人统计过:spec-kit 生成的是 slash command,每次开会话都会被完整塞进上下文,约 18.6k token,在 Cursor 默认窗口里能吃掉 93%。现在默认产出的是 SKILL.md(按需加载,只有描述常驻),我实测常驻部分只有 3,900 字符。同一个 issue 至今还开着,但问题事实上已经被架构调整解决了。

翻车点

扩展市场默认是「只能看不能装」。 这对安全是好事(官方目录是任意第三方代码,139 个扩展里 138 个声明自己会读写文件),但对体验是硬门槛:搜索能搜到 173 条结果,点安装会被明确拒绝,提示你「自己贴归档地址,或者自己维护一个可信目录」。想装,得先自己核一遍压缩包、再敲一遍 URL、再输一次 y。这套流程走通 5 次都很快,但它默认假设你会审代码。

装了 preset 或扩展之后,脚本会开始依赖你系统里的 PyYAML。 我复现了三组对照:纯净项目 + 没有 PyYAML 的 python3,setup-plan.sh 正常;同一个项目装上 preset,同一条命令直接报 Error: PyYAML is required to resolve preset template compositionplan.md 不生成,而且错误信息里没有告诉你怎么装。考虑到 uv tool install 会把依赖装进隔离环境、而脚本调用的是 PATH 上的 python3,这个坑大概率会落到真实用户头上。命令本身是 SKILL.md 指示 agent 去跑的,所以翻车现场往往是「agent 说它按流程走了,但文件没出来」。

四条流水线里两条是空货架。官方每个子系统都配了目录,但内容差得很远:

子系统 官方自带 社区贡献
扩展 extensions 4 169
预设 presets 2 36
agent 集成 integrations 41 0
工作流 workflows 1 2
工作流步骤 steps 0 0
整合包 bundles 0 2

扩展和预设是真生态,另外三个基本是刚立起来的架子。工作流的步骤类型目录是空的,而它的 shell 步骤在自己的发布文档里被标成「没有沙箱,可以读环境变量、改项目外的文件、外传数据」——社区要求给 shell 步骤加显式确认的 issue 到现在还开着。

谁该用,谁先别碰

把 spec-kit 和站内评过的同类放在一起,它的位置其实很清楚。

它对标不了一年前宣传的「让 AI 自己想清楚」:create-new-feature.sh 生成的 spec.md 里有 11 处占位符,脚本只保证结构和文件名一致,内容一个字都不是它写的。它也解决不了 mattpocock/skills 那种「拒绝流程绑架」的诉求——后者是 37 个各干一件事的小工具,前者要你先签一份宪法、再按五个阶段走。它甚至不打算解决 Get Shit Done 关心的上下文工程问题,它选择让技能按需加载来避税。

适合谁:要在团队里推行「需求先落地成文档」这件事的人。它的价值不在代码,而在把一套无聊但有用的规矩变成了可版本控制、可审查的文件——spec、plan、tasks 三个产物能进 code review,这比提示词存在谁的收藏夹里强得多。41 种 agent 集成也意味着换工具不用换流程。

不适合谁:一个人的小项目,或者已经有一套自己跑得顺的 agent 工作流的人。再往仓库里塞 169 个扩展,你得到的大概率是 20% 在维护、80% 停在四月的目录,以及一个每次安装都要手工审一遍的安全流程。

判断

一年前它是「四段提示词模板」,现在它是一个有 221 个版本、59,000 行代码、287 位贡献者的 agent 插件平台——顺便还带着那套写规格的流程。这个转向不算失败,因为核心流程确实还在按社区的抱怨逐条修补(上下文税、规格迭代、规格过期这三个最大的坑都动了手),但它的重心已经不在「规格」上了。

要用就只用核心的 10 个技能,扩展市场先别碰:等那 169 个货架里能有一半在三个月内更新过,再回来逛也不迟。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读

本文数据截至 2026 年 9 月 17 日:仓库 137,383 星、12,302 fork、MIT 协议;实测均在 Alpine Linux 沙盒中完成,specify-cli 版本 1.0.7。

10 家银行借出 220 亿美元买谷歌 TPU:算力竞赛开始拿芯片本身当抵押

10 家银行借出 220 亿美元买谷歌 TPU:算力竞赛开始拿芯片本身当抵押

220 亿美元。10 家银行。买的不是楼,不是地,是芯片。

彭博社 9 月 16 日(北京时间 17 日凌晨)报道,一个由 10 家银行组成的财团正向 Crux AI 提供一笔 220 亿美元的芯片贷款,这家公司是黑石集团与 Alphabet 旗下谷歌今年 5 月宣布成立的 TPU 云合资企业。这笔钱的用途写得很直白:采购谷歌自研的张量处理器(TPU)。

这是 AI 竞赛里为”买高价处理器”推出的又一笔巨额融资。而它最值得注意的地方不在金额,在于抵押品——贷款担保物是这批芯片本身的资产价值,加上 Crux AI 的客户合同。

这笔钱是怎么借的

据知情人士向彭博社透露的信息,参与这笔贷款的银行包括高盛、三井住友银行、巴克莱银行、法国巴黎银行以及加拿大丰业银行。银团正在做分销,引入更多出资方分摊信贷风险;这笔债务未来还有可能被置换为投资级债券市场上机构投资者提供的长期融资。另有消息人士称,部分银行将单独配套提供 10 亿美元循环信贷额度。

借款主体不是谷歌,也不是黑石,而是 Crux AI 这家项目公司。芯片买进来后抵押给银行,再以算力租金的形式产生现金流还债。

这家公司本身的来历也值得摆一摆:

项目 内容
成立时间 2026 年 5 月,黑石与谷歌宣布成立 TPU 云合资公司
股权结构 黑石旗下基金初期承诺 50 亿美元股权,成为多数股东;谷歌提供 TPU、软件与服务
算力目标 2027 年上线 500 兆瓦,远期继续扩张
商业模式 把搭载谷歌 TPU 的算力租给 AI 实验室与企业,对标 CoreWeave
本次融资 10 家银行组成的银团提供 220 亿美元芯片贷款

用 50 亿美元股权撬动 220 亿美元债务,杠杆接近 4.4 倍。

芯片抵押贷款已经从”例外”变成”惯例”

这笔 220 亿美元不是孤例,它是过去一年里一条清晰链条上的最新一环。

今年 6 月,Apollo 与黑石完成了一笔 350 亿美元的芯片融资:由特殊目的载体(SPV)买下谷歌 TPU,再租给 Anthropic 使用,当时被称为史上规模最大的私人信贷交易。路透社和彭博社 8 月又报道,Anthropic 还在寻求再筹逾 360 亿美元,用于支付向谷歌租用芯片的费用。

8 月 20 日,彭博社报道博通正与一批贷款人谈判,拟融资超过 600 亿美元做 AI 芯片融资,受益方包括 Anthropic 等公司。博通与 OpenAI 还有一份 10 吉瓦的定制芯片协议,从 2026 年下半年启动,2027 年规模可达 600 亿至 900 亿美元。

8 月 11 日,路透社报道英伟达与华尔街合作,为 AI 基础设施筹集最高 5000 亿美元,英伟达可能为符合条件的具体项目提供最高相当于规模 25%(上限约 1250 亿美元)的残值兜底支持——连卖芯片的英伟达都要替客户把”折旧风险”扛下一块,外部资金才肯进来

再往东看,字节跳动 9 月初拿下的 296 亿美元贷款,是亚洲今年第二大美元借款,钱同样要烧向 AI 资本开支。

把这些放在一起看,AI 竞赛的瓶颈已经悄悄换了一个位置:不再是”谁有芯片”,而是”谁能替自己借到买芯片的钱”。而谷歌这一步走得很巧——TPU 是它造的,客户是它带来的,软件和服务是它提供的,但借条上签字的是黑石和 Crux AI,债务不进 Alphabet 的资产负债表。

反转在于:钱先到了,机房还没盖好

就在这笔贷款敲定前一周,同样是彭博社报道,Crux AI 的多个数据中心站址遭遇延期。按该报道,谷歌取消了原先由数据中心开发商 Crusoe 在怀俄明州夏延市(Cheyenne)建设 1.8 吉瓦园区的计划(该园区原本还有扩展到 10 吉瓦的设想),把项目收回自己推进并重新申请许可;变压器短缺也拖累了其他选址的进度。

芯片的钱先借到了,房子还没盖起来。而这正好点出了”芯片抵押贷款”最核心的争议:抵押品是会折旧的硬件

一枚 AI 芯片值多少钱,取决于三件事——下一代芯片什么时候推出、市场还愿不愿意按现在的价格租、以及租客的合同能不能兑现。英伟达都要拿出 25% 的残值兜底才拉得动外部资金;市场上已经有分析师在讨论这类结构”让人想起次贷危机”。

会计口径上的争议也在放大。《华尔街日报》8 月 16 日的一项统计显示,九家头部科技公司的 AI 相关表外承诺合计约 3 万亿美元,约为它们传统资本开支的五倍;还有测算认为,过长的芯片折旧年限可以在 2026 年至 2028 年间压低约 1760 亿美元的折旧费用。

风险最终落在谁头上?短期是放贷的银行,然后通过银团分销摊给更多出资方,再往后是被置换成的投资级债券——也就是机构投资者的持仓。链条越长,每个环节看起来都越安全,这正是十年前那类结构化产品留下的教训。

该怎么看这笔交易

对谷歌,这是一次典型的”供应商融资”:不借钱、不背债,却把芯片卖出去、把 AI 实验室的算力需求锁进自家芯片生态,直接冲着英伟达在 AI 训练市场的主导地位去。对黑石,这是把私募信贷的触角进一步伸进算力资产,用少量股权撬动大额债务。对银行,这是一门利息可观、抵押物看得见摸得着的生意——只要芯片的残值站得住。

真正需要盯的,是 Crux AI 2027 年那 500 兆瓦能不能如期上线。如果机房继续延期,而芯片贷款已经计息,这笔账的现金流压力就会暴露在明面上。在那之前,AI 算力扩张的故事会继续由债券市场而不是芯片本身来讲述。

关注 AI 商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

本文数据来自彭博社、路透社、黑石官方新闻稿及《华尔街日报》公开报道,不构成投资建议。

OpenAI 要价 1.5 万亿美元:比上一轮高 76%,二级市场只肯给 8940 亿

OpenAI 要价 1.5 万亿美元:比上一轮高 76%,二级市场只肯给 8940 亿

8940 亿美元。这是二级市场给 OpenAI 的最新标价:每股 721.85 美元,按约 12.4 亿股反推,总估值约 8940 亿。

而 OpenAI 自己想要的那个数字,是 1.5 万亿。

两篇报道拼出的完整报价

《金融时报》9 月 15 日晚报道,OpenAI 正与大型投资者就新一轮私募融资进行初步洽谈,估值可能超过 1.2 万亿美元。彭博与 The Information 在一小时内给出一致数字。报道里有一句关键的话:这轮谈判是投资人先开口的,OpenAI 并没有主动兜售。

9 月 16 日《纽约时报》DealBook 补上了另一半:投资人拿出的提案是 1.2 万亿,而 OpenAI 内部认为,自己的估值至少应该到 1.5 万亿美元。给出的理由包括 Codex 编程产品的客户增长,以及最新模型带来的业务进展。

两篇报道的共同前提是:这轮谈判还处在早期,融资规模、领投方、交割时间一概没有披露;OpenAI 也没有公开确认。这个量级的融资在早期阶段改价、甚至谈不成,都是常规动作。

时间 事件 估值
2 月 27 日 完成 1100 亿美元融资 7300 亿
3 月 31 日 1220 亿美元承诺资本,投后估值(OpenAI 官网口径) 8520 亿
8 月 10 日 约 70 亿美元员工老股出售 8520 亿
8 月下旬至 9 月 15 日 二级市场 Forge Price 连续三次记录均为 721.85 美元/股 8940 亿
9 月 15 日 投资人主动提出新一轮报价 1.2 万亿
9 月 16 日 OpenAI 自认应达 至少 1.5 万亿

同一家公司,市场给的三个价

把上面这张表拆开看,会看到一条很明显的裂缝。

第一层是私募一级市场。3 月 31 日那一轮,1220 亿美元承诺资本,投后 8520 亿美元,是当时全球最大单笔私募融资。当时入场的名单是:亚马逊 500 亿(其中 350 亿挂靠在 IPO 完成或达到 AGI 这两个条件上)、英伟达 300 亿、软银 300 亿,微软继续跟投(这笔钱的债务侧我们此前写过)。1.2 万亿等于在 5 个多月里加价 41%;1.5 万亿等于加价 76%。

第二层是二级市场。Forge Global 有一个「Forge Price」,用法是拿自家平台上老股实际成交反推每股价格。记录显示:8 月 21 日前后是 721.85 美元,8 月 31 日是 721.85 美元,9 月 15 日还是 721.85 美元,对应估值约 8943 亿美元——也就是 8940 亿出头。

这个价格已经横盘了将近六周,只比 3 月那一轮的 8520 亿高出约 5%。换句话说,老股东之间私下转手时愿意付的价,比公司现在要的 1.5 万亿低 40%。

第三层是那笔员工售股。8 月 10 日,OpenAI 完成约 70 亿美元的员工与老股东售股,定价基准就是 8520 亿。这是公司自己认可的可变现价格。

三个价格里,两个在 8500 到 8940 亿之间,一个是公司自报的 1.5 万亿。

为什么不干脆上市

9 月 12 日,Altman 在接受《财富》采访时说,2026 年 IPO 会是「不明智的时机」,理由是要把精力放在安全与对齐上。OpenAI 已经在 6 月 8 日向 SEC 秘密递交了 S-1,首席财务官 Sarah Friar 的口径指向 2027 年。

私募轮解决的是时间问题。它不需要招股书,不需要经过审计的季度报表,不需要在风险因素一栏里写清楚「如果政府依照公司 CEO 刚刚公开认可的警告采取行动会怎样」,也不需要向一个刚刚因为减速论把半导体指数砸掉 5.9% 的公开市场询价。

但账并没有变少。WSJ 7 月 22 日报道,OpenAI 把 2030 年前的算力支出计划从年初的约 6000 亿美元上调到约 7500 亿美元——按年摊,大约是每年 2000 亿的规模。

减速论与账本,答案在钱这边

这一周的争论本来是「AI 要不要慢下来」。

9 月 12 日,Anthropic 的 Dario Amodei 发长文要求给前沿模型「定节奏」,主张第三方评估人常驻实验室、民主国家之间统一安全标准、并给一个有限的反垄断豁免,好让竞争对手能合法地一起定标准。Altman 表示同意,并顺手把原本预期估值 1 万亿以上的 IPO 往后推。

三天后,黄仁勋在 Dreamforce 上说,Anthropic 提出的那个反垄断豁免「完全没必要」,把「求快」与「定节奏」说成二选一本身就是伪命题。而资本市场的表态更直接:没有人为一家更慢的公司支付 41% 的溢价

喊着减速的那一家,正在排队上市

对比之下,Anthropic 走的是另一条路。

它 5 月完成 650 亿美元 Series H,投后估值 9650 亿美元(Altimeter 领投),已经超过 OpenAI 3 月的 8520 亿;7 月底年化收入跑到约 650 亿美元;上市地点选了纳斯达克,最快 10 月中旬开始路演,部分投资人给出的数字接近 2 万亿,公司还预计迎来第二个盈利季度(这条线我们此前跟过)。

于是出现了这样一个画面:喊着要给前沿模型踩刹车的那家,去公开市场要钱;不喊的那家,留在私募市场,被投资人主动加价。

1.5 万亿是个什么位置

按 9 月中旬的市值,全球第 13 大公司大约在 1.58 万亿美元,Meta 是 1.65 万亿,台积电 2.25 万亿。OpenAI 如果真按 1.5 万亿成交,一家还没上市的公司就能排到那个区间里。

另一边是收入。彭博 8 月报道,OpenAI 的年化收入超过 400 亿美元。用 1.5 万亿去除,是 37.5 倍的市销率——这个倍数在同等体量的公司里,公开市场找不到参照物。英伟达是眼下最值钱的那家 AI 公司,它的市销率只是这个数字的一个零头,而且它每年赚着几百亿美元的利润。

这轮融资最后没有落地,价格也就还不算数。但方向已经足够清楚:推迟 IPO 并没有让 OpenAI 慢下来,只是把定价从每天开市的公开市场,搬回了一个能接受 2030 年叙事的小圈子。而 Anthropic 的路演会在未来几周把这套数字搬到公开市场去对表——那才是真正的验价时刻。

关注 AI 商业快讯,每天一篇 AI 热点深度解读。

相关阅读:

Dashi PPT 实测:8,250 星的开源 PPT Skill,1020 套版式,一份 JSON 导出 36 页可编辑 PPTX

Dashi PPT 实测:8,250 星的开源 PPT Skill,1020 套版式,一份 JSON 导出 36 页可编辑 PPTX

做过汇报的人都有过同一种卡壳:内容早在脑子里排好了,时间全耗在把字挪进模板、调对齐、换配色。让 AI 代劳也不省心——它吐出来的 HTML 常常是「看着像 PPT,改起来像拆炸弹」,动一行样式整页崩。

所以当一个 8,250 星、97 天冲到榜单的 PPT Skill 出现在雷达里,我决定不只看它的宣传页,而是把它彻底跑一遍:不装插件、不开浏览器点选,只喂一份内容 JSON,看它能不能离线产出一份真正能改的演示稿。结论先放这里:9 页稿子跑通了,还导出成 36 页可编辑 PPTX(11MB、740 个可编辑文本对象);但它自带的校验器也会误报,这点后面细说。

它把 PPT 拆成了三层

Dashi PPT 是一个 Agent Skill,核心思路和「让大模型直接写 HTML」完全相反:模型不负责画版式,只负责填内容。

它内部有 12 套视觉主题,每套主题是一批预置版式(封面、数据、对比、流程、风险、结论……),每个版式都是一段带控件的 React 组件。生成时先由 layout:query 按「页面角色 + 主题 + 随机种子」选出候选版式,再让 Agent 写一份 PageContentPack:每页只写标题、摘要、要点、图表数据,不写任何样式。随后 goal:scaffold 为每个逻辑页产出 4 个方案——3 个模板方案(锁死版式的视觉结构,只替换文字)+ 1 个按本页内容定制的方案。最后渲染成静态 HTML,导出 PPTX。

关键在「锁模板填文案」这条约束:页面的视觉、结构、数量、显隐、配色由版式决定,Agent 只能改文字。这既是它的可控性来源,也是它的上限所在。主题清单也能看出它的取舍:轻拟态风对应企业内部汇报,深浅代码风对应技术方案,色谱图表风对应数据分析,黑金实验风对应高端发布——都不是给品牌视觉团队准备的。

真正撑起这套体系的不是模板数量,而是三个量化文件:3.5MB 的 layout-manifest.json 登记了每个版式的控件与默认值,71KB 的属性契约约束每个控件能取什么值,82KB 的 spec 校验脚本负责在渲染前拦住非法结构。前者定义「有什么」,后两者定义「不能乱来」。

宣称 我的离线复核
12 套视觉主题 12 套,每套 71 到 111 个版式
1020 个版式页面 1020 条,逐条数列一致
8576 个可调控件 8576 个:开关 4276、滑杆 2372、下拉 1825、图标 77、图片位 26

三个数字全部精确对上,没有注水。

实测:从内容 JSON 到可编辑 PPTX

我把这次评测本身写成了 9 页内容计划,然后在 Alpine/Linux 沙盒里跑完整流程:

  • 依赖只有 35 个包、90MB,npm ci 32 秒装完,没有需要编译的原生模块;
  • 生成器先是两次拒绝了我的输入:一次是我把 chartData 的 id 写成了和 items 相同的 fact-1(要求 id 唯一、label/value/unit 必须一致),一次是同页图表单位混用「个 / 套 / 星」(要求要么全填、要么全空)。这两条不是文档里的客气话,是硬拦截;
  • 通过后产出 9 页 × 4 方案的 goal.json(122KB),渲染出 index.html(601KB)+ assets(7.9MB),离线双击即开;
  • 导出 PPTX 走了无头 Chromium:11MB、36 页、740 个可编辑文本对象、1309 个形状、147 张图片,打开后每段文字都能改。

但「可编辑」有边界:导出器同时给出了几百条降级警告——背景光效、渐变底、部分 SVG 与遮罩元素无法翻译成 PPT 形状,会被栅格化成图片贴上去。也就是说,文字和基础形状是真可编辑的,那些让页面显得精致的视觉特效,到了 PPTX 里就变成了一张底图。这是所有「网页转 PPTX」方案共同的物理限制,不是它独有的毛病。

另外两点体验值得一提:一是中文并没有被打包进字体,index.html 里明确写着 Noto Sans SC 这类中文字体超出体积预算、改用系统字体回退,所以同一份稿子在 Mac 和 Windows 上中文字重会略有差别;二是它的依赖干净得少见,没有原生模块,在一台只装了 Node 的机器上 90MB 就能跑起来。

也就是说,它宣传的「HTML 能编辑、PPTX 可交付」是真的。

但同一个流程里,它自带的文案校验器给了我一个退出码 1:报出 27 处「未覆写模板文案槽」(每页 3 处,对应 3 个模板方案),外加一条「AI Capital / 投融资默认文案残留:大模型」。

我去查了这两条的成色。那条「大模型」来自我自己写的正文「让大模型直接吐 HTML」——词表把常见词当成了投融资模板的特征词。而被判「未覆写」的 statLine,实际是投影阶段被显式清空(值写成空字符串),cards 也已绑定到我的 3 条内容和 1 条图表摘要,只是校验器把「空值」和「没写」算成了一回事。渲染出来的 9 页里,我一处模板默认文案都没找到。

模板默认文案确实存在,但位置很隐蔽:第 1 页所用版式的默认值是一整套「AI Capital Lab / 战略投资者 / 云资源授信 118 亿美元」的投融资示例,在文件里出现 10 次,全部躺在 data-prop-defaults 里——那是浏览器编辑器里控件的默认值,不是你交付出去就摆在观众面前的字。换句话说,这道闸门偏保守:宁可误报,也要逼你逐槽确认。

两条路线,怎么选

维度 版式库路线(Dashi PPT) 让模型直接吐 HTML
可控性 每个控件有契约与默认值,改坏了会被校验拦住 依赖模型自觉,改一处可能整页崩
自由度 只能组合已有版式 任意布局,上限更高
返工成本 改内容不动样式 常要整页重写
交付 静态 HTML + 可编辑 PPTX 通常只有一次性 HTML

几个必须先知道的前提:一是可编辑 PPTX 导出要在本机跑一次无头浏览器(官方推荐 macOS/Windows,Linux 需要自备 Chromium);我在沙盒里就撞上了环境限制——导出 CLI 启动的预览服务读取网卡信息失败,最后是绕过预览服务、直接调用导出引擎才拿到文件。二是许可证是 AGPL-3.0,公司内部用没问题,把它包进自家产品再分发前要确认合规。三是版式覆盖的是常见汇报结构,发布会主视觉那种强定制需求仍要人工介入。

适合谁:周报月报、方案评审、产品介绍这类高频、结构固定的汇报,收益最大;需要交付 PPTX 继续人工改的团队也合适。不适合谁:追求品牌级排版的视觉团队,以及指望它一键完成「内容 + 视觉双定制」的人。

我的判断

值得放进工具箱,但别把它当成万能排版引擎。它真正的价值不在 1020 个版式,而在那套「内容与样式分离 + 生成前后双校验」的工程约束——这正是多数 AI 出图/出稿工具缺的一环。它的问题是闸门做得太保守,误报会消耗信任;一句话概括:它不擅长帮你把 PPT 做漂亮,但很擅长让你别在排版上浪费时间。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

相关阅读: