包含关键字 typecho 的文章

自从 AI 能写代码后,GitHub 上的项目就真的是百花齐放了,不仅有底层的推理框架,更多的是能够解决具体业务痛点、具备完整工作流的成熟项目。

这里精选了 8 款近期我关注到的硬核工具,各有各的侧重点。

NitroGen:像人一样看屏幕玩游戏

image.png

这个项目厉害了,与那些读取内存数据的传统脚本不同,NitroGen 是纯视觉流派,它模拟人类玩家,直接看屏幕像素,然后预测手柄操作。

它在海量游戏视频上训练过,泛化能力很强,哪怕是它没见过的游戏,稍作微调也能上手。

  • 避坑指南:唯一不好的,就是它对环境很挑剔。模型推理得部署在 Linux 上,但游戏本体通常得跑在 Windows 上,跑起来需要点耐心(Python 3.12+ 是必须的)。

NocoBase:把 AI 变成企业的正式员工

image.png

如果你觉得现在的 AI 只是个聊天窗口,那你就out了。

市面上的低代码平台,大多只是在角落里挂个 AI 对话框,充其量算个智能客服。但看看人家 NocoBase,把 AI 深度集成进业务逻辑里的。

在这里,AI 拥有系统角色权限。

它能直接读取数据库表头,看懂界面配置。比如可以设定一个工作流:让 AI 读取历史订单,自动判断并生成一份合规性报告。 这比写死 If/Else 规则灵活太多了。

  • 运行环境:典型的重型业务系统,需要 Node.js 20+,并且必须配置好 MySQL 或 PostgreSQL 数据库才能跑起来。

Mastra:TypeScript 党的 Agent 框架

image.png

在 Python 统治 AI 的当下,JS/TS 开发者就像是二等公民。想写个 Agent?先去学 pip 和 conda 吧。

Mastra 不信这个邪,它不仅是一个库,更是一套完整的 Agent 基础设施。我觉得它最厉害的是记忆管理机制 解决了 Agent 容易断片的问题,特别适合构建那种需要多步推理的长链路应用。

  • 适用场景:高并发的 Web 端 AI 应用,基于 Node.js 环境。

LangChain:大模型应用的万能胶水

image.png

这个不用多介绍,现在基本是 LLM 开发的事实标准。虽然有人吐槽它越来越臃肿,但想把 PDF、SQL 数据库、Google 搜索和模型串联起来做 RAG,它依然是效率最高的,真让人又爱又恨。

  • 环境注意:虽然支持多语言,但 Python 版依然是功能最全的。不过它的版本更新极快,旧代码经常跑不通,环境维护是个大坑。

  FlashPortrait:死磕人像细节

image.png

既然有了 Midjourney,为什么还要这个?

这是一个专注于 CV 的垂类工具。不同于 Midjourney 那种天马行空,FlashPortrait 专注于高保真的人像重建和编辑。如果对画质、面部特征的还原度有像素级的强迫症,选它准没错。

  • 硬件门槛:想跑这个?准备好 Python环境、PyTorch 框架和 CUDA 吧,烧显卡呀。

Fission-AI OpenSpec:AI 员工打架了怎么办?

image.png

当你的系统里只有一个 AI 时,它是神。当你有十个 AI Agent 时,它们就是一群没头苍蝇。

谁先调用工具?输出的格式谁来定?

Fission-AI 专门解决这个工程化难题,它能生成和校验接口规范,确保不同的 AI 服务不会鸡同鸭讲。

  • 技术栈:利用 Node.js 20+ 的异步能力来处理大量的规范解析。

Minimax M2.1:逻辑推理的大脑

image.png

在处理长文本和复杂逻辑分析时,M2.1 是目前的佼佼者。社区里很多项目其实都是在套它的壳或者 SDK。如果你需要处理数万字的文档摘要,或者做深度逻辑分析,接入它是个好选择。

  • 开发习惯:做 API 调用和数据清洗,Python 依然是主流。

Cloudflare Telescope:给网页做全身 CT

image.png

开发最怕听到的一句话就是:“网站打不开”。你打开 Chrome 一看,秒开。问题出在哪儿呢?

而 Telescope 就是解决这些的。它底层利用 Playwright 驱动 Chrome、Safari 或 Firefox 去实际加载网页。它不光是测速,而是像黑匣子一样记录所有数据:从网络请求的 HAR 文件、控制台报错(Console Log),到页面加载全过程的高清录屏和逐帧胶卷图(Filmstrip)。 甚至,还可以用它模拟 3G网络或禁用 JS 的环境,来看看你的网页会不会崩。

  • 部署建议:注意了,它除了依赖 Node.js 和 Playwright,必须在系统级安装 ffmpeg用于处理视频数据,否则是跑不起来的。

工具是真的强,但环境也是真的乱。

我要跑 NitroGen,得切到 Python 3.12;转头搞 NocoBase,又得装 Node.js 20 和 MySQL

我有大半的时间不是在写代码,而是在和报错日志互喷,试图搞清楚为什么我的端口又被占用了。在同一台机器上,手动管理这些跨语言、跨版本的环境,就是在埋雷。

为了从这堆烂摊子里解脱出来,我推荐试试 ServBay。无他,唯手熟尔。

ServBay:把环境配置变成一键操作

ServBay 是专为现代 Web 和 AI 开发设计的,主打一个隔离和省事。

  1. 多版本 并行:可以给 NitroGen 跑 Python 3.12,旁边同时跑着 Node.js 20 的 NocoBase,两者互不干扰。
  2. 数据库零配置:跑 NocoBase 这种强依赖数据库的项目,不需要到官网下安装包或写 Dockerfile。在 ServBay 里,点一下鼠标,MySQL 或 PostgreSQL 就起动了,依赖关系自动搞定。
  3. 统一管理:不管是 pip 包管理还是 npm,都在一个界面里操作,清清爽爽。

image.png

工具的价值在于使用,而不是配置。不要让小问题困住你的大创意。

盘点在 AI 加速交付预期下,需求高、竞争相对低的 6 个自由职业细分方向,并解释为什么它们更偏“运营/落地”,以及如何快速拿到第一个客户。原文:6 Freelance Niches Exploding Thanks to AI in 2026

客户不再问“你能不能做”,而是问“你多久能交付”。这种变化背后,是 AI 把很多原本需要几周的工作,压缩成几天甚至几个小时就能完成。

团队预算并没有消失,只是流向了会用工具、而不是害怕工具的人。理解这一点的自由职业者正在悄悄增加收入;其他人则还在社交媒体上争论 AI 是否“邪恶”。

下面是原文认为“钱真正流向哪里”的 6 个方向。

1. 小型企业的 AI 自动化设置

本地小企业正被重复性工作拖垮。

美发沙龙要手动确认预约,房产中介把线索复制粘贴进 CRM(Customer Relationship Management,客户关系管理系统),机构老师需要手动开票。流程混乱而低效,而且他们不喜欢技术。

你要做的,是走过去,把工具连起来。

就这么简单。

不用写代码,没有软件工程,只是把零散的点连成线。

实际做的事情

  • 为网站搭建 AI 聊天机器人
  • 自动捕获线索 → 邮件 → CRM
  • 预约提醒
  • 表单提交后自动跟进

使用的工具

  • Zapier / Make
  • ChatGPT + OpenAI API
  • 用 Google Sheets 作为“数据库”
  • Calendly
  • WhatsApp 自动化工具

更夸张的是,客户会觉得你是“系统天才”。

你实际上在搭的是类似这样的逻辑流(logic flow):

IF 收到新表单提交  
THEN 发送 WhatsApp 消息  
AND 添加到 CRM  
AND 通知销售代表

这不是编程,这更像是给成年人玩的乐高积木。

常见问题是:“如果 AI 工具连这些也替代了怎么办?”

AI 不会替代“落地实施”,老板们不想看仪表盘,他们想要结果,总得有人把混乱的业务翻译成结构化的工作流。

而那个人就是你。

2. AI 内容再利用专家

内容创作者生产长内容:播客、线上研讨会、YouTube 视频。

但注意力呢?就像金鱼一样短暂。

所以,一段 40 分钟的视频,需要被拆成:

  • 8 个短视频片段
  • 2–3 条 LinkedIn 帖子
  • 5–6 条 Twitter 和 Instagram 的 Threads
  • 2–3 封商务邮件
  • 4–5 篇博客文章

这就是你介入的位置。

你不是“写手”,而是内容倍增器。

流程如下

  1. 把字幕文稿上传 AI
  2. 提取关键信息
  3. 为不同平台重新表达
  4. 加入人性化的语气、示例和钩子

为什么?

因为瓶颈是时间,不是想法。

“AI 不能自动做这个吗?”

AI 的原始输出很寡淡 —— 没有声音、没有上下文、没有平台细节。总得有人去塑形:选角度、注入个性、去掉尴尬。

AI 负责起草,你负责收尾。

差别很大。

3. 业务团队提示工程

“提示工程”(Prompt Engineering)这个词听起来确实有点尴尬。

但仍然能挣钱。

企业在买 AI 工具……但员工用它就像用搜索引擎一样,浪费资源。

所以他们会请人来做:

  • 搭建提示词库(prompt libraries)
  • 搭建内部 AI 工作流
  • 培训团队拿到可用输出

你不是在教理论,你是在做“打法手册”(playbooks)。

比如:

扮演SaaS入职专家。
重写这封支持邮件,减少流失率并提升清晰度。

或者:

分析这条客户反馈,并将投诉分组归类,提出建议的解决方案。

当你变成他们的“AI 流程负责人”,就可能收取长期顾问费用。

有人可能会问:“我需要很强的技术吗?”

不需要,你需要的是模式识别、语言清晰度、业务理解。

这是一种“用软技能伪装成技术”的工作 —— 这就是诀窍。

参考:ChatGPT 技巧与人工智能策略

4. 咨询机构的 AI 辅助研究

咨询机构正在承受更快交付策略的压力。

市场研究过去要几周,现在客户希望几天就有策略演示。

你可以成为他们的“研究引擎”。

你会做:

  • 竞品分析
  • 行业总结
  • 从报告里提炼趋势
  • 把洞察结构化成幻灯片

AI 让“挖资料”更快,你负责“思考”。

这个方向的付费更好,因为离“策略”更近。

而且咨询机构不想招全职研究员,他们更需要“灵活火力”。

5. AI 工作流程文档与 SOP 创建

这一条听起来很无聊,但“很赚钱”。

公司引入 AI 工具……然后没人知道流程怎么跑、该怎么用。

你进来做这些:

  • SOP(Standard Operating Procedure,标准作业流程)
  • 流程文档(process docs)
  • 录屏讲解
  • 内部知识库

你把混乱翻译成清晰。

AI 帮你生成基础文档,你负责组织、简化、结构化。

做得好的自由职业者会把它打包成:

“AI 流程优化 + 文档化服务”

这比“我写 SOP”更好卖。

6. AI 驱动的广告创意测试

广告代理正在用 AI 测试大量的钩子、角度、脚本。

他们需要有人来:

  • 批量生成变体
  • 分析表现数据
  • 迭代文案与信息传达
  • 把洞察反馈到提示词里

这份工作一部分像文案,一部分像读数据。

你也可以从 Meta Ads Library 获取灵感。

绩效营销(performance marketing)喜欢它,因为速度 = 更多实验 = 更好的 ROAS(Return On Ad Spend,广告支出回报)。

为什么这些细分赛道有效(而大多数自由职业者忽视了)

这些方向不是“创意型”的,而是“运营/落地型”。

问题很无聊,但钱很真实。

自由职业者常追逐品牌、logo、视觉;企业愿意付费买的是:

  • 节省的时间
  • 降低的成本
  • 增加的线索
  • 减少的错误

AI 只是引擎,你是修理工。

如何快速获得第一个客户

不要复杂的漏斗。

这样做:

  1. 从上面选一个细分方向
  2. 做一个案例,可以是假的/虚构的
  3. 展示优化前/后的工作流
  4. 私信 30 家企业

消息模板类似这样:

我注意到你们还在手动处理预约,我可以用 AI 工具自动化提醒和跟进,通常每月能省 8–12 小时。想要我简单演示一下吗?

你卖的不是工具,是把时间卖回给他们。

时间是有情绪价值的,所以这招有效。

你应该学习的工具

  • ChatGPT
  • Claude 或 Gemini(用于研究对比)
  • Zapier / Make
  • Notion AI
  • Descript(用于内容再加工/复用)
  • Canva 的 AI 工具

不需要一大堆工具,只需要深入研究 5 个工具。

真正的恐惧是

人们不是真的害怕 AI 会替代他们。

他们害怕的是:自己用不好、看起来很蠢。

这也是企业会雇自由职业者的原因:他们不想在公开场合摸索试错,而你是“安全的中间层”。

AI 没有扼杀自由职业,扼杀的是“平均水平的自由职业”。

如果你把自己定位成“把 AI 连接到收入”的人,你就获得了先机,而越早就越挣钱。

选一个细分方向,搭一个工作流,卖结果而不是卖工具。

这就是 2026 年的游戏。


Hi,我是俞凡,一名兼具技术深度与管理视野的技术管理者。曾就职于 Motorola,现任职于 Mavenir,多年带领技术团队,聚焦后端架构与云原生,持续关注 AI 等前沿方向,也关注人的成长,笃信持续学习的力量。在这里,我会分享技术实践与思考。欢迎关注公众号「DeepNoMind」,星标不迷路。也欢迎访问独立站 www.DeepNoMind.com,一起交流成长。

本文由mdnice多平台发布

之前没开盾,服务稳定性确实差点意思。按理说自研的 Golang 网关内存占用极低,不该如此,但这波服务抖动,属实让我这个十多年的后端老兵“开了眼”。

紧接着 TG 群里不断有佬反馈服务不可用,当机立断:开盾、部署 NewApi 、迁移新域名,一气呵成。

刚刚迁移完在 CF 上配置 301 跳转时,扫了一眼后台数据:竟然有4000 多 UV ,160 万次请求! 对于一个注册没几天的小站来说,这波流量真的“难顶”。

但转念一想,这不就是传说中的“泼天富贵”吗?既然抗住了,就要稳稳接住!

话不多说,直接送兑换码庆祝一下:

  • 🧧 首批福利:10 个 $10 兑换码(直接放出)

  • 🎉 盖楼福利: 每逢 10 层( 10 、20...),送一个 $15 兑换码

  • 🚀 大额福利: 每逢 50 层( 50 、100...),送一个 $20 兑换码

另外马上要春节假期了,假期是超赞的 vibe coding time ,我将会在所有评论中随机抽取 3 名 V 友各赠送 $50 的兑换码。

目前网站仅支持 Github 登录,签到、邀请功能全开,各位佬懂得。

我在 AI 应用方面涉猎较广,欢迎进TG 群一起切磋交流。

(网址就不重复发了,麻烦移步我的历史帖子,旧链接已做 301 无缝跳转新站)

ff2d2ae75a7c478989d09642dcd3a2c7
10f2163fb32942e4ab21ec922076e32d
e97c5a0ad5264fe1b1922bcbf462eba4
8d008cc1f78140d0abb31b8805fb71df
af3ca76941064eb2b53efb00e2de524e
f4a01b484c4a4df5a142165f465703ec
4d0ac0bcb1f9415685e9b51ad69abfef
d62c0647ca4e406081d86b3e9ee31018
e1c0d13c2f884b10b7024e926b6f1e77
c3eb0a7294f443d19d8ed870321d487c

App Store 下载地址

https://apps.apple.com/app/id6758535659

App 想法和介绍

很多时候,一个人面临一些特定的场景,会有很多吐槽。

但是发表可能会引起对方不满甚至反击,不发表又有点内耗。

这个 App ,就是允许用户在本地发表自己的看法。然后一键“烧”了。

我不觉得这是精神胜利法或者怎么样,只是人很多时候还是需要一个压力释放的地方。

至少我自己觉得能解决不少问题。

应用是免费下载,内购解锁,定价是 0.99 美金的买断制。差别就是一天烧三次还是每天无限次数使用♾️。

App 的 AI 成分

是前几天用 Codex 做了四天做的。

接下来的计划

约了一个画师制作篝火的全新设计和对应动画,但是要等到三月份才能见了。

内购限免时间

2026/01/10 - 2026/01/18 ,在这里祝大家新春快乐,这个就当作是新春礼物了🧨

具身智能蓬勃发展的当下,具有泛化性的具身能力至关重要。为了追求这个终极目标,业界发展出了两条技术路线。一条路线从机器人末端动作输出入手,发展出可以直接操作物理世界的 VLA 模型。但是 VLA 模型由于其数据稀缺性无法实现泛化。因此有了第二条路线,从本身拥有泛化能力的 VLM 入手,加速 VLM 从数字世界迈向物理世界。我们将在此路线上探索的模型称之为具身基础模型。

诚然,已经有一些研究开始了对具身基础模型的初步探索。例如,RoboBrain 系列模型在单个视觉语言模型中统一了理解、定位和规划,以促进复杂的具身任务。Robix 模型为任务执行期间更自然的人机交互做出了贡献。 然而,这些当前的具身基础模型动态认知受限,且普遍存在物理幻觉,难以适应人形机器人上的复杂任务。

主页:https://alibaba-damo-academy.github.io/RynnBrain.github.io/

简介

我们提出了 RynnBrain,首个可移动操作的具身基础模型。其具有以下三个关键要点:

(1)时空记忆:RynnBrain 能够在其完整的历史记忆中定位物体、目标区域,甚至预测运动轨迹,从而赋予机器人全局时空回溯能力。

(2)物理空间推理:不同于传统的纯文本推理范式,RynnBrain 采用文本与空间定位交错进行的推理策略,确保其推理过程紧密扎根于物理环境。大大减弱了具身任务中的幻觉问题。

(3)良好的可拓展性:我们在 RynnBrain 基础模型上微调了视觉语言导航和精准操作规划模型,效果轻松实现 SOTA。

通过完备的实验,RynnBrain 在 16 项具身任务 Benchmark 上全面超越了 Cosmos Reason 2 和 Gemini Robotics ER 1.5 等强大模型实现了 SOTA,并且在 8 项域外 Benchmark 上验证了超越其他具身基础模型的通用泛化性。特别的,我们开源了业界首个 MOE 具身基础模型 RynnBrain-30B-A3B,其只需要 3B 的推理激活参数就全面超越了当前规模最大的具身基础模型 Palican-VL-72B。使用我们的 MOE 模型可以让机器人在保持最强大感知和规划能力的基础上拥有更加快速的动作响应和更加丝滑的行为模式。

为推动领域发展,我们同步开源:

✅ 全系列模型(含全尺寸基础模型与后训练专有模型)

✅ 全新评测基准 RynnBrain-Bench(评测时空细粒度具身任务)

✅ 完整的推理与训练代码

RynnBrain 首次实现了“大脑”对物理世界的深度理解与可靠规划,为大小脑分层架构下的通用具身智能迈出关键一步。我们期待它加速 AI 从数字世界走向真实物理场景的落地进程。

RynnBrain 模型体系架构

(1)模型结构

RynnBrain 在 Qwen3-VL 基础上进行训练。 使用自研的 RynnScale 架构对 Dense 模型和 MOE 模型均进行了训练速度的优化,使得在同等资源下训练加速两倍。在输入端 RynnBrain 可以接受任意分辨率的图片、多图和视频输入,满足用户任意形式的视觉输入的需求。同时 RynnBrain 可以输出区域、轨迹、点集、夹爪位姿、文本等多种具身相关模态,从而支持多样化具身任务的执行。

(2)训练优化

RynnBrain 是一款面向高泛化的具身基础模型,使用视频、图像和文本等多模态数据进行训练,覆盖从定位、空间感知等短任务到长篇多模态描述与复杂推理等多种场景。由于样本序列长度差异大且呈长尾分布,直接在数据并行训练中平均分配样本会引发“拖尾效应”,影响整体吞吐。

为此,我们引入在线负载均衡:训练时根据图像大小与文本 token 数预估序列长度,将同一 DP 组内样本统一重分配,使每个 worker 的累计序列长度尽量均衡,并用优先分配长序列的贪心策略在数据预取阶段快速完成,避免训练卡顿且无需额外数据预处理。

同时,由于重分配会造成各 worker 样本数不均,我们采用按样本的损失归约方式,保证训练前后损失一致性与收敛稳定,并显著提升训练效率。

在工程实现上,我们结合 ZeRO、梯度检查点、输出 token 过滤等技术降低显存占用;在更大规模模型中引入 ZeRO-2 与专家并行(EP),并通过优化 MoE 计算与跨卡分发提升吞吐。训练与推理框架基 HuggingFace Transformers,并已开源。

根植于物理世界的时空预训练

要制造出一种能够与周围环境进行自然互动的通用型机器人,需要具备两项基本能力:一、时空记忆:通过历史视觉记忆,机器人必须建立涵盖空间、位置、事件、轨迹等多维度的表征,从而能够适应复杂多变的环境。二、忠实于物理世界:所有机器人的认知过程都必须从根本上扎根于物理世界的客观现实之中。本章主要介绍了 RynnBrain 的预训练,该方法正是基于上述两点见解而制定的。

(1)训练策略

为赋予 RynnBrain 以上所述的时空记忆与物理世界落地能力,我们设计了一个统一的预训练框架,将多模态输入整合到共享的语义空间中。我们的训练方案聚焦于两大核心支柱:统一的输入输出表示,以及物理感知的优化策略。

  • 统一的时空表示

为培养时空记忆,我们将图像与视频视为统一的输入模态。这样,RynnBrain 能够在视频序列中学习时间因果关系与轨迹动态,这对于理解运动与事件至关重要。

  • 根植于物理世界的输出空间

为实现物理世界,我们对输出空间进行严格形式化,以连接高层认知与低层执行。不同于标准视觉语言模型将数字作为自由文本处理,我们引入离散的坐标 token 来表示物理位置。我们将所有空间坐标归一化到固定区间,并用整数 token 表示。这种量化将连续的物理控制转化为离散的分类问题,使模型能够使用与语言生成相同的自回归机制输出精确位置(例如抓取点或导航目标)。

(2)数据准备

我们为 RynnBrain 的预训练准备了两千万的数据对,具体数据细节如下:

  • 通用多模态训练数据

我们复用了团队自研的 Video-Llama 3 视频大模型的训练数据,并融合了 LLaVA-OV-SI、LLaVA-Video 等多个开源视频问答数据。

  • 具身认知数据

物体认知、空间认知和计数相关数据复用了团队自研的 RynnEC 模型训练数据,并且引入了 Sensenova-SI、VSI-590k、Molmo2 等提高模型的空间理解和动态计数能力。此外,我们自己生成了 100 万对自我为中心的 OCR 问答数据,其中即有直接的 OCR 问题,也有需要识别视频中多个文字才能回答的情景问题。我们还收集了 EgoRe-5M、Egotaskqa 和 RoboVQA 等自我为中心的多样化问答数据以增强 RynnBrain 的自我为中心任务理解能力。

  • 具身定位数据

RynnBrain 拥有 5 项具身定位能力,分别为:物体定位、区域定位、操作点定位、轨迹定位和夹爪位姿定位。我们为每项定位任务标注了大量额视频以及图像数据,使得 RynnBrain 在室内的定位能力上拥有突出的泛化性。我们还用 ADE20K、Grasp-Anything、PACO-LVIS 等开源数据平衡整体数据集。

  • 规划数据

规划任务包含导航和操作两类。导航使用了 R2R 和 RxR 数据和 ScaleVLN 的开源数据。并且将数据格式变成了流式的格式。操作规划数据源来自 OpenX-Embodiment 和 AGIBot。首先,我们将这两个数据集中所有的规划数据都整合成时间段和子任务标注一对一匹配的格式。然后我们让人工标注出每个子任务规划中跟物体、区域和操作相关的名字。例如:“拿起香蕉放到桌子的左下角”,在这句话中与物体相关的词语是“香蕉”,与区域相关的词语是“桌子的左下角”,与操作相关的词语是“拿起”。然后人工再将这些词语和图像中的位置信息做对应,操作词语与图像中的操作点对应,物体词语与图像中物体的检测框对应,区域词语与图像中的区域点对应。最终得到文本和定位信息穿插的子任务标注数据。

基于 RynnBrain 的后训练-让具身拓展无限可能

(1)物理空间推理模型

目前,大多数多模态推理模型采用纯文本推理范式。虽然一些方法通过工具使用(例如放大)来缓解视觉识别中的挑战,但这种推理范式存在泛化能力有限的问题,只能解决一小部分问题。此外,探索在推理过程中进行视觉想象的替代方法通常会受到生成图像中严重幻觉的困扰。

鉴于具身大脑在现实世界中运行,进行物理空间推理的能力变得至关重要。因此,在 RynnBrain 中,我们提出了一种交错推理方法,该方法将实体化与文本信息直接结合在以自我为中心的视频流中。这种范式有效地弥合了语言与物理世界之间的认知鸿沟,确保推理过程牢固地扎根于现实之中。下面详细介绍了 RynnBrain 在物理空间推理领域的贡献和探索。

我们设计了 5 类空间推理任务——计数、物体定位、操作点定位、区域定位和轨迹预测,来验证 RynnBrain 新提出的“文本-空间交织”推理范式。

训练策略:

我们采用组相对策略优化(GRPO)来使模型与物理空间推理任务对齐。不同于标准 PPO 需要价值函数来估计优势项,GRPO 通过对同一提示下生成的多个采样输出的组内得分来估计基线。这显著降低了显存占用与训练复杂度。

训练从我们的冷启动模型初始化。我们使用 SGLang 推理引擎以高效生成 rollout,组大小设为 5。训练共进行 10 个 epoch,batch size 为 128。我们采用余弦学习率调度进行策略优化,并进行 3% 的 warmup。为保证稳定性,我们将截断范围设为[0.2, 0.28],KL 系数 0.02。最大序列长度设为 16,384 个 token,以适配长上下文的第一视角视频推理。

数据构建采用“AI 生成+人工精标”策略:

  • 从自采第一人称视频中抽取样本;

  • 多模态大模型生成初步推理链,并用方括号标记关键实体(如“[白色花图案的墙纸]”);

  • 由大语言模型初步分类实体为“物体”或“区域”;

  • 人工标注员最终审核并精标:

  • 对“对象”标注边界框,

    对“区域”标注代表性点集,

    并选择最清晰的视频帧作为参考帧。

所有定位结果以结构化格式: ...; (coordinates) 融入推理文本,实现语言与空间的对齐。

其中,计数任务特别强调“先定位再计数”,共构建 7 万条高质量样本,显著提升模型在复杂场景下的时空感知能力。

(2)视觉语言导航

导航任务采用与当前 SOTA 模型 StreamVLN 相同的数据设置。首先使用 r2r rxr EnvDrop ScaleVLN 数据在 RynnBrain 基础模型上做第一阶段训练。然后利用这个第一阶段模型在 r2r rxr EnvDrop 环境中采集 Dagger 数据。具体而言,使用第一阶段模型在 r2r rxr EnvDrop 的模拟器环境中进行导航,如果发现导航路径偏离了正确路径,则使用最短路径算法得到一个从当前位置到目标点的最短路径。因此,Dagger 得到的导航数据可以有效纠正第一阶段模型的导航错误。使用 Dagger 数据我们可以进行第二阶段的训练得到最终的 RynnBrain-Nav 导航模型。

(3)操作规划任务

由于预训练语料库包含了以规划为中心的数据,基础模型本身就具备了固有的规划能力。然而,要将这种能力应用于复杂的、长周期的操作任务,模型需要保持有效的记忆。为此,我们利用了一个小型的自采集数据集,其格式为多轮对话,其中交互历史充当了明确的记忆缓冲区,以保存历史推理结果。这种结构使模型能够将单个规划步骤整合成一个连贯的长周期策略。至关重要的是,为了与这种顺序推理相匹配,我们仅在每个对话轮的最后一步应用 grounding 标注,确保当前决策既取决于即时观察,也取决于累积的记忆。通过实验证明,这种方法具有很高的数据效率:仅使用几百个样本进行微调就足以使模型具备强大的长周期规划能力和泛化能力。

RynnBrain 亮眼的实战成绩单

(1)基础模型能力全面

鉴于当前开源 Benchmark 在具身时空细粒度任务上的缺失。我们推出了 RynnBrain 这一多维度基准测试工具,用于评估时空细粒度具身能力。 该测试涵盖了四个关键维度:物体认知、空间认知、物体定位以及具身点预测,旨在突出对记忆视频序列中细粒度的理解以及时空的定位能力。

RynnBrain 测评了 20 项具身相关的认知与定位 Benchmark。在这些具身能力上,RynnBrain 全面领先 Mimo-Embodied 等最先进的具身大脑模型,在许多能力上甚至有 30%以上的涨幅。在具身领域之外的通用视觉理解方面,RynnBrain 很好的保持了 Qwen3-VL 的强大通用视觉能力,甚至在 AI2D、DocVQA 等 Benchmark 上超越了 Qwen3-VL。

(2)后训练潜力巨大

  • 导航后训练

我们使用当前的导航 SOTA 模型 StreamVLN 的训练数据微调 RynnBrain 模型。在没有进行任何架构改进的情况下 RynnBrain-Nav 比 StreamVLN 的导航成功率提高了 2%-3%。我们在 Qwen3-VL 基础模型上利用相同的数据训练后发现,RynnBrain 作为基础模型可以让微调出的导航模型能力提升 5%。这充分证明了在具身相关任务中,RynnBrain 的预训练作用巨大。

  • 操作规划后训练

规划任务需要拥有强大的预测能力和场景解析力。只使用几百条数据微调之后 RynnBrain-Plan-30B(A3B)即可在域内和域外的任务上全面超越 Gemini 3 Pro。这充分体现了文本与定位交错的规划方式更加适用于多变复杂的物理世界。

很多企业的数字化转型,不是顺势而为,而是盲目跟风。

别人上云计算,自己也上;
别人用低代码,自己也用;

别人部署物联网、分析大数据,自己也紧随其后。最后钱花了、人招了、系统上了,却发现:

云计算成了“闲置的服务器”
低代码成了“程序员的玩具”
物联网成了“车间里的摆设”
大数据成了“硬盘里的垃圾”

我们总以为,引入变革性新技术,就能自动获得创新红利、实现转型突破。但真相是:新技术本身没有价值,让新技术适配业务、解决问题、驱动创新,才有价值。

就像我之前说的,数字化不是赶时髦、做样子,而是理解真正的趋势和机遇,用技术重构业务逻辑。

同样,低代码、云计算、物联网、大数据这些新技术,从来不是企业转型的终点,而是帮助企业创新、实现增长的工具。就像煤炭之于蒸汽机,石油之于内燃机,算力之于互联网,它们是新时代企业创新的“底层燃料”。

今天,我们不聊晦涩的技术术语,不吹虚无的行业概念,只聚焦一个核心问题:如何让这些变革性新技术,真正为企业创新赋能、为转型铺路,让企业实实在在从中获益?

核心逻辑只有一个:先转“认知”,再选“路径”,后做“落地”。认知不到位,路径再对也走偏;路径选不对,落地再用力也白费;落地不扎实,所有努力都归零。

image.png

第一步:认知跃迁:先搞懂为什么用,再决定用什么

企业转型最大的障碍,从来不是技术,而是认知。

很多企业之所以用不好新技术,核心是陷入了两个认知误区。

第一个误区:把“技术”当“解决方案”。

很多老板会说:“我们行业竞争太激烈,赶紧上大数据,分析用户需求;赶紧用低代码,快速开发应用;赶紧搞物联网,实现智能化生产。”

这句话的问题在于,他混淆了“技术”和“解决方案”的区别。

大数据不能直接解决“用户流失”的问题,它能解决的是“不知道用户为什么流失”的问题;

低代码不能直接解决“业务效率低”的问题,它能解决的是“开发应用太慢、跟不上业务变化”的问题;

物联网不能直接解决“产品质量差”的问题,它能解决的是“生产过程无法精准监控”的问题。

因此,在商业世界的进化,本质是“能量”和“信息”的交替前进。新技术就是新时代的“能量”,但能量本身无法创造价值,只有用能量驱动“信息流转”,“业务优化”,才能产生价值。

第二个误区:把“跟风”当“创新”。

有些企业看到同行用低代码降低了开发成本,就盲目跟风上线低代码平台,却发现自己的业务根本不需要快速迭代应用;看到头部企业用云计算实现了异地协同,就跟风迁移上云,却发现自己的业务数据量小、无需异地办公,反而增加了运维成本。

创新不是别人做什么,我就做什么,而是我需要什么,我就用什么。

就像四川川环,作为一家上市企业,它没有盲目跟风所有新技术,而是聚焦“生产效率提升、产品质量优化”的核心需求,引入织信低代码平台,搭建了200个贴合生产、管理的应用,最终实现良品率提升、订单交付效率上升,这种实实在在的收益。关键在于它用对了技术,所以才收获了创新红利。

所以,认知跃迁的关键,是跳出“技术崇拜”,回归“业务本质”:企业的核心需求是什么?当前的业务痛点在哪里?新技术能解决哪个具体问题?能带来什么可量化的价值?

想清楚这四个问题,再去选择低代码、云计算、物联网、大数据中的某一个或某几个组合,才不是盲目跟风,而是理性布局。

第二步:路径选择:不同企业,不同打法,拒绝一刀切

低代码、云计算、物联网、大数据,不是全能工具,也不是“所有企业都适用”。数字化路径没有放之四海而皆准的方法,只有适合自己的路径。

企业的规模、行业、业务模式不同,适合的新技术组合和转型路径,也完全不同。我们可以把企业分为三类,对应三种不同的打法。

第一类:中小企业(核心需求:低成本、快落地、解痛点)

中小企业的核心痛点是:资金有限、技术人才匮乏、业务流程灵活,不需要复杂的技术架构,只需要用最低的成本,解决最迫切的业务痛点。

这类企业的最优路径:低代码+基础云计算,优先解决“效率”和“灵活”的问题。

低代码的核心价值,是“降低开发门槛”。不需要专业的程序员,业务人员经过简单培训,就能通过“拖拉拽”搭建应用,快速满足业务需求。

比如深圳的一家电子企业,此前被“生产数据采集难、工时结算繁琐”的痛点困扰,它没有投入巨资搭建复杂的IT系统,而是在织信Informat上用低代码搭建了一套工时结算流程,打通报工、材料、计件数据,实现精益生产,最终生产效率提高20%、运营成本降低20%。

而基础云计算,就像“水电煤”一样,不需要企业自己搭建机房、购买服务器,按需付费、灵活扩容,既能降低IT运维成本,又能实现异地协同。对于中小企业来说,不用追求“高端云计算”,能满足数据存储、日常办公协同,就足够了。

第二类:传统制造/实体企业(核心需求:智能化、降成本、提质量)

传统制造、实体企业的核心痛点是:生产流程繁琐、人工成本高、质量管控难、设备运维滞后,转型的核心是“从传统生产向智能化生产升级”。

这类企业的最优路径:物联网+大数据+云计算,聚焦“生产环节”的创新升级。

物联网负责“采集数据”。在生产设备、产品、车间部署传感器,把线下的生产流程、设备运行状态、产品质量数据,实时采集到线上,让“看不见的生产过程”变得“看得见、可监控”;大数据负责“分析数据”。对采集到的生产数据、质量数据、设备数据进行分析,找到生产中的瓶颈、质量问题的根源、设备故障的预警点;云计算负责“存储和算力支撑”。承载海量的物联网数据,为大数据分析提供足够的算力,同时实现生产数据的异地共享、协同管理。

还是以四川川环为例,它在智慧工厂建设中,不仅用了低代码,还部署了物联网设备,实现设备监测预警和一键抢修,最终工艺质量提升约70%,设备维护保养成本降低了80%。物联网+大数据+低代码的组合,让它实现了生产环节的智能化创新,真正从新技术中获益。

第三类:互联网/科技型企业(核心需求:高并发、快迭代、创新突破)

互联网、科技型企业的核心痛点是:用户增长快、业务迭代快、数据量庞大,需要强大的技术支撑,实现产品创新和服务升级。

这类企业的最优路径:云计算+大数据+低代码,聚焦“产品和服务”的创新迭代。

云计算提供“弹性算力”。业务高峰期扩容、低谷期缩容,满足高并发需求,降低IT成本;大数据负责“用户洞察”。分析用户行为、需求偏好,为产品创新、精准营销提供支撑;低代码负责“快速迭代”。快速开发、测试、上线新功能,快速响应市场变化和用户需求,抢占市场先机。

比如云计算板块的头部企业,无论是中国移动、工业富联这样的巨头,还是金山办公、深信服这样的细分龙头,本质上都是用云计算作为底层支撑,结合大数据、低代码等技术,不断优化产品和服务,才能在激烈的市场竞争中保持优势。它们的核心逻辑,是用新技术驱动产品创新,用产品创新抢占市场份额。

总结一下:

路径选择的核心,是贴合自身需求。中小企业先解决“效率和成本”,传统企业先解决“生产和质量”,互联网企业先解决“迭代和增长”,不盲目追求“大而全”,只追求“精而准”。

第三步:落地执行:把技术变成价值,关键在三个闭环

认知到位了,路径选对了,接下来最关键的,就是落地执行。很多企业之所以转型失败,不是因为认知和路径错了,而是因为落地时“虎头蛇尾”。系统上线了,就以为转型完成了;数据采集了,就以为能产生价值了。

我曾多次强调,数字化不是“一次性工程”,而是“持续迭代的过程”。新技术的落地,同样不是“一劳永逸”,而是需要形成“三个闭环”,让技术持续为业务赋能、为创新供血。

第一个闭环:业务闭环,让技术嵌入业务,而不是独立于业务。

很多企业的新技术落地,之所以会失败,核心是“技术和业务脱节”:IT部门负责上系统、用技术,业务部门负责做业务,两者各干各的,IT部门不知道业务需求,业务部门不用、不会用新技术。

真正的落地,是让技术“嵌入”到业务的每一个环节,成为业务人员的“工具”,而不是“负担”。比如伟华科技,用低代码搭建的工时结算流程,不是IT部门强行推广的,而是贴合生产人员、财务人员的日常工作流程,让他们用起来更方便、更高效。这样,业务人员才会主动使用,新技术才能真正发挥作用。

怎么做?成立“业务+IT”的联合小组,由业务人员提出需求,IT人员用新技术解决需求,落地后收集业务人员的反馈,持续优化调整。让技术服务于业务,让业务驱动技术迭代,形成“需求-落地-反馈-优化”的业务闭环。

第二个闭环:数据闭环,让数据产生价值,而不是闲置沉淀。

物联网采集的数据、业务产生的数据、用户留下的数据,不是“越多越好”,而是“越有用越好”。很多企业采集了大量数据,却不分析、不应用,最后只能闲置在硬盘里,变成“数据垃圾”。

数据的价值,在于“分析和应用”。用大数据分析业务痛点、用户需求、市场趋势,用分析结果指导业务决策、产品创新、流程优化。比如普天铁心,通过采集生产设备的数据,分析设备运行状态,实现设备预警和一键抢修,降低维护成本;通过分析生产流程数据,优化生产工艺,提升产品质量。这就是“数据闭环”:采集数据→分析数据→应用数据→优化业务→产生新数据,循环往复,让数据持续创造价值。

第三个闭环:组织闭环,让组织适配技术,而不是阻碍技术。

新技术的落地,必然会带来组织架构、工作流程、岗位职责的变化。如果组织不调整、人员不适应,再好的技术,也无法落地。

就像普天铁心副总经理吴娓娓说的,未来的生产工人,是需要懂数字化、会用自动化设备的数字时代新工人,要基于未来数字化工厂的发展,实现管理升级调整,推动管理组织、管理过程与信息化融合发展。

组织闭环的核心,是“适配”:一是调整组织架构,成立专门的数字化转型小组,统筹技术落地和业务优化;二是培养专业人才,要么培训现有员工,让他们掌握新技术的使用方法,要么引进专业人才,弥补技术短板;三是建立激励机制,鼓励业务人员主动使用新技术、提出创新需求,让“转型创新”成为全员共识。

这三个闭环,缺一不可:业务闭环是核心,确保技术不脱节;数据闭环是关键,确保技术能创造价值;组织闭环是保障,确保技术能持续落地。

最后:转型的本质,是用技术重构业务,而不是用技术替代业务

聊到这里,我们再回到最初的问题:如何帮助企业的创新从低代码、云计算、物联网、大数据这些变革性新技术中获益或转型?

其实答案很简单:不要把新技术当成“转型的目标”,而要把它当成“转型的工具”;不要追求“技术的先进”,而要追求“业务的优化”;不要指望“一蹴而就”,而要坚持“持续迭代”。

商业世界的每一次变革,本质上都是“能量”和“信息”的升级,而每一次升级,都会淘汰一批“固守传统”的企业,成就一批“拥抱变化”的企业。

今天,低代码、云计算、物联网、大数据,就是这个时代最核心的“能量”。它们不是“高大上”的概念,也不是“大企业的专属”,而是每一家企业都能利用的“创新工具”。

四川川环、伟华科技这些企业,用“平台+低代码”“物联网+大数据”的模式,实现了低成本转型、高效率创新,告诉我们:只要认知到位、路径正确、落地扎实,无论企业规模大小,都能从新技术中获益。

而云计算板块的头部企业,用技术驱动产品创新、用创新抢占市场,告诉我们:新技术的价值,从来不是拥有,而是应用。应用得越好,创新能力越强,企业的竞争力就越强。

真正的企业转型,从来不是“换一套系统、上一个平台”,而是“用新技术重构业务逻辑、优化工作流程、驱动产品创新”;真正的创新获益,从来不是靠技术投机,而是靠技术落地。

未来,没有“数字化企业”和“非数字化企业”的区别,只有“会用新技术创新”和“不会用新技术创新”的区别。愿每一家企业,都能跳出技术崇拜,回归业务本质,用对新技术、做好落地执行,让创新从“口号”变成“现实”,让转型从“焦虑”变成“红利”。

近日,多家机器人公司宣布成为 2026 年央视春晚合作伙伴,这种密集的集体登场,也成为产业加速寻求公众认知与市场突破的强烈信号。行业报告显示,我国具身智能产业规模正以超 50% 的增速跨越发展,整体已迈入全球第一梯队。在“十五五”规划等顶层设计推动下,产业正从技术探索迈向规模应用的关键阶段。

在这一关键节点,原力灵机举办了其首次技术开放日,并完整推出了全球首个具身原生大模型 DM0、具身原生开发框架 Dexbotic 2.0 以及具身应用的量产工作流 DFOL,分别从智能基座、开发效率与场景进化三个层面,为产业提供了新的落地范式。

应对泛化瓶颈,让智能“通用”

具身智能目前面临的核心挑战,集中体现在数据与泛化能力上。许多在受控实验室环境中训练出来的模型,一旦部署于开放的真实场景或适配不同的硬件平台,其性能往往出现显著衰减。而这种泛化能力的缺失,将行业限制在了昂贵的定制化开发循环中。

我们观察主流技术路线发现,许多研究通常默认通过互联网图文数据训练获得的“认知”,足以指导物理世界的行动。因此,大量研究重点便转向了如何将这种已有“认知”能力,有效迁移并适配到实体机器人系统上。

然而,物理交互有其特殊性。真实环境中的摩擦力、重量感和空间关系等关键信息很难仅从二维图像中完全掌握。于是,“具身原生”这一路径被提出。原力灵机认为,具身智能从诞生之初就需立足真实世界,聚焦“复杂环境中精准完成人类任务”,这也是此次发布具身原生大模型 DM0 的底层设计逻辑。

这一设计逻辑,首先体现为向物理世界要数据的范式转变。原力灵机合伙人周而进介绍,DM0 本质上是一个从头训练的多模态大模型,它的数据采集方案遵循了“熵在哪里,数据就投向哪里”的原则,除了提供通用语义的互联网图文,它更关键地纳入了体现复杂时空决策的自动驾驶序列数据,以及来自多种机器人平台的真实交互数据。这种融合为构建模型关于空间、力学与因果的认知框架,实现稳定泛化的动作执行能力提供基础。

具体实现上,DM0 模型采用的多任务与跨机型协同的训练方法进一步提升了强跨机型的泛化和迁移能力。DM0 技术报告显示,DM0 在预训练阶段就被置于一个多样环境中,同步学习抓取、导航、全身控制 3 类核心任务,并覆盖 UR、Franka、ARX、UMI、Aloha、R1-Lite、Realman、DOS-W1 等 8 种差异显著的机型。这种设计迫使模型剥离对特定硬件参数的机械记忆,转而学习通用逻辑与物理规律。

在这一设计路径下,DM0 模型在真机测试中获得了关键验证。DM0 在 RoboChallenge 平台的“Table 30”任务中取得了综合最高分,而其参数量仅为 2.4B,这意味着它的智能密度非常高。

此外,为了满足工业级精细操作,DM0 专门设计了 728×728 的高分辨率视觉输入,使其能在 720p的视频中捕捉细微的空间差异,显著提升精密装配等任务的定位可靠性。更具突破性的是,DM0 将机器人的“动作”从关节控制扩展为包含“拍照、扫码”等抽象指令的广义集合。这让机器人能够以连续、类人的作业逻辑,自主完成“抓取-调整-识别-扫码”的端到端流程。

目前,DM0 2.4B 版本已全面开源,支持在消费级显卡上微调。周而进介绍道,此举意在降低开发与科研门槛,让更多研究者能够基于 DM0 做二次开发或训练,从而推动产业共同验证并丰富“具身原生”这一技术范式。这或将为行业突破当前规模化落地的关键瓶颈,提供一条可供协作与迭代的开放路径。

破解效率困境,让研发“自由”

DM0 模型为产业提供了一个更强的泛化起点,但要将这类前沿模型转化为现实生产力,还需克服工程落地的重重障碍。高度碎片化的开发环境是核心痛点,数据格式、仿真平台与硬件接口的标准不一,使得从算法研究到真机部署的链条冗长而低效,大量创新精力被消耗在重复的适配工作中。

为了系统性地破解这一效率瓶颈,原力灵机将其开源框架 Dexbotic 升级至 2.0 版本。原力灵机合伙人汪天才阐述了此次重构的目的,“我们想通过这次重构进一步扩大 Dexbotic 在整个具身生态下的职能范围,让更多用户能够用它进行算法的开发,降低进行具身算法开发的门槛。” 其最核心的革新是采用了模块化架构,将机器人策略解耦为 V(Vision encoder)、L(LLM)、A(Action Expert)三个可自由组合的独立模块。开发者能通过像搭乐高一样,自由组合、快速验证新想法并适配不同硬件。更关键的突破是,这一设计统一了机器人长期以来相互割裂的操作与导航能力,推动其最终迈向全身协同控制的更高阶段。

框架的另一个特征是支撑多源异构数据的混合训练。这直接服务于如 DM0 这类“具身原生”模型的训练需求,能够无缝协调处理来自互联网、自动驾驶和机器人本体的不同性质数据,让模型在完整的统一流程中同步学习通用知识与专用技能。

为支撑这一复杂的多源训练范式并使其能够高效、可复现地转化为实际能力,Dexbotic 2.0 构建了一套从“数据—训练—评测—硬件”四个环节的标准化具身开发全流程。它定义了统一的数据规范以消除格式壁垒,集成了主流仿真评测工具以简化验证环节,并原生适配了多种机器人硬件平台,彻底将开发者从繁复的环境配置与适配工作中解放,提供了一条从算法原型直达真机验证的清晰路径。

伴随此次升级,Dexbotic 2.0 的开源生态建设也取得了实质进展。其与 RLinf 达成战略合作,目前已初步完成环境层面对接,并计划通过仿真复现与真机演示共同验证这套协同系统在复杂物理场景中形成有效生产力的潜力。

对于此次合作,汪天才的期望远超工具层面的对接。他认为,大语言模型之所以能爆发,关键在于找到了“SFT 和 RLHF”这套让模型与人类价值对齐的方法论。而现在,具身智能正站在相似的历史节点前。“我们期望与 RLinf 的合作能够复现并建立起这一已被验证的范式,最终形成覆盖具身智能全开发流程的‘SFT+RLHF’生态。”

填补进化缺口,让生产力“持续”

在原力灵机 CEO 唐文斌看来,“所有的价值是可以被衡量和计算的,如果不能的话,那这个东西是不能长期存续的。”当智能模型与开发工具就绪,如何让机器人在千差万别的真实场景中持续创造可靠价值,成为检验技术的最终标尺。

作为本次开放日的第三项重要发布,具身应用的量产工作流 DFOL(Distributed Field Online Learning)是原力灵机让具身智能从“展品”变为“产品”最具现实意义的一环。据介绍,DFOL 采用“硬件通用+模型智能”模式,构建了一套链接云端与现场的数据进化闭环。部署在产线或仓库中的机器人,能将作业过程中产生的训练片段(episode)与负样本块(negative chunk)实时反馈至云端。这些来自真实场景的数据经过处理,持续优化模型策略,并再次部署到所有机器人。这使得系统能够在实际运行中自主学习,应对物料差异、环境变化等不确定性,从而将固定程式转变为可持续进化的生产力。

值得关注的是,这一方案的有效运转,与 DM0 与 Dexbotic 2.0 两项技术基座的成熟度密切相关。DM0 模型所提供的强泛化能力,是系统能够快速理解新任务、获得可靠初始策略的智能前提;而 Dexbotic 2.0 框架及其标准化工具链,则为海量现场数据的高效回流、处理与迭代更新提供了工程化路径。三者共同构建了一个从“通用能力储备”到“高效开发部署”,最终实现“持续价值创造”的增强循环。

面对这种深度技术耦合可能带来的风险,DFOL 的设计逻辑本身便是应对之道。通过将现场运行数据实时反馈用于模型迭代,它将风险考量从依赖某一静态模块的“完美性”,转化为依赖整个系统“动态进化能力”的健康度。这意味着,对其商业落地的评估,将不再仅仅是评估一个固定版本模型的好坏,而是评估一套系统的学习与适应效率。

由此来看,此次相继发布的模型、框架与方案,是一条贯穿“能力构建-效率提升-价值闭环”的连贯路径。它们共同呈现了原力灵机的技术纵深,更展示了其对“具身智能规模化落地”的系统性思考。其“具身原生”的范式探索,不仅关乎企业的自身发展,也为整个产业如何打通从技术研发到规模商业化的路径,提供了一个值得深入观察的范例。

2月9日 GitHub 确实出现了一波 通知延迟,并且伴随 多个核心服务的性能降级:包括 Actions、Git Operations、Issues、Pull Requests、Webhooks、Packages、Pages、Codespaces,甚至还波及到 Copilot、Dependabot 等相关能力。最后官方宣布恢复正常,并表示后续会发布更详细的 RCA(根因分析)。官方事件报告如下:
image

好,信息面上就这些,但小D作为每天在 GitHub 上“搬砖”的工程师,真正关心的通常是三件事:

1)到底发生了什么,会影响我哪些流程?
2)我现在遇到的问题,是 GitHub 的锅还是我的锅?
3)怎么快速自救,避免今晚继续加班?


1)这次异常的两条主线:通知慢 + 服务抖成筛子

A. 通知延迟(Notifications are delayed)

GitHub 官方描述很直白:通知出现积压,平均延迟从 约 50 分钟一路飙到 约 1 小时 20 分钟,随后逐步回落到 约 1 小时 → 30 分钟 → 15 分钟,最终宣布完全恢复。

image

人话:你的通知确实可能“晚到”,但不是不到。更扎心的是——通知这种东西晚到就等于失效。

  • PR reviewer 迟迟收不到提醒,review 节奏断了
  • code owner 迟到半小时才看到变更,合并窗口错过
  • oncall 收到告警关联通知晚一拍,排障黄金时间直接蒸发

B. 多服务降级(Issues / Actions / Git 操作等)

另一条线更“硬核”:一堆核心服务出现 degraded performance / degraded availability。官方过程里提到的影响包括:

  • 请求变慢、失败率上升
  • Actions 任务延迟、排队
  • 多个产品线(Actions、Issues、PR、Webhooks 等)不同程度受影响
    后续官方声明服务恢复正常。

一句人话总结:不只是“通知慢”,而是“系统整体有点喘不过气”。[惊恐]


2)最容易踩的坑

你以为是流程问题,其实是平台波动

这类事故最烦人的地方在于:它不会把你电脑蓝屏,也不会直接报一个“GitHub 崩了”。

  • PR 已合并,但通知迟迟不到 → 你以为 webhook/机器人挂了
  • Actions 状态卡住不动 → 你以为 YAML 写炸了,开始疯狂改 pipeline
  • Issue 评论发出去了,但订阅者没收到提醒 → 你以为权限/订阅设置有问题
  • git push 偶发失败或慢 → 你以为公司网络抖了,开始怀疑人生

于是,程序猿最经典的场景也是最擅长的事情出现了:
平台抖 1 小时,你排查 3 小时。(加班就是这么来的😭)


3)一份“自救排查清单”

当你发现 GitHub “不太对劲”,建议按这个顺序来——能省命:

✅ Step 1:先看 Status Page(别自虐)

先打开:

如果状态页正在 Investigating / Identified / Monitoring,恭喜:你可以先把“自责模式”关掉。

✅ Step 2:判断影响面(通知 vs 业务链路)

  • 只是通知慢:PR/Issue 可能还能用,只是“提醒晚到”
  • Actions/Git 操作也慢:CI/CD、合并、发版链路可能整体变慢或失败

这一步很关键:
通知慢 → 别急着改系统
链路慢/失败 → 先保交付,别做大手术

✅ Step 3:把“重试”变聪明

事故期间最怕的不是失败,而是“你和平台一起抽风式重试”,把积压越堆越大:

  • Actions:避免手动狂点 Re-run all jobs(尤其是高并发仓库)
  • Webhooks:如果你有自建 webhook consumer,确认重试策略是指数退避(exponential backoff),别 1 秒 1 次硬刚
  • Bot/Automation:临时降低触发频率或加熔断(例如只处理关键事件)

✅ Step 4:关键业务兜底(临时“人工模式”)

当自动化链路不稳定时,短期最有效的是“降级”:

  • 重要发布:临时人工确认 PR 状态、手动触发必要任务
  • 关键告警:别完全依赖 GitHub 通知,转到 Slack/邮件/监控系统的主通道
  • 依赖更新(Dependabot):如果受影响,先暂停自动合并,避免“卡住时乱合”

✅ Step 5:事故恢复后做一次“事后清算”

官方说会出 RCA,但团队内部也建议做两件事:

  • 回看事故窗口内的失败任务/遗漏通知(尤其是 oncall / 安全相关)
  • 把“平台波动”纳入你的工程弹性设计:

    • webhook 事件幂等
    • 重试退避 + 死信队列
    • 关键流程可手动兜底
    • 不把单点平台当永远 100% 可用(这点很重要)

4)结语

GitHub 抖动不是罕见事件,罕见的是你没准备

平台级服务再稳,也会有“咳嗽”的时候。真正决定你今晚能不能准点下班的,不是平台有没有事故,而是你的系统有没有“抗事故的姿势”:

  • 你有没有把通知当成唯一信号?
  • 你有没有把 CI 当成唯一门禁?
  • 你有没有把 webhook 当成永不丢的消息?
  • 你有没有给自动化加退避、熔断、幂等、降级?

这些看起来像“架构洁癖”,但事故来时,它就是救命稻草。

下次再遇到“PR 没人回、CI 卡住、通知消失”,先别慌,先看状态页,再决定要不要开干——工程师的体力要用在刀刃上,不要用在跟平台对线🤝


喜欢就奖励一个“👍”和“在看”呗~

image

借助 Coding Agent 等工具,如今构建一个 AI 产品的技术门槛和启动成本已急剧降低。一夜之间,将想法变为可交互的原型变得前所未有的容易。但一个刺眼的矛盾也随之浮现:大多数 AI 产品仍在走向失败。如果技术实现不再是瓶颈,那么问题究竟出在哪里?

Aishwarya Naresh Reganti 和 Kiriti Badam 曾在 OpenAI、Google、Amazon、Databricks 等公司参与构建并成功推出了 50 多个企业级 AI 产品。最近,他们在播客节目中,与主持人 Lenny 细致分享了当前 AI 产品开发中的常见陷阱与成功路径。基于该播客视频,InfoQ 进行了部分删改。

核心观点如下:

  • 今天构建的成本已经非常低了,真正昂贵的是设计,是你是否真正想清楚了产品要解决什么痛点。对问题本身和产品设计的执着,是被低估的,而单纯追求“快点做出来”,是被高估的。

  • AI 不是答案,而是解决问题的工具。

  • 领导者需要重新回到“亲自上手”的状态,并不是要他们亲自实现系统,而是为了重建判断力,接受“我的直觉可能不再完全正确”这一事实。

  • “忙碌但无效”的工作时代正在结束,你不可能再躲在角落里做对公司没有实质影响的事,而必须思考端到端的流程,以及如何创造更大的影响。

  • 在这个数据随时告诉你“你大概率会失败”的时代,保留一点愚蠢的勇气很重要。

 

AI 产品构建中的挑战

Lenny:目前 AI 产品构建的情况是怎样的?哪些进展顺利,哪些地方问题依旧明显?

 

Aishwarya:首先,怀疑态度明显减少。2024 年还有很多领导者认为 AI 可能只是又一波“加密货币式”的泡沫,因此迟迟不愿真正投入。当时我看到的很多所谓“AI 用例”,更像仅仅是“在你自己的数据上套一层 Snapchat 滤镜”。

 

而 2025 年,很多公司开始真正反思用户体验和业务流程,逐渐意识到:如果想构建成功的 AI 产品,必须先拆解现有流程,再重新构建。而消极的一面在于,执行依然非常混乱。这个领域只有三年左右的历史,没有成熟的方法论,也没有教材,大家基本都是边走边学。

 

同时,AI 产品的生命周期与传统软件截然不同。这导致了以往在 PM、工程师、数据团队之间形成的分工被打破。过去,PM、工程师各自优化各自的指标;现在,大家可能需要坐在同一间会议室里,一起看 agent 的执行轨迹,共同决定产品应该如何表现。这种协作更紧密,也更复杂。

 

Lenny:你之前说构建 AI 产品与构建非 AI 产品本质上非常不同,能具体谈谈吗?

 

Aishwarya:构建 AI 系统和传统软件系统之间确实存在大量相似之处,但也有一些根本性的差异,足以改变你构建产品的方式。其中一个经常被忽视的核心差异,是“非确定性”。

 

与传统软件相比,你几乎是在与一个非确定性的 API 打交道。在传统软件中,决策引擎和流程往往是清晰、可预测的。以 Booking.com 为例:你有一个明确意图,比如在旧金山订两晚酒店,系统通过一系列按钮、选项和表单,把你的意图转化为具体操作,最终完成目标。

 

但在 AI 产品中,这一层被一种高度流动的、以自然语言为主的界面所取代。用户可以用无数种方式表达同一个意图,这意味着你无法预判用户的输入行为。而在输出端,你面对的是一个概率性的、非确定性的 LLM,它对提示词极其敏感,本质上还是一个黑箱。你既无法完全预测用户会如何使用产品,也无法确定模型会给出怎样的回应。

 

因此,你同时面对输入、输出和中间过程三方面的不确定性,只能在有限理解的基础上去预判行为并进行设计。到了 Agent 系统,这种复杂性会进一步放大。

 

这也引出了第二个关键差异:代理性与控制权之间的权衡。很多人执着于构建高度自治的系统,希望 Agent 能替人完成所有工作。但每当你把决策权交给 AI,你就必然放弃一部分控制权。因此,只有当系统足够可靠、足以赢得信任时,才值得赋予它更高的自治能力。这正是“代理性—控制权权衡”的核心:自治越高,控制越少,而信任必须通过时间和表现来积累。

Kiriti:类比登山:如果你的目标是攀登一座高峰,你不会第一天就直接冲顶,而是先进行基础训练,逐步提升能力,最终才接近目标。

 

构建 AI 产品也是如此。你不应该在第一天就打造一个拥有公司全部工具和上下文的全能 Agent,并期待它能正常工作。正确的做法,是刻意从影响范围小、人工控制强的场景开始,逐步理解当前能力边界,再慢慢增加自治性、减少人工干预。

 

这样做的好处在于,你会逐渐建立信心,清楚 AI 能解决问题的哪一部分,以及接下来需要引入哪些上下文和工具来改进体验。好的一面是,你不必一开始就面对复杂而炫目的 Agent 体系;挑战在于,你必须接受“循序渐进”的现实。但几乎所有成功的案例,都是从极简结构起步,再不断演化而来的。

 

Lenny:你们一直强调“从低自治、高控制开始”,再逐步升级。能否用一个具体例子说明这种路径?

 

Kiriti:客户支持是一个非常典型的场景。我们在发布产品时也经历过类似情况,随着新功能上线,支持请求会突然激增,而且问题类型非常多样。

 

一开始,并不是把所有支持中心文章一股脑塞进 Agent 就完事了。更合理的第一步,是让 AI 为人工客服提供建议,由人类判断哪些建议是有用的、哪些是无效的。通过这个反馈回路,你可以识别系统的盲点并进行修正。

 

当你建立起足够信心后,才可以让 AI 直接向用户展示答案。接着,再逐步增加复杂能力,例如自动退款、创建功能请求等。如果在第一天就把这些能力全部交给 Agent,系统复杂度会迅速失控。因此,我们始终建议按阶段构建,逐步提升自治水平。

 

Lenny:一开始是高控制、低自治,AI 只给建议,最终决策仍由人来做;当系统被验证可靠后,逐渐赋予更多自治权,同时减少人工干预。只要这一阶段进展顺利,就可以继续向前推进。

 

Aishwarya:从更宏观的角度看,AI 系统的核心在于“行为校准”。你几乎不可能在一开始就准确预测系统行为,因此关键在于避免破坏用户体验和信任。做法是,在不影响体验的前提下,逐步减少人工控制,并以不同方式约束自治边界。

 

以医疗保险预授权为例,某些低风险项目,比如血液检测或 MRI,只要患者信息齐全,就可以由 AI 自动审批;而高风险项目,如侵入性手术,则必须保留人工审核。在这个过程中,你还需要持续记录人类的决策行为,构建反馈飞轮,用于不断优化系统。这样既不会损害用户体验,也不会削弱信任,同时还能让系统持续进化。

 

Lenny:你还给出过一些很好的分阶段示例,比如 Coding Agent:第一阶段只做行内补全和样板代码建议;第二阶段生成测试或重构代码供人审查;第三阶段则可以自动提交 PR。营销助手也是类似路径:从文案草稿,到完整活动执行,再到自动 A/B 测试和跨渠道优化。

 

Aishwarya:换个角度看,这种非确定性其实也是 AI 最迷人的地方。相比点击复杂的按钮,人类更习惯用语言交流,这大大降低了使用门槛。但问题在于,人类表达意图的方式极其多样,而你往往需要在非确定性的技术之上,达成确定性的业务结果,这正是复杂性的来源。

 

Lenny:所以,当人们一上来就想直接跳到第三阶段,往往会陷入困境:系统既难以构建,也不可靠,最终只能被判定为失败。

 

Kiriti:在达到高度自治之前,你需要对系统能力建立足够信心。如果一开始就从错误的切入点出发,你会面对成百上千种错误,却根本无从修复。

 

从小规模、低自治开始,不仅降低风险,也会迫使你认真思考“我要解决的到底是什么问题”。在 AI 快速发展的环境下,人们很容易沉迷于复杂解法,而忽视真正的问题本身。通过逐步提高自治层级,你可以清晰地拆解问题,并为未来扩展做好准备。

 

Aishwarya:我最近读到一篇研究指出,约 75% 的企业认为“可靠性”是他们在 AI 项目中面临的最大问题,这也是他们迟迟不敢将 AI 产品直接面向用户的重要原因。正因如此,目前很多 AI 产品更多集中在提升生产力,而不是彻底替代端到端流程。

 

Lenny:在这期节目之前,我们还录了一期,专门深入讨论了提示注入(prompt injection)和越狱(jailbreaking)。在那期讨论里,我们意识到这对 AI 产品来说几乎是一个“生存级风险”:它可能既没有成熟解法,甚至在理论上也很难被彻底解决。

 

Aishwarya:一旦 AI 系统真正进入主流应用,这会成为一个非常严重的问题。现在大家还忙着把 AI 产品做出来,很少有人认真对待安全性,但这迟早会爆发。尤其是在面对非确定性 API 的情况下,你几乎无法完全防范。

 

Lenny:我们当时聊到的一个核心问题是:要诱导 AI 去做“不该做的事”,其实并不难。虽然大家都在构建各种护栏系统,但事实证明,这些护栏并不牢靠,总能被绕过。而正如你所说,当 Agent 越来越自治、甚至进入机器人系统时,这种风险会被成倍放大,确实让人感到不安。

 

Kiriti:我同意这是一个真实存在的问题。不过从当前 AI 在企业中的采用阶段来看,大多数公司甚至还没真正走到能充分获益的程度。2025 年确实是 AI Agent 和企业尝试落地 AI 的一个高峰期,但整体渗透率依然不高,很多流程还远未被真正改造。

 

在这种情况下,只要在关键节点引入“人在回路”(human-in-the-loop),其实可以规避相当一部分风险。我个人更偏向乐观的一侧:与其一开始就被潜在的负面场景吓退,不如先尝试去落地、去使用。我们在 OpenAI 接触过的企业中,几乎没有人会说“AI 在这里完全帮不上忙”,更多是发现它能在某些具体环节上带来优化,然后再思考如何逐步采用。

 

Lenny:有哪些成功构建 AI 产品的模式和工作方式?

 

Aishwarya:我们合作过的成功公司,通常都具备三个维度:优秀的领导者、健康的文化,以及持续推进的技术能力。

 

首先是领导者。我们参与过不少企业的 AI 转型、培训和战略制定。很多领导者过去十到十五年积累的直觉,正是他们成功的基础,但在 AI 出现之后,这些直觉往往需要被重新学习。领导者必须愿意承认这一点,甚至需要一定程度的“脆弱感”。我曾和 Rackspace 现任 CEO Gajen 共事。他每天清晨都会预留一个固定时段,专门用来“补课 AI”——听播客、看最新资料,甚至在周末做白板推演。领导者需要重新回到“亲自上手”的状态,并不是要他们亲自实现系统,而是为了重建判断力,接受“我的直觉可能不再完全正确”这一事实。很多真正成功的团队,正是从这种自上而下的转变开始的。AI 几乎不可能靠纯粹的自下而上推动,如果领导层对技术缺乏信任,或者对能力边界有误判,整个组织都会受限。

 

第二个维度是文化。在传统企业中,AI 往往不是核心业务,但因为竞争对手在用、因为确实存在可行用例,企业不得不引入 AI。在这个过程中,恐慌文化非常常见,比如“FOMO”“你会被 AI 取代”等说法。问题在于,真正做出好 AI 产品,极度依赖领域专家;但很多专家却拒绝参与,因为他们担心自己的岗位被替代。这时,领导者需要建立一种“赋能型文化”,强调 AI 是用来增强个人能力、放大产出的工具,而不是威胁。只有这样,组织才会形成合力,而不是人人自危。事实上,AI 往往会创造更多机会,让员工做更多、更高价值的事情。

 

第三个维度才是技术本身。成功的团队通常对自身工作流有近乎执念般的理解,清楚哪些环节适合 AI,哪些地方必须有人参与。几乎不存在“一个 AI Agent 解决一切”的情况。通常是机器学习模型负责一部分,确定性代码负责另一部分。因此,关键不在于迷信技术,而在于为每个问题选择合适的工具。

 

此外,这些团队也非常清楚自己在和一个非确定性的 API 打交道,因此会以完全不同的节奏推进开发。他们迭代得非常快,但前提是不破坏用户体验,同时快速建立反馈飞轮。如今的竞争焦点,并不是谁最早上线 Agent,而是谁最早构建起持续改进的机制。凡是有人告诉我,“一个 Agent,两三天就能在你系统里跑出显著收益”,我都会非常怀疑。这不是模型能力的问题,而是企业数据和基础设施本身就极其混乱。大量技术债、混乱的接口和命名方式,都需要时间去消化。真正能产生显著 ROI,通常至少需要四到六个月,即便你拥有最好的数据和基础设施。

 

Lenny:有些人认为评测(eval)是解决 AI 问题的关键,有些人则觉得它被严重高估,只要“感觉对了”就行。你们怎么看 eval?它在多大程度上真的能解决你们提到的那些问题?

 

Kiriti:我觉得大家陷入了一种错误的二元对立:要么 eval 能解决一切,要么线上监控能解决一切。eval 本质上,是把你对产品的理解、你的价值判断,编码进一组数据集:什么是重要的,什么是绝对不能发生的。而生产环境监控,则是在产品上线后,通过关键指标和用户行为,反馈真实使用情况。

 

这种监控并不新鲜,但在 AI Agent 场景下,颗粒度变得更细了。除了显式反馈,比如点赞、点踩,还有大量隐式信号。例如用户不点踩,但反复要求重新生成回答,这本身就是强烈的负面反馈。

 

真正的问题不在于“选哪个”,而在于你想解决什么。如果你的目标是构建一个可靠系统,那么上线前必须有底线测试,这可以是一小组关键问题,确保无论如何都不能出错。上线之后,你不可能人工检查所有交互轨迹,这时就需要监控来提示你哪里出了问题。当你发现新的失败模式,再反过来构建新的 eval 集。这个循环缺一不可。认为“只靠其中一种就够了”,在我看来是站不住脚的。

 

Aishwarya:我想稍微退一步,谈谈为什么“eval”这个词在 2025 年下半年被赋予了如此沉重的含义。你去找数据标注公司,他们说专家在写 eval;有人说 PM 应该写 eval,它们就是新的 PRD;还有人说 eval 本身就是产品改进所需的完整反馈回路。对初学者来说,这非常混乱。

 

事实上,大家说的都不完全错,但指向的是不同层面的事情。律师和医生写的“评估”,并不等于他们在构建 LLM judge;PM 写 eval,也不意味着要写一个可直接上线的评判模型。很多时候,你事前根本无法判断是否需要 LLM judge,还是只依赖生产环境的用户信号。

 

Martin Fowler 曾提出过“语义扩散”这个概念:一个词被发明出来,随后被不断滥用,最终失去精确定义。我认为 eval 正处在这个阶段。不同人看到的是它的不同侧面。但如果你让一群实践者坐在一起问:“AI 产品是否需要一个可执行的反馈回路?”他们一定都会点头。至于怎么做,完全取决于具体场景。复杂用例下,盲目构建评判模型往往得不偿失,这时回到用户信号、快速修复、确认是否回退,反而更有效。最终,所有资深从业者都会告诉你一句话:一切取决于上下文,不要迷信固定方法论。

 

Lenny:现在“eval”已经变成一个可以指代无数不同东西的词,既包括标注、基准测试,也包括反馈机制,讨论起来反而更混乱了。

 

Aishwarya:我最近就遇到一个客户,说他们“在做 eval”。我问能不能看看数据集,他们说只是看了 LLM Arena 和一些第三方榜单,就选了模型。我只能说,那不是 eval,那只是模型对比。

 

Lenny:Claude Code 的负责人 Boris 曾公开表示:“我们在 Claude Code 里不做 eval,一切靠感觉(vibes)。”能不能请你分享一下,Codex 以及 Codex 团队在 eval 这件事上的具体做法?

 

Kiriti:在 Codex,我们采取的是一种相对平衡的方式:eval 是必要的,但同时必须高度重视用户反馈。我们在产品上极度强调“把正确的产品做出来”,而其中非常重要的一部分,就是认真倾听用户的声音。

 

Coding Agent 和其他领域的 Agent 有一个本质差异:它们是为“可定制性”和“工程师”而生的。Coding Agent 并不是只解决五六个固定工作流的产品,而是需要以多种方式被定制和扩展。这意味着,产品会被嵌入到各种不同的集成环境、工具链和使用场景中。在这种前提下,几乎不可能为用户的所有交互方式提前构建一个完备的 eval 数据集。

 

但与此同时,你仍然需要确保,每一次改动至少不会破坏产品中那些最核心的能力。因此,我们确实会用 eval 来守住这些“底线”。同时,我们也投入大量精力去理解用户真实的使用方式。举个例子,我们最近推出了一个代码审查产品,增长非常快,既帮 OpenAI 内部发现了大量问题,也被外部客户广泛使用。如果我对代码审查相关的模型、或训练时采用的强化学习机制做了调整,在上线之前,我一定会通过 A/B 测试来验证:它是否还能准确找出关键问题,用户对结果的反应如何。

 

有时,用户一旦被错误的代码提示反复打扰,甚至会直接关闭这个功能。你需要确保,新版本确实在“做对的事情”。但老实说,很多这类场景在事前是很难预判的,也很难提前为它们构建对应的 eval 数据集。因此,这里面既有一定的“vibes 判断”,也有大量来自真实用户的反馈。我们会非常主动地关注社交媒体,看看是否有人遇到特定问题,并尽快修复。

 

我并不认为有一套万无一失的 eval 指标,可以完全依赖它,其他什么都不用管。每当我们要发布一个新模型,团队都会聚在一起做集中测试,每个人关注不同的重点。我们手里有一份“高难度问题清单”,会把这些问题交给新模型,观察它的表现。这更像是每位工程师都有一套针对自身关注点的定制 eval,用来帮助大家理解:在这个新模型下,产品到底发生了什么变化。

 

CC/CD 框架

Aishwarya:我们接触过大量公司,它们都承受着来自竞争对手的压力,因为“所有人都在做 Agent”,于是觉得自己也必须构建一个完全自治的 Agent。但很快发现一个问题:在一开始,你根本无法预知用户会如何与系统交互,也无法预判 AI 会给出哪些响应或采取哪些行动。当你的工作流包含四五个步骤、需要连续做出大量决策时,问题一旦出现,就会变得极其难以修复,结果往往是无休止的调试和热修复。

 

我们曾为一个客服场景构建系统,后来,因为热修复多到失控,新的问题层出不穷,这个产品不得不被下线。与此同时,行业里也发生了不少令人警惕的事件,比如前段时间 Air Canada 的一个 Agent“臆造”了一条并不存在的退款政策,而公司因为法律原因不得不接受这个结果。这类案例让人意识到:如果设计不当,AI 系统可能会对企业本身造成非常严重的风险。

 

正是在这样的背景下,我们开始思考:如何在不失去用户信任的前提下构建系统,同时又能形成一个持续改进的飞轮?这就是“CC/CD(Continuous Calibration, Continuous Development 持续校准、持续开发)”框架的出发点。

循环的一侧是“持续开发”。你先界定能力边界,整理数据,明确系统的预期输入和预期输出。在真正动手之前,这一步本身就非常有价值,因为它常常会暴露出团队内部对“产品该如何表现”的理解并不一致。此时,产品经理和领域专家的参与尤为关键。你并不需要一个覆盖所有情况的数据集,而是一个“足够好”的起点。接下来,搭建应用,并设计评估维度。我刻意使用“评估指标”这个说法,而不是简单地说 eval,是因为评估是一种过程,而指标只是你在过程中重点关注的维度。

 

另一侧是“持续校准”。当系统上线后,你一定会看到大量最初未曾预料到的用户行为模式。评估指标可以帮助你发现一部分问题,但很快你会意识到,它们同样不足以覆盖所有新出现的错误模式。这时,你需要分析真实行为,识别新的错误类型,一部分问题可以直接修复,而另一部分则需要催生新的评估指标。这并不意味着每一个错误都要转化为新的 eval 维度。有些只是偶发问题,比如工具定义不清导致的调用错误,修完即可继续前进。

 

整体来看,这就是一个 AI 产品的典型生命周期。我们还特别强调,在迭代初期,应当采用“低自治、高控制”的方式:限制系统可做的决策数量,引入人在回路;随着理解加深,再逐步提高自治程度。这样做的本质,是在逐步建立对系统行为的认知飞轮。

 

以客服 Agent 为例,我们通常会把演进过程拆成三个阶段。第一阶段只是“路由”,即判断工单该被分配到哪个部门。很多人会低估这个问题的复杂度,但在大型企业里,路由往往异常困难。层级混乱、分类标准失序的情况非常普遍,人类客服往往依赖大量隐性经验才能做出判断,而这些规则通常并未被文档化。如果直接把问题丢给 Agent,而不给足上下文,风险就会非常高。在路由阶段,即便 Agent 分错了部门,人类也可以介入纠正,控制风险。同时,这个阶段往往会暴露出大量数据问题,需要优先修复。

 

等路由稳定之后,下一步是“副驾驶”:Agent 根据既有的标准操作流程生成回复草稿,由人工修改和确认。在这个过程中,你会自动记录人类的修改行为,从而几乎“免费”获得误差分析数据,并将其反馈到系统中。当你发现,大多数情况下人工已经不需要做太多修改时,才可以进入端到端的自动处理阶段,让 Agent 既生成回复,也完成问题的解决。这正是从低自治逐步走向高自治的过程。

 

我们还整理了一张表,明确每个阶段你在做什么、能学到什么,以及这些信息如何被反馈回系统。需要强调的是,采用 CC/CD 并不意味着问题会一次性被解决。即便已经走到较高版本,你仍然可能遇到此前从未见过的数据分布。这个框架的意义,在于帮助你在完全自治之前,尽可能多地理解用户行为,从而降低整体风险。

 

此外,它还隐含地帮你建立了一套行为日志体系。单纯依赖评估指标,只能捕捉你“已经知道”的错误,而大量新模式,只有在真实使用中才会显现出来。通过这种低风险、渐进式的方式,你可以理解用户,而不至于在问题全面爆发时手忙脚乱。最终,这一切的核心目标只有一个:在持续校准系统行为的同时,不断维护并增强用户对产品的信任。

 

Lenny:这套方法的核心,在于把一切都设计成持续的、可迭代的过程,沿着“自治程度不断提高、控制逐步降低”的路径前进。“持续校准、持续开发”这个命名,本身就强调了它的迭代性。顺便说明一下,这个名字显然是在向 CI/CD(持续集成、持续部署)致敬,只不过这是 AI 时代的对应版本:不再只是不断跑单元测试、频繁部署,而是持续运行 eval、观察结果、调整关注的指标,找出系统失效的地方,再不断迭代优化。

 

在这个框架本身上,还有没有什么你觉得特别重要、但我们还没提到的点?

 

Aishwarya:我们最常被问到的问题之一是:我该如何判断,系统是否已经“校准得足够好”,可以进入下一个阶段?这件事并没有一套明确的规则手册,核心原则只有一个:尽量减少“意外”。比如说,如果你每一两天就做一次校准,而发现没有出现新的数据分布模式,用户的行为也相当稳定,那你从系统中获得的新信息就已经非常有限了。这往往就是一个信号,说明你可以考虑进入下一阶段了。到了这个时候,很大程度上其实是在凭经验判断:你是否感觉自己已经“准备好了”,是否还在持续获得新的洞察。

 

当然,也要意识到,有些外部事件会彻底打乱原有的校准状态。比如 GPT-4.0 被弃用,API 层面逐步迁移到 GPT-5,而新模型的行为特性完全不同,这时你的校准就会再次失效,需要重新走一遍流程。用户行为本身也会随时间演化。即便是消费级产品,我们今天和 ChatGPT 的交互方式,也和两年前完全不同,一方面是模型能力提升了,另一方面是用户在某个任务上尝到甜头后,会自然地把系统用于更多新场景。

 

我们曾为银行的核保人员构建过一个系统。核保本身是一项非常繁琐的工作,贷款申请文件往往有三四十页。这个系统的初衷,是帮助核保人员快速查找政策和内部信息,从而更高效地审批贷款。最初三四个月,反馈都非常积极,核保人员的效率显著提升。但随后我们发现,正是因为他们对系统产生了信任,开始提出一些我们从未预料到的深度问题,比如直接把整份申请材料丢给系统,问:“像这种情况,之前的核保人员通常是怎么处理的?”

 

从用户角度看,这只是一个非常自然的延伸;但从产品构建角度看,底层逻辑却发生了质变。系统需要理解“类似情况”究竟指什么,再去检索历史案例、分析文档,最后给出综合判断。这已经远远超出了最初“查找某条政策”的设计范围。正是这种不断演化的用户行为,提醒你:是时候回到校准阶段,重新审视系统能力边界了。

AI 的未来

Lenny:当下 AI 领域里,哪些东西被高估了?哪些被低估了?

 

Kiriti:与其说“被高估”,不如说有些概念被严重误解。一个典型例子是多 Agent 系统。很多人会觉得:我有一个复杂问题,只要拆成几个子任务,分别交给不同的 Agent,再把它们连起来,就能实现所谓的“Agent 乌托邦”。现实并非如此。当然,成功的多 Agent 系统确实存在,但关键在于,你如何限制系统偏离轨道的方式。

 

例如,用一个监督型 Agent 来协调多个子 Agent,是一种非常成熟、有效的模式;但如果只是按功能拆分职责,期望这些 Agent 通过某种“点对点协作”自然形成整体能力,那在当前的模型能力和工程范式下,往往行不通。这并不是多 Agent 被高估,而是人们高估了它在现阶段能“自发协同”的程度。

 

我觉得 Coding Agent 仍然被低估了。你在 Twitter 或 Reddit 上会看到大量讨论,但你会发现它的真实渗透率依然很低,而潜在价值却极大。我认为 2026 年会是集中优化这些流程、释放巨大生产力的一段时间。

 

Lenny:相比预先设计一堆各司其职的 Agent,更现实的路径,可能是让一个更强的 Agent 自己完成任务拆解和协调?

 

Kiriti:没错。你可以由人来编排多个 Agent,也可以由一个更大的 Agent 负责统筹。但如果让多个 Agent 以点对点的方式自由通信,尤其是在客服这类对输出高度敏感的场景中,几乎不可能精细地控制“到底是哪个 Agent 在对用户说话”,护栏成本会急剧上升。

 

Aishwarya:我认为 eval 是被误解的概念。它当然重要,但“不断切换工具、学习新工具”这件事被高估了。我依然是比较传统的看法:真正值得投入精力的,是对你要解决的业务问题保持极度专注,AI 只是工具而已。你当然需要了解最新进展,但不要把“快速构建”本身当成目标。今天构建的成本已经非常低了,真正昂贵的是设计,是你是否真正想清楚了产品要解决什么痛点。对问题本身和产品设计的执着,是被低估的,而单纯追求“快点做出来”,是被高估的。

 

Lenny:从产品视角看,你们觉得未来一年 AI 会走向哪里?

 

Kiriti:我非常看好“后台型”或“主动型” Agent。当前 AI 难以持续创造价值,很大程度上是因为它缺乏上下文,而原因在于它还没有真正接入工作发生的地方。一旦 Agent 被更深地嵌入真实工作流,获得更丰富的上下文,它就能理解你在优化什么指标、试图完成哪些活动。接下来顺理成章的一步,就是由 Agent 主动反过来提示你。

 

我们已经在 ChatGPT Pulse 这样的功能中看到雏形,它每天推送一些你可能关心的更新,帮助你“唤醒思路”。把这一模式扩展到更复杂的任务中,比如 Coding Agent 在你一天开始时告诉你:“我已经帮你修复了五个工单,这是补丁,看看就行。”我认为这会在 2026 年成为非常重要的产品方向。

 

Aishwarya:我非常期待 2026 年的多模态体验。2025 年我们已经取得了不小进展,不只是生成能力,在理解层面也是如此。但到目前为止,LLM 仍然是最常用的模型形态,而人类本身是高度多模态的。语言其实是我们进化中相对靠后的表达方式。即便我们在对话中,也在不断接收视觉、表情、语气等信号,并据此调整表达。如果能构建真正丰富的多模态交互,将会更接近人类对话的真实复杂度。

 

此外,还有大量“枯燥但重要”的任务等待被自动化。如今依然有无数手写文档、杂乱的 PDF,即便是最先进的模型也难以处理。一旦多模态理解能力真正成熟,我们就能解锁大量此前无法触及的数据资源。

 

Lenny:如果有人想提升自己构建 AI 产品的能力,你认为最值得重点培养的一两项技能是什么?

 

Aishwarya:从小处着手、快速迭代、建立正向飞轮等。但如果站在更高的视角来看,对于当下的产品构建者而言,实施成本在未来几年会变得极低,真正稀缺的将是设计能力、判断力和审美品位。无论是做产品还是规划职业路径,早期几年往往专注于执行层面的技术细节,而随着 AI 大幅降低上手门槛,几年之后,每个人的价值都会更多体现在品味、判断,以及那些“只属于你”的东西上。

 

这种能力并不一定来自年龄或多年经验。我们最近招了一位同事,团队一直在用一款价格不菲的任务管理工具,他却直接带着自己手写的应用来开会,当场把我们全部拉进去开始用。那种主动性和主人翁意识,敢于重新思考既有体验,正是最能拉开差距的地方。当然,这类自建工具在规模化后可能有维护成本,需要替换或升级,但在小团队阶段,这种“先做出来再说”的态度让我非常震惊。很多在 AI 时代成长起来的人,对“构建”的心理成本极低,也更愿意尝试新工具。这或许也是为什么很多 AI 产品存在留存问题,大家都太容易被新工具吸引了。

 

归根结底,真正重要的是主动性和责任感。“忙碌但无效”的工作时代正在结束,你不可能再躲在角落里做对公司没有实质影响的事,而必须思考端到端的流程,以及如何创造更大的影响。

 

Lenny:这让我想到我之前请过 Jason Lemkin 上节目。他把整个销售团队几乎都替换成了 Agent:原来 10 个销售,现在是 2 个人加 20 个 Agent。结果有位销售直接辞职了,因为他发现自己“什么都没干”,很快就会被系统识别出来。这也印证了你的观点——混日子会越来越难。

 

Kiriti:坚持和承受“痛苦”的能力同样被严重低估。如今信息触手可及,几乎任何人都可以在极短时间内学习新东西,但真正的差别在于,是否愿意经历反复试错的过程——学习、实现、失败、再调整,真正理解什么有效、什么无效。我常说“痛苦是新的护城河”,这种在实践中积累的经验,无论对个人还是公司,都会沉淀为难以复制的优势。

 

很多成功的公司,并不是因为抢先进入市场,或拥有多么炫目的功能,而是因为他们经历了足够多的痛苦,搞清楚哪些是不可妥协的核心点,并在模型能力、功能取舍之间不断权衡。这没有标准答案,也没有教科书,只能靠一轮又一轮的迭代。正是这些过程中的“痛苦”,最终塑造了个人能力和公司的长期竞争力。

 

Aishwarya:专注于问题本身。AI 只是工具,关键在于你是否真正理解自己的工作流。很多所谓的 AI 工程师和 AIPM,把大部分时间花在理解业务流程、用户行为和数据上,而不是追逐最炫的模型。真正的差异化,永远来自对用户和问题的深度理解。

闪电问答

Lenny:你们最常推荐的书是什么?

 

Aishwarya:《当呼吸化为空气》。作者 Paul Kalanithi 是一位神经外科医生,在三十出头被诊断出肺癌。这本书让我意识到,我们是否花太多时间“评估人生”,却忘了真正去生活。

 

Kiriti:我更偏爱科幻,《三体》三部曲。它不仅讨论外星文明,也深入探讨科学、地缘政治与人类决策,对理解技术与文明的关系非常有启发。

 

Lenny:如果喜欢科幻和 AI,我还强烈推荐《深渊上的火》(A Fire Upon the Deep)。

 

Lenny:最近最喜欢的影视作品?

 

Aishwarya:我在重刷《硅谷》,它出奇地不过时,如今的 AI 浪潮和当年的情景高度相似。

 

Kiriti:我选一个游戏,《Expedition 33》。制作精良,故事、音乐和玩法都非常出色。

 

Lenny:最近发现并非常喜欢的一款产品?

 

Aishwarya:Whisper Flow。我没想到自己会这么依赖它,它能把语音自然地转化为指令,体验非常顺滑。

 

Kiriti:我偏好效率工具,比如 Raycast 和 caffeinate,让我在本地跑长时间任务时效率更高。

 

Lenny:你的人生信条?

 

Aishwarya:“人们说这件事做不到,但那个傻子不知道,于是他做成了。”在这个数据随时告诉你“你大概率会失败”的时代,保留一点愚蠢的勇气很重要。

 

Kiriti:乔布斯那句话:你只能回头看时,才能把点连成线。所以不断前进、持续尝试就好。

 

Lenny:你最欣赏对方的一点是什么?

 

Aishwarya:Kiriti 非常冷静、踏实,是我最重要的“回声板”,而且他是我见过最好的丈夫。

 

Kiriti:Aishwarya 最大的特点是,她能把复杂问题讲得极其清楚,并且始终保持耐心和坚持,这在快速变化的 AI 时代非常珍贵。

 

参考链接:https://www.youtube.com/watch?v=z7T1pCxgvlA

引言

只需一句“2025年公司内部新能源车电池技术突破的讨论纪要”,就能从堆积如山的公司文档、会议记录和研究报告中,瞬间定位到最相关的段落及其原始文件——这不再是科幻电影中的场景,而是今天每一家企业都应具备的“基础智能”。实现这种“基础智能”的关键,正是强大的检索能力,而依托 AI ready 原生架构与向量数据湖的统一存储能力,结合 RAG 与多模态技术,这份能力已成为企业数智化转型的核心支撑。

MetaInsight,让 RAG 变成可轻松消费的云服务

在过去,为你的应用赋予基于私有知识的问答能力,搭建一整个 RAG 应用,意味着你要启动一个「小型工程项目」。

你需要做出一系列艰难的选择:该选用哪家向量数据库(Pinecone、Milvus、 Chroma 还是 Tencent Cloud VectorDB)?文本分块策略到底设成多大?重叠字符多少才合适?该用哪个嵌入模型?而后,你还需要投入持续的运维精力来维护这套系统。整个流程繁琐、专业且充满不确定性,大量精力耗费在基础设施的搭建和调试上,而非业务逻辑本身。

而现在,腾讯云数据万象中 MetaInsight 能力全新升级, “文档检索”核心能力正式上线,以 AI ready 为核心定位,深度融合向量数据湖、RAG 与多模态技术,具备精准解析、高效定位与深度挖掘三大特性,为企业提供更强大、更智能的非结构化数据检索方案,真正降低 RAG 与多模态应用的落地门槛。

1

原本复杂的 RAG 检索模块调用,整个流程被压缩为几步清晰的 API 调用:

  • 「创建存储」:简单的接口调用,在云端创建一个专属的、全托管的文件搜索存储区;
  • 「上传文件」:将您的 PDF、DOCX、PPTX、TXT、MD 等文档直接上传到腾讯云对象存储 COS;
  • 「创建数据集」:从涵盖了“基础元数据检索”、“图片检索”与“文档检索”的丰富算子模板库中,选择一个适合您业务需要的算子模板,完成数据集的创建;
  • 「绑定存储与数据集」:将您的 COS 桶或桶路径与创建好的 MetaInsight 数据集进行绑定,MetaInsight 的内置模型便会对 COS 中存储的文件进行相应的 AI 处理(包括但不限于 Embedding,提取标签,总结描述等);不仅仅是存量文件,后续上传的文件也会自动执行相关的全自动处理;

2

  • 「提问并获取答案」:在提问时,只需一个简单的接口调用,根据您选择好的算子模板,模型便会自动检索你的知识库,并快速找到基于事实、附带引用的答案。

3

为了更直观地展示由开发者手动搭建传统 RAG 检索模块与直接使用 MetaInsight 的差别,我们整理了一份详细的表格,展示了各种模块的处理难点与使用 MetaInsight 后的便捷。

特性 / 步骤传统 RAG 检索模块 (手动搭建)MetaInsight(全托管)
1. 文档解析 (Parsing)解析器配置、文本清洗、结构化提取、文档分块、格式适配、质量过滤自动处理,内置高效文档解析模块
2. 文档分块 (Chunking)需手动设计策略 (如按段落、定长)自动处理,内置优化分块策略
3. 查询改写(Rewriting)需手动处理改写方法、规则模板、模型参数、过滤约束、场景适配等问题自动处理,内置优化后的查询改写模块
4. 向量化 (Embedding)自行选择和管理 Embedding 模型自动使用最新的腾讯云大语言模型进行向量化工作
5. 向量数据库 (Vector DB)需自行部署、调优和扩展完全托管,无需管理数据库
6. 检索策略 (Retrieval)需手动调优检索算法 (如相似度、MMR)内置最新向量检索技术
7. 重排序 (Rerank)需手动调整模型 / 特征权重、候选数、多样性、融合策略等内容内置最新重排序相关能力,无需考虑复杂策略
8. 引用与溯源 (Citations)需自行开发,关联 chunk 与原文档内置引用,自动返回答案来源和出处
9. 工程运维 (Ops)高度复杂,需专人维护和扩展零运维 (Serverless),按需使用

助力千行万业,MetaInsight 的场景应用

腾讯云 MetaInsight 具备多种检索能力,可以广泛适配多个不同行业的多种复杂场景:

  • 文档检索:解决 “海量非结构化文本找不准、读不懂、用不上” 的痛点,实现全文、语义、条款级精准检索,适配法律、金融、医疗等知识密集型行业的核心文档需求;

4

  • 图片检索:弥补文本检索的视觉信息缺口,适配电商、医疗、工程等 “图文混合” 场景,实现 “以文搜图、以图搜图”,提升视觉信息利用率;

5

  • 基础检索:作为高效筛选入口,结合元数据实现快速分类、归档、定位,与前两种能力形成 “元数据 + 内容 + 视觉” 的三维检索体系,覆盖全类型信息管理需求。

如下表格为您梳理了广泛适配场景,助您快速找到相关行业应用于落地机会:

适配行业基础元数据检索文档检索图片检索
法律行业按案件、部门、生效时间筛选检索合同、判决书、合规文档等,提取关键条款与案例核查证据照片、资质/印章扫描件
金融行业按公司、客户等级、风险评级筛选检索研报、财报、征信等文档,提取核心数据与合规要点解析研报图表、核查证件/抵押物图片
医疗健康行业按患者ID、病种、学科筛选检索电子病历、检查报告等,提取病史与诊疗要点查看 CT、病理切片、医学示意图
政务与公共服务按部门、年代、事件类型筛选检索政策文件、档案等,提取工作要求与核心内容核查群众证明材料、历史照片
企业知识管理按部门、项目、文档类型筛选检索内部制度、项目文档等,快速定位核心知识点查看产品示意图、流程图表、现场照片
电商与零售行业按商品类目、供应商筛选检索商品说明书、质检报告等,提取参数与标准实现图文互搜,核查商品问题、资质图片
教育与科研行业按学科、年级、项目筛选检索论文、教案等,提取研究结论与教学要点查看实验图片、课件图表、专利附图
工程与制造行业按项目、产线、批次筛选检索施工图纸、技术规范等,提取技术参数查看图纸截图、设备故障、施工现场照片

MetaInsight 与广大开发者携手,迈向智能化的未来

对于绝大多数技术开发者而言,是一次巨大的「生产力解放」。MetaInsight 让使用者告别复杂基建,解放时间与精力,更好专注到核心业务。

  • 「应用开发者与中小团队」:他们是最大的赢家。以往被复杂技术栈和运维压力所阻挡的创新想法,现在得以快速验证。一个最小的可行产品(MVP)的开发周期可以从数周缩短至几天。他们可以真正“站在巨人的肩膀上”,将宝贵的研发资源聚焦于业务逻辑、用户体验和垂直行业的深度结合上。
  • 「企业内部的技术团队」:对于非核心 AI 研发的企业,MetaInsight 是降本增效的利器。法务、人力、客服、研发管理等团队,可以近乎零成本地搭建起高度专业的内部知识助手,极大提升了信息流转和决策效率。技术门槛的降低,使得AI应用得以在企业的毛细血管中迅速普及。
  • 「教育机构与个人学习者」:RAG 技术不再高不可攀。学生和个人开发者能够以极低的成本接触、实践并创造出功能完整的 AI 应用,这无疑将加速 AI 人才的培养和整个生态的繁荣。

腾讯云 MetaInsight 最新功能“文档检索”已正式启动内测,尝试用更自然的方式探索数据,用更智能的工具创造价值。

没人写代码,也没人看代码,软件照样交付?

 

2026 年 2 月,一家专注于基础设施安全的公司 StrongDM 公开了一套“软件黑灯工厂”式的生产线成果。

 

在这个生产线里,人类不再直接写代码、也不承担代码审查;开发从交互式协作变成“把 spec 和场景喂给系统”。随后由 Agent 自动生成代码、运行测试/评测 harness,并在反馈回路里反复迭代,直到结果收敛、可以交付为止。团队把这套玩法写进章程,最重要的只有一句话——No hand-coded software。

 

StrongDM AI 还不寻常的开源了它们:

 

其中一个仓库是:https://github.com/strongdm/attractor

 

这是他们“软件工厂”体系中最核心的非交互式编码 Agent。不过,这个仓库本身一行代码都没有:里面只有三份 Markdown 文件,极其细致地描述了软件的完整规格说明(spec),以及 README 里的一句提示——把这些规格说明交给你选择的编码 Agent 去执行即可。

 

另一个仓库https://github.com/strongdm/cxdb

 

这个则更接近传统意义上的软件发布:包含 1.6 万行 Rust、9500 行 Go,以及 6700 行 TypeScript。这是他们的 “AI Context Store”——一个用于存储对话历史和工具输出的系统,数据以不可变 DAG 的形式组织。

 

在 Hacker News 的讨论中,很快就有开发者按图索骥,实际跑了一遍这套流程。他表示,自己仔细阅读了 Attractor 仓库中的文档,并严格按照 StrongDM 提供的规范,让 Claude 基于 spec 构建了一个完整应用。最终生成的是一个可以直接使用 Claude API Key 的 AI 代理,其整体质量“明显好于让模型自由发挥时生成的结果”。

 

让他印象最深的,是这套规格说明的体量和细节程度:整套 spec 大约6000–7000 行,覆盖了行为约束、接口语义以及系统边界。“我以前给代理布置项目时,规格说明最多也就一页纸,这次的细节密度让我非常震惊。”

 

当然,这次开源并不是一个“打磨完毕”的展示版本。代码一经放出,Hacker News 上就有开发者迅速上手检查,指出其中存在疑似 bug、Rust 反模式,以及相对宽松的错误处理方式。对此,StrongDM AI 团队成员 Jay Taylor 在评论区回应称,这批项目“是最近几天才决定开源的”,尚未经过充分的技术优化,目前已经安排代理继续对 CXDB 进行清理和改进。

 

这套实践也很快得到了学界的点名。沃顿商学院研究 AI 与组织变革的教授 Ethan Mollick 在转发 StrongDM 的公开内容时直言,这是一次“真正激进的软件开发方式”:“几乎没有任何人类介入。即便这种方式未必适用于大多数场景,我们也需要更多这样的跳级式设想,去重新设计流程,而不是只把 AI 塞进旧流程里。”

 

在他看来,真正有价值的进步,不是在原有流程上“多加一点 AI”,而是围绕 AI,把流程本身重做一遍

 

一条“禁止手写代码”的内部实验线

 

StrongDM 是一家专注于基础设施访问与身份安全的公司,核心工作是管理人类与非人类身份如何安全地连接到数据库、云资源和各类内部系统。

 

而他们的 AI 团队成立于半年前, 2025 年 7 月 14 日这天,Jay Taylor、Navan Chauhan 与 StrongDM 的联合创始人兼首席技术官 Justin McCarthy 一起,正式把一条原本分散在内部的探索工作,独立成一个专门的团队。

 

新团队成立后,第一天的工作并不是写代码,而是写一份章程。Justin McCarthy 在回顾中提到,在团队成立的第一个小时,他们就先明确了一组接下来必须遵守的约束条件。

 

代码不得由人类编写。

 

代码不得由人类审查。

 

如果你今天在每位人类工程师身上花费的 token 成本还不到 1000 美元,那么你的软件工厂还有很大的改进空间。

 

在 StrongDM 自己的回顾里,这个决定并不是一时冲动。其背景要追溯到 2024 年末。随着 Claude 3.5 在 2024 年 10 月的第二次修订发布,团队开始观察到一个此前并不常见的变化:在长时序的 Agentic 编程任务中,结果开始叠加正确性,而不再只是不断叠加错误。

 

到了 2024 年 12 月,这一变化已经可以通过 Cursor 的 YOLO 模式清晰地观察到。

 

StrongDM 在博客中写道,在此之前,将 LLM 反复用于编码任务,往往会累积误解、幻觉、语法错误、依赖不兼容等问题,最终让系统“慢慢坏掉”;而结合 YOLO 模式,Anthropic 的更新模型第一次展现出他们后来在内部称之为“非交互式开发”或“成长型软件”的雏形

 

在这样的背景下,新成立的团队从一开始就确立了一条极端的实验前提:不允许任何手写代码。在 2025 年 7 月,这听起来依然相当激进。

 

其中最耐人寻味的,是第二条规则:代码不得由人类审查。毕竟大家都很清楚,大语言模型极其容易犯下一些“非人类式”的错误;在这样的前提下,彻底放弃人工 code review,本身就显得反直觉。

 

更何况,安全软件向来是最不愿意交给“未经人工审查的 LLM 代码”去支撑的一类系统。

 

规则落地后,问题也随之出现:如果什么都不手写,怎么确保代码真的能跑?让 Agent 自己写测试,只在一个前提下有用——它们不会“作弊”,比如直接写个 assert true。

 

这也迅速被他们提炼成一个更根本的问题:当实现和测试都由编码 Agent 生成时,你要如何证明自己交付的软件是可工作的?StrongDM 的答案,受到了场景测试(Scenario Testing,Cem Kaner,2003) 的启发。他们是这样描述的:

我们重新定义了“场景(scenario)”这个词,用它来表示一个端到端的“用户故事”。这些场景通常存放在代码库之外(类似模型训练中的“留出集”),既能被 LLM 直观理解,又可以灵活地进行验证。

 

由于他们构建的软件本身往往就包含 Agentic 组件,StrongDM 也随之放弃了“测试全绿”这种布尔式成功定义,转而采用一种更接近真实体验的度量方式。他们引入了“满意度(satisfaction)”这个概念,用来量化验证结果:在所有场景中观察到的执行轨迹里,有多大比例可能令用户满意?

 

他们把这些场景当作“隔离集”,不存放在编码 Agent 能直接访问的地方,用来评估系统整体行为。这个设计本身就很有意思,它在某种程度上,模拟的是传统软件工程中一种极其昂贵、但也极其有效的做法——由外部 QA 团队执行的强力端到端测试。

 

合成场景策划与塑造界面

 

从软件工厂的整体原则来看,StrongDM 把这一切总结为一条清晰的流程:“种子 → 验证 → 反馈回路”。系统先接收一个最小起点——几句话、截图,或一个已有代码库;然后在尽量贴近真实世界的验证环境中跑场景,把输出持续反馈回输入,让系统在闭环中自我纠错、不断叠加正确性;循环会一直运行,直到所有被隔离出来的场景不仅通过,而且能持续通过。token 被他们形容为这条生产线的燃料。

 

将“验收”交给 spec?

 

在 StrongDM 的软件工厂里,spec 并不是用来给人看的设计说明书,而是整个系统能够启动、纠偏和收敛的核心输入。

 

在传统开发流程中,spec 更多是一种“对齐工具”:它帮助工程师理解要做什么,但真正的实现细节、权衡和妥协,往往发生在代码和 code review 过程中。而在 StrongDM 的设定下,当“人不写代码、人不看代码”成为前提,spec 的角色被彻底前移——它不再是参考材料,而是事实上的控制面。

 

团队要求系统能够“从层层递进的自然语言规范中生长”,并且必须能够在“不对源代码做语义层面检查的情况下完成验证”。在这种设定下,“验收”本身也被重写了。spec 与场景(scenario)一起,构成一个不断运行的评测基准:模型生成的行为是否符合规范,不是靠人去读代码判断,而是靠它在这些场景中跑出来的结果是否持续满足预期。

 

换句话说,StrongDM 的方法把覆盖率从“人为写了多少测试”这一维度转向了“规范/场景是否足够多与足够准确”+“验证生态能否在闭环中捕获异常”这一维度。

 

基于这一理念,StrongDM 还进一步提出了他们的另一个关键概念:数字孪生宇宙(Digital Twin Universe, DTU)。

 

StrongDM 的定义是:数字孪生宇宙是一组对第三方服务的行为级克隆体。他们构建了 Okta、Jira、Slack、Google Docs、Google Drive 和 Google Sheets 的孪生系统,复刻这些服务的 API、边界情况以及可观察到的行为。

 

有了 DTU,他们就能在远超生产环境限制的规模和速率下做验证:既能测试那些在真实服务上危险、甚至根本不可能尝试的失败模式,也能每小时运行成千上万个场景,而不必担心触及限流、触发滥用检测,或累积 API 成本。

 

那这些 Okta、Jira、Slack 的关键行为是怎么“克隆”出来的?答案是:用编码 Agent。

 

有人将这套做法概括为一条可复用流水线:把某个服务的完整公开 API 文档直接喂进 Agent harness,让它生成一个自包含的 Go 二进制程序去模拟这些 API;然后在此基础上再快速搭一个简化 UI,方便把整套仿真跑通、跑顺。

 

随后,DTU 的创建者 Jay Taylor 在 Hacker News 上补充了一些背景,分享了一条关键的提示策略:

我最初有一个关键洞察,最终形成了一套可重复的方法,用来确保 DTU 与官方 SaaS 服务之间具有高度一致性:以最流行、公开可用的官方 SDK 客户端库作为兼容性目标,始终追求 100% 兼容。

 

当这些不受限流和配额约束的服务克隆体跑起来后,一整支“模拟测试 Agent”队伍也就能彻底放开手脚。场景测试不再是一锤子买卖的验收环节,而是变成了 Agent 会反复、持续执行的脚本:系统一边搭建,一边就被不停拉出来跑场景、做验证。

 

他们的 Slack 孪生系统截图也直观展示了这种测试方式:一批模拟的 Okta 用户不断出现,并分别去申请访问不同的模拟系统。

 

问题依然是:太烧钱了?

在惊艳之外,这次实验也迅速暴露出一个无法回避的现实问题:成本。

 

在 Hacker News 的实操反馈中,有开发者提到,按照 StrongDM 提供的 spec,让 Claude 构建完整应用时,TypeScript 路线的 token 消耗极高,不得不中途给账户充值,才能在一个晚上把流程跑完。他甚至计划改用 Rust 或 Go 再试一次,只是为了看看是否能把成本压下来。

 

这个反馈并非个例,也不是枝节问题。StrongDM 团队在内部曾提出过一个颇具冲击力的衡量标准:如果你今天在每位人类工程师身上花费的 token 成本还不到 1000 美元,那么你的软件工厂还有很大的改进空间。

 

这句话一旦落到现实,就更像是一个商业模式的探讨:你能否打造出一条足够盈利的产品线,从而负担得起以这种方式开发软件所带来的巨大成本?当任何竞争对手只需几个小时的编码代理工作就能克隆你的最新功能时,构建可持续的软件业务也变得截然不同。

 

另外,正如 StrongDM 团队在回顾中所说,其实这一切技术上是可行的,只是以前从经济上来说不划算:

 

“构建一个高保真 SaaS 应用的克隆在技术上一直可行,但在经济上从未现实过。几代工程师都可能想过,做一个完整、内存级的 CRM 副本来测试,但最终往往会在心里把这个提案按下去——‘算了,太不划算了’。”

 

即使对于那些不打算在 token 成本上一次性投入数千美元的团队和个人来说,StrongDM 这种做法依然有很多值得思考的地方,尤其是在人力成本和个人投入回报这一层面。对程序员个人而言,真正的问题或许不只是“现在贵不贵”,而是:当算力成本持续下降几乎成为共识时,你是否已经开始为新的角色和分工做技能投资——还是仍然把全部价值押在“写代码本身”上。

 

这是个很有意思的观点,不过我想从另一个角度补充一下:如果按每个月 20 个工作日来算,那就是 2 万 × 12 = 24 万美元一年,差不多等于一个 FANG 新毕业生的总包(TC)

我和不少初级到中初级的软件工程师(SDE)共事过,说实话,其中 80% 的表现并不比 Claude 好。(我也见过一些 staff 级别的工程师写出的代码比 AI 还差,但他们通常会用领域知识和技术负责人职责把短板补回来。)

 

我确实看到,AI 正在把软件工程进一步推向一种金字塔结构顶层只有极少数人类,其余大量工作由 AI 承担。

 

虽然从按现在的成本算,AI“还没便宜到值得完全替代人”,但有网友认为成本下降也许能够预期:“我在想,这会不会只是软件工厂还处在非常早期、效率极低阶段的副产品。Yegge 和 Huntley 都承认,他们在做的自治工厂实验既昂贵又浪费。从制造业的历史经验来看,我反而会预期:随着方法逐渐成熟、流程被不断优化,成本会慢慢降下来。”

 

而在博客中的最后,他们给出的结论,也为这条实验线画上了一个颇具警示意义的注脚:“我们这些构建软件工厂的人,必须刻意保持一种天真:主动识别并移除软件 1.0 时代留下的习惯、惯例和限制。数字孪生宇宙(DTU)就是最好的证明——六个月前还不可想象的事情,如今已经成了日常。”

 

参考链接:

https://factory.strongdm.ai/

https://simonwillison.net/2026/Feb/7/software-factory/

https://news.ycombinator.com/item?id=46924426#46931812

但是,我们的职场,要求员工做事之前必须先写好详尽的方案,要有精确的预算、受控的过程、可预测的结果,而且只能「成功」,不许「失败」。 🙄🙄🙄

《反脆弱》:创新来自试错


《反脆弱》:创新来自试错

最近重读《反脆弱 - 从不确定性中获益》(作者 Nassim Nicholas Taleb 纳西姆·尼古拉斯·塔勒布,他的另一部更有名的代表作《黑天鹅》应该很多人都读过),有一个观点反复在脑海里盘旋:大部分创新,从来不是来自精准的规划和理论的推导,而是来自于一场场充满不确定性的试错。

这个观点,狠狠戳破了我们长久以来的一个认知谬误。

我们总以为,创新是一个「自上而下」的过程:先有科学家在实验室里钻研出严谨的理论,再由工程师拿着理论图纸,按部就班地造出新产品。但翻开人类的创新史,真相往往恰恰相反。

就拿蒸汽机来说,我们从小就被告知「瓦特发明了蒸汽机」。但很少有人知道,在瓦特之前,蒸汽机已经有了上百年的发展历程。从 17 世纪末的纽科门蒸汽机开始,无数工匠在矿井抽水的实践中,一次次地对机器进行修补、改良 —— 调整气缸的密封性,优化活塞的运动方式,改进锅炉的加热效率。这些工匠或许根本不懂什么牛顿力学,他们只是在解决一个又一个实际问题,在一次又一次的失败中摸索方向。

瓦特的贡献,是站在了这些试错者的肩膀上,对蒸汽机进行了关键性的改进。但如果没有前人那些「不修边幅」的试错积累,仅凭瓦特的理论思考,绝不可能凭空造出可以驱动工业革命的蒸汽机。蒸汽机不是理论推导的产物,而是试错迭代的结果。

640

飞机的发明,更是一部用血泪写成的试错史。

提到飞机,我们会想到莱特兄弟。但在他们之前,有太多的先驱者为了「飞上天空」的梦想,付出了沉重的代价。有人把翅膀绑在身上从高处跳下,有人尝试用蒸汽动力驱动螺旋桨,有人在试飞中摔断了骨头,甚至失去了生命。这些尝试在当时看来,或许是「鲁莽」的、「不科学」的,但正是这些看似无意义的探索,一点点摸清了空气动力学的门道。

莱特兄弟自己,也经历了无数次的失败。他们在自行车修理铺里反复试验机翼的形状,在风洞里测试不同角度的升力,一次次地把简陋的滑翔机送上天空,又一次次地看着它摔落在地。他们没有现成的空气动力学理论可以参考 —— 事实上,现代空气动力学的很多理论,是在飞机发明之后,科学家们为了解释「飞机为什么能飞」才逐步建立起来的。

先有飞机的试错成功,后有空气动力学的理论完善。这才是创新的真实逻辑。

640 (1)

这样的例子,在人类创新史上比比皆是。青霉素的发现,是弗莱明在实验室里偶然看到霉菌抑制了细菌生长,而非提前规划好的实验目标;微波炉的诞生,是工程师在测试雷达设备时,意外发现口袋里的巧克力融化了,才开启了新的研究方向。

这些创新,没有一个是靠着「完美计划」诞生的。它们都诞生于一次又一次的「意外」和「试错」,诞生于对现实问题的持续回应。

但遗憾的是,我们当下的很多思维模式,都和这种「试错创新」的逻辑背道而驰。

我们的教育,要求孩子从小就要有清晰的目标,要按部就班地走在「正确」的道路上,不允许偏离,不允许犯错;我们的职场,要求员工做事之前必须先写好详尽的方案,要有精确的预算、可预测的结果,不允许「无用功」,不允许「瞎折腾」;我们的人生规划,也被灌输了一种「步步为营」的执念 —— 要在什么年纪考上什么学校,找到什么工作,达到什么成就,仿佛人生是一道可以提前演算的数学题。

这种「凡事必先规划」的思维,看似稳妥,实则扼杀了创新的可能性。因为它的底层逻辑,是对「不确定性」的恐惧,是对「试错」的排斥。它默认未来是可以被预测的,默认路径是可以被规划的,却忽略了创新最核心的特质 ——不确定性。

640 (2)

而《反脆弱》告诉我们,真正的创新,需要的不是「规避风险」,而是「拥抱不确定性」;需要的不是「完美规划」,而是「可控试错」。

所谓反脆弱系统,本质上就是一个「在试错中进化」的系统。它不追求一次性的成功,而是鼓励大量的、小成本的试错。每一次试错,都是一次反馈;每一次失败,都在排除一条错误的路径。只要我们控制好试错的成本 —— 让每一次失败都不至于摧毁整个系统,那么随着试错次数的增加,我们就会越来越靠近正确的方向。

就像创业圈里流行的一句话:「小步快跑,快速迭代。」一个产品从雏形到成熟,从来不是靠创始人的一拍脑袋,而是靠一次次地推向市场,收集用户的反馈,然后不断地调整、优化。那些一开始就追求「完美产品」的创业者,往往死在了通往完美的路上;而那些敢于把「不完美的产品」抛出去,敢于在试错中成长的人,反而更容易找到破局的机会。

640 (3)

人生也是如此。我们不必一开始就想清楚「我要成为什么样的人」,不必拿着一张完美的人生地图去赶路。有时候,你需要做的,只是先迈出一步,去尝试,去体验,去犯错。

你可以在业余时间尝试一个新的爱好,哪怕一开始做得很糟糕;你可以在工作中提出一个新的想法,哪怕它听起来不切实际;你可以跳出舒适区,去做一件自己从未做过的事,哪怕会遇到挫折。

这些尝试,或许不会立刻给你带来回报,但它们会在你的生命里积累成一种「反脆弱」的能力。这种能力,会让你在不确定性面前,不再恐惧,不再迷茫,而是能够从失败中汲取力量,从试错中找到方向。

创新从来不是少数天才的灵光一现,而是普通人在试错中积累的必然结果。放下对「完美规划」的执念吧,允许自己犯错,允许自己走弯路。毕竟,路是走出来的,不是规划出来的;创新是试出来的,不是想出来的。


《反脆弱》:创新来自试错

作者:黄震、范阿冬

导读

在上一篇《告别数据库“膨胀”:Dify x SLS 构建高可用生产级 AI 架构》中,我们深度剖析了 Dify 在大规模生产场景下数据库因日志写入而面临的性能瓶颈,并介绍了通过 SLS 插件实现“存算分离”的硬核改造方案。

然而,解决“数据存储”只是跨过了生产落地的第一道坎。面对复杂的微服务运维、波动的 AI 潮汐流量,如何构建一个弹性、免运维的“计算底座”同样关键。本文作为系列的第二篇,将视野从单一的数据架构扩展至全栈基础设施,为您介绍基于阿里云 SAE × SLS 的终极生产级解决方案。

随着 LLM 应用的爆发式增长,Dify 以其强大的工作流编排与友好的可视化界面,正成为企业构建 AI 应用的首选。然而,当应用从本地 Demo 迈向大规模生产时,开发者常会遭遇两大“隐形”挑战:运维复杂度的剧增与数据架构的性能瓶颈。

本文将深度解析这一架构瓶颈,并介绍基于阿里云 SAE(Serverless 应用引擎) 与 SLS(日志服务) 的联合解决方案。通过“全托管算力”与“存算分离”的双轮驱动,打造一个高弹性、低成本、且具备深度数据洞察力的生产级 Dify 环境。

现状与挑战:Dify 规模化落地的架构瓶颈

在单机 Demo 阶段,使用 Docker Compose 部署配合默认的 PostgreSQL 存储方案完全够用。但一旦进入生产环境,这两项基础设施往往最先成为性能与扩展性的瓶颈。

运维管理复杂

Dify 是一个由 API 服务、Worker、Web 前端、KV 缓存、关系型数据库、向量数据库等多个组件构成的微服务架构。在生产环境中,这种架构给运维带来了很大挑战:

  • 资源缺乏弹性: AI 应用通常具有明显的流量波峰波谷特征。若采用自建 Kubernetes 或 ECS 集群,扩容响应滞后,高峰期用户排队等待,低谷期又造成大量资源闲置,推高成本。
  • 维护成本高昂: 保障高可用、配置负载均衡、处理节点故障、执行蓝绿/灰度发布等基础设施工作,不仅技术门槛高,还会大量挤占开发团队本应用于业务创新的精力。
  • 性能瓶颈明显: 默认部署方式下的 QPS 能力有限,难以支撑高并发场景,尤其在推理密集型任务下容易成为系统瓶颈。

image

数据库容量爆炸

Dify 默认将所有数据(包括业务元数据和运行日志)存储在 PostgreSQL 中。随着业务量增长,“数据特征”与“存储引擎”的错配问题日益凸显:

  • 日志“撑爆”数据库: Workflow 的每一次节点执行,都会完整记录输入输出、Prompt、推理过程及 Token 统计等详细信息。在生产级高并发场景下,这些数据占据了数据库绝大部分资源,导致表空间迅速膨胀。
  • 拖慢核心业务: 高频、高吞吐的日志写入会大量占用数据库连接池和 I/O 资源,严重干扰核心业务操作(如创建应用、知识库检索、对话上下文管理等),导致响应延迟、超时甚至服务不可用。

协同赋能:SAE 与 SLS 的核心优势

为解决上述瓶颈,SAE 与 SLS 协同发力——SAE 聚焦弹性算力调度,SLS 专攻海量日志存储,共同构建高性能、高可用的 Dify 运行底座。

SAE:极致弹性的 Dify 全托管运行环境

SAE 不仅负责 Dify 核心微服务(API、Worker、Sandbox)的编排,更通过一键化模板集成了 Dify 运行所需的完整云生态。

  • 一键全栈交付: 开发者无需手动搭建复杂环境。通过预置模板,可一键部署完整的微服务集群,并自动创建和集成连通日志服务 SLS(工作流日志存储)、表格存储 Tablestore(向量存储)、云数据库 Redis 版(缓存)及 RDS for PostgreSQL(元数据存储)等阿里云服务,无需逐个购买和配置,实现“开箱即是生产级”的交付体验。
  • 企业级高可用保障: 实例自动分布于多可用区,配合健康检查与自愈机制规避单点故障。支持金丝雀发布,确保在工作流频繁迭代时,流量切换平滑无感。
  • 秒级算力弹性: 完美适配 AI 业务的“潮汐特征”。SAE 支持按 CPU/内存利用率或 QPS 指标进行自动扩缩容。在推理高峰期,秒级拉起 Worker 实例抗压;在业务低谷期,自动释放闲置资源,将算力成本严格控制在“有效使用”范围内。
  • 深度性能调优: SAE 对 Dify 实施了穿透代码与架构的“立体调优”,不仅在底层修补了 Redis 集群适配与慢 SQL 短板,更精准调优了运行参数并对齐了资源规格。这一全链路改造驱动吞吐量实现从 10 QPS 到 500 QPS 的 50 倍跃迁,确保 AI 响应如丝般顺滑。

image

SLS:支撑海量数据的“存算分离”方案

SLS 并非简单的数据库替代品,而是专为日志场景设计的云原生基础设施。相比于 PostgreSQL,SLS 在 Dify 场景下实现了四个维度的架构升级:

  • 极致存储弹性: 不同于数据库需按“峰值”预置资源,SLS 作为 Saas 化服务,天然支持秒级弹性伸缩。无论是深夜的低谷还是突发的推理洪峰,都能自适应承载,无需关心分片或容量上限。
  • 架构解耦负载隔离: 相利用追加写入特性,避免了数据库常见的随机 I/O 与锁竞争,轻松支撑万级 TPS 吞吐。同时通过将日志负载彻底剥离至云端,确保海量日志写入不影响 Dify 核心业务的响应速度。
  • 分层存储低成本留存: 依托高压缩比技术,热数据实时分析,冷数据自动沉降至归档存储,可以远低于数据库 SSD 的成本满足长周期的审计与回溯需求。
  • 开箱即用的业务洞察: 内置的 OLAP 分析引擎支持 SQL 实时查询、可视化报表与告警监控,帮助开发者将沉睡的日志数据转化为直观的业务洞察。

极简部署:1 分钟定义生产级底座

SAE 应用中心内置了深度优化的 Dify 生产级模板,通过简单的参数配置,即可一键交付一套高可用就绪的运行环境,告别繁琐的 YAML 编写与环境调试。

Step 1:选择部署模板

登录 SAE 控制台,进入应用中心,选择 “Dify 社区版 - Serverless 部署”

image

Step 2:配置参数与规格选型

目前提供了 Dify 高性能版、Dify 高可用版、Dify 测试版三种模板。

如果是应对高并发生产场景,建议优先选择 Dify 高性能版,该版本专门针对 api 镜像以及 plugin-daemon 镜像做了深度优化,运行效率更高。配置过程极为精简,只需手动填写各云服务的密码并选定所属的 VPC 与子网(VSW),系统便会针对选定的云资源给出一份总预估价格,确保成本清晰透明。

image

Step 3:提交并访问服务

点击提交后,系统会自动完成核心服务的部署与云资源关联。

image

部署完成后,直接在浏览器输入控制台提供的服务地址 ${EXTERNAL-IP}:${PORT},即可开始您的 Dify 应用编排之旅。

image

注:当 Dify 启动并运行之后,SLS 插件会自动创建相关的 logstore 和索引配置。无须手动干预,直接从 SLS 控制台进入对应的 project,即可工作流日志进行实时的查询和分析。

50 倍性能跃迁:SAE 从 10 QPS 到 500 QPS 的突破之路

Dify 社区版的默认配置仅能支撑 10 QPS,但这仅仅是起步。从“尝鲜”到 500 QPS 的生产级扩容,并非简单的堆砌服务器资源,而是一场步步惊心的“闯关游戏”。每当你试图提升吞吐量时,总会撞上新的隐形天花板——从基础的参数限制到深层的架构瓶颈。SAE 团队通过全链路压测,为您提前探明并攻克了这条晋级之路上的两大核心关卡,让高性能部署变得有迹可循。

瓶颈一:突破 10 QPS 限制——组件并发与数据库连接的协同调优

1. 为什么默认配置只有 10 QPS?

Dify 社区版默认配置更多是为了方便开发者快速试用,而非为大规模生产环境设计。其核心组件 dify-api 的默认参数极为保守:

SERVER_WORKER_AMOUNT(工作进程数):1
SERVER_WORKER_CONNECTIONS(单进程最大连接数):10

这两个参数直接锁死了单节点的吞吐上限。但在生产环境中,我们不能简单地将这些参数“调大十倍”,因为应用层的并发能力提升,立即会引发下游数据库的连锁反应。

2. 牵一发而动全身的“连接池”难题

随着 QPS 的增长,dify-api 和 dify-plugin-daemon 等组件会向 PostgreSQL 发起海量连接。如果缺乏全链路的参数协同,系统极易陷入瘫痪:

  • 连接数被打满:PostgreSQL 的总连接数是有限的,盲目增加组件并发,会导致数据库连接迅速耗尽,后续请求直接报错。
  • 组件间的连接争抢:SQLAlchemy 连接池有“懒加载”机制,且空闲连接在过期前不会释放。如果配置不当,会出现非核心组件占用大量空闲连接,而核心组件因拿不到连接而“饥饿”的情况。

解决方案:经过实战验证的“生产级配置矩阵”

为了避免用户陷入繁琐的参数试错循环,SAE 团队在真实生产环境下进行了多轮全链路压测。摸索出了不同流量档位下 API 并发度、数据库连接池大小与各组件资源规格之间的生产级配置清单。用户无需关心具体的参数计算,只需根据预估流量选择对应的规格档位,确保每一份算力都能转化为实际的业务吞吐量。

注:压测场景并不包含代码执行(Code Sandbox)链路。dify-sandbox 组件的规格与数量请根据实际业务中代码运行的复杂度自行评估调整。

配置清单:https://help.aliyun.com/zh/sae/dify-performance-optimization

瓶颈二:从 200 QPS 到 500 QPS —— Redis 单点瓶颈与读写分离

1. 集成 ARMS 链路追踪定位性能瓶颈

在将数据库连接优化、QPS 稳定提升至 200 后,系统吞吐量难以进一步提高。为定位瓶颈,SAE 团队通过 SAE 平台深度集成的 ARMS 应用监控,对 dify-plugin-daemon 组件进行链路分析——在 SAE 控制台的应用详情页点击“应用监控”,即可查看耗时最长的调用链路。

image

Trace 数据显示,下游 Redis 的 SET/DEL 操作频繁失败。SAE 团队尝试将 Redis 实例垂直扩容至最大规格(64 核),但效果甚微:QPS 仅小幅提升,SET/DEL 操作延迟却急剧升高,CPU 利用率迅速打满。

image

2. Dify-plugin-daemon 高频读写 Redis 引发单点拥堵

通过代码分析发现,这是 Dify 业务逻辑与 Redis 单点架构冲突的结果:

  • dify-plugin-daemon 在处理每次数据链路请求时,都会生成一个新的 Session ID 并写入 Redis。这种高频的写入逻辑导致 Redis 请求量居高不下。
  • 原生架构中,所有的 Session 读写请求都全部集中在同一个 Redis 节点上。在 200+ QPS 的高并发冲击下,Redis 单线程处理能力达到极限,导致 set 和 del 等基础操作的耗时急剧增大,从而阻塞了整个请求链路。

解决方案:集群化改造实现读写分离

为了突破单机架构限制,SAE 团队深入组件底层,对 dify-plugin-daemon 进行了集群化适配:

  • 补全集群协议:针对原生组件不支持 Redis Cluster 的问题,SAE 团队修改了底层代码,使其完整支持 Redis Cluster 协议。
  • 实现读写分离:通过架构升级,将原本集中在单机上的海量请求分发到集群。利用集群的多节点特性,实现了流量的负载分担与读写分离。

这一改造彻底解决了单点瓶颈,成功支撑业务吞吐量从 200 QPS 平滑提升至 500 QPS。

image

激活全链路数据价值:SLS 从“黑盒运行”到“深度洞察”

Dify 上线后,如何评估模型的成本和性能?如何分析业务的走势?依托 SLS 强大的 OLAP 分析引擎,我们无需预先定义表结构,即可对 Dify 的工作流日志进行深度挖掘,构建覆盖“技术指标”与“业务指标”的全景仪表盘。

基础设施视角:透视 LLM 成本与性能

对于 Dify 的 LLM 节点,workflow_node_execution 日志中的 process_data 字段中详细记录了模型的调用情况,可以用来对模型调用情况进行秒级多维分析。

image

场景 A:Token 消耗与成本审计

实时监控 Token 的消耗趋势,是控制 AI 成本的关键。我们可以统计输入(prompt_tokens)、输出(completion_tokens)及总 Token 数随时间的变化曲线,精准识别异常流量。

分析 SQL 示例:

node_type:llm | select
  sum(
    json_extract_long(process_data, '$.usage.prompt_tokens')
  ) prompt_tokens,
  sum("process_data.usage.completion_tokens") completion_tokens,
  sum("process_data.usage.total_tokens") total_tokens,
  date_trunc('minute', __time__) t
group by
  t
order by
  t
limit
  all

注:json 中的字段可以在 SQL 中直接用 json_extract_xxx 函数进行提取分析,如 json_extract_long(process_data, '$.usage.prompt_tokens')。对于常用的字段建议额外建立 json 子索引,然后在 SQL 中就可以引用对应的列名,如 "process_data.usage.completion_tokens",便于进行更高效的统计分析。

image

场景 B:首字延迟(TTFT)性能分位分析

LLM 的响应速度直接影响用户体验。通过分析 time_to_first_token 的 P50、P90、P99 分位值,可以客观评估模型在不同负载下的响应稳定性,为模型路由或推理加速提供数据支撑。

分析 SQL 示例:

node_type:llm | select
  date_format(__time__-__time__ % 60, '%m-%d %H:%i') as time,
  approx_percentile("process_data.usage.time_to_first_token", 0.25) as Latency_p25,
  approx_percentile("process_data.usage.time_to_first_token", 0.50) as Latency_p50,
  approx_percentile("process_data.usage.time_to_first_token", 0.75) as Latency_p75,
  approx_percentile("process_data.usage.time_to_first_token", 0.99) as Latency_p99,
  min("process_data.usage.time_to_first_token") as Latency_min
group by
  time
order by
  time
limit
  all

image

业务运营视角:洞察用户意图与转化

除了底层的模型指标,SLS 还能帮助我们深入理解业务逻辑。以一个“电商智能客服助手”的 Dify 应用为例,我们可以利用 SQL 拆解工作流节点的输入输出,辅助运营决策。

场景 A:用户意图分布趋势

通过分析工作流中“意图识别”节点的输出结果,我们可以量化统计用户咨询的高频类目(如:退换货、物流查询、优惠券),并观察这些需求随时间的变化趋势,从而指导知识库的优化方向。

分析 SQL 示例:

* and title: 用户意图识别 | select
  json_extract(outputs, '$.text') as "用户意图",
  count(1) as pv
group by
  "用户意图"

image

场景 B:异常诊断与漏斗分析

通过统计特定节点的错误率或特定意图的后续流转情况,构建漏斗图,快速定位导致用户流失的节点。例如,分析“商品检索”节点的空结果率,以判断是否需要扩充商品知识库。

可以通过漏斗图,分析观察工作流哪些中间节点出现异常失败的比率较高。

分析 SQL 示例:

status:succeeded | select
  title,
  count(distinct workflow_run_id) cnt
group by
  title
order by
  cnt desc

image

结语:让 AI 应用回归业务本质

从“能用”到“好用”,Dify 的生产级落地需要坚实的基础设施支撑。SAE 与 SLS 的联合方案,不仅仅是两个云产品的简单叠加,而是通过“算力托管”与“存储解耦”的深度协同,为 Dify 带来了全栈 Serverless 化的架构质变:

  • 全栈弹性: 计算层随流量秒级伸缩,存储层无惧突发吞吐,完美适配 AI 业务的“潮汐特征”。
  • 结构性降本: 彻底消除闲置资源浪费,用低成本的分层存储替代昂贵的数据库扩容,最大化 ROI。
  • 极致稳定: 全托管免运维底座配合 I/O 物理隔离,彻底消除单点故障风险与数据库性能黑洞。
  • 深度洞察: 打通从基础设施监控到业务数据分析的“黑盒”,用 Token 成本与用户意图数据反哺业务进化。

image

通过 SAE 联合 SLS 发布的这一解决方案,Dify 开发者无需再为底层的资源和架构操心,只需一次简单的配置,即可拥有一个高可用、高性能、低成本的 AI 应用环境,从而真正专注于业务创新与 Prompt 调优。

立即体验: 欢迎登录阿里云 SAE 控制台 [ 1] ,进入应用中心,搜索 Dify 模板,勾选 Dify 高性能版,开启您的一键托管之旅。

了解 Serverless 应用引擎 SAE

阿里云 Serverless 应用引擎 SAE 是面向 AI 时代的一站式容器化应用托管平台,以“托底传统应用、加速 AI 创新”为核心理念。它简化运维、保障稳定、闲置特性降低 75% 成本,并通过 AI 智能助手提升运维效率。

image

面向 AI,SAE 集成 Dify 等主流框架,支持一键部署与弹性伸缩,在 Dify 场景中实现性能提升 50 倍、成本优化 30% 以上

image

产品优势

凭借八年技术沉淀,SAE 入选 2025 年 Gartner 云原生魔力象限全球领导者,亚洲第一,助力企业零节点管理、专注业务创新。SAE 既是传统应用现代化的“托举平台”,也是 AI 应用规模化落地的“加速引擎”。

1. 传统应用运维的“简、稳、省”优化之道

  • 简:零运维心智,专注业务创新
  • 稳:企业级高可用,内置全方位保障
  • 省:极致弹性,将成本降至可度量

2. 加速 AI 创新:从快速探索到高效落地

  • 快探索:内置 Dify、RAGFlow、OpenManus 等热门 AI 应用模板,开箱即用,分钟级启动 POC;
  • 稳落地:提供生产级 AI 运行时,性能优化(如 Dify 性能提升 50 倍)、无感升级、多版本管理,确保企业级可靠交付;
  • 易集成:深度打通网关、ARMS、计量、审计等能力,助力传统应用智能化升级。

适合谁?

✅ 创业团队:没有专职运维,需要快速上线

✅ 中小企业:想降本增效,拥抱云原生

✅ 大型企业:需要企业级稳定性和合规性

✅ 出海企业:需要中国区 + 全球部署

✅ AI 创新团队:想快速落地 AI 应用

了解更多

产品详情页地址:https://www.aliyun.com/product/sae

相关链接:

[1] 阿里云 SAE 控制台

https://saenext.console.aliyun.com/overview?accounttraceid=db...

每年都会有人问类似的问题:

“有没有靠谱一点的 IP 地址库推荐?”


“XX IP 库准不准?值不值得换?”

说实话,我自己这几年在风控、日志分析、海外业务适配里,用过不止一套IP地址库,也踩过坑,今天重点聊三件事:
用起来顺不顺;社区/网络评价怎么样;放到真实业务里,会不会“掉链子”

说一说盘一盘几款国内外比较常见的IP地址库,我自己或者公司用过的:

  • IP 数据云
  • IP2Location
  • DB-IP
  • WhatIsMyIP

    其实我觉得我需要的是“稳定可用”

首先,我得说一个事情,应该能达成共识——IP定位不是GPS,它不存在“百分百准确”这个事情,我们要求的准确率根据业务而定,我的话,达90%是基准,我反而更注重的是下面这些点:

  • 返回字段是否稳定、清晰
  • IPv4/IPv6 支持是否完整
  • 离线库/API,是否方便部署
  • 更新频率是否靠谱
  • 出问题时,能不能快速定位原因

接下来我来讲讲,我对于这些IP地址库的看法

IP数据云:国内开发者用得比较“顺”的一类

这是我工作的企业的业务用的产品

使用感受

  • 字段结构偏向工程化,不是营销展示型,做业务挺顺手的
  • 城市/运营商/ASN等信息完整
  • IPv6支持做得比较早,对新网络环境友好
  • 离线库和API都有,适合不同部署场景

感受是做日志分析、风控规则的时候用起来不会有太多“脏数据”。

大概写一下API调用思路

import requests

url = "https://api.ipdatacloud.com/v1/query"
params = {
    "ip": "8.8.8.8",
    "key": "YOUR_API_KEY"
}

resp = requests.get(url, params=params).json()

print(resp["country"], resp["region"], resp["isp"])

返回结果结构比较稳定,不用频繁写兼容代码,dddd。

网络评价&适合人群

  • 国内技术社区提及率逐年上升
  • 常见于:风控/统计分析/合规判断场景

如果你做的是国内或混合业务,这是一个相对省心、靠谱的选择。

IP2Location:老牌选手,资料多,但“有点重”

IP2Location算是很多开发者最早接触的一批IP库了吧,先说说使用感受。

使用感受

优点:

  • 数据维度挺多的
  • 产品分的比较细

但实际用下来也有感受:

  • 离线库体积偏大
  • 城市级数据在某些地区波动明显
    年度盘点-国内外知名的IP地址库有哪些?.png

    DB-IP:国外开发者圈子里口碑不错的“中庸派”

DB-IP在海外技术论坛里被提及得挺多,25年年初的时候试了下海外站。

使用感受

  • API 响应快,文档风格比较友好
  • ASN/国家级准确率不错

但:

  • 中文资料相对少
  • 城市级在亚洲部分区域略保守

适合场景

  • 海外 SaaS
  • 基础风控/地域判断

WhatIsMyIP:更像“工具站”,API 适合轻量需求

前段时间把海外站优化时测试了一下。

使用感受

  • 查询方便,展示信息直观
  • API偏轻量级

不过:

  • 不太适合作为核心IP数据源
  • 不建议用于大规模、高频业务,可以用来做后台测试,写小工具/脚本

横向对比图

维度IP数据云IP2LocationDB-IPWhatIsMyIP
接入成本/
IPv6 支持有,又不太行
离线库
更新频率稳定稳定稳定不明确
适合生产环境

唠叨

根据你们的问题,非要问哪一个IP地址库最好?我只能说“看你业务规模、更新频率和能不能接受维护成本。”

  • 想要省心、稳定、国内业务友好 → IP 数据云
  • 面向海外用户、工程取向 → DB-IP
  • 只做调试或轻量查询 → WhatIsMyIP

IP 地址库这种基础设施,一旦接入,往往会用很多年。 选一个“用着顺手、不折腾开发者”的,比追求那 1% 的理论精度更重要。

最近一直在用 ai 写代码

一开始是用 qoder

因为是阿里的,无需额外的网络配置,基本不会断联
换了两个号薅首月订阅福利,$2 订阅一个月 pro 计划
输出的代码质量还挺不错的,配合 idea 用很香

因为 credits 用得很快,又去搞 gpt team 拼车

2 友推荐的,在小黄鱼买几块钱一个月,能用 codex
但是偶尔断联,尤其是上下文太长的时候
image
体验时好时坏(不知道是不是降智)


大佬们还有没有其他性价比高的方案推荐
感觉这东西要搭配食用doge

老规矩,上金币池,助力第一枚幸运儿徽章的诞生

在万物皆由软件驱动的时代,每一段代码的交付,都承载着用户对安全性的期望以及市场对信任的依赖。然而,从开发者数字环境到用户终端之间的漫长路径中,恶意修改、病毒捆绑及身份冒充等威胁始终挥之不去。代码签名证书作为保障数据安全的“数字密钥”,已成为软件发布环节不可或缺的一部分。在面对OV代码签名证书与EV代码签名证书时,开发者和企业通常难以抉择。在JoySSL高级分析师看来,代码签名证书的选择不仅涉及预算问题,还直接关系到软件的声誉构建速度、安全防护级别、平台兼容性及市场认可度。因此,系统梳理OV与EV代码签名证书的核心差异与选型思路,可帮助企业理清思绪,找出最适合的签名证书为企业产品与服务保驾护航。

核心区别 不同验证深度与安全标准

OV与EV证书,均可实现代码完整性的保护与发布者身份的验证,但在验证过程、保障强度及市场效应上,存在显著差异。身份验证方面,OV证书采用组织验证的标准流程,EV证书实施的则是行业内最严苛的验证机制,是目前商业网络环境中身份验证的最高安全级别。

对于私钥存储要求而言,OV证书可灵活地存储于普通加密软件或设备中,易于管理。EV证书严格要求私钥存放于认证过的硬件安全模块中,极大程度上降低了私钥被窃取的风险。同时,对于市场信誉建立,OV证书能够有效确认软件发布者身份,避免“未知发布者”的警示。EV证书凭借更严格的审查及硬件存储要求,可迅速提升可信度,减少或直接避免安全警告。

选择策略 匹配具体场景与实际需求

选择证书时,不应以价格为唯一导向,而应综合考量软件类别、分发环境以及安全目标,确保选择适配的解决方案。若是面对商业软件开发与分发等背景,优选选用OV代码签名证书,因为用户群体具有足够的专业性,能够理解并接受已组织验证发布的信息。

而驱动程序开发、内核软件、或面向广泛用户的新推出产品,则EV代码签名证书更为重要。初创企业与新产品需要快速建立信誉,避免警告干扰安装,EV证书凭借高级验证,有助于提升早期用户信赖度。面对潜在的高风险攻击目标,EV证书也可通过硬件隔离保护签名密钥,降低密钥泄露的风险。

有效决策 专业证书平台配完善服务

专业的代码签名证书配备完善的服务,可以让企业将证书的价值最大化发挥,真正做出有效决策。证书平台的专业性与服务能力,是决策能否有效执行的关键。JoySSL技术专家指出,专业的证书平台不仅要提供符合全球标准的代码签名证书,同时还要满足自动化流程与私钥管理,做到自动化签名以及初始化HSM硬件令牌,帮助企业守护核心资产安全。

安全可信 数字签名提供专业级保障

OV代码签名证书以可靠性和适用性为基础,适合大多数商业软件需求;EV证书则代表最高级别的安全性与即时信任,为重要软件和注重品牌信誉的产品提供专业保障。二者凭借加密技术与高级验证,为企业打造安全可信的软件系统,并最终赋能企业。

想了一圈今年和去年最大的变化就是身体了,25 年 10 月份去体检的时候发现中度脂肪肝、尿酸高、超重等一系列问题。。。问题我是 02 年的,正值壮年的大小伙啊。于是怕死的我赶紧开始进健身房锻炼,好在我之前练过有点基础,所以算是比较顺利。

现在已经从 78kg 降到空腹 67kg 多一点,bmi 第一次脱离超重。不过现在看着还是有点胖,体脂高,打算年后回来继续,希望能在暑假前彻底甩掉胖子标签,现在忍住没发朋友圈,到时候成功了我要装个大的哈哈哈。

祝各位大佬新年快乐,最最重要的身体健康 doge_flower

Q6fbbG.png

声明

本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!

本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请在公众号【K哥爬虫】联系作者立即删除!

逆向目标

  • 目标:VK 登录验证码
  • 网址:aHR0cHM6Ly92ay5jb20v

抓包分析

打开网址,选择邮箱登录,随便输入一个未注册的邮箱号,比如 aaw2,方便触发风控验证。输入完点登录会重定向到新的登录页面,重新输入,正常会显示 账号未找到,多点几次就会触发风控,登录有两种验证,如下图所示,分别为一点即过的和滑动拼图,这拼图人都不好滑对:

QFlSL9.png

若触发验证,auth.validateAccount 接口响应返回的 errcode 为 14,redirect_uri 中的 session_token 后续接口会用到:

QFlUGY.png

该接口的请求参数中,login 为输入的邮箱号,client_id 是定值,device_id 加密生成,后文分析,auth_token 是登录重定向接口响应返回的:

QFlCv7.png

not_robot_captcha 接口的响应内容中,show_captcha_type 为触发的验证码类型,滑动拼图为 slider,一点即过的为 checkbox,可以此区分触发的类型,captcha_settings 中的参数会用于后续获取图片的接口,其余部分后文分析:

QFlJnI.png

captchaNotRobot.getContent 接口返回的图片链接,请求参数中的 adFp 如何加密生成,响应返回的 steps 有何作用,后文分析:

QFljLV.png

验证接口为 captchaNotRobot.check,请求参数中,debug_info 为固定值在 not_robot_captcha.js 文件中,hash 加密了一些环境参数,answer 编码了拼图的还原顺序,这些后文都会逐一分析:

  • 参数值异常:{"response":{"status":"ERROR"}}
  • 还原顺序错误:{"response":{"redirect":"","show_captcha_type":"slider","status":"BOT","success_token":""}}
  • 验证通过:{"response":{"redirect":"","show_captcha_type":"","status":"OK","success_token":"eyJ..."}}

逆向分析

device_id

auth.validateAccount 接口跟栈到 auth.js 文件中,直接搜索 device_id 会发现有 100 个匹配项,一个个下断调试显然不现实。跟栈到下图处,此时的 s 中 device_id 已经生成了,s 对应 e.bodyParams,e 是传进来的参数,因此,在最前面下断:

QFHnxs.png

刷新网页,即会断住,但此时还未传入 device_id,下步断点断到该值传入时为止:

QFHfk7.png

向上跟栈到下图处,此时 NQ.deviceIddevice_id 参数的值:

QFHiKI.png

搜索 NQ 可定位到如下代码处,首次生成后会通过 localStorageService 存储到浏览器,代码中有很多类似的位置,这里不是生成前的位置,但是不影响分析,主要走到 Ln 中:

r = TQ.authLocalStorageServiceEverywhere ? NQ.deviceId : Ln();

跟进到 Ln() 中,逻辑如下:

function Ln() {
    let e;
    try {
        e = localStorage.getItem("deviceId")
    } catch (e) {}
    if (!e) {
        e = on();
        try {
            localStorage.setItem("deviceId", e)
        } catch (e) {}
    }
    return e
}

remove 掉缓存中的 deviceId,再刷新网页,即会断到 on 中处:

Qeyk0B.png

on 中就是其算法的生成逻辑:

let t = ""
    , n = 21;
for (; n--; )
    t += "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64 * Math.random() | 0];
console.log(t);

adFp

adFp 是获取背景图片链接接口的加密参数,从该接口的堆栈跟到 not_robot_captcha.js 文件中,ctrl + s 局部搜索下 adFp,发现就一个位置,下断后重新获取验证图片即会断住。如下图所示,此时 window.rb_sync 中 adFp 的值已经生成了:

N9m78L.png

再回到 Network 看接口,ctrl + s 搜索下 adFp 参数的值,找到第一次生成的位置,出现在 /csp 接口的请求参数中:

N9mErJ.png

blocked-uri 中的接口在首页 vk.com 生成二维码时就会触发,因此该值需要在首页调试,否则都是从封装的 IndexedDB 中取已存储的值,无法定位生成逻辑。

/fp/?id= 堆栈跟到 sync-loader.js 文件中,在 return e(r(t(n))); 处下断点,走的异步流程,刷新网页断住后单步往下跟,跟到下图处就会发现熟悉的 window.rb_sync,此时 id 的值还是 undefined:

N9mDj4.png

接着往下跟,到下图处就会发现,i 即 adFp 参数的值,因为 o 为 undefined,所以生成逻辑就在 Kr() 中:

N9mSph.png

跟进去,逻辑如下:

const Kr = window.crypto ? function () {
    var n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 21;
    return crypto.getRandomValues(new Uint8Array(n)).reduce((function (n, t) {
            return n + ((t &= 63) < 36 ? t.toString(36) : t < 62 ? (t - 26).toString(36).toUpperCase() : t > 62 ? "-" : "_")
        }
    ), "")
}

也可用 python 复现:

def get_ad_fp(n=21):
    result = []

    for _ in range(n):
        # 使用 os.urandom 生成密码学安全的随机字节
        random_byte = ord(os.urandom(1))

        # t &= 63 (保留低6位)
        t = random_byte & 63

        # JavaScript 的 toString(36) 逻辑
        if t < 36:
            # 使用 Python 的 base36 转换
            if t < 10:
                result.append(str(t))
            else:
                result.append(chr(ord('a') + t - 10))
        elif t < 62:
            # (t - 26).toString(36).toUpperCase()
            # 实际上就是大写字母 A-Z
            result.append(chr(ord('A') + t - 36))
        elif t > 62:
            result.append('-')
        else:  # t == 62
            result.append('_')

    return ''.join(result)

browser_fp

从验证接口 captchaNotRobot.check 跟到 not_robot_captcha.js 文件中,搜索后发现仅有两处,都打上断点,刷新网页断住,n.analyticsModel.fingerprintbrowser_fp 参数的值:

N9mUG9.png

刷新网页,断到上面的 n.analyticsModel = e 处,此时 fingerprint 值还未生成,也就是生成流程在中间这一块了:

N9m1tY.png

这里就不单步慢慢跟了,搜索 analyticsModel.fingerprint 定位到下图处,t.visitorId 就是目标值:

N9mPoH.png

t 定位在上面一行,跟到 e.get 中去,发现就是 Of(this.components) 生成了 browser_fp 参数的值,this.components 是一堆环境参数,如 audio、canvas、plugins 等等:

N9mYyZ.png

Of 其实就是高度混淆后的 MurmurHash3(x64 128-bit)哈希算法的实现,特征点很多,以输出结构为例(4 × 32bit):

("00000000" + (a[0] >>> 0).toString(16)).slice(-8)
("00000000" + (a[1] >>> 0).toString(16)).slice(-8)
("00000000" + (s[0] >>> 0).toString(16)).slice(-8)
("00000000" + (s[1] >>> 0).toString(16)).slice(-8)

MurmurHash3 是一种非加密型哈希函数,由 Austin Appleby 在 2008 年设计。它以其高性能、良好的分布性和低碰撞率而闻名,广泛应用于哈希表、布隆过滤器、缓存键等场景。其比 MD5、SHA-1 等加密哈希快得多,但他不能称为加密算法,并非以安全为设计目标。

感兴趣的小伙伴可以去了解下该算法,网页抠出来的 Of 算法以及 python 复现的代码都会分享到知识星球中,以供学习交流。

connectionDownlink、connectionRtt 都是网络相关的参数,一个是下载速度或下行带宽,一个统计数据包从发送端到接收端再返回发送端所需的总时间,至此请求参数分析完成了。

图像识别

验证接口请求参数中的 answer 就和滑动距离、轨迹有关,其就定义在 browser_fp 下面,base64 编码:

wO(JSON.stringify({value: t}))

N9dFzZ.png

t 就是小图的移动路径,是怎么生成的呢?向上跟栈到下图处,this.checkResult 中的 e.value 就是 t 值,type 为 slider:

Nkq1jf.png

直接搜索 checkResult 即可定位到位置:

NkqRpc.png

再网上跟栈就能到 const IS 中,这里就是滑动拼图的组件,分析这段代码,再结合 captchaNotRobot.getContent 接口返回的 steps,就能知道 t 的生成逻辑,对比如下:

// steps
const steps = [
  5,13,2,24,1,19,20,5,6,1,14,5,22,24,1,20,16,24,6,8,
  2,9,12,13,24,17,16,4,2,22,14,23,16,10,14,2,5,12,23,
  15,24,21,17,2,13,18,22,8,2,9,0,8,19,14,9,2,16,15,10,
  23,3,21,16,2,13,20,15,0,14,16,4,16,1,5,11,2,24,2,19,
  23,16,3,22,7,2,7,19,13,14,19,20,1,9,22,17,16,14,14,7,2
];

// 滑动正确的结果
const t = [
  13,2,24,1,19,20,5,6,1,14,5,22,24,1,20,16,24,6,8,2,
  9,12,13,24,17,16,4,2,22,14,23,16,10,14,2,5,12,23,15,
  24,21,17,2,13,18,22,8,2,9,0,8,19,14,9,2,16,15,10,23,
  3,21,16,2,13,20,15,0,14,16,4
];

综上,根据 steps 路径移动小图,移到拼成的点为止,截取 steps 就能得到正确的 t 值:

// 拖动滑块的距离
const sliderValue = 36;  // 0 - 49

// 生成路径 t
// P = i.slice(0, 2 * w)
const t = steps.slice(1, sliderValue % 2 === 0 ? 2 * sliderValue - 1 : 2 * sliderValue + 1);
// t = steps[1: (2 * slider_value - 1) if slider_value % 2 == 0 else (2 * slider_value + 1)]

剩下的就是需要分析,移动到哪拼图能被还原,找到 “还原点”。

我们将图片切成 25 个块(5×5),根据分析,拖动滑块,每次都是按照移动序列执行 “两两 swap”(1 2、3 4、5 6),每一步都计算整张图的边缘总不连续度:

  • 右邻边:block[i].right vs block[i+1].left
  • 下邻边:block[i].bottom vs block[i+5].top

找全程最优状态,当整张图的边缘误差达到全局最小值时,就说明所有块都回到了原始相对位置,这一步就是 “还原点”。

连续性评分,公式描述如下:

$$
\text{Score}
=
\sum_{(A,B)\in\mathcal{N}}
\mathbb{E}\left[
\left|
\text{Edge}_A - \text{Edge}_B
\right|
\right]
$$

相关还原算法会分享到知识星球中,以供学习交流,还原效果如下:

NTEps9.png

结果验证

NT7IdP.png

ruanzhu.ink 写一句项目描述,就能生成软著申请材料草稿。
从创建、编辑到导出,软著通帮你把复杂流程变成简单操作。
我们的官网是:**软著通**

processed_1770368003783.webp

processed_1770368013471.webp

processed_1770526452824.webp
processed_1770526394217.webp

processed_1770367968181.webp

processed_1770367941812.webp

processed_1770368043313.webp

前十个点赞+评论留下邮箱的,将免费赠送一次体验机会,感谢大家的支持,让大家实现软著自由,仅需十分钟就可以申请一个

看 X 上很多人的 Claw 能自动运行长任务,有点还表现出了自我思考。

我安装试了一下,使用的 GPT Codex 5.3 。说真的,这 Agent 给我感觉挺垃圾的啊,纯废,而且 GPT 在 Claw 上感觉智商都变低了...。

是我使用方法错误?有没有试了的?我真感觉这玩意是个垃圾。


下面是推上刷到的,还表现出自我思考的特征....。像是炒作一样。