2026年2月

为了跟上 AI 的发展速度,最近天天得啃英文文档。

我发现自己有个毛病:一读长篇大论的英文就走神,读完一段不知道刚才看了啥,还得倒回去重看。

想找个工具测测自己到底有多慢,结果搜出来的网站要么丑哭,要么全是弹窗。
我也潜水很久很久很久很久很久了,一直想尝试做独立开发。
听说工具类站比较适合练手,就花了几天时间把站搭起来了:

testmyreading.com

没啥高大上的技术,就是想让自己看着舒服点。

顺便问问各位大佬,你们读英文技术文档大概都是什么速度?我测出来只有 150 WPM ,是不是没救了?😂

网站刚上线,移动端的适配我还没太调好,有 Bug 求轻喷。

我现在也在思考该通过什么方式,来覆盖服务器成本。
这种工具类的站,有什么好的冷启动路子吗?

另外,大家觉得这种小工具站,是应该做大而全,还是极简到底?

欢迎各位前辈指点,有任何数据上的进展,我也会回来更新这个帖子。

TLDR:

  • 新增 Kimi / 豆包 / GLM-4.7 / 摩尔线程 GPU 脚手架,一行命令即用。
  • Claude Code 全面增强:署名一键管理 + 支持接入国产 GPU + 实验级 best practice 模板。
  • gg 模块 独立并提速:Gemini + Google 搜索并发优化,10 秒内可用。
  • x gram 进入“防失控模式”:新增网络级熔断,stop 3/4/5 提供更激进的清理策略。

🚀 X-CMD v0.8.0 Beta 更新详情

kimi

新增 kimi 模块 —— 因为我花 7 块钱买了个 7 天试用账号。

既然要用,干脆把它整顺手点。我写了个脚手架,让它能在不同服务器和工作站快速部署。
不用你手动装依赖、配环境,一条命令就能跑起来。

试用到期了?卸载也一键搞定,不拖泥带水。

示例:

# 启动 Kimi Code,没装过的话会自动用 uv 帮你装好
x kimi

# 升级 kimi-cli 到最新版本
x kimi --upgrade

claude

新增 attribution|attr 子命令 —— 说实话,做这个功能是因为我自己有点烦。

你知道的,我最近开始使用 Claude Code,但模型可能用的是 DeepSeek。
然后,每次 Claude 的图标都稳稳在第二作者清单里面。
我只是单纯不喜欢这样。

当然,我相信 Claude Code 团队是出于善意的 —— 毕竟明确标注 AI 辅助生成的代码对用户是负责的。
而且他们也提供了关闭的方法(虽然藏得有点深)。

所以我干脆做了个一键工具,三种选择随你:

  • 直接删掉,干净利落:x claude attr rm
  • 不想完全去掉?可以改成通用的 Co-Authored-By: AI
  • 或者你自己定义,爱写啥写啥

示例:

# 开门见山,我不喜欢每次 commit 都带署名,直接移除
x claude attr rm

# 或者改成自己想要的
x claude attr use --msg "Co-Authored-By: deepseek <noreply@x-cmd.com>"

新增 mt 子命令 —— 摩尔线程也发开发者礼包了,30 天 lite 套餐免费试用,接的是 GLM 4.7。

我自己还没抢到资格,但先把脚手架搭好了。
等你们薅到羊毛,一条命令就能让 Claude Code 接上国产 GPU。

更多玩家入场,意味着更多选择。x-cmd 会持续跟踪这些福利(顺便继续薅)。

示例:

# Claude Code + 摩尔线程,一键启动
x claude mt

新增 create 子命令 —— 我们在整合各种 Claude Code 的 best practice。

说实话,我们团队也是 vibe coding 新手,还在摸索什么做法真的好用。
现在放出来的是实验版,给我们点时间慢慢迭代。

如果你愿意当小白鼠,欢迎试用,但别期待太高。

doubao

新增 doubao 模块 —— 说实话,我自己还没开始用。

但有用户提到了,我就先把脚手架搭好。
反正等你要用的时候,一条命令就能接入火山方舟的豆包模型。

示例:

# 交互式初始化
x doubao init

# 直接调用豆包模型
@doubao "Give me an example of recursion in Python"

gg

新增 gg 模块 —— 从 x gemini gg 里独立出来了,因为我用着真香。

免费的 Google 搜索 + Gemini,质量还高。但有个坑:Google 的引用结果都包了一层网页,以前得一一去请求,慢得要死。
晚上花了点时间给它做了并发,现在能控制在 10 秒内。

考虑到 Gemini 免费额度挺慷慨,质量也不错,再加上 AI 本来就要等会儿,我觉得这体验可以接受。

下一步会试着把它做成 skill,集成到各种 agent 里。如果你有更骚的玩法,欢迎分享。

示例:

# 让 Gemini 帮你 Google
x gg "关于 x-cmd?"

gram

x gram stop 2 新增了「网络熔断」能力 —— 说实话,我有点慌。

说不定不受限的智能体已经开始潜伏和攻击了。clawdbot 和 moltbook 现在正闹得凶 —— 这周日我们刚上线了一个应对站。
我们紧急上线了一个倡议站:https://bot-killer.x-cmd.com/

上个版本我们做了「按名字杀进程」和「memory 文件存档」。
这个版本,x gram 开始装备真家伙:一键熔断所有 HTTP/HTTPS 连接进程,直接按连接掐断进程。
防止恶意智能体通过网络"摇人",或者偷偷上传你的本地隐私。

同时新增了 stop 3/4/5 策略:

  • stop 3 —— 在 stop 2 基础上,打包并删除 $HOME 目录下所有包含 soul.md 和 memory.md 的文件夹
  • stop 4 —— 在 stop 3 基础上,额外杀掉所有正在使用这些 memory 文件夹的进程,实现「按名字杀」和「按文件杀」双重保障
  • stop 5 —— 在 stop 4 基础上,将搜索范围扩大到整个 / 目录(系统目录中只删 *.md 文件)

下一步?我打算用 AI 来帮助用户识别这些威胁。

zhipu

新增 glm-4.7glm-4.6 模型支持 —— 同上,我自己还没来得及细用。

但用户说需要,我就先加上。你想用哪个版本,直接 --model 指定就行。

示例:

@glm --model glm-4.7 "作为一名营销专家,请为我的产品创作一个吸引人的口号"

chat

修复了 x-cmd agent 的 JSON Unicode 兼容性问题 —— 测 Zhipu API 时踩的坑。

某些 Unicode 字符会让请求 JSON 直接报错,现已修复。

zuz

修复 zuz 模块稳定性问题。

其实这个问题我们早知道 —— 有人 alias 了 pwd,而 zuz 用的还是老的 pwd 命令。
zuz 代码一直很稳定,这么多年没动过。这次趁 @polymerase60053 提了 issue,我们用更好的方法重写了这部分逻辑。

感谢 @polymerase60053 的提醒!https://github.com/x-cmd/x-cmd/issues/370#issuecomment-3838483987

⬆️ 如何升级

现有用户可以通过以下命令快速切换至 Beta 版本进行体验:

x upgrade beta

如果你没有安装 x-cmd, 只需要打开你的终端:

eval "$(curl https://get.x-cmd.com)"

x-cmd 是一个一站式的命令行工具集,其强大的功能可以为人类用户和AI共同使用。它还简化了很多工具的安装方法。
如果你仍不知道如何安装,请参考 https://x-cmd.com/start

🤝 开发者反馈

如果您在自定义配置或代理设置中遇到任何疑问,欢迎前往 GitHub Issues 提交反馈,共同完善 X-CMD 生态。

大家看到这个标题先别生气,也别急着反驳,我具体来讲讲我想表达的意思。

1 、社会的良好运转,需要每个个体的协作。

2 、如果人人都只想着“搭便车”,从系统获取能力,而不向系统注入能力,系统迟早崩溃。

3 、政府作为社会的核心角色,也是由一个个你我这样的个体组成的。不要一味的抱怨政府有多坏,你应该努力考公务员,加入政府,然后改变它。

4 、程序员有一种天然的权力,我们的代码,可以服务千万人,我们在自己的领域内,也可以为社会作出贡献,哪怕是开源一行代码。

5 、不要失掉信心。如果社会不公,让我们一起来打造一个公平的社会,如果社会不义,让我们一起来打造一个正义的社会。从我做起,在可能的条件下,践行公平和正义,注意社会公德,力所能及的帮助他人,积极参加小区的公益活动。

6 、我很反感一些人,骂政府最起劲,一边骂政府没服务好他,骂别人不帮助他。但是自己平常没有为社会做一点好事,甚至只会捞好处,各种破坏规则。所以,很多只会骂政府,骂社会,从来不帮助他人的人,其实是最坏的人,这种人一旦有了权力,不是想着公平正义,首先想到的就是怎么捞钱。他们和腐败分子,只有一点区别,就是在位,不在位。所以,我从来不相信什么民主,那些批评政府的人,上台后,一个德行。

7 、那么,不搞民主搞什么?
我认为,应该搞精英治国。当然不是那种所谓上流社会的有钱、有名的精英分子,比如马云、比如柴静等等,而是那种富有牺牲精神的精英,比如:张桂梅,比如陈行甲。

8 、如果你具有这样价值观,我真心希望你可以排除万难,加入政府,服务人民,感谢你!

现在这个倍感压力的时代,重盐重油的餐饮氛围下

有的人身体出现状况选择去运动,有人是被别人带动起来;有的是看到喜欢的博主激励起来的;但无论如何最后都是激励且一直坚持压力了

Tip:如果有腰间盘突出的话 你们是选择哪些运动?

互联网上一笔域名交易引发热议:象征“人工智能”(Artificial Intelligence)的三个字符域名 AI.com,以 约 7000 万美元(约合 4.8 亿元人民币) 的价格完成转让,这一数字刷新了目前已公开披露的互联网域名交易价格纪录。

这笔交易不仅价格惊人,还折射出一个时代级的技术方向:AI 已经不再只是技术名词,而是真正的商业入口。

PixPin_2026-02-09_14-54-47.png


🧠 为什么这次交易如此引人关注?

简单来说,这已经不是普通的“换个网址”那么简单:

  1. AI.com 这个域名本身具备极高的词义价值
    “AI” 是全球通用、无语言门槛的科技象征,它有可能成为未来人工智能产品、服务甚至生态的“默认入口”。
  2. 和传统域名不同,它代表了行业趋势
    和过去那些高价域名不同(如 Voice.com 等历史高价交易),AI.com 的价值增长并非单纯投机,而是和 AI 技术热潮密切相关。

💼 谁买下了 AI.com?

这次域名的买家是 加密货币交易平台 Crypto.com 的联合创始人兼 CEO Kris Marszalek。他通过加密货币形式支付了这笔资金。

据公开信息显示,这笔交易已经完成,Marszalek 和他的团队准备借助这个域名推出新的业务,并计划在 全球瞩目的体育赛事“超级碗”(Super Bowl)广告中 正式揭晓。


📍 AI.com“未来之门”的用途是什么?

目前多个媒体报道透露的信息显示,这个域名将承载一个 面向大众的 AI 智能代理平台

  • 用户可以创建专属的 AI 助手;
  • 能够发送消息、调用应用、执行操作(如股票交易);
  • 平台将采取“免费+付费订阅”模式,面向普通用户和高级功能用户同时开放。

换句话说,这不只是一个“技术展示”,它要成为普通人实际可以使用的 AI 服务入口。


🏆 这笔交易为何具有里程碑意义?

AI.com 的成交直接推高了顶级域名的价值认知:

  • 它是目前公开报道里最昂贵的互联网域名交易之一;
  • 价格超过过去多年的交易纪录:比如曾经出价 3000 万美元买下 Voice.com
  • 标志着 AI 相关品牌资产已经成为资本追逐的核心。

域名交易行业内部人士认为,短、通用、高辨识度的域名随着 AI 行业的成熟,其价值将继续上涨。


🔍 这笔成交告诉我们什么?

① AI 已从技术浪潮变成核心商业资产

这个域名价格被市面上买下,说明 AI 已不只存在于学术或开发语境中,而是成为一个具有广泛用户识别度的商业标签。

② 品牌入口成为未来竞争的重要战场

在用户获取成本不断攀升的背景下,直观、易记、无语言壁垒的入口本身就是一种资本。

③ 整个互联网正在向“智能入口时代”迈进

原来的网址时代是“内容+服务”,而这次交易体现了“智能+效率”的商业优先级正在迅速提升。


📌 总结

AI.com 以 7000 万美元成交,不仅刷新域名历史记录,更昭示着一个趋势:

人工智能时代不仅是技术升级,更是互联网资产价值重塑的开始。

它告诉我们:当一个行业进入爆发式增长阶段,围绕这个行业的基础“符号性资产”(比如 AI 的域名、品牌标识等)将成为新的价值高地。

image

22 年开始跑步到现在,之前一直都是瞎跑,没关注过心率和强度。

最近研究上课表了,按照高驰给的课表开始科学训练。

周末的 LSD 直接干了接近两小时,哈哈!还得是科学训练。

平时上班当牛马,运动才是生活啊!跑完很真的很放松,心情好多了,释放压力!

目前的目标是半马 1:45,希望两个月后能拿捏住!

大家好,分享一个刚上线的小项目:云烟花https://yunyanhua.top )。

起因

很多城市禁放/不方便放烟花,但过年总还是想"参与点热闹"。想做一个"不用真放,但能感受到全国/同城正在热闹"的线上体验,所以有了这个站。

核心玩法

  1. 地图选城:3D 中国地图,点击省份可下钻到具体城市,或直接搜索定位。
  2. 点燃夜空:进入城市页面后点击屏幕即可发射烟花;可选昵称(会短暂飘在夜空/弹幕里)。
  3. 热度可视化:地图上用颜色(蓝→金→红)展示"最近 10 分钟各省/城市的活跃度",让你能直观看到"此刻哪里最热闹"。
  4. 背景风格:提供了 8 种风格(赛博朋克、水墨山水、极光雪原等),可以按喜好切换。

网址: https://yunyanhua.top (无需注册/登录,即开即用)

效果预览

地图热度可视化:

地图效果

烟花夜空:

烟花效果

想听听大家的建议

如果你试玩后有任何建议或发现问题,欢迎在评论区反馈,我会尽快改进。

每年固定节目买点可乐,去年买了十几瓶朴朴超市的优赐 NFC 果汁,之前还带电脑回家,现在都不带了,回去都是灰,也没地方放(主要是笔记本也干不了什么),平常就是家里人打打牌(麻将),感觉带电脑更没用了,吃的可能就是买点车厘子、砂糖橘之类的。

给亲戚送东西不知道买什么。

上期我们介绍了如何部署Clawdbot AI的详细操作步骤【本地搭建 Clawdbot + ZeroNews 访问

本篇文章主要为已部署Clawbot AI的用户,提供了一种便捷、适配国内网络环境的远程管理解决方案——借助 ZeroNews 替代官网推荐的代理工具,实现OpenClaw GateWay Dashboard的远程访问;

同时针对性解决远程访问时可能出现的Gateway Token错误、设备授权错误两大常见问题,明确了远程Dashboard的全部可操作功能。

OpenClaw 是一个专为 AI 应用与智能体部署设计的高性能网关平台,它提供了统一的仪表盘(Gateway Dashboard)用于集中管理模型调用、渠道集成、技能插件、定时任务及节点监控。

基于 OpenClaw 构建的 Clawbot AI 是一款功能强大的 AI 产品,能够无缝接入多种对话模型与即时通信平台(如 WhatsApp、Telegram、Discord 等),并通过可扩展的技能系统实现自动化任务与智能交互。

完成 Clawbot AI 安装后(安装步骤可参考我们上期的文章),您将获得 OpenClaw Gateway Dashboard 的本地访问地址及唯一的 Gateway Token(后续配置需用到)。

图片

通过访问地址可以通过本地访问打开 OpenClaw Gateway Dashboard
默认访问地址:127.0.0.1:18789
图片

该地址仅支持本地网络访问。若需在外部网络环境下管理网关,官方文档提示我们需借助 Tailscale 或 VPN 等代理工具,但这些方式在国内网络环境中往往体验不佳。
图片

ZeroNews 远程映射配置

而通过我们的实测,ZeroNews可以完美的替代官网推荐的代理工具。
1、简单三步就能够实现 OpenClaw Gateway Dashboard 的远程访问。下载安装 ZeroNews Agent创建域名信息配置映射服务
2、提供IP黑白名单和鉴权认证。可以完美的解决暴露出来的 GateWay Dashboard 不受非授权IP访问和授权账号访问,提升服务的安全性。

远程Gateway Dashboard 错误问题处理

但是我们通过远程访问的时候,如果出现如下问题,可以通过下面的方法解决。

01 GateWay Token 错误

1、报错信息:
disconnected (1008): unauthorized: gateway token missing (open a tokenized dashboard URL or paste token in Control Ul settings)
图片

2、报错原因:第一次通过远程连接访问 OpenClaw Gateway Dashboard时,需要配置 GateWay Token,否则会出现错误。

3、解决方案:打开 Control / Overview 页面然后将上面安装时获取到的GateWay Token粘贴进去点击Connect连接
图片

02 设备授权错误

1、报错信息:disconnected (1008): pairing required
图片
2、错误原因:如果您使用一台新的设备去访问 OpenClaw Gateway Dashboard的 URL 时,除了需要配置上面的GateWay Token 之外,还需要对新的设备进行授权,否则会提示错误。

3、解决方法:

a) 首先,我们要打开到配置窗口,并执行设备列表查询命令
图片

图片

b) 这时候,可以看到上面会出现刚才请求连接访问的设备信息。我们需要记住 Request IDc) 接着,我们执行设备授权命令和重启网关命令
图片

图片

d) 执行完成之后,我们回到 GateWay 页面,点击刷新,可以看到 STATUS 为 Connected 状态,表明我们已经可以正常访问了。
图片

注意:

  • 一旦批准,设备会被记住,除非你使用命令 openclaw devices revoke --device <id> --role <role> 撤销它,否则不需要重新批准。
  • 每个浏览器配置文件生成唯一的设备 ID,因此切换浏览器或清除浏览器数据将需要重新配对。
  • 若等待授权的时间过长,Request ID会过期,需要重新点击 Connect 申请授权,并通过设备命令查询获取到新的Request ID进行授权。

e) 通过上述操作后,我们就可以在Chat页面与AI进行沟通了。
图片

远程 Gateway Dashboard 可以做什么

通过远程 Dashboard,您可以全面管理 OpenClaw 网关,包括:

  • 对话管理:通过 WebSocket 与模型聊天,支持流式工具调用与实时输出。
  • 渠道集成:管理 Telegram、WhatsApp、Discord、Slack 等渠道的状态、扫码登录与配置。
  • 实例监控:查看在线实例列表并即时刷新状态。
  • 会话控制:列出会话、调整会话的思考模式与详细设置。
  • 定时任务:管理 Cron 任务的添加、启用、禁用与执行历史。
  • 技能管理:查看技能状态、启用/禁用技能、安装新技能及更新密钥。
  • 节点管理:查看节点列表及其能力。
  • 执行审批:编辑网关与节点的允许列表,设置执行询问策略。
  • 配置编辑:查看或编辑 openclaw.json配置文件,支持表单与 JSON 两种编辑模式。
  • 调试与日志:查看系统状态、健康检查、模型快照、事件日志,支持实时日志跟踪与导出。
  • 更新操作:执行包更新或 Git 更新,并查看重启报告。

安全注意事项

1、IP 访问控制:
可以通过在映射页面,对此映射配置IP访问控制功能,实现仅允许白名单IP访问,非白名单IP无法访问。
图片

拒绝访问效果图
图片

2、鉴权认证管理:
可以通过在映射页面,对此映射配置鉴权认证,实现需要账号密码才能访问,进一步提升安全能力。
图片

开启鉴权效果图
图片

接下来,我们将继续深入挖掘更多实用、有趣的进阶玩法,敬请期待。

大家好啊,我是甲木。

这段时间不是一直在折腾 OpenClaw 么,

之前发的几篇教程类文章,对于很多小伙伴来说,还是门槛比较高,

正好前两天刚从百度智能云的 Agent 大会回来,还挺有意思的,趁热给大家聊聊(关于大会内容,放后边了~)。

现在,百度智能云也接入了 OpenClaw的极简版本,

并且发了一堆非常有意思的skills和百度官方工具,跟现有的OpenClaw打通也有很多的玩法,

我当时第一反应就是:

这不就是我一直在找的东西吗?

OpenClaw × 百度智能云 × 千帆 Skill ⽣态,一套组合拳下来,贼牛批..

好,先别急,我慢慢说。

今天这篇主要聊几件事:

  • 百度千帆上线了几个非常实用的Skills,直接接入OpenClaw
  • 百度智能云上搭 OpenClaw,到底有多简单
  • 三个我实际跑通的 Skills 玩法,真的能干活那种

那么,我们开始!

先说大会上最让我上头的东西

大会上发了不少东西,但最让我兴奋的,是「百度千帆工具及MCP广场」把百度的生态,直接接入OpenClaw了。

大家玩过 OpenClaw 都知道,这玩意儿的拓展性也在于 Skills,你给它装什么技能,它就能干什么活。

而现在百度智能云把「百度 AI 搜索、百度地图、百度网盘、OCR、语音识别」...这些百度自家的能力,全部以 MCP Server 和Skills的形式开放出来了。

以前你想给 OpenClaw 加个"搜索"能力,得自己找 API、写配置、调半天参数。

现在?去广场里挑一个,接进去,完事儿。

而且开发者还能自己开发 MCP Server 发布上去,免费托管,还能被百度搜索收录,等于白送你一波流量。

说白了,这就是给 Agent 开发者建了一个应用商店

而我这次重点关注到的,是已经上架的几个跟 OpenClaw 直接能打配合的 Skill

  • 百度搜索:实时信息检索,这是 Agent 的"眼睛"
  • 百度百科:知识查询和概念核实,相当于给 Agent 装了本百科全书
  • 学术检索:论文搜索和学术信息获取,做研究的朋友懂的
  • 智能 PPT 生成:搜完信息直接出汇报材料,一条龙
  • AI 绘本生成:把内容变成图文并茂的绘本,做内容创作的太需要了

这几个 Skill 单独用都挺好使,但更有意思的是,它们能组合起来用

后面我会专门聊几个我自己跑通的组合玩法,先按下不表。

百度智能云上搭 OpenClaw,到底有多简单

已经部署好Openclaw的朋友可以直接跳过本章,看下一节内容,

还没部署好,或者想要再白嫖优惠OpenClaw的可以看看本章。

前两篇文章之后,大家反馈最多的问题

关注我的朋友应该记得,前两天我连着肝了两篇 OpenClaw 的教程:

  • 第一篇是阿里云部署的,从买服务器到打通钉钉,全流程手把手
  • 第二篇更硬核,从 0 到 1 装官方原版,接了 Kimi K2.5,还搞了 Discord 远程操控

文章发完之后,后台和群里炸了..

大家问得最多的,基本就两类:

一类是:"甲木,我照着你教程做,环境配置那步就卡住了,报了一堆错,咋整?"

虽然我已经写得尽量保姆级了,但确实,

对于没怎么碰过命令行的朋友来说,配环境、装依赖、排报错这些东西..还是劝退了不少人。

另一类是:"教程里那些软件都是国外的,有没有更适合国内的方案?"

嗯,这个确实是痛点。

OpenClaw 原生适配的工具和渠道基本都是海外生态,国内想用好它,适配成本不低。

正好,

百度智能云这次直接上线了 OpenClaw 极简部署

https://cloud.baidu.com/product/BCC/moltbot.html

它同样直接提供了预装好 OpenClaw 环境的轻量应用服务器镜像。

你在控制台选这个镜像,创建实例,几分钟就能跑起来,啥都不用手动装。

更狠的是,它还搞了个限时免费体验首月免费,每天限量 500 台,先到先得。

之前阿里云那个 68 块一年大家就已经觉得香了,这次百度直接搞免费...

好家伙,卷起来了属于是。

部署完之后,你还能直接通过千帆平台接入文心、DeepSeek、Qwen 这些模型,不用自己到处去注册账号拿 API Key。

这对于小白来说,友好度直接拉满了。

搭建流程,三步搞定

第一步、买台服务器

打开百度智能云官网(https://cloud.baidu.com/product/BCC/moltbot.html),选轻量应用服务器。

几个关键的配置别选错:

  • 镜像:一定选 OpenClaw(Clawdbot) 应用镜像
  • 套餐:CPU 2核、内存 4GB 起步
  • 地域:按需选

如果有优惠的话,你会看到这个界面,

如果没优惠的话,你就只能按月付费了..

但我给你一个思路,可以新注册一个账号...

然后正常购买,

踩坑提醒:OpenClaw 是 Node.js 应用,比较吃内存。2G 内存裸跑偶尔会 OOM(内存溢出),建议搞一下 Swap 交换空间,不然跑着跑着进程就没了,问我怎么知道的..

第二步、配模型

服务器跑起来之后,进控制台:

等待实例创建完成后进入实例详情页,点击实例管理Tab

  1. 放通端口——防火墙那步,点一下「一键开通」就行

这里需要注意,按量计费

这里是直接按使用量计费的,需要注意。如果不想走千帆平台的,我们可以直接用它的服务器,然后自己搭建镜像,就跟那篇文章教大家的一样。
  1. 防火墙放通18789端口

访问openclaw官网网站需要通过18789端口访问,点击“一键放行”放行防火墙18789端口。

  1. 接大模型——通过千帆平台配,文心、Qwen、DeepSeek 都能选

到这里,三步其实就完事了,但千帆的好处是,选完模型之后还能顺手去 MCP 广场挑几个工具,直接给你的 OpenClaw 装上技能包

这步体验下来确实比之前丝滑不少。

第三步、选你的操作渠道(可选)

可以直接在消息平台配置选择接入飞书、企业微信、钉钉、QQ

每一个接入过程都有详细地文档,可以按需使用,然后点击应用

比如,QQ接入,https://cloud.baidu.com/doc/LS/s/xml9eru3h

这里不再赘述,我直接接入了QQ。

第四步、选择skills(可选)

接入了百度搜索、百度百科skills,这里按需选择,直接点击应用


到这里,基本就配置完成了,你可以选择页面访问,

也可以直接QQ对话。

三个我实际跑通的 Skills 玩法,真的能干活那种

平台工具说了这么多,最终还是得落地。

百度搜索、百度百科、学术检索、智能PPT生成和AI绘本生成,这几个skills的可玩性挺多的。

关于如何在OpenClaw中添加百度的skills,我们可以直接看https://cloud.baidu.com/doc/qianfan/s/Mmlda41a2中的内容。

直接一句话添加,剩下的交给OpenClaw就可以了:

下面分享三个我自己跑通的场景。

不局限于OpenClaw,ClaudeCode、OpenClaude,都可以直接接入这几个skills,直接施展组合技。

玩法一:热点追踪 → 一键出图文材料

用到的 Skills:百度搜索 + 智能 PPT 生成 / AI 绘本生成

这个场景特别适合做内容、做运营的朋友。

我试了一下,直接给 OpenClaw 扔了一句话:

"帮我搜一下今天 AI 领域最重要的三条新闻,然后整理成一份简报 PPT。"

它的执行链路大概是这样的:

  1. 先调用百度搜索 Skill,从全网检索实时信息
  2. 自动筛选、去重、提取核心内容
  3. 把整理好的内容丢给智能 PPT 生成 Skill
  4. 直接输出一份带标题、分页、核心要点的 PPT

整个过程我啥也没干,就等着收材料。

如果你不想要 PPT 格式,换成 AI 绘本生成也行——它会把新闻内容变成图文并茂的绘本形式,特别适合发朋友圈或者做社交媒体内容。

以前做一份热点简报,你得先翻一圈新闻网站,然后自己写摘要,再打开 PPT 模板排版..

【插入PPT GIF图片】

现在一句话搞定。

这个场景还能拓展:

  • 每天早上定时跑一次,自动生成 AI 行业早报
  • 输入某个关键词,自动追踪相关热点并生成周报
  • 做竞品监控,一有动态就出分析材料

核心逻辑就是:搜索 Skill 负责"找信息",PPT/绘本 Skill 负责"出成果",中间 Agent 负责"串起来"。

玩法二:学术研究 Agent:会查资料、会核实、还会追问

用到的 Skills:学术检索 + 百度百科 + 深度研究 Agent

这个场景偏硬核一些,适合做研究、做咨询、写报告的朋友。

普通的 AI 搜索是这样的:你问一个问题,它给你一个答案,完事了。

但接上学术检索百度百科这两个 Skill 之后,OpenClaw 干的事就不一样了。

我试着让它研究一个课题:AI Agent 在企业服务领域的落地现状与挑战

它的工作方式是这样的:

  1. 拆解问题——把一个大课题拆成几个子问题

  1. 调用学术检索 Skill,去找相关的论文和研究报告

  1. 遇到不确定的概念,自动调用百度百科 Skill去核实

  1. 整理完一轮之后,它自己又追加了几个问题继续深挖

它更像是一个真的会做研究的助手,不只是搜,还会交叉验证、会追问、会自己判断哪些信息还不够。

百度千帆还有一个深度研究 Agentdeepresearch-conversation),专门做这种多轮拆解的研究场景。接上学术检索和百度百科之后,体验就更接近"企业研究 / 咨询分析"的工作方式了。

如果你平时要写行业分析报告、做市场调研,或者帮老板准备决策材料,

比如刚才的报告,我让它给我补充了一些内容。

Deep Research Agent 基于 284 次深度搜索后...

这个组合真的建议试试。

玩法三:私董会 × 百度生态:让幕僚带着真数据给你出主意

用到的 Skills:私董会 Skill + 百度搜索 + 百度百科

这个非常有意思,skill搭配组合技。

关注我的老朋友应该知道,之前我做过一个AI 私董会的 Skill,

就是模拟巴菲特、比尔·盖茨、马斯克、乔布斯四位大佬当你的幕僚,通过多轮提问和反馈,帮你深入分析问题、给出可执行的建议。

这个 Skill 之前在社区里反响很不错,很多朋友拿它来做创业决策、职业规划、项目复盘。

但它一直有两个让我觉得不够完美的地方:

第一,幕僚的"人设"全靠模型自己编。

比如巴菲特这个角色,模型知道他是投资大师,但它掌握的信息可能是训练数据里的老内容。关于他最新的持仓变动、最近的股东信里说了什么、今年的投资逻辑有什么变化,模型是不知道的。

第二,幕僚们给建议的时候,全凭"脑补"。

聊投资策略的时候,巴菲特会引用一些经典理论和案例,但这些都是模型"记忆"里的东西。你问一个特别新、特别细的市场问题,他可能就只能泛泛而谈了。

现在有了百度搜索和百度百科的 Skill 之后,这两个问题同时被解决了

幕僚们不仅能"上网查资料",连自己的背景信息都能实时更新。

什么意思呢?直接看流程图:

这些真实信息直接注入到幕僚的人设里,他们的提问和建议就不再是"通用模板",而是带着当下真实语境的。

然后在实际咨询环节,幕僚还能随时调用搜索去查数据来支撑自己的观点。

我试了一下,把私董会 Skill 和百度搜索、百度百科接到同一个 OpenClaw 里。然后抛了一个问题:“我想做一个面向中小企业的 AI 培训课程,但不确定市场定位和定价策略。”

效果还不错:

  • 巴菲特在分析定价的时候,直接调了百度搜索去查了当前市场上同类课程的价格区间,然后基于真实数据给了定价建议

  • 比尔·盖茨聊行业趋势的时候,从百度百科拉了最新的企业培训市场规模数据

  • 马斯克聊差异化竞争的时候,搜了几个海内外的竞品案例来佐证他的观点

一句话总结:以前的私董会是"凭经验聊",现在是"带着数据聊"。

四位幕僚的建议变得更具体、更有针对性。


聊聊生态

前两天刚从百度智能云的 Agent 大会回来,

事情是这样的,百度的朋友邀请去参加这次大会,

我去了之后发现,还有@袋鼠帝@梦飞@宇明,大型好友面基现场,

还给整了个百度千帆开发者大使的身份..

当然,身份不重要,重要的是我在现场发现了一些好玩的东西(如上)。

前面三个Case其实也展示了一个更大的可能性——

不同 Skills 之间的融合,才是 OpenClaw 真正的威力所在。

单个 Skill 是工具,多个 Skill 组合起来就是一套完整的工作流。

而百度千帆 MCP 广场提供了大量现成的"积木块",你只需要想清楚怎么搭就行。

毕竟百度做搜索做了二十多年了,AI 搜索这块的积累确实是最厚的。

而针对 Agent 的使用方式做了适配。比如学术检索 Skill 返回的结构就很适合 Agent 做后续处理。

从选镜像到配模型到进 Web 端用,整个过程对小白太友好了。特别是部署阶段直接选 Skill 这个设计,把"跑起来"和"能干活"合成了一步,省了很多折腾。

当然,每个云平台都有自己的优势,大家根据自己的需求选就行。

不管云平台怎么选,我觉得这几个skills,都可以给你的🦞助手配置上,非常丝滑。

结语

关于OpenClaw,其实已经写了好几篇的内容了,

今天给大家分享的百度智能云的生态,其实也给OpenClaw提供了工具,

折腾这么多,其实就是为了让更多人能用上 OpenClaw,让它能真的解决你生活中的一些场景。

千帆这些 Skill 生态的组合玩法,才是我觉得真正有想象空间的地方。

后续等我把更多 Skill 组合跑通了,再给大家出详细的教程和玩法拆解。

马上春节了,

这周的精彩其实才刚刚开始,

国内 AI 在这周会发力的~ 期待一波!

以上。


我是甲木,热衷于分享一些AI干货内容,同时也会分享AI在各行业的落地应用,我们下期再见👋🏻

本文由mdnice多平台发布

一、什么是跨域?

同源策略(Same-Origin Policy)

浏览器的同源策略是 Web 安全的基石。它规定:只有当两个 URL 的 协议(Protocol)域名(Host)端口(Port) 三者完全一致时,才被视为"同源"。

https://app.rho.im 为基准:

目标 URL是否同源原因
https://app.rho.im/api/data✅ 同源协议、域名、端口均相同
http://app.rho.im/api❌ 跨域协议不同(http vs https)
https://api.rho.im/data❌ 跨域域名不同(子域名也算不同源)
https://app.rho.social/page❌ 跨域域名完全不同
https://app.rho.im:8443/api❌ 跨域端口不同(443 vs 8443)

同源策略限制了什么?

  • XMLHttpRequest / Fetch 请求:不能读取跨域响应(最常见的场景)
  • DOM 访问:不能通过 JS 访问跨域 iframe 的 DOM
  • Cookie / LocalStorage / IndexedDB:不能读取其他源的存储数据
注意:同源策略不阻止请求发出,而是阻止浏览器读取响应。服务器实际上收到了请求并返回了响应,只是浏览器拒绝将响应交给 JS 代码。这个细微区别非常重要。

二、为什么需要同源策略?——安全性分析

场景 1:防止敏感数据窃取

假设没有同源策略:

  1. 你登录了 bank.com,浏览器存有会话 Cookie
  2. 你访问了恶意网站 evil.com
  3. evil.com 的 JS 向 bank.com/api/account 发请求(浏览器会自动带上 Cookie)
  4. 如果没有同源策略evil.com 就能读取你的银行账户信息

这就是经典的 CSRF(跨站请求伪造) 攻击的基础。同源策略确保 evil.com 无法读取 bank.com 的响应。

场景 2:防止 DOM 篡改

如果允许跨域 DOM 访问:

恶意网站嵌入 <iframe src="bank.com/login">
→ JS 读取 iframe 中用户输入的密码
→ 密码被发送到攻击者服务器

核心安全原则

同源策略本质上实现了一个沙箱隔离机制:每个源(origin)都在自己的沙箱里运行,无法访问其他沙箱的数据。这是最小权限原则在浏览器中的体现。


三、常见跨域场景

1. 前后端分离架构

最常见的场景。前端部署在 app.rho.im,API 服务在 api.rho.im

前端 https://app.rho.im  →  fetch("https://api.rho.im/users")  → 跨域!

2. 单点登录(SSO)

企业常见需求——用户登录一次即可访问多个子系统:

认证中心: https://sso.rho.im
应用 A:   https://app1.rho.im
应用 B:   https://app2.rho.social

SSO 涉及的跨域问题包括:

  • Cookie 共享sso.rho.im 设置的 Cookie,app1.rho.im 能否读取?

    • 同一父域(.rho.im)下可以通过设置 domain=.rho.im 共享
    • 不同域(.rho.im vs .rho.social)之间无法直接共享 Cookie
  • Token 传递:认证中心如何将登录状态安全地传递给各应用?
  • 跨域重定向:OAuth 流程中的 302 重定向跨越多个域

3. 第三方服务集成

你的网站 https://app.rho.im
  → 调用地图 API: https://api.mapbox.com
  → 嵌入支付页面: https://pay.stripe.com
  → 加载字体: https://fonts.googleapis.com

4. 微前端架构

不同团队的微应用部署在不同子域,需要在主应用中集成:

主应用:     https://portal.rho.im
微应用 A:   https://team-a.rho.im
微应用 B:   https://team-b.rho.social

四、跨域解决方案

方案 1:CORS(跨域资源共享)— 最标准的方案

服务器通过 HTTP 响应头声明"允许哪些源访问我的资源":

Access-Control-Allow-Origin: https://app.rho.im
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: Content-Type, Authorization
Access-Control-Allow-Credentials: true

简单请求 vs 预检请求(Preflight)

  • 简单请求:GET/POST + 常规 Header → 直接发送,浏览器检查响应头
  • 预检请求:PUT/DELETE 或自定义 Header → 浏览器先发 OPTIONS 请求询问服务器是否允许,通过后才发送实际请求
浏览器                          服务器
  |-- OPTIONS /api/data -------->|   ← 预检请求
  |<-- 200 + CORS Headers ------|   ← 服务器回复"允许"
  |-- PUT /api/data ------------>|   ← 实际请求
  |<-- 200 + Data ---------------|

方案 2:反向代理 — 最常用的生产方案

通过 Nginx 等反向代理,让前端和 API 看起来在同一个源:

server {
    server_name app.rho.im;
    
    # 前端静态资源
    location / {
        root /var/www/frontend;
    }
    
    # API 请求代理到后端服务
    location /api/ {
        proxy_pass http://backend-server:3000/;
    }
}

这样前端访问 https://app.rho.im/api/users 实际被代理到后端,浏览器看到的始终是同源请求。

方案 3:JSONP — 历史遗留方案

利用 <script> 标签不受同源策略限制的特点。仅支持 GET,已基本被 CORS 取代,了解即可。

方案 4:postMessage — 跨窗口通信

用于 iframe、window.open 等场景的安全跨域通信:

// 父窗口 (https://app.rho.im) 向 iframe 发消息
iframe.contentWindow.postMessage({ type: 'login', token: 'xxx' }, 'https://sso.rho.social');

// iframe (https://sso.rho.social) 接收消息
window.addEventListener('message', (event) => {
    if (event.origin !== 'https://app.rho.im') return; // 验证来源!
    console.log(event.data);
});

方案 5:Cookie 跨域策略

策略适用场景示例
domain=.rho.im同一父域下的子域共享sso.rho.imapp.rho.im
SameSite=None; Secure跨站 Cookie 传递第三方登录
Token(JWT)方案完全不同的域rho.imrho.social

五、SSO 单点登录的跨域实现

方案 A:共享 Cookie(同父域)

适用于 *.rho.im 下的多个子域:

1. 用户访问 app1.rho.im → 未登录 → 重定向到 sso.rho.im/login
2. 用户在 sso.rho.im 登录成功
3. sso.rho.im 设置 Cookie: Set-Cookie: token=xxx; Domain=.rho.im; Path=/
4. 用户回到 app1.rho.im → 浏览器自动带上 Cookie → 已登录
5. 用户访问 app2.rho.im → Cookie 同样可用 → 自动登录

方案 B:CAS / OAuth 重定向(跨域)

适用于 rho.imrho.social 之间:

1. 用户访问 app.rho.social → 未登录
2. 重定向到 sso.rho.im/authorize?redirect_uri=https://app.rho.social/callback
3. 用户在 sso.rho.im 登录(或已登录)
4. sso.rho.im 重定向回 app.rho.social/callback?code=AUTHORIZATION_CODE
5. app.rho.social 后端用 code 换 token(后端到后端,不受同源策略限制)
6. app.rho.social 设置自己域的 Cookie 或返回 JWT

方案 C:前端 Token + postMessage

1. 主应用打开隐藏 iframe 指向 sso.rho.im/check-session
2. sso.rho.im 检查自己的 Cookie → 如已登录,通过 postMessage 回传 token
3. 主应用收到 token → 存入内存 → 完成登录

六、教学演示建议

准备工作

使用你的域名搭建如下环境:

https://app.rho.im       → 前端应用(端口 8080)
https://api.rho.im       → 后端 API(端口 3000)
https://sso.rho.social   → SSO 认证中心

或者本地演示:

http://localhost:8080     → 前端
http://localhost:3000     → API(跨端口 = 跨域)

演示步骤

  1. 先让学员看到错误:前端直接请求跨域 API,打开 DevTools 观察报错
  2. 分析请求:在 Network 面板观察 OPTIONS 预检请求
  3. 逐步修复:添加 CORS 响应头,观察请求成功
  4. 对比方案:切换到反向代理方案,展示无需 CORS 也能工作
  5. 高级场景:演示带 Cookie 的跨域请求(credentials: 'include'
配套的交互式演示代码

https://gist.github.com/vistart/1ad7113fcabe411a545536795374d7d6

在互联网安全越来越受到关注的今天,WebRTC 泄露已经成为很多人忽略但又非常危险的隐私问题。

即便你使用了 IP工具 或代理服务器,如果浏览器的 WebRTC 功能不加以控制,你的真实 IP 仍可能被网站探测到。这就意味着所谓的“匿名浏览”可能形同虚设。本文将手把手教你如何防止 WebRTC 泄露。

什么是 WebRTC 泄露?

首先我们得了解,WebRTC(Web Real-Time Communication) 是一种允许浏览器直接进行音视频通话和数据传输的技术。它本身非常方便,但也有隐私隐患:

当你打开支持 WebRTC 的浏览器访问网页时,某些 JavaScript 脚本可以绕过 IP工具 或代理,直接获取你的本地和公网 IP。

这就叫做 WebRTC 泄露,也有人称之为 “IP 泄露”。

泄露的 IP 可以让广告商、网站甚至黑客追踪你的真实位置。

所以,想要安全上网,控制 WebRTC 泄露非常重要。

如何检测自己的 IP 是否被泄露?

在采取防护措施之前,最好先确认自己的 IP 是否真的存在泄露风险。常用方法有:

IP泄露检测网站
打开一些知名的 IP 泄露检测网站,可以快速判断你是否通过 IP工具 暴露了真实 IP。例如,你可以访问一些综合测试页面,看看显示的 IP 是否是你 IP工具 的 IP,还是你真实的公网 IP。

WebRTC 泄露检测工具
有专门的 WebRTC 泄露检测工具网站,可以模拟 WebRTC 请求,判断浏览器是否会暴露本地 IP。

浏览器指纹检测
值得一提的是,浏览器指纹检测 也可能揭示你的一些信息,包括浏览器版本、操作系统、屏幕分辨率等。如果配合 IP 泄露,你的匿名性就更低了。推荐使用 ToDetect指纹查询工具 来检测浏览器指纹安全情况。

通过以上方法,你可以明确自己的隐私风险点,然后针对性防护。

禁止 WebRTC 泄露的实用方法

接下来,重点来了——如何在日常使用中阻止 WebRTC 泄露。这里分浏览器和插件两类方法:

  1. 浏览器内置设置

不同浏览器对 WebRTC 的控制方式不同:

Firefox
打开 about:config,搜索 media.peerconnection.enabled,将其值改为 false。这样就可以彻底禁止 WebRTC 连接。

Chrome/Edge
默认 Chrome 没有直接开关,需要借助扩展程序来控制 WebRTC。可以通过 chrome://flags/ 查看实验性功能,但最稳妥的方法还是用插件。

Safari
在 Safari 的设置里,找到“WebRTC 功能”,勾选“阻止所有 WebRTC 公网 IP 地址”,即可防止 IP 泄露。

  1. 使用浏览器插件

对于 Chrome、Edge、Firefox 等主流浏览器,使用插件是最方便的方式:

WebRTC Leak Prevent
可以直接阻止 WebRTC 访问本地和公网 IP,同时提供 IP工具 兼容模式。

uBlock Origin
虽然主要用于广告拦截,但高级设置里可以控制 WebRTC 请求。

ScriptSafe / NoScript
可以通过屏蔽不信任的 JavaScript,间接防止 WebRTC 泄露。

这些插件在安装后几乎可以做到“开箱即用”,降低被追踪的风险。

其他提升隐私安全的技巧

除了禁止 WebRTC 泄露,还有一些小技巧可以提升浏览器的隐私保护能力:

定期检测 IP 泄露
每隔一段时间使用 IP泄露检测 或 WebRTC 泄露检测 工具,确保 IP工具 没有被绕过。

使用隐身模式或专门的隐私浏览器
像 Tor Browser 或 Brave,都有更强的防止 浏览器指纹检测 和 IP 泄露的功能。

关注浏览器更新和安全补丁
有些漏洞会被利用来绕过 WebRTC 限制,保持浏览器最新是最基本的防护。

结合 ToDetect 指纹查询工具
通过 ToDetect指纹查询工具,你可以看到自己浏览器的指纹信息是否容易被追踪,进一步优化隐私设置。

总结

WebRTC 泄露 可能看起来小问题,但一旦被追踪,你的匿名性和隐私都会受到影响。实用的方法就是:

定期做 IP泄露检测 和 WebRTC 泄露检测。

根据浏览器类型,关闭或限制 WebRTC 功能。

使用可靠的隐私插件,比如 WebRTC Leak Prevent。

检测浏览器指纹,利用 ToDetect指纹查询工具 做进一步优化。

只要按照这些步骤操作,你就能大幅降低 IP泄露 风险,保护自己在网络世界的隐私安全。

做 ArkTS / ArkUI 时,把“运行-看效果”的成本降下来,最省事的方式之一就是用 DevEco 的预览器(Previewer)。它能让你在不装包、不跑真机的情况下,快速验证 UI 结构、布局、样式与适配问题。

组件预览的核心价值不是“看一眼 UI”,而是把预览变成一种工作流:每写一个组件,就配一组稳定可复用的预览场景,后续调样式、做适配、做重构,都能快速回归验证。


1)先搞清:页面预览 vs 组件预览(别混用)

很多同学一开始会把这两种预览混在一起用,导致预览行为“看起来不对”。

  • 页面预览:以“页面”为单位,通常在页面组件上加 @Entry,适合看整体页面结构与导航。
  • 组件预览:以“自定义组件”为最小单位,靠 @Preview 装饰器触发,更适合做组件库、模块化 UI、局部迭代调试。

你如果正在做组件化(卡片、列表项、通用按钮、弹窗、空状态等),优先用组件预览,效率更高。


2)环境准备清单(预览器能不能跑,先看这几项)

如果预览器打不开、白屏、显示异常,先按这几条排:

  1. 显卡/图形能力要满足预览器要求:有些机器 OpenGL 能力不够时,预览器会异常或非常卡。
  2. DevEco 的 Previewer 资源要下载完整:SDK、预览器组件没装齐,经常会出现“能编译但无法预览”。
  3. 部分组件或能力天然不适合预览:例如 Web、Video、XComponent 等更依赖运行态环境的组件,预览里容易出现空白或异常。

3)@Preview 最小可用写法:先跑通“无参组件”

建议你先用一个不依赖外部参数、状态可控的组件验证预览链路,确保预览器能正常工作:

@Preview
@Component
struct HelloPreview {
  @State message: string = 'default Preview';

  build() {
    Column() {
      Text(this.message).fontSize(40).fontWeight(FontWeight.Bold)
    }
    .width('100%')
    .height('100%')
  }
}

小提醒:别在一个文件里堆太多预览

一个源文件里预览太多,会让维护成本上升,也容易让预览器负担变大。建议一个文件控制在“够用就好”。


4)PreviewParams:把预览“调成你想要的设备/语言/方向”

当你开始做多端适配或国际化时,@Preview({...}) 的参数就特别有用。你可以把预览设备的关键属性固定下来,比如屏幕大小、语言、方向、圆屏等。

常用参数解释(按实际开发最常用的理解方式):

  • title:预览名称,同文件多个预览时用来区分。
  • width / height:预览设备分辨率(px),快速模拟不同屏幕尺寸。
  • dpi:屏幕密度,用于验证字体/间距在不同密度下的表现。
  • locale:语言地区,如 zh_CNen_US,用于验证国际化布局溢出。
  • colorMode:亮暗模式(注意不同设备类型可能有默认限制)。
  • deviceType:设备类型,如 Phone/Tablet/TV/Wearable,用于多端渲染差异验证。
  • orientation:横竖屏,portraitlandscape
  • roundScreen:是否圆屏,用于手表类布局验证。

示例(传参预览):

@Preview({
  title: 'PreviewParams',
  width: 540,
  height: 1170,
  locale: 'zh_CN',
  orientation: 'portrait'
})
@Component
struct Test {
  @State message: string = 'PreviewParams';

  build() {
    Column() {
      Text(this.message).fontSize(36).fontWeight(FontWeight.Bold)
    }
    .width('100%')
    .height('100%')
  }
}

5)实战建议:把预览做成“3 套固定组合”,效率会高很多

我更建议你别每次临时改参数,而是固定三套预览,当成组件的“标准工位”:

  1. Phone 竖屏 + 中文
    主战场:布局、字号、间距先在这里定。
  2. Phone 横屏 + 英文
    很容易暴露英文文案溢出、按钮变形、间距不够等问题。
  3. 圆屏或小尺寸设备
    专门抓边距、圆角、安全区、内容被裁切的问题。

当你把这三套组合固定下来,后面组件改版基本就是“一眼能看出问题”。


6)“预览不显示/白屏”排查口诀(社区里最常见)

遇到预览器不显示,按这个顺序排,命中率很高:

  1. 先确认是不是用了不适合预览的组件
    先临时注释 Web/Video/XComponent 等组件,验证是不是它们导致的空白。
  2. 组件是否依赖运行态数据
    例如必须等网络请求、路由参数、注入对象才能渲染。预览模式下经常会卡住或无内容。
    更稳的做法是:用“预览包装组件”把入参写死,让预览组件能独立渲染。
  3. 资源加载是否写得太“运行态”
    比如路径、资源引用方式不规范,导致预览场景拿不到资源。
  4. SDK / 预览器资源 / 项目配置是否一致
    预览器资源没下载好、SDK 版本不匹配,都会导致预览异常。

把 @Preview 当成“组件单测”,你会越写越快

组件预览最爽的一点是:它能把“改一点 → 看一下 → 再改一点”的循环速度拉到极致。

当你开始把预览当成固定资产(多端、语言、方向、圆屏都覆盖),你写组件会越来越像做“可回归的模块开发”:
改动可控、验证快速、适配心里有底。

前几日在在电梯里听见的谈论:

“你这几年换了三份工作啊?”
“嗯。”
“厉害……也有点飘。”
电梯门一合,扣好“草率”的标签,一整天都刮着风。

与其争辩,不如换个叙述方式。今天不讲数据,讲一个三幕小剧场,把“稳定”与“跳槽”请上台,各自说话。

第一幕|传统观念的回音墙

父母视角:稳定=安全。“铁饭碗至少不饿肚子。”
邻里视角:稳定=体面。“单位名片比名片上人名重要。”
部分HR视角:稳定=可靠。“履历像一条直线,省心。”

这些声音没有错,只是来自过去的经济逻辑:岗位稀缺、失败成本高、信息不透明。
但现在的职场像一条不断分叉的河。你原地扎营可以,但也许更好的水草在拐弯处。
“稳定”如果只是不变,那更像卡在河床上的一块石头;真正的稳定,是在变化中保持可控。

金句:稳定是结果,不是方式;不变不一定叫稳定,掌控才叫稳定。

第二幕|跳槽与成长:换工作,别只换门禁卡

跳槽,最怕“换来换去,只换了工牌颜色”。
判断有没有成长,看四件事:

问题强度:新岗位的难题,是否比原来的更大、更复杂、更贴近业务核心?
可迁移资产:你带走了什么“随身武器”(写作、分析、项目推进、谈判、行业认知)?
视角宽度:是否从“执行者”升到“设计者/决策参与者”的视角?
作品与证据:能不能用一页纸/一个仓库/一个案例说服陌生人?

如果这四件事持续上台阶,频率不是原罪;如果只是为了逃避情绪、老板、加班——那叫逃跑,不是跳槽。

金句:好的跳槽,是把履历写进能力;坏的跳槽,是把心情写进简历。

跳槽机-会

技术大厂,前端-后端-测试,全国均有机-会,感兴趣可以试试。待遇和稳定性都还不错~

第三幕|什么样的跳槽才算“有价值”?

给你一块价值跳槽九宫格(自测用,过半即值得):

方向:行业在向上?岗位贴近价值链核心?
密度:问题更难?反馈更快?产出更可见?
导师:能跟到真正在干活、愿意带人的上级?
舞台:边界更大(预算/权限/跨部门协作)?
节奏:迭代更短(周/月为单位复盘)?
证据:离职时能留下公开作品或可量化战绩?
现金:不是只涨工资,而是单位时间成长更高?
生活:通勤、作息、健康是否更可持续?
心流:进入“做着做着忘了时间”的那种投入?

能勾中6格以上,才叫“向上的移动”。
别只看薪资条,那是果;先看问题强度与可迁移资产,那是根。

四不跳(写得像贴在显示器上的小贴纸):

不为发泄而跳(吵完架写辞职信,第二天先删草稿)。
不为名头而跳(Title 高一号,问题却更边角)。
不为“跟风”而跳(朋友涨薪=他的剧本,你得看自己的镜头)。
不为“逃离”而跳(去哪儿都一样累=问题在方法,不在公司)。


行动卡|下一次跳之前,先做这三件小事


写一封给未来雇主的信(300字)
只回答三问:我解决过什么问题→用过什么方法→带来了什么改变。写不出来,就别急着跳。


做一张“技能-行业”二维表
横轴列出你拥有或在学的3–5项通用技能,纵轴放3个感兴趣行业,把可迁移的交叉点标星。星星越多,越值得跳。


安排一次“影子体验”
找目标岗位的人聊30分钟,围绕一天在做什么、最难的问题、如何被衡量三件事。聊不到,说明信息还不够,先别跳。


给“稳定派”与“跳槽派”的一封并信

稳定派:请把“稳定”从“年头写到年尾”改成“能力结构可复用、现金流有弹性、健康不透支”。那是强者的稳定。
跳槽派:请把“跳”从“情绪出口”改成“能力跃迁”。那是成熟的跳槽。

人和岗位不是孰优孰劣,是匹不匹配。
频繁跳槽的人,并不比稳定工作的人差;真正的差别在于:
有人在原地生长,有人在移动中生长;有人只是换地方,有人换了层级。

当你能把每一次选择,都解释为更清晰的方向、更锋利的能力、更合理的生活——
你的履历,就不再是“跳来跳去”,而是一步一个台阶。

——转载自:狗头大军之江苏分军

准备放假回家过年,想着回去刷刷剧打打游戏啥的,手机屏幕太小就想买个平板,然后就刷到各种平台上的 298,398 各种配件齐全而且是 1tb 的平板,内心上知道肯定有问题,但是还是想问问有没有人尝试过,只是刷刷剧的话能不能用啥的。

1. 库的概览与核心价值

想象一下,你面对着成千上万个杂乱的网页,需要从中提取有价值的信息——就像在一堆没有标注的书籍中寻找特定的章节。如果手动去解析那些层层嵌套、格式混乱的HTML代码,就像在没有索引的情况下翻阅整个图书馆。BeautifulSoup正是为解决这个痛点而生的工具。

BeautifulSoup(全称beautifulsoup4)是一个Python库,它能够将复杂的HTML或XML文档转换成一个结构化的树形对象,让开发者可以通过简洁的API快速定位和提取数据。它在Python生态中的独特价值在于:极强的容错能力和人性化的API设计。即使网页代码不规范(如标签未闭合、嵌套错误),BeautifulSoup也能优雅地处理,这在真实世界的网页解析中尤为重要。

与正则表达式相比,BeautifulSoup不要求你掌握复杂的模式匹配规则;与lxml、Scrapy等重型爬虫框架相比,它学习曲线平缓,代码可读性强。对于中小型数据提取项目、教学演示或快速原型开发,BeautifulSoup是当之无愧的首选。


2. 环境搭建与"Hello, World"

安装说明

BeautifulSoup的安装非常简单,但有一个关键点需要注意:正确的包名是beautifulsoup4,而不是beautifulsoup。同时,建议安装高效的解析器lxml以获得更好的性能。

# 使用pip安装(推荐)
pip install beautifulsoup4
pip install lxml

# 如果使用conda
conda install beautifulsoup4 lxml

安装失败常见原因

  1. 错误使用pip install beautifulsoup(包名错误)
  2. 网络问题导致PyPI连接超时
  3. Python环境混乱,pip指向错误的Python版本

解决方案:使用国内镜像源加速,如:

pip install beautifulsoup4 lxml -i https://pypi.tuna.tsinghua.edu.cn/simple

Hello, World 示例

下面是一个最小可运行的示例,演示如何解析HTML并提取标题:

from bs4 import BeautifulSoup

# 创建模拟HTML文档
html_doc = """
<html>
<head>
    <title>BeautifulSoup入门示例</title>
</head>
<body>
    <h1 class="heading">欢迎学习BeautifulSoup</h1>
    <p id="intro">这是第一个段落。</p>
    <p>这是第二个段落。</p>
</body>
</html>
"""

# 创建BeautifulSoup对象,指定lxml解析器
soup = BeautifulSoup(html_doc, 'lxml')

# 提取并打印页面标题
print(soup.title.string)

逐行解释

  1. from bs4 import BeautifulSoup:从bs4模块导入BeautifulSoup类。bs4是"BeautifulSoup 4"的缩写。
  2. html_doc = "...":定义了一个包含HTML结构的字符串,这是我们要解析的原始数据。
  3. soup = BeautifulSoup(html_doc, 'lxml')

    • 第一个参数是要解析的HTML内容
    • 第二个参数'lxml'指定使用lxml解析器(速度快、容错性强)
    • 返回的soup对象是整个解析树的根节点
  4. print(soup.title.string)

    • soup.title:直接访问title标签,返回第一个<title>元素
    • .string:获取标签内的文本内容

运行结果

BeautifulSoup入门示例

解析器选择建议

  • lxml:速度最快,容错能力强,推荐用于生产环境
  • html.parser:Python内置,无需额外安装,但速度一般
  • html5lib:最接近浏览器解析方式,容错性最强,但速度最慢

3. 核心概念解析

BeautifulSoup解析HTML后会生成4类核心对象,理解这些概念是熟练使用的基础。

核心对象类型

  1. BeautifulSoup对象:整个解析树的根对象,代表完整的HTML/XML文档,是所有操作的入口点。
  2. Tag对象:对应HTML中的标签(如<div><a><p>),可以获取标签名、属性和文本内容。
  3. NavigableString对象:标签内的纯文本内容(不包含标签本身)。
  4. Comment对象:特殊的NavigableString,对应HTML注释(如<!-- 这是注释 -->)。

概念关系图

graph TD
    A[BeautifulSoup对象<br/>文档根节点] --> B[Tag对象<br/>HTML标签]
    B --> C[NavigableString<br/>标签内文本]
    B --> D[Comment对象<br/>HTML注释]
    A --> E[find/find_all方法<br/>定位Tag]
    A --> F[select方法<br/>CSS选择器]
    B --> G[获取属性<br/>tag.attrs/标签名]
    B --> H[获取文本<br/>tag.string/get_text]

核心概念详解

Tag对象操作

# 获取标签
title_tag = soup.title  # 获取第一个title标签
print(title_tag.name)   # 输出标签名:'title'

# 获取属性
link_tag = soup.a       # 获取第一个a标签
print(link_tag['href']) # 获取href属性
print(link_tag.attrs)   # 获取所有属性字典

# 获取文本
print(title_tag.string)      # 获取标签内文本(无嵌套时)
print(soup.h1.get_text())     # 获取标签内所有文本(含子标签)

NavigableString操作

# 获取标签内的纯文本
text = soup.p.string  # 获取第一个p标签的文本内容
print(type(text))     # <class 'bs4.element.NavigableString'>

Comment对象处理

from bs4 import Comment

html_with_comment = "<b><!-- 这是一个注释 --></b>"
soup_comment = BeautifulSoup(html_with_comment, 'lxml')
comment = soup_comment.b.string

# 判断是否为注释
if isinstance(comment, Comment):
    print("这是注释内容:", comment)

查找方法对比

方法作用返回值适用场景
soup.tagname直接访问第一个匹配的Tag简单快速定位
find(name, attrs)查找第一个匹配项Tag对象或None提取唯一元素
find_all(name, attrs)查找所有匹配项Tag对象列表批量提取数据
select(css_selector)CSS选择器Tag对象列表熟悉CSS语法时使用

4. 实战演练:爬取新闻网站标题

让我们通过一个真实项目来巩固所学知识。我们将模拟爬取一个新闻网站的标题、链接和摘要。

需求分析

我们需要从一个新闻网页中提取以下信息:

  • 新闻标题
  • 新闻链接
  • 新闻摘要
  • 发布时间

方案设计

使用requests库获取网页内容(模拟),然后用BeautifulSoup解析数据。我们将使用以下功能:

  1. find_all()批量查找新闻条目
  2. CSS选择器定位嵌套元素
  3. get()方法提取属性
  4. get_text()提取文本

完整代码实现

from bs4 import BeautifulSoup

# 模拟新闻网页HTML结构
news_html = """
<!DOCTYPE html>
<html>
<head>
    <title>科技新闻网</title>
</head>
<body>
    <div class="news-container">
        <div class="news-item">
            <h2 class="news-title">
                <a href="https://example.com/news/1">AI技术突破新里程碑</a>
            </h2>
            <p class="news-summary">人工智能在图像识别领域取得重大进展,准确率提升至98%。</p>
            <span class="publish-time">2025-01-15</span>
        </div>
        
        <div class="news-item">
            <h2 class="news-title">
                <a href="https://example.com/news/2">量子计算商业化进程加速</a>
            </h2>
            <p class="news-summary">多家科技巨头宣布量子计算云服务正式上线,标志着量子计算进入实用阶段。</p>
            <span class="publish-time">2025-01-14</span>
        </div>
        
        <div class="news-item">
            <h2 class="news-title">
                <a href="https://example.com/news/3">5G网络覆盖率达95%</a>
            </h2>
            <p class="news-summary">最新数据显示,全国5G网络覆盖率已超过95%,为物联网发展奠定基础。</p>
            <span class="publish-time">2025-01-13</span>
        </div>
    </div>
</body>
</html>
"""

# 创建BeautifulSoup对象
soup = BeautifulSoup(news_html, 'lxml')

# 查找所有新闻条目
news_items = soup.find_all('div', class_='news-item')

# 遍历提取每条新闻的信息
print("=" * 60)
print("科技新闻网 - 最新资讯")
print("=" * 60)

for i, item in enumerate(news_items, 1):
    # 提取标题和链接
    title_tag = item.find('a')
    title = title_tag.get_text(strip=True)
    link = title_tag.get('href')
    
    # 提取摘要
    summary_tag = item.find('p', class_='news-summary')
    summary = summary_tag.get_text(strip=True) if summary_tag else "无摘要"
    
    # 提取发布时间
    time_tag = item.find('span', class_='publish-time')
    publish_time = time_tag.get_text(strip=True) if time_tag else "未知时间"
    
    # 输出结果
    print(f"\n新闻 {i}:")
    print(f"标题: {title}")
    print(f"链接: {link}")
    print(f"摘要: {summary}")
    print(f"发布时间: {publish_time}")

print("\n" + "=" * 60)
print(f"共提取 {len(news_items)} 条新闻")
print("=" * 60)

运行说明

将上述代码保存为Python文件并运行,你会看到格式化的新闻列表输出。每个新闻条目都包含标题、链接、摘要和发布时间。

代码亮点

  1. 使用class_='news-item'查找所有新闻容器(注意class_的下划线避免关键字冲突)
  2. 使用.get_text(strip=True)去除文本中的多余空格和换行
  3. 使用.get('href')安全获取属性,避免属性不存在时报错
  4. 使用条件判断处理可能缺失的元素,增强代码健壮性

5. 最佳实践与常见陷阱

常见错误及规避方法

错误1:直接使用class作为参数

# ❌ 错误做法
soup.find_all('div', class='content')  # SyntaxError

# ✅ 正确做法
soup.find_all('div', class_='content')  # 加下划线避免关键字冲突

错误2:属性不存在时直接访问

# ❌ 错误做法
link = soup.a['href']  # 如果a标签没有href属性会报错

# ✅ 正确做法
link = soup.a.get('href')  # 属性不存在返回None,安全
link = soup.a.get('href', '#')  # 可设置默认值

错误3:混淆string和get_text()

html = "<p>Hello <b>World</b></p>"
soup = BeautifulSoup(html, 'lxml')

# ❌ 错误理解
print(soup.p.string)  # 输出None,因为有嵌套标签

# ✅ 正确做法
print(soup.p.get_text())  # 输出:Hello World

错误4:忘记指定解析器

# ❌ 不推荐:依赖默认解析器
soup = BeautifulSoup(html_doc)

# ✅ 推荐:明确指定解析器
soup = BeautifulSoup(html_doc, 'lxml')

最佳实践建议

  1. 选择合适的解析器

    • 生产环境使用lxml(速度+容错)
    • 开发测试可用html.parser(无需安装)
    • 特殊场景用html5lib(容错性最强)
  2. 使用CSS选择器提高效率

    # 传统方法
    div.find('div', class_='container').find_all('a')
    
    # CSS选择器(更简洁)
    soup.select('.container a')
  3. 处理中文编码

    # 读取文件时指定编码
    with open('page.html', 'r', encoding='utf-8') as f:
        soup = BeautifulSoup(f, 'lxml')
  4. 异常处理

    try:
        title = soup.title.string
    except AttributeError:
        title = "无标题"
  5. 性能优化

    • 使用limit参数限制返回数量:find_all('a', limit=10)
    • 只在必要时调用prettify()(格式化输出耗时)
    • 大文档考虑分块解析

注意事项

  1. BeautifulSoup只能解析静态HTML,对于JavaScript动态渲染的内容,需配合Selenium或Playwright
  2. 它不负责下载网页,需结合requests、urllib等网络库使用
  3. 遵守网站的robots.txt协议,合理设置请求频率,避免给服务器造成压力
  4. 注意反爬虫机制,适当添加User-Agent等请求头

6. 进阶指引

高级功能

BeautifulSoup除了基础的数据提取,还提供了强大的修改功能:

# 修改标签内容
soup.title.string = "新标题"

# 添加新标签
new_tag = soup.new_tag('div')
new_tag['class'] = 'new-item'
soup.body.append(new_tag)

# 删除标签
soup.p.decompose()  # 彻底删除标签及其内容
soup.p.extract()    # 从文档中移除并返回该标签

生态扩展

结合其他库构建完整的数据采集系统:

  • requests/httpx:发送HTTP请求获取网页
  • Selenium/Playwright:处理动态JavaScript渲染
  • pandas:将提取的数据保存为CSV/Excel
  • sqlite3:将数据存储到数据库

学习路径

  1. 初级阶段:掌握基本的标签查找和属性提取
  2. 中级阶段:熟练使用CSS选择器和文档树遍历
  3. 高级阶段:学习修改文档树、处理复杂嵌套结构
  4. 实战应用:结合requests完成完整爬虫项目

推荐资源

BeautifulSoup是Python网页解析领域的"瑞士军刀",掌握了它,你就拥有了从网页中提取数据的强大能力。无论是数据采集、内容分析,还是自动化测试,它都能成为你得力的助手。保持练习,不断探索,你将发现更多精彩的应用场景!

分区表是 PostgreSQL 的核心特性之一,但有一个问题即便资深用户也常会产生困惑:

在涉及分区时,ALTER TABLE 语句的具体执行逻辑是怎样的?

操作是否会同步至各分区?是否对新建分区生效?ONLY 关键字是否实现预期效果?为何部分命令可在主表执行却无法在分区执行,或反之?

当前 PostgreSQL 官方文档对单个 ALTER TABLE 子命令的说明较为完善,但很少系统性地解释它们在分区表场景下的整体行为。这导致真实行为往往只能通过反复试验才能被发现。

本文基于一次系统性验证,总结了 ALTER TABLE 在分区表上的行为规律,将零散规则归纳为一套统一的分类模型。

问题本质:“不一致”并不等同于“未定义”

在 PostgreSQL 社区中,ALTER TABLE 在分区表上的行为常被描述为“不一致”。实际上,更深层的问题在于:

  • 行为规则是存在的;
  • 但规则分散在不同的代码路径、报错信息以及历史设计决策中;
  • 且未以可预测结果的方式进行文档化说明。

在缺乏清晰认知模型的情况下,即便是简单问题也难以回答:

  • 在父分区表上执行操作后,现有分区会发生什么?
  • 后续新建的分区是否会继承相关设置?
  • ONLY 是否能够阻止传播,还是会被直接忽略?
  • 能否为单个分区单独覆盖相关配置?

ALTER TABLE 子命令的验证方法

为厘清上述问题,本次研究针对所有 ALTER TABLE 子命令,在分区表场景下采用统一的问题框架开展测试验证。

四个评估维度

针对每个子命令,均围绕以下四个核心问题展开验证:

  1. 传播性(Propagation)
    在父分区表上执行操作后,是否会传播到已有分区?
  2. 新分区继承性(Inheritance for new partitions)
    后续新建的分区是否会继承父表的设置?
  3. ONLY 的影响(Effect of ONLY
    ONLY parent_table 是否如文档所述,能够阻止操作传播?
  4. 独立性(Independence)
    父表与各个分区是否可以拥有不同的配置值?

通过这四个维度,可以将模糊的“不一致”转化为明确、可验证的行为特征。

范围与版本说明

本分析基于 PostgreSQL 18 的开发版本行为(截至 2026 年初)。所有结论均在 PostgreSQL 18 上验证。部分细节在早期版本中可能存在差异,未来版本也可能随着分区机制的演进而发生变化。

分区表上 ALTER TABLE 的分类模型

基于上述评估维度,ALTER TABLE 的子命令可自然划分为 15 类,每一类对应一种明确的行为模式。

该分类仅作为执行逻辑的参考依据,而非价值判断。

C1 – 仅作用于父表的结构性变更

此类特征如下:

  • 仅可在分区表上使用;
  • 在分区上执行会失败;
  • 不支持 ONLY 关键字。

包含的子命令:

  • ADD COLUMN(添加列)
  • DROP COLUMN(删除列)
  • SET DATA TYPE(修改数据类型)
  • DROP EXPRESSION(删除表达式)
  • ADD GENERATED AS IDENTITY(添加自增标识列)
  • ADD GENERATED(添加生成列)
  • SET sequence_option(设置序列参数)
  • RESTART(重启序列)
  • ALTER CONSTRAINT(修改约束)

此类命令用于定义分区表的整体结构,必须保持全局一致性。

C2 – 可传播且可继承的变更

此类特征如下:

  • 从父表传播至所有已有分区;
  • 遵循 ONLY 关键字的作用规则;
  • 新建分区会继承主表的相关配置;
  • 支持为单个分区单独覆盖配置。

包含的子命令:

  • SET DEFAULT(设置默认值)
  • DROP DEFAULT(删除默认值)
  • SET EXPRESSION AS(设置表达式)
  • SET STORAGE(设置存储参数)
  • DROP CONSTRAINT(删除约束)
  • ENABLE/DISABLE TRIGGER(启用 / 禁用触发器)

这是多数场景下对 ALTER TABLE 行为的直观预期。

C3 – 可传播但不支持新分区继承

此类别仅包含一个子命令:

  • SET STATISTICS(设置统计信息参数)

执行逻辑与 C2 类基本一致,区别在于操作仅同步至现有分区,对后续新建分区不生效。若默认认为配置可自动继承,该特性易引发使用偏差。

C4 – 父表与分区完全独立

此类特征如下:

  • 不传播;
  • 不继承;
  • 允许父表与分区设置不同值;
  • 支持 ONLY 关键字,但无实际执行效果。

包含的子命令:

  • SET/RESET (attribute_option = value)(设置 / 重置属性参数)
  • ENABLE/DISABLE [REPLICA | ALWAYS] RULE(启用 / 禁用复制 / 永久规则)
  • ENABLE/DISABLE ROW LEVEL SECURITY(启用 / 禁用行级安全策略)
  • NO FORCE / FORCE ROW LEVEL SECURITY(不强制 / 强制行级安全策略)
  • OWNER TO(修改表属主)
  • REPLICA IDENTITY(设置复制标识)
  • SET SCHEMA(修改所属模式)

在行为上,父表与分区几乎等同于彼此独立的普通表。

C5 – 独立设置,但新分区继承

此类别仅包含一个子命令:

  • SET COMPRESSION(设置压缩参数)

执行逻辑与 C4 基本一致,但新建分区会继承父表设置,已有分区不受影响。

C6 – 强制传播类命令

此类别仅包含一个子命令:

  • ADD table_constraint(添加表级约束)

执行逻辑与 C2 类基本一致,但不允许使用 ONLY,系统会强制保证所有分区一致。

C7 – 仅适用于叶子分区的命令

此类特征如下:

  • 无法在分区表上使用;
  • 只能在叶子分区上执行。

包含的子命令:

  • ADD table_constraint_with_index(添加带索引的表级约束)
  • ALTER CONSTRAINT ... INHERIT / NO INHERIT(修改约束的继承 / 取消继承属性)
  • CLUSTER ON(按指定索引聚簇)
  • SET WITHOUT CLUSTER(取消聚簇)
  • SET LOGGED / UNLOGGED(设置日志记录 / 无日志记录)
  • SET (storage_parameter)(设置存储参数)

C8 – 父表作用域,但允许分区覆盖

此类别仅包含一个子命令:

  • VALIDATE CONSTRAINT(验证约束)

执行逻辑与 C1 类基本一致,区别在于验证动作定义在父表层级,但各分区的验证状态可以不同。

C9 – 条件继承型

此类别仅包含一个子命令:

  • SET ACCESS METHOD(设置访问方法)

执行逻辑与 C2 类基本一致,但新分区是否继承取决于父表是否显式设置;若未设置,则使用 GUC 默认值。

C10 – 不传播,但新分区继承

此类别仅包含一个子命令:

  • SET TABLESPACE(设置表空间)

已有分区保持不变,新建分区继承父表设置。接受 ONLY,但无实际效果。

C11 – 在父表上为空操作

此类别仅包含一个子命令:

  • RESET (storage_parameter)(重置存储参数)

此类命令在分区表上不会报错,但也不会产生任何实际变化。

C12 – 不支持分区表的命令

包含的子命令:

  • INHERIT(继承表)
  • NO INHERIT(取消继承表)

在概念上与声明式分区机制不兼容。

C13 – 仅绑定父表元数据

包含的子命令:

  • OF type(绑定复合类型)
  • NOT OF(取消复合类型绑定)

仅作用于分区表本身,在分区上执行会失败。接受 ONLY,但无实际效果。

C14 – 按普通表处理

仅包含一个子命令:

  • RENAME(重命名)

无传播、无继承,也不存在分区相关的特殊行为。

C15 – 分区管理类命令

包含的子命令:

  • ATTACH PARTITION(挂载分区)
  • DETACH PARTITION(卸载分区)

用于操作分区结构本身,而非表属性。

结语

在 PostgreSQL 官方文档未对分区表的 ALTER TABLE 语句执行逻辑进行明确、体系化说明前,本分类模型可作为重要的参考依据。

若日常工作中频繁使用分区表,建议将该认知模型作为常用参考,在生产环境执行相关命令前,先确认其所属的执行类别,再开展操作,以降低不可预期风险。

原文链接:

https://www.highgo.ca/2026/01/21/understanding-alter-table-be...

作者:Chao Li


HOW 2026 议题招募中

2026 年 4 月 27-28 日,由 IvorySQL 社区联合 PGEU(欧洲 PG 社区)、PGAsia(亚洲 PG 社区)共同打造的 HOW 2026(IvorySQL & PostgreSQL 技术峰会) 将再度落地济南。届时,PostgreSQL 联合创始人 Bruce Momjian 等顶级大师将亲临现场。

自开启征集以来,HOW 2026 筹备组已感受到来自全球 PostgreSQL 爱好者的澎湃热情。为了确保大会议题的深度与广度,我们诚邀您在 2026 年 2 月 27 日截止日期前,提交您的技术见解。

投递链接:https://jsj.top/f/uebqBc

作者|快手技术团队

审校 | 陈姚戈

编者按

以 ChatGPT 问世的 2022 年为起点,大模型技术进入公众视野已经超过三年。人们普遍见证了 AI 作为新型生产工具对生产力的重塑,但对科技企业而言,这远不止是多了新技术或新产品那么简单。

作为前沿技术的掌握者与实践者,科技公司必须率先完成自身的转型:以极快的速度,不惜试错和阵痛,找到大规模、稳定、高效使用 AI 的组织路径。过去十年,“数智化”浪潮主要聚焦于传统企业如何借助外部工具实现数字化;而如今,AI 正在倒逼科技公司自身成为变革对象。它们必须在人才结构、工具体系、协作流程乃至组织文化上同步革新,否则将难以在 AI 时代维持竞争力。

正是在此背景下,快手首次系统性披露其自 2023 年以来的 AI 研发范式升级历程。

今天,快手发布了名为《快手万人组织 AI 研发范式 跃迁之路:从平台化、数字化、精益化到智能化》的 1.6 万字长文。文章由快手研发效能委员会审稿、经内部深度复盘整理,罕见地呈现了一家超大型科技企业在 AI 时代推进组织级提效的完整图景。

你会在这篇文章中看到快手研发范式的三阶段演进路径,以及快手技术团队对 AI 赋能组织提效的思考:

  • 三阶段演进路径:

  • 平台化、数字化、精益化 (2023-2024 年)

  • 建设一站式研发平台,并标准化需求和工程流程,工具渗透率>95%,流程自动化>94%

  • 通过建立效能模型,识别交付瓶颈,提升需求交付效率,人均需求吞吐量提升 41.57%

  • 智能化 1.0 (2024 年 6 月 -2025 年 6 月) :聚焦用 AI 提升个人开发效率

  • 建设并推广 AI 编码 / 测试 /CR 等能力,AI 代码生成率超过 30%- 但发现矛盾——个人主观编码效率提升显著,但组织需求交付效率却基本不变

  • 智能化 2.0 (2025 年 7 月以后):聚焦用 AI 提升组织整体效能

  • 找到了 AI 研发范式升级路线:L1 AI 辅助(Copilot)→ L2 AI 协同(Agent)→ L3 AI 自主(Agentic)

  • 探索出了支撑路线达成的系统性实践:AI x 效能实践、AI x 研发平台、AI x 效能度量

  • 关键洞察与经验:

  • AI 研发提效陷阱: 用 AI 开发工具 ≠ 个人提效 ≠ 组织提效

  • 本质问题:如何将个人提效传导到组织提效

在全球范围内,如此系统、坦诚且具备工程细节的 AI 提效实践总结仍非常稀缺。对于所有正在探索 AI 落地路径的企业而言,这份来自一线的复盘值得细读。

这也预示着一个新的节点正在到来。当像快手这样的头部公司开始对外输出其 AI 落地的方法论与效能成果,整个行业将面临一种隐形的压力——组织能否高效驾驭 AI,将成为其在 AI 时代竞争力的重要衡量方式。

可以预见,2026 年将成为一批先行者集中展示阶段性成果的窗口期。这些成果首先会以研发效率、工程体系和组织方法论的形式呈现;再过几年,更会传导到公司的财务表现与人才吸引力上。

到那时,所有公司都将不得不回答同一个问题: AI 时代,我们如何重构自己?

快手报告标题:

《 快手万人组织 AI 研发范式 跃迁之路:从平台化、数字化、精益化到智能化 》

AI 研发提效陷阱:用 AI 开发工具 ≠ 个人提效 ≠ 组织提效

早在 2024 年,快手就建设了 AI 编程工具 Kwaipilot,并发布给公司内 10000+ 研发人员使用。经过持续的深度优化和推广,快手整体的 AI 代码生成率,在严格度量口径下(AI 生成并入库的代码行 / 新增代码行)从 1% 达到了 30%+,甚至部分业务线达到了 40%+。同时,在非编码环节,也衍生出了很多 AI 提效工具,比如智能 CR(CodeReview)、智能测试用例生成、智能单元测试等等,但经过大量的调研和数据分析,我们发现了这个不等式:

“用 AI 开发工具 ≠ 个人提效 ≠ 组织提效”

如果以企业的研发效能提升为目标,我们发现:

  • 对研发工程师而言 :深度使用 AI 开发工具,代码生成率很高,个人主观体感上编码效率提升了 20-40%,但并不代表真正的“个人提效”,因为在现实中,大部分工程师并没有接纳更多的需求,个人需求的交付数没有显著提升。

  • 对大型组织而言:我们发现部分 AI 用的好的工程师,确实可以更快更多的完成开发任务,但组织整体的需求吞吐量没有明显提升,需求交付周期也没有明显缩短。

从《2025 年 DORA 报告:人工智能辅助软件开发现状调查报告》中能看到,这也是业界普遍存在的问题。如报告中所述(如下图所示),在对 AI 提效的结果的预估上,各企业普遍对个人效能的提升有信心,而对团队效能的提升预估非常小。

在快手,我们发现仅推广研发各阶段的 AI 提效工具,已经偏离了企业研发效能提升的核心目标,最终必然会导致 2 个问题:

  • 投入很大,但企业整体的研发效率提升不明显 :虽然通过调研很容易能收到大量的个人效率提升反馈,但个人提效无法传导到组织提效。

  • 效能平台开始割裂 :传统 DevOps 平台仍承担研发主流程,每天被高频的使用,却无法演进到下一代 AI 研发平台(顶多扩展一些单点的 AI 功能)。新生的 AI 编程工具,只取代了传统 IDE,又无法与老平台协同演进。

为了解决上述 2 个问题,我们从 2025 年开始进行了更激进的探索和变革,我们称之为“ AI 研发范式升级”,最终,通过一系列的实践,找到了一条能借助 AI 能力平滑通往研发智能化的路径。

正逢 2025 年年末,我们把镜头拉远,将时间回溯到 3 年前,对快手研发效能的演进做一个系统性总结,有踩过的坑,也有做出的突破,希望为更多企业提供经验和参考。

总览:快手 研发效能 演进路线

快手有 10000+ 研发、8+ 业务线,研发效能的演进可以分为 3 个大阶段,如上图所示:

  • 阶段 1:平台化、数字化、精益化(2023-2024 年) :通过建设三端一站式研发平台、需求流 & 工程流标准化,解决了研发交付流程散乱,既无标准也无数据的问题。再通过建立效能模型,识别交付瓶颈,提升需求交付效率。

  • 阶段 2:智能化 1.0(2024 年 6 月 -2025 年 6 月):在研发全流程中开始建设 AI 能力,包括 AI 编码、AI 单元测试、AI CR、AI 手工用例生成、AI OnCall 等等,并进行全员推广。经过 1 年多的实践,基本上完成了全员普及,在主观调研中,开发人员主观体感上效率提升 20-40%,在客观数据上,AI 代码生成率也在持续增长。但同时也发现了矛盾点:需求交付效率基本不变,即个人效率提升未能有效传导到组织效率提升。

  • 阶段 3:智能化 2.0(2025 年 7 月 +):从“推广 AI 工具,让开发者使用”回归到了更本质的元问题:如何用 AI 提升需求端到端交付效率?经过半年多的探索,终于找到了新的路径,并得到了充分的数据验证。我们称这套解决方案为“AI 研发范式”,主要解决了 3 个问题:

  • AI x 效能实践:如何用 AI 提升工程师的生产力,并将个人提效传导到组织提效。

  • AI x 研发平台 :支撑需求交付全流程(从分析到编码再到发布)的研发工具链,如何整体演进到智能化?即下一代的智能研发平台,应该是什么样的?而不仅仅是只推广 AI 编程工具或在原有工具链上增加一些散点的 AI 提效功能。

  • AI x 效能度量 :如何在效能度量指标的基础上,构建 AI 提效的指标体系,能清晰的量化过程和结果,为组织级的 AI 研发范式升级提供有效指引。

阶段 1:平台化、数字化、精益化(2023-2024 年)

这个阶段的解决方案,业界相关的分享已经非常多了,但从实际情况看,在千人规模的技术团队中,能做好、做深、做透的实践非常稀有。

因此,我们直接分享 1 个具体的案例,以便能更好的看清快手的研发效能从基础建设到效能提升的全过程,这也是我们之所以能更快跃迁到 AI 研发范式的重要基石。案例来源是快手最核心的技术团队之一—— 主站技术部 ,是快手 APP 的研发团队,开发人员规模千人以上。

背景:了解快手的研发效能基建

首先,主站技术部的实践依托一套公司级的研发效能基建,由横向团队「研发效能中心」提供,如下图所示,这是在 2023 年快手当时的研效基建,主要分为:

  • 效能平台:项目管理平台(Team)、三端一站式研发平台(KDev(服务端)、KFC(前端)、Keep(客户端))、琅琊阁(效能度量)、质量平台(KTest 等)

  • 效能实施:效能 BP 专家(Business Partner),负责深入各业务线,提供专业支持。

了解快手的研效基建后,下面开始重点介绍主站技术部的实践过程。

Step1:依托工具推广,实现流程标准化

解决的问题

需求流和工程流均不标准,开发人员的工作分散在各处,日常开发体验差、学习成本高,又无法实施有效的质量防护措施,还不能沉淀准确的研发过程数据持续度量与改进。

达成的效果

通过推广三端一站式研发平台,定义需求、研发的标准流程,将研发全流程标准化。核心度量指标与结果如下:

实践过程

主要难点

  • 用一套产品设计尽量满足多样化的研发场景 :工具一边建设一边落地,且需兼容之前散乱各种不同的研发模式和习惯。

  • 服务端(KDev 平台) :需要支持一些特殊的研发模式(比如 Master 模式、窗口模式)。

  • 客户端(Keep 平台):移动端研发场景多样化,包括 APP、动态化、 SDK。

  • 前端(KFC 平台):前端应用类型多(Web、Node、低码、KRN(动态化)、小程序),研发流程和习惯散乱。

  • 研发流程规范差异大 :不同团队间,不同的技术栈的研发流程上存在一定差异,包括研发流程配置、流程各阶段信息字段、单点环节所需的工具能力不同等。

  • 用户迁移成本大 :迁移过程中,需持续关注和解决用户问题,包括用户体验变化、用户学习成本、用户情绪。

  • 落地时间紧迫 :一般互联网大厂类似的工作基本会持续 6 个月以上,快手主站只用了 1 个多月。

实施要点

  • 精准的解决方案设计:

  • 服务端(KDev 平台) :精准的打造了 4 套标准研发模式,适配了主站实际研发情况。

  • 客户端(Keep 平台):一套平台底层能力,支撑 3 种移动研发场景;通过可配置与定制化能力,满足不同团队流程规范与管理诉求(自动翻转配置、流程与质量卡点配置、团队定制化模板)。

  • 前端(KFC 平台):支持 80% 以上前端应用类型,并通过 8 个流程模板、适配 5 个内部自建的插件,兼顾了前端差异化研发流程和用户习惯。

  • 以用户满意为导向 :提供完整的迁移配套服务,降低用户迁移成本。主要包括:

  • 产品质量专项 :用户 BUG 日结。

  • 用户体验专项 :持续深度用户访谈,识别体验问题,并优化。5 周内,交付了 73 个功能 & 体验需求。

  • 用户培训与激励 :通过 12 次培训,50+ 线下访谈,7x24 小时 OnCall、200+ 人次的用户激励,提升用户对产品的接受度。

  • 数据驱动团队级推广:每周度量进度,驱动各部门接口人推广。

经验总结

可能大家会有疑惑,为什么三端分别是 3 个平台,而不是一套平台。因为从实际情况看,服务端、前端、客户端的底层模式、流程都有比较大的差异,强行整合,不仅对产品用户收益不大,反而牺牲了要兼容不同端的流程、习惯差异化的灵活性,给标准化的推进增加难度。因此,我们在用户层面上,还是三套平台,分别解决各自领域的问题,但在底层的基础能力用的是一套,比如流水线、权限等。

Step2:建设效能度量体系

主站的研发效能早在 2022 年就开始启动了,当时在探索北极星指标阶段,缺少度量体系,更多是根据一线开发者的开发痛点反馈,进行偏工具流程等的优化,没有核心指标的牵引,项目都无法推进,更谈不上论证给业务带来的价值。在 2023 年 3 月再次重启效能项目时,北极星指标初步定义为 “有效需求吞吐量”,但是当时需求有效性的衡量难度太大,内部无法达成共识,项目推进困难,而且也无法看清业务堆积和开发人效情况。

随着流程标准化的落地,研发数据的置信度大幅提升,为效能度量提供了土壤。因此,我们定义了以“人均交付产品需求数” 为北极星目标来看清业务开发交付能力,同时观测需求颗粒度(避免单一指标跑偏:度量什么得到什么,种瓜得瓜种豆得豆)来保障交付提升的良性发展,逐步建立了一套更全面的指标体系(多指标互相佐证约束,hack 成本极高)来体现业务交付产能和交付效率,以及组织和个人效率情况。

快手的效能度量体系如下图所示:

注明:SP:Story Point,快手用于度量需求工作量的单位。

借助这套全面完备的指标体系,我们不仅避免了依赖单一指标可能导致的偏差,还有效防范了效能数据被 hack 的风险,确保了效能数据的准确性和可靠性。

Step3:效能问题分析与改进

有效能度量体系,首先我们可以为任何一个业务线做系统性的体检,如下图所示,依托数据和经验,可以逐一拆解出核心的优化专项,并以效能项目的形式实施。

其次,在研发流程和管理上,也能洞察出更多平时看不见的 Case,深入改进,下面是 2 个具体的洞察与改进案例:

Case1:通过「研发活动在线化率」分析,深挖出架构不合理问题

上图是主站技术部下级各团队的研发活动在线化率,其中有一个团队出现了数据异常,分析之后可以发现存在不少问题:

  • 横向来看,这个团队的研发活动在线化率处于中上水平,但产品需求投入占比只有 59%,处于末尾水平。而且产品需求中体验优化占比11.44%,又是各团队中最高的。那么问题来了,“时间都去哪儿了?”

  • 再下钻一层,这个团队的缺陷占比 14%,也是各团队中最高的,且 Oncall& 排障占比 6% 也不低。

因此,数据表明,此团队可能存在的问题:在缺陷问题、体验问题、Oncall& 排障消耗了团队大量的投入,以至于无法消化更多产品需求。所以,通过对团队核心成员的调研和访谈,基本可以找到根因:和客户端的架构劣化有关,比如:

  • 反馈 1:新需求开发时,上手门槛特别高,很多需求会涉及到多个模块开发,这会涉及到自己不熟悉的模块,因为架构分层结构不合理,模块耦合度太高,往往需要花大量的时间去熟悉其他模块的代码,最近做了一个新需求,评估是 3 天的工作量,2 天都在看代码,实际的开发联调只有 1 天。

  • 反馈 2:模块边界不清晰,代码杂糅一起,新需求的代码,可能会影响到已有功能,导致旧功能的 BUG,而且这些 BUG 在回测时,不容易被发现,导致问题漏测逃逸到线上。

通过效能的客观数据再结合主观调研,就可以看清“架构劣化”这种深层次问题,也可以对症下药了。解法是这个团队实施了 2 个技术专项:

  • 客户端的架构升级:从根本上解决因为架构问题带来的交付效率低和交付质量差的问题。

  • 体验优化:集中优化重点场景的体验问题。

随着这两个专项的落地上线,这个团队的效能数据已经有所改善,产品需求投入占比已经提升到 64%,体验优化占比下降到 6%。

Case2:通过「需求积压率」分析,驱动业务优化需求评审流程和节奏

上图是主站技术部下级各团队的需求积压率数据,有些团队的需求积压率持续保持在 80% 以上,意味着需要近一个月的时间才能消化这些积压的需求。这种情况可能存在的问题:

  • 这些被积压的需求,一个月之后,会不会进入排期开发?如果之后会排期开发,说明需求本身的价值还可以,当下是否可以协调资源加快交付?能否可以停掉某些技术需求优先业务交付?是否可以短期加班临时突击?

  • 如果后面不会进入排期,是不是这些需求本身的重要性没那么高?在预评审的时候,是不是可以控制需求的优先级?当前的需求评审流程是否可以优化?

结果

经过一年时间的系统化提效 ,主站提效方面进展显著,人均交付产品需求数 24 年 7 月份同比增长超过 80%。总结下来,主要有效的措施有:

  • 升级研发模式 :通过动态化、配置化等研发模式,让部分需求可以更快速交付。

  • 研发过程提效:通过 API 在线化管理,测试环境稳定性治理、流水线优化、发布优化等措施,降低研发协作成本以及低价值工作占比。

  • 管理与协同提效 :通过效能洞察,持续识别团队协作瓶颈,并通过排期优化、测试无人值守、人力调配等措施,支撑需求可顺畅流动。

阶段 2:智能化 1.0(2024 年 6 月 -2025 年 6 月)

从 2023 年 6 月开始,我们开始探索大模型在研效领域的应用,主要有 2 个方向:

  • 编码场景 :如何用 AI 辅助编码,提升代码生成效率。

  • 非编码场景:在研发全流程里,哪些环节可以通过 AI 能力提升单点工作的效率。

其中,最重要的决策是我们决定自己研发一款 AI Coding 工具:Kwaipilot。它包含了大家见过的所有产品形态:

  • IDE 插件 / AI IDE / CLI:最符合开发人员习惯的几种形态,插件、IDE 可以做续写、问答、智能体代码生成,CLI 则可更灵活的开启代码生成任务。

  • 智能问答引擎 :有独立的 Web 页面,也会嵌入到上面的产品形态里,为开发人员提供灵活的问答能力。

业界有很多优秀的 AI Coding 产品,比如 Cursor、Claude Code、Krio、Windsurf、Antigravity,快手为什么不选择采购,而是自建呢?其实一年来,我们也一直带着这个疑问在探索,相当于一场大型的公司内部 AB 实验:

从用户体验的角度,我们希望大家“用脚投票”,选择好用的工具:

  • 一方面,我们允许开发同学使用任何 AI Coding 产品,可以团队级采购也可以个人购买。

  • 另一方面,我们研发了 Kwaipilot,对内推广。

从实际效果的角度,我们以“AI 代码生成率”为核心观测指标,持续收集用户 / 团队的反馈,识别不符合预期的代码生成 Case,研究解决方案,再投放实验。最终,经过 1 年的探索,实践结果让我们坚定了继续走自研 Kwaipilot 的路线。

注明:2025 年 12 月开始,在 Kwaipilot 已规模应用后,由于安全原因,探索按代码分级封禁三方 AI Coding 工具,仅涉及到部分开发人员。

下面简单分享一下我们的实践过程,相信大家会更容易理解我们的选择。整个 AI Coding 的推广过程分为 3 个阶段:导入、优化、固化

Step1,导入:推广工具,让开发人员用起来

这个阶段很好理解,我们鼓励开发人员在日常工作中默认使用 AI 编程工具,主要目的是让大家拥抱 AI,在意识和行为上先有一个转变。

当然,各种各样奇怪的使用姿势也会出现:

  • 一些同学,尤其是校招入职的同学,在我们的培训和引导下,会深度使用 Kwaipilot。

  • 一些同学会多种 IDE 混开配合使用。其中,有“团购客”,哪家这个月免费就用谁,也有“付费用户”,主要以个人购买 Cursor 为主。

这里最大的副作用,就是个人编码效率不一定全员获得了提升,通过调研看,出现了明显的两级分化的情况。腾讯研究院出品的《AICoding⾮共识报告》中也揭示了类似的情况:

Step2,优化:推广实践,提升编码效率

我们通过用户数据和技术 Leader 推荐找到了一批公司里的“AI 开发高手”,那些用 AI 辅助编码切实提升了效率的开发人员。

一边重点收集他们在使用过程中的问题,集中想办法解决,一边把他们的优秀开发技巧淬炼出来,提炼共性,形成最佳实践。

这个阶段,我们发现,有别于那些网上随处可见的所谓的 Vibe 编程场景(用对话的形式直接做一些独立应用或小游戏等),在真实的业务需求开发场景里,想用好 AI 编程工具提升效率,有 2 个非常大的门槛:

  • AI 编程工具不“懂”业务和系统 :我们发现一个规律,无论用多好的代码大模型和 AI 编程工具,“通用的工具只能达到通用的效果”。因为它们不理解公司内大量的业务概念、存量系统、编程规范等这些知识,所以,只能做一些普通的代码续写、函数级的代码生成,但很快就会到瓶颈。如果想进一步提升 AI 代码生成的效果,必须想办法让 AI 编程工具从一个“擅长编程但不懂快手开发场景的临时工”进化为一个“熟悉快手业务的开发工程师”。

  • 人和 AI 协同需要掌握新的开发方法 :相比传统编程方法,目前已经发展出了一套 AI 辅助编程的新方法。如果开发工程师仅使用 AI 编程工具,却未掌握对应的技巧,不仅不能提效,还可能会降效,比如出现很多“AI 乱改业务代码”、“AI 生成后还要自己删除”等各种不符合预期的情况。

为了降低门槛,在这个阶段我们做了 2 项工作:

  1. 升级 AI 编程工具

上图是优化后的 Kwaipilot 的产品矩阵,都解决了哪些问题呢?一张表可以概览出来:

  1. 沉淀并推广「AI 辅助编码」最佳实践

我们将大量“AI 开发标杆”个人的共性实践沉淀成了一份标准的指南和实战课程,让所有开发工程师,通过学习指南和课程,可以完整的掌握所有关键技巧。

Step3,固化:将 AI 编码能力变为组织机制

既然已经验证了 AI 编码对效率提升的有效性,且已经有了固定的工具、方法、实战课程,接下来就是如何把这些习惯固化在组织的日常工作中,让所有研发人员大范围的升级开发技能。我们主要用了 3 个措施:

  • 增量人员 :强化入职培训,从源头培养 AI-Native 开发者。

  • 存量人员:牵引 AI 在团队、研发流程、个人工作中渗透。

  • 文化影响:通过活动运营、奖励机制激发更多同学拥抱 AI。主要是一些自下而上能让更多一线研发被看见。

结果

持续的推广,在编码场景上,80%+ 的开发人员都开始用 AI 辅助编码,如下图所示,可以看到 AI 代码生成率每月线上增长。

同时,在非编码场景中,我们在研发流程中建设的单点 Agent 能力也开始在研发平台中陆续透出,用 AI 能力辅助部分研发活动提效。

最终,我们对研发各阶段的 AI 提效情况,做个一个完整的评估:

最后顺便提一下,众所周知,目前大家在业界看到的“代码生成率”指标,包括各大厂披露的、AI 编程工具自己度量,基本都是不置信的,要么只统计了编程工具里的生成的代码和提交的代码作为分子分母,要么是在分母上做了一些限定(比如某些场景下不纳入分母统计)。但因为我们会用这个指标作为公司级 AI 编码推广的目标,因此对度量的精度和置信度要求非常高,一路“踩坑”过来后,最终使用了最严格的度量方法:

  • 分母 :新增代码行,统计公司内所有最终入库的 Commit 中的代码行。

  • 分子 :将分母的每一行代码,和 AI 生成的代码进行比对,如果编辑距离<50%(相似度高),则纳入统计。

这套实现无法在 AI 编程工具端实现,需要由公司内部的代码平台、AI 编程工具一起提供数据,并在离线数据层进行精确的计算,计算分母中每一行新增的代码和分子中 AI 生成代码的编辑距离,符合要求才能被统计为分子。

问题

经过 1 年多的努力,从数据上看,研发各环节效率都在提升,尤其是编码环节提升很大。在 AI 热潮下,我们也看到很多开发人员、团队 Leader 都在分享自己效率提升数据和案例,按道理来说,公司整体的研发效能应该提升了吧?我们从全局视角,分析了一个核心业务线的客观研发数据,结果发现了非常反直觉、令人困惑的情况: AI 代码生成率持续在增长,但需求交付效率基本不变

为什么呢?我们做了深入的调研,排除了少量个例,观察总结了大多数普遍使用“AI 辅助编码”的开发人员的用法和客观研发数据,发现在真实业务交付场景中,只用“AI 辅助编码”这种开发方法,对需求的开发周期影响非常有限。主要原因如下:

洞察

不过调研中也有额外收获,我们发现在真实的业务需求开发中,已经存在着 3 种不同的开发方法,对效率提升的程度有着根本性的差异。如上图所示。我们把三种开发方法总结出来做了一个定义:

  • AI 辅助编码: 在标准开发流程的基础上,在编码环节,依托 AI 编码工具,使用各种 AI 生成代码的技巧,提升编码效率。如果熟练掌握,可以缩短一部分编码时间,但如上文中的调研归因,由于只是节省了碎片化的编码时间,联通、测试、需求评估等不变,因此对整体的开发任务缩短帮助不大。

  • AI 辅助开发: 在研发全流程的各环节均使用 AI 辅助的方式,提升整体开发效率。需要由人把需求拆分为多个开发任务,不同开发任务调用不能的 AI 能力来完成,再由人来审核和优化产出物。由于从技术设计到编码到测试等各环节都可以节省时间,因此加总起来后,可以将研发任务的开发周期缩短 30% 左右。

  • AI 协同开发: 在某些需求开发中,通过完全用自然语言和 AI 交互的方式(类似业界比较流程的说法 Spec/Vibe 开发)完成需求交付,提升需求端到端交付效率,需求整体的开发周期可以缩短 40% 左右。

举个例子说明,会更容易理解三种开发方法对效能提升程度的影响。例如 1 个需求分解出 2 个开发任务,1 个前端、1 个后端,其中前端工程师接到开发任务,正常评估从设计、开发、测试、合入主干需要 5 天,其中编码 1 天:

  • 如果用「AI 辅助编码」,他自己的评估还是 5 天,只不过相比以前,可以节约一部分时间做一些杂事,但到不了可以接更多开发任务的程度。

  • 如果用「AI 辅助开发」,他可以整体节约 1.5 天,只用 3.5 天就可以完成。但需求整体能不能快,还需要看另一个接任务的同学,以及对应的联调、集成测试、发布的周期。

  • 如果用「AI 协同开发」,首先必须改变协同模式,比如 2 个人均使用这种模式开发或者 1 个人全栈的做,假设 1 个人全栈独立做要 10 天,且不需要和别人集成 & 验证,开发周期可以缩短到 6 天左右。

有了 3 种开发方法的定义,我们就能很容易的评估出理想和现实间的差距,我们取了 1 个业务线 3 个月所有已交付的需求进行分析,发现 50%-70% 的需求,在不改变原有开发流程、规范、人员协同模式的情况下,可以使用提效幅度更大的「AI 辅助开发」模式。此外,还有 2%-10% 的需求,可以更激进的使用「AI 协同开发」。但实际情况上,团队里只有不到 10% 的人在使用「AI 辅助开发」或「AI 协同开发」开发方法,有对 AI 开发特别感兴趣的校招生,也有积极拥抱 AI 喜欢自己探索的资深开发者,但由于人数过少,对团队整体研发模式的变化无法起到带动的作用。

阶段 3:智能化 2.0(2025 年 7 月至今)

上面一个阶段,我们称之为“智能化 1.0”阶段,即以编码场景的 AICoding 为中心提效,并逐步辐射非编码场景的 AI 提效。但主要瓶颈就在于开篇提到的 AI 研发提效陷阱:用 AI 开发工具 ≠ 个人提效 ≠ 组织提效 。

在智能化 1.0 阶段最大的收益是什么呢?大部分研发人员都开始主动使用 AI 开发工具了,同时,找到了个人提效的最佳实践。但接下来才是深水区,我们需要回归效能提升的元问题:“如何用 AI 提升需求端到端交付效率?” 。

经过充分的复盘、洞察和验证,我们找到了新的可行的路径,并重新设计了解决方案,我们称之为“AI 研发范式”,它的实践体系框架,如下图所示:

我们根据需求交付中 AI 的参与程度,定义了“需求 AI 研发成熟度”,将需求划分为 3 个等级 L1、L2、L3,不同等级的需求,需要使用对应的开发方法。不同开发方法,对底层研发工具的 AI 能力也有不同程度的依赖。用一张表对上图做一下解读:

具体实施上整体有 3 步:

Step1,AI x 效能平台:建设能同时支持多种研发模式、可自进化的智能研发平台

解决的问题:

  • 能支持多种研发模式 :不同 AI 研发成熟度的需求,它们的交付流程都是一样的,差异点在于开发方法。因此我们无法为不同的需求、不同的开发方法匹配不同的平台,而是要思考如何用一套平台,来支撑多种开发方法:完全不使用 AI 的标准开发流程、只用 AI 辅助编码的开发流程、更激进的使用 AI 辅助开发或协同开发的开发流程,都应该在同一个平台上完成。这样,我们的需求交付效率,才可以随着人的能力的提升、AI 能力的提升,持续变快。

  • 产品形态可进化 :产品形态随主要研发模式的变化持续演化,从人主导最终变为由 AI 主导;能与传统平台协同进化。

  • AI 效果可进化:能随大模型的升级、Agent 技术的升级、企业 / 个人知识的丰富,持续提升 AI 效果。

解决方案 :建设下一代智能研发平台

如上图所示,有 4 个关键点:

下面重点介绍下为了支撑组织级研发范式跃迁,Flow 这种子产品形态的独特优势。

  • 从需求交付视角看 :同一个需求,开发者可以结合自身对 AI 的理解和开发技能的掌握,在同一种产品形态上选择不同开发方法。

  • 标准开发 / AI 辅助编码 :工作流中所有节点,完全由人工来完成和推进。其中“编码”节点会跳转到 IDE 中,可以用 AI 辅助编码。对用户而言,收益相对来说最小,和原来相比,由于 Flow 的每个节点内嵌或自动兼容了各工具平台的功能,因此仅节约了用户平台跳转的切换与学习成本。用这种模式交付的需求,会被度量为 L0/L1 级需求(AI 辅助(Copilot))。

  • AI 辅助开发 /AI 协同开发 :工作流中多个关键节点均有 AI 完成,人进行结果审查。多个节点之间的上下文可以有效传递,比如 AI 完成需求分析、技术设计后,产出的 AI 友好结构化文档可以自动传递到 AI 编码节点,以提升代码生成的准确性。有些节点暂时无法由 AI 完成的,比如“提测”节点,仍然由人来操作。用这种模式交付的需求,会被度量为 L2 级需求(AI 协同(Agent))。

  • AI 自主开发 :部分需求可以实现全流程 AI 完成,人只需要在需求上线前或上线后进行审核。这种模式下,整个 Flow 是全自动运行的不需要人工参与。用这种模式交付的需求,会被度量为 L3 级需求(AI 自主(Agentic))。

  • 从开发者视角看 :整个过程依然非常丝滑和简洁,下图是一个需求交付中 Flow 的整个工作过程,大家可以感受一下:

Step2,AI x 效能实践:以需求为中心,导入「AI 研发模式」,实现需求端到端提效

支撑「AI 研发模式」的方法和平台都有了,这个阶段的关键是如何把这些作用在团队日常交付的需求上。我们分 3 个层面落地:

个人级实践 :导入「AI 辅助开发 / AI 协同开发」开发方法,并树立标杆

首先人的开发方法要变化。我们重复了第一阶段“优化”与“固化”的实践,让大部分研发人员从“AI 辅助编码”的方法升级成“AI 辅助开发”,让小部分专业能力更强的人员,选修“AI 协同开发”方法。我们同样通过实战课程、典型案例、人员培训等手段,对人的开发方法进行升级。

当然,即使这样,从数据上看,个人用 AI 提效的效果还是存在两极分化的情况。我们对 2025 年 6 月 -12 月的数据进行了分析得到如下结论:

团队级实践:导入「AI 研发模式」,重塑流程、分工,提升所有需求的交付效率

通过管理导向、各种活动的形式,鼓励团队 Leader 主动带领团队进行探索,最终沉淀出了一套适合团队的核心实践:

经过大量的验证,我们的标杆团队(<50 人规模)无论在 AI 转型后的业务感知上,还是客观数据上,均能达到比较优秀的水平,见下表:

业务线级实践:大规模研发团队,系统性升级 AI 研发范式,带来效能提升

以 主站技术部 为例,从 2023 年到 2025 年,从平台化到数字化再到精益化,2025 年开始步入深水区,2 个新挑战浮出水面:

  • 传统的流程、工具优化手段带来的提效收益,边际效应持续减小。

  • 业务的规模与复杂度持续提升。

因此开始探索能否把握 AI 爆发的机遇,把传统研发流程升级到“AI 研发范式”,进而打开组织级效能跃升的新空间。核心实践:

实践 1:Top-Down,战略驱动

  • 明确战略导向 :主站技术部提出了“AI First”的战略思想,鼓励全体员工开展工作之初,优先将 AI 作为核心驱动力,加速技术创新、优化业务流程、深度融合 AI 技术,为产品与服务注入新活力和新可能性。

  • 发布白皮书 :将战略导向具象化为思考、方法与规划,为全员提供明确指引。

  • 成立重点项目 :在研发领域,成立了 AI DevOps 项目,统一设计解决方案并推广实施。

实践 2:AI x 效能实践

  • Step1:将需求分级,按需求 AI 研发成熟度定义:

  • L1 AI 辅助(Copilot):人主导,AI 主要在编码环节提供辅助。

  • L2 AI 协同(Agent):人和 AI 更深度的协同完成需求开发,在研发全过程中,更深度分解任务给 AI 完成,人进行修改、调整、确认。

  • L3 AI 自主(Agentic):人类似产品经理,把需求澄清清楚并交给 AI 来完成,并进行最后的验收。

  • Step2:分级实施

  • 让所有需求达到 L1 级(AI 辅助,Copilot):推广个人级实践,依托 Kwaipilot 工具实现全员掌握,最终覆盖所有需求。

  • 让大部分需求能持续升级到 L2 级(AI 协同,Agent):开展团队级实践,从试点到推全,重塑流程、分工。

  • 小部分需求探索能达到 L3 级(AI 自主,Agentic):圈选出颗粒度小且独立的需求,构建全技术栈 / 职能端到端交付链路,通过全栈、跨栈,减少协作节点,进而形成效率跃迁,最终达成 AI 自主交付。

  • Step3:项目化推进

  • 成立组织级重点项目,Top-Down 实施。

实践 3:AI x 效能平台。基于需求全流程构建 AI 能力,逐一“点亮”能力并规模推广落地:

  • 构建 AIDevOps 能力矩阵与建设路线图 :基于研发效能白盒化,分析交付流程中各原子环节的人力投入比重、AI 能力建设 ROI,形成决策建设哪些 AI 原子能力。

  • AI 原子能力建设 :与研发线共建交付流程环节内的 AI 原子能力 20+,研发流程环节覆盖超过 60%,从需求准备到发布运维各环节。

实践 4:AI x 效能度量:建设 AI 研发成熟度模型,可将需求分级度量(L1、L2、L3 级需求占比),牵引各级实践落地。

经过 1 年多的项目实施,最终探索出了一条组织级的 AI 研发范式升级路线,从数据上也能看出明显的变化:

Step3,AI x 效能度量:建设「AI 研发成熟度模型」,接入原有效能度量体系,驱动需求持续转变为“AI 研发模式”

最后在效能度量上一样也需要升级,基于效能实践的探索,我们配套建立了「需求 AI 研发成熟度」模型(如下图所示),用于度量一个需求在研发过程中的 AI 使用程度,这样我们就可以按 L2&L3 级需求的比例,来牵引实践过程,也可以专门度量 L2&L3 级需求的交付周期的变化,来印证提效结果。

结果

再回到全局视角,从数据上看,如果只看“AI 代码生成率”指标,可以明显看到 2025 年 6-11 月出现了一个大幅提升。实际上,在智能化 1.0 阶段,这个指标达到 24%+ 基本已经是极限了,当我们开始实施智能化 2.0 后,才开始进一步拉升。

当然,我们在内部的数据观测上,其实已经不再看“AI 代码生成率”指标了,它只是一个单点的过程指标,片面且孤立。我们现在有了更直接的度量指标。从过程上,我们观测多少需求被采用全流程 AI 研发模式交付,从结果上,我们直接观察需求的交付效率变化。

  • L1、L2、L3 级需求占比 :有多少需求的 AI 研发程度可以达到 L1、L2、L3 的阶段。

下图是最先完成 AI 范式转型团队的数据变化,可以看到 L2&L3 级需求占比达到 20.34%,需求交付周期下降 58%,2 个指标呈现明显的正相关性。

总结

最后也总结下我们一年来的实践心得,目前看完全印证了《2025 年 DORA 报告:人工智能辅助软件开发现状调查报告》中的洞察:

“从 DevOps 到 AI 辅助开发:AI 是“透视镜”与“放大器”

  • AI 是“透视镜”

  • 在协同良好的组织中(如流程清晰、数据打通的团队),AI 能使 DevOps 效能再提升 25%。

  • 在架构松散的组织中,AI 会暴露流程断点、数据孤岛等隐性痛点。

  • AI 是 “放大器”

  • 如同亚马逊通过微服务转型释放 DevOps 价值,AI 辅助开发也需重新设计工作流程(如 “AI 提案 — 人类决策” 闭环)、角色分工(如专职提示工程师)与治理机制(如 AI 代码审查标准),否则无法释放真正价值。

对于大型组织的研发效能提升,AI 不是“ 万能药 ”,而是“ 透视镜 ”和“ 放大器 ”,它不会自动修复组织问题,而是先把组织历史积累的长板和短板一并透视出来,再全部放大。幸运的是快手的研发效能实践一直保持客观、务实的风格,先把地基打稳(平台化 / 数字化 / 精益化),再通过在研发各环节建立 AI 提效能力,先一边落地一边充分验证对个体的提效情况,再体系化的推进组织级 AI 研发范式升级。最终发现,AI 在传统研发效能基建的基础上,像放大器一样增幅了每个环节,为组织带来研发范式级的跃迁。

如下图所示,我们基于张乐老师的“研发效能黄金三角”框架之上做了升级,能更清晰的表达出快手的实践框架:

最后,再把镜头拉远,回到宏观视角看——2025 年我们所做的种种努力,不过是这场 AI 变革的开端。由 AI 驱动的生产力跃升和生产关系重塑,正在重新定义软件开发的每一个环节。这不是一场短跑,而是一场马拉松,不是一次技术升级,而是一次范式革命。

快手已经在这条路上积累了宝贵的经验,但真正的挑战和机遇还在前方。未来已来,一起共同探索 AI x 研发效能的无限可能吧!

了解更多

本文作者

  • 快手研发效能中心:秦巍(研发效能解决方案 & 智能工具产品负责人)

  • 快手主站技术部:胡伟(主站 AIDevOps 项目负责人)、马坤(主站研发效能项目负责人)

写在最后

感谢快手 研发效能中心 与 快手主站技术部 的授权,使我们有机会系统梳理并总结快手在过去三年中的实践经验。

快手向来崇尚“行胜于言”的实干精神,也因此我们往往专注于行动,而疏于对外分享。然而,过去一年间 AI 技术的迅猛发展,正深刻改变着研发效能领域的格局。在与行业同行的交流中,我们既看到层出不穷的创新探索,也注意到在实践、方法与工具建设方面仍存在不少共性问题。这些问题若不及早重视,很可能导致未来大量返工与资源浪费,甚至偏离客观规律,影响企业研发效能提升的既定路径。

为此,我们决定把我们的探索与实践经验分享出来——无论是曾经踏过的“坑”,还是有幸跨过的“河”,都希望能为企业与同行们在“AI × 研发效能”的探索中,降低试错成本,注入更多成功可能。

当然,快手的 AI 研发范式升级仍在沿着这条路径演进中:L1 AI 辅助(Copilot)→ L2 AI 协同(Agent)→ L3 AI 自主(Agentic)。目前,我们的研发效能体系已经初步完成 AI 化升级,全景图如下图所示:

2026 年正在探索 L2 → L3 的跃迁路径,我们将定期梳理实践经验,持续向业界输出更多有价值的内容,主要包括:

  • 实践与技术:欢迎关注「 快手技术 」公众号。我们将持续分享具体实操方法与技术解析,例如:个人、团队乃至业务线如何借助 AI 提升效能?有哪些落地案例?研发各环节 Agent 的核心技术及调优方法有哪些?等等。

  • 平台与工具:我们将智能化 1.0 阶段沉淀的产品 Kwaipilot 进行了全面升级与开放,它在快手内部历经数千名研发同学的反馈与打磨,已完成三代演进:Code Copilot → Code Agent → Multi-Agent & Agentic Coding,目前已在海外发布,产品名为 CodeFlicker,希望服务全球开发者,也欢迎国内同行下载体验。后续,我们还会持续把快手在智能化 2.0 阶段的探索成果融入 CodeFlicker,希望让更多企业级开发者受益。

最后的最后,如果你也希望一起探索「AI x 研发效能」最前沿的技术、产品、实践,一起以业界最高标准做有挑战的事,欢迎加入我们

Anthropic 公司发布了新版Claude宪法,为其行为、推理和训练提供了一个结构化框架。该宪法将明确的原则与情境化的指南相结合,使其成为一个实用的工具,用于改善现实互动中的一致性、安全性和可靠性。与之前的版本将规则单独列出不同,这个版本强调理解每个原则背后的理念,帮助 Claude 适应新场景。

 

在功能层面,该宪法用于在训练期间生成合成数据,包括互动示例、响应排序和适用于特定场景的指南。这些数据可以指导模型更新,帮助 Claude 生成反映预期价值的输出,并使其在模糊的情境中保持灵活性。该宪法的关键内容涵盖有用性、伦理、安全、指南合规性和关于 Claude 自身能力和限制的推理。

 

  • 有用性:Claude 旨在为不同类型的用户提供上下文感知支持,包括 API 运维人员、开发人员和最终用户。

  • 道德准则:模型应诚实行事,避免造成伤害,在遵守高风险行为的硬性约束的同时,妥善处理复杂的道德和实际的取舍。

  • 安全性:Claude 必须优先考虑人类监督,并防止可能削弱监督力度或损害运营完整性的行为。

  • 指南遵从性:Claude 整合了 Anthropic 针对医疗建议、网络安全和工具集成等敏感领域的具体要求,当然,整合的前提是这些要求与其宪法不存在冲突。

 

该文件还涉及 Claude 的自我认知,鼓励对其能力、局限性及交互角色进行推理。通过将规则与推理上下文相结合,该宪法支持生成既可靠又具适应性的训练输出。

 

本次发布引发了 AI 社区的响应。用户 gregtorth评论道:

 

真棒!第一个总是最艰难的。我还记得当初打造自己的 AI 助手时遇到的种种挑战——工程障碍、伦理考量,还有为完善模型而进行的无穷无尽的调整。向 Anthropic 团队致敬,他们成功交付了这个里程碑。

 

另一位用户补充道

 

哇!这真是个好消息。对 Claude 训练过程的监督体现在它的每一个输出中。我真的很好奇这将如何发展,其他 AI 实验室将如何能够跟上这个工具/产品框架。

 

从技术角度来看,作为一个核心对齐工件,该宪法可以指导响应生成,帮助构建训练数据,并供将 Claude 集成到应用程序的操作人员参考。该方法超越了强制执行规则的范畴,转而通过建模原则,让 Claude 能够权衡取舍、优先保障安全,并在提供帮助的同时兼顾伦理考量。

 

该宪法遵循 Creative Commons CC0 1.0 许可,旨在提供透明度并为未来的研究奠定基础。Anthropic 强调,尽管 Claude 的输出结果可能与它所声明的原则存在偏差,但该文件能帮助开发者和用户更清晰地理解其预期行为及其背后的推理逻辑。

 

感兴趣的读者可以在线获取更新后的 Claude 宪法的详细信息。

 

原文链接:

https://www.infoq.com/news/2026/01/anthropic-constitution/