包含关键字 typecho 的文章

现在介绍LangGraph 和 LangChain 的文章。每一篇的结论都差不多:简单流程用 LangChain,复杂的用 LangGraph。

但是简单和复杂都是相对的,如果是具体问题呢,比如说一个做代码分析、三个 Agent 串起来的流水线,到底该拿哪一个上线?

所以本文用同一个需求分别用两个框架实现,Agent、逻辑、Gemini 2.5 Flash 调用全部一致,一遍 LangChain,一遍 LangGraph。

两个框架到底在做什么

LangChain 是一个模块化工具包,提供 prompt 模板、文档加载器、retriever、输出解析器、memory 抽象这些零件,再把它们按线性顺序 A → B → C 串起来。像一条传送带:定义步骤,数据往前流,结束。

LangGraph 是一层编排。它把工作流建模成状态机 —— 节点是函数,边是转换 —— 而边可以是条件的。流水线可以循环、分支、重试,也能暂停等待人工输入。就是一张流程图。

不过从 LangChain v1.0(2025)开始,LangChain 自己的 Agent 抽象就是建在 LangGraph 之上的。所以这两个不是两个互相竞争的框架,而是同一个系统不同的抽象层级。

实验:同一条流水线,两个框架

测试用例是一条三阶段的代码审查流水线:

  1. Context agent —— 抓 PR diff 和仓库历史
  2. Analysis agent —— 在改动代码中定位问题
  3. Review agent —— 输出带严重程度评分的结构化反馈

BugLens 线上的 analysis agent 有时需要回头再去拉一轮 context 才能给出有把握的判断。正是这个条件回跳把我逼到了决策点。

LangChain 版本

 from langchain_core.prompts import ChatPromptTemplate  
from langchain_google_genai import ChatGoogleGenerativeAI  
from langchain_core.output_parsers import StrOutputParser  

llm = ChatGoogleGenerativeAI(model="gemini-2.5-flash")  
context_chain = (  
    ChatPromptTemplate.from_template("Analyze this PR diff: {diff}")  
    | llm  
    | StrOutputParser()  
)  
analysis_chain = (  
    ChatPromptTemplate.from_template("Find issues in: {context}")  
    | llm  
    | StrOutputParser()  
)  
review_chain = (  
    ChatPromptTemplate.from_template("Write review for: {analysis}")  
    | llm  
    | StrOutputParser()  
)  
# 线性执行  
def run_pipeline(diff: str):  
    context = context_chain.invoke({"diff": diff})  
    analysis = analysis_chain.invoke({"context": context})  
    review = review_chain.invoke({"analysis": analysis})  
     return review

干净、可读,五分钟能写完。问题在于:analysis 返回的置信度一旦偏低,整条链就会有问题 —— 得在链外面加 if/else,手动 re-invoke,再自己把状态拼回去。

LangGraph 版本

 from langgraph.graph import StateGraph, END  
from typing import TypedDict  

class ReviewState(TypedDict):  
    diff: str  
    context: str  
    analysis: str  
    review: str  
    confidence: float  
    iterations: int  
def context_node(state: ReviewState) -> ReviewState:  
    # 根据 diff 和仓库历史获取 context  
    context = fetch_context(state["diff"])  
    return {**state, "context": context}  
def analysis_node(state: ReviewState) -> ReviewState:  
    result = run_analysis(state["context"])  
    return {  
        **state,  
        "analysis": result["content"],  
        "confidence": result["confidence"],  
        "iterations": state.get("iterations", 0) + 1  
    }  
def review_node(state: ReviewState) -> ReviewState:  
    review = write_review(state["analysis"])  
    return {**state, "review": review}  
def should_loop(state: ReviewState) -> str:  
    # 置信度低则回头再取一轮 context  
    if state["confidence"] < 0.75 and state["iterations"] < 3:  
        return "fetch_more_context"  
    return "write_review"  
graph = StateGraph(ReviewState)  
graph.add_node("get_context", context_node)  
graph.add_node("analyze", analysis_node)  
graph.add_node("review", review_node)  
graph.set_entry_point("get_context")  
graph.add_edge("get_context", "analyze")  
graph.add_conditional_edges("analyze", should_loop, {  
    "fetch_more_context": "get_context",  
    "write_review": "review"  
})  
graph.add_edge("review", END)  
 pipeline = graph.compile()

前置代码多了不少,但是置信度阈值触发自动回跳;状态在节点之间自动流转,不用人工维护;后续要加 human-in-the-loop 审核时,一行

interrupt()

就够了 —— LangGraph 原生支持。

LangChain 依然占优的场景


LangChain 的 pipe 语法

chain1 | chain2 | chain3

用在线性流程上是真的漂亮。BugLens 里不需要分支的那些环节我还是用它:总结单个文件、从 diff 里抽结构化数据、给最终输出做格式化。不该分支的地方没必要背上 LangGraph 的开销。

更现实的一点是生态:LangChain 有 600+ 开箱即用的集成。要快速接一个向量库、PDF 加载器、外部 API,这套生态目前没有对手。LangGraph 并不是要替代它们,而是叠在上面。

反转:LangChain 1.0 内部跑的就是 LangGraph

大多数对比文章漏掉了这一条:从 LangChain v1.0 起,

AgentExecutor

事实上已经废弃,LangChain 新的 Agent 抽象在底层直接构建在 LangGraph 上。

现在调用

create_react_agent()

,跑的就是 LangGraph 状态机。真正的问题不是 LangChain 还是 LangGraph,而是想要 LangChain 那层更高的封装,还是想直接控制这张图。

先用 LangChain 的高层 API;撞到墙(循环、重试、条件分支、持久化)再往下落到 LangGraph。二者可以共存,不少生产系统同时用两套。

决策框架


其实可以两个都用。外层编排 —— GitHub webhook 事件路由、决定调用哪条 Agent 流水线、API 失败后的重试管理 —— 全部走 LangGraph;内层链 —— 格式化 diff、总结文件、解析结构化输出 —— 交给 LangChain LCEL。

总结

构建一条简单的 RAG 流水线或单步 LLM 工作流,LangChain 更快也更干净,没必要让 LangGraph 把复杂度压上去。

一旦涉及到多 Agent、条件逻辑、重试行为或需要持久化的状态,LangGraph 就不只是“更好”而已,它是唯一的选项;想在纯 LangChain 里复刻这套控制流,最后拼出来的正是 LangGraph 被造出来要替掉的那种缝合式状态管理。

https://avoid.overfit.cn/post/ecb8b4a277b0443ea312fe4c100aead6

by Satyabrata Mohanty

今天,Google Cloud Next 2026 进入第二天,最重磅的消息不是某个模型参数的提升,而是一套完整的企业智能体治理平台——Gemini Enterprise Agent Platform

如果说去年我们还在讨论“如何让 AI Agent 完成一个简单的订餐任务”,那么今天 Google 给出的答案是:如何让上百个 AI Agent 在一个公司里像员工一样被管理、授权、监控和协作

我仔细看了 Google 发布的技术文档和 Demis Hassabis 的主题演讲,发现这五把“钥匙”正在打开一扇新的大门。


一、从“单个智能体”到“智能体组织”

先看一个数字:Google 内部已经跑通了 超过 2000 个不同类型的智能体 同时在 Google 云平台内部协同工作的测试环境。这些智能体有的负责日志分析,有的负责自动扩缩容,有的负责安全审计,还有的负责成本优化。它们之间不是孤立工作的,而是通过一个统一的管理平面进行通信和任务分发。

这就是 Gemini Enterprise Agent Platform 要解决的核心问题:规模化治理

平台包含五个核心组件,我画了一个简单的逻辑关系图:

智能体治理平台五大组件关系

  • Agent Studio:用自然语言定义智能体的行为、权限和触发条件。不需要写复杂的代码,产品经理也能配置一个智能体。
  • Agent Registry:类似企业员工花名册,所有智能体在这里注册、分类、版本管理。
  • Agent Gateway:统一的入口网关,负责鉴权、限流、审计日志。每个智能体的每次外部调用都会被记录。
  • Agent Identity:给每个智能体分配一个加密身份,类似“数字工牌”。智能体之间互相调用需要出示身份并验证权限。
  • Agent Observability:可视化每个智能体的执行轨迹,支持追踪一条任务在多个智能体之间的流转路径。

这本质上是把 微服务架构的服务治理思想 迁移到了 AI Agent 领域。做过大规模微服务的人都知道,没有治理框架,几十个服务就会变成一团乱麻。同理,没有 Agent Platform,几十个智能体很快就会互相踩踏。


二、Demis Hassabis 的新比喻:智能体时代的“企业操作系统”

在这次大会上,DeepMind 负责人 Demis Hassabis 做了一个很有意思的类比。他说:

“我们正在从‘移动优先’进入‘智能体优先’的时代。Gemini Enterprise Agent Platform 之于智能体,就像 Windows 之于 PC 应用——它是一个操作系统,定义了智能体如何启动、如何通信、如何获取资源、如何安全退出。”

这个比喻很贴切。回顾 PC 时代,Windows 提供了文件系统、进程管理、图形界面、网络栈,应用开发者不需要自己实现这些底层能力。同样的,Agent Platform 提供了身份认证、任务队列、状态持久化、跨智能体通信、可观测性,智能体开发者只需要关注自己的业务逻辑。

他还在现场演示了一个令人印象深刻的例子:

一个大型零售企业的“供应链优化智能体”需要调用“库存预测智能体”的数据,同时需要请求“物流调度智能体”的运力确认。整个过程涉及三个不同的智能体、跨部门的权限校验、以及长达数分钟的异步任务。在 Agent Platform 上,整个过程被自动编排、自动鉴权、自动重试失败步骤,最终输出一份可追溯的报告。

而实现这一切,企业只需要在 Agent Studio 里用自然语言描述:“每周一上午 9 点,分析上周的销售数据,预测未来 7 天的库存缺口,如果缺口超过 10%,自动生成补货单并发送给采购组审批。”

这就是“企业操作系统”的威力。


三、与去年相比,到底进步了什么?

为了让你更直观地感受这个变化,我做一个对比表格:

维度2025 年的 AI Agent2026 年的 Agent Platform
开发方式手写 Prompt + 函数调用 + 状态管理自然语言定义,平台自动编排
安全性依赖调用方的 API Key加密身份 + 细粒度权限 + 审计日志
可观测性打日志,人工查自动追踪执行路径,可视化调用链
多 Agent 协作硬编码互相调用,容易死锁平台统一调度,支持异步任务
部署成本需要自己维护向量库、记忆、队列平台提供内置持久化与工作流引擎

这张表格里的每一行,对应的是企业落地 AI 时最头疼的问题。

过去一年,我见过太多的“试点成功、规模化失败”的案例:3 个智能体跑得很好,加到 20 个就乱套了;单个任务没问题,并发 100 个就超时了;开发环境完美,生产环境权限乱掉了。

Agent Platform 的本质,就是把“规模化智能体”这件事从“艺术”变成“工程”。


四、这件事对普通开发者和企业的启发

读到这里你可能会想:“Google 的这个平台听起来很厉害,但跟我有什么关系?”

我的看法是:关系非常大,而且是未来 12 个月就会波及到一线开发者的那种关系。

  • 如果你在一家科技公司工作:公司大概率会在未来一年内引入类似的智能体治理平台(无论是 Google 的还是开源自研的)。你需要学习的不是如何“写一个智能体的代码”,而是如何“配置一个智能体”——就像今天你学 Kubernetes 不是为了写容器运行时,而是为了写 Deployment 和 Service。
  • 如果你是一个独立开发者或小团队:你可能暂时不需要这么重的治理平台,但你可以从中借鉴最佳实践——给每个智能体分配独立 API Key、记录每次调用的 trace ID、设置限流和重试策略。这些习惯会帮你避开很多坑。
  • 如果你关注 AI 的商业化趋势:注意一个信号——企业软件市场的下一波大机会是“智能体治理平台”。现在没有谁能一统天下,类似“Kubernetes for Agents”的开源项目很可能在未来一年出现。

五、另一个值得提的小新闻

除了 Google 的重磅发布,今天还有一条值得关注的动态:Anthropic 公布了 Claude 质量下降事件的技术原因

之前我写过这件事的初步分析,今天 Anthropic 给出了更详细的说明:问题出在三个因素的叠加——① 模型量化压缩的一个边界条件 bug;② 推理服务中引入的新型 KV cache 策略在长上下文中发生了溢出;③ 监控告警阈值设置过宽,导致未能及时触发人工介入。

这三个原因其实都很“工程”,没有一个是模型本身能力倒退。但它再次提醒我们:AI 服务是一个复杂的系统工程,模型权重只是其中一环。部署、量化、缓存、监控,任何一个环节出问题,用户感受到的就是“模型变蠢了”。

Anthropic 表示已经修复了问题,并且会调整告警策略,同时计划在未来开放“模型版本快照”功能,让用户可以锁定一个稳定的模型版本。

AI 服务质量波动示意图


写在今天最后

回看今天的两条新闻——Google 的智能体治理平台和 Anthropic 的质量事故复盘——它们指向同一个方向:AI 正在从“模型竞赛”进入“工程竞赛”

谁能在保证性能的前提下,把成本降下来、把稳定性提上去、把规模化治理做好,谁才能真正赢得企业市场。

对于我们这些每天写代码、调 API、做产品的人来说,这意味着以后不能只关注“这个模型 benchmark 多少分”,还要关注“这个模型服务 SLA 怎么样”、“这个平台支不支持智能体治理”。工程的深度,正在成为新的护城河。


📌 今天的关键词

AI Agent 企业治理 Google Cloud Next 2026 工程化 技术趋势

前段时间想用TG纸飞机收一些技术资讯,结果卡在注册登录环节。

+86手机号登录,提示smsfee,需要购买一周的会员,缴费购买了以后,短信验证码迟迟不来,反复试了好几次都没登上。网上搜了一圈,说是运营商屏蔽了,网上的各种方法也都试了,还是没有登录,挺无奈的。

后来找到一款基于官方12.5.1版本编译的客户端,用了几天,体验不错。

直接登录

下载后按照步骤操作,2分钟登录上,没有smsfee问题,省了不少事。

中文完整

界面内容都是中文,看着舒服,没有乱码。

连接稳定

网络层做了优化,打开后自动连上,不用手动配置参数,不用魔法梯。

功能正常

聊天、看频道、收消息、多账号切换,和官方版一样顺手。消息推送及时,后台也比较稳。

适合什么人

适合不想折腾注册环节的人,适合急需使用但卡在登录步骤的,适合需要稳定中文环境的日常使用者。

总结

作为一款基于官方代码的本地化方案,它在易用性上做了不错的补充。对于想登录使用TG纸飞机的人来说,确实省心很多。

有同样需求的可以试试,操作简单一键登录。

前段时间想用TG纸飞机收一些技术资讯,结果卡在注册登录环节。

+86手机号登录,提示smsfee,需要购买一周的会员,缴费购买了以后,短信验证码迟迟不来,反复试了好几次都没登上。网上搜了一圈,说是运营商屏蔽了,网上的各种方法也都试了,还是没有登录,挺无奈的。

后来找到一款基于官方12.5.1版本编译的客户端,用了几天,体验不错。

直接登录

下载后按照步骤操作,2分钟登录上,没有smsfee问题,省了不少事。

中文完整

界面内容都是中文,看着舒服,没有乱码。

连接稳定

网络层做了优化,打开后自动连上,不用手动配置参数,不用魔法梯。

功能正常

聊天、看频道、收消息、多账号切换,和官方版一样顺手。消息推送及时,后台也比较稳。

适合什么人

适合不想折腾注册环节的人,适合急需使用但卡在登录步骤的,适合需要稳定中文环境的日常使用者。

总结

作为一款基于官方代码的本地化方案,它在易用性上做了不错的补充。对于想登录使用TG纸飞机的人来说,确实省心很多。

有同样需求的可以试试,操作简单一键登录。

开发者朋友们大家好:

这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度的观点」、「有看点的活动」,但内容仅代表编辑的个人观点,欢迎大家留言、跟帖、讨论。

本期编辑:@koki、@鲍勃

01 有话题的技术

1、小米 MiMo-V2.5 系列开启公测:旗舰版对标 Claude Opus 4.6

小米昨天正式宣布 Xiaomi MiMo-V2.5 系列大模型开启公测,涵盖 MiMo-V2.5、MiMo-V2.5-Pro、MiMo-V2.5-TTS Series 及 MiMo-V2.5-ASR 四款产品,并宣布两款主力模型即将全球开源。

MiMo-V2.5-Pro(旗舰,长程 AI 智能体):

  • 对标 Claude Opus 4.6、GPT-5.4,可稳定完成单次近千轮工具调用的长程任务;
  • 4.3 小时完成北大《编译原理》课程 SysY 编译器项目,隐藏测试集取得 233/233 满分;
  • 11.5 小时独立构建含多轨道时间线、音频混合等功能的视频编辑器 Web 应用(8192 行代码);
  • 相比 Kimi K2.6,在同等 ClawEval 基准下节省 42% Token。

MiMo-V2.5(通用,原生全模态 AI 智能体):

  • 原生支持图像、音频、视频多模态输入,Agent 能力全面超越上一代 MiMo-V2-Pro;
  • API 成本较上一代降低约 50%,在 VideoMME、CharXiv、MMMU-Pro 等评测中逼近顶级闭源模型;
  • 相比 Muse Spark,在同等 ClawEval 基准下节省 50% Token

(@APPSO)

2、李飞飞团队最新研究揭示多模态 AI 致命缺陷:没给图片,它照样「看」得头头是道

斯坦福大学李飞飞团队近日发表论文,揭示了当前主流多模态 AI 存在一种系统性缺陷——即便没有收到任何图片,GPT-5、Gemini 3 Pro、Claude Opus 4.5 等前沿模型依然会「自信地」描述图像细节并给出诊断结论。

研究者将这一现象命名为「海市蜃楼式推理」(Mirage Reasoning)。

团队构建了一个名为 Phantom-0 的测试集,将 200 道需要看图才能作答的问题的图片全部拿掉,同时不告知模型。结果显示,所有被测模型在超过 60% 的情况下会「描述」一张根本不存在的图片

若加入常见的评测提示语,这一比率甚至飙升至 90%-100%。在六大主流多模态基准测试上,模型在「无图模式」下平均仍能保留原始得分的 70%-80%,意味着图片本身对最终得分的真实贡献可能只有 20%-30%

更具冲击力的是,团队用 Qwen-2.5 训练了一个仅有 30 亿参数、从未看过任何图片的纯文本小模型,在胸部 X 光问答基准上不仅击败了所有多模态大模型,还将人类放射科医生的平均水平甩开了 10 个百分点以上。

这一缺陷在医疗场景中尤为危险:图片上传失败时,模型不会报错,而是直接输出措辞专业的诊断报告,且内容系统性地偏向心肌梗死、黑色素瘤等需要紧急处置的重症。

针对这一漏洞,团队提出了 B-Clean 清洗框架,将三份权威基准中 74%~77% 的题目判定为「不看图也能答对」并予以剔除,清洗后各模型得分大幅下滑,三分之二的基准出现排名逆转。

论文全文:arxiv.org/abs/2603.21687

(@APPSO)


02 有亮点的产品

1、安防巨头下场做拍学机,萤石 Pika 要做儿童的外挂大脑

视觉安防厂商萤石(EZVIZ)推出首款儿童 AI 相机 EZVIZ Pika。该设备采用自研蓝海大模型并接入豆包、DeepSeek API,将安防级视觉识别技术转化为移动端实时科普工具,实现了从被动监控到主动交互的场景迁移。

  • AI 双引擎架构:内置萤石自研「蓝海大模型」,并集成豆包、DeepSeek 第三方 LLM 接口,支持通过后置摄像头实时识别物体(花卉、昆虫等)并进行自然语言科普讲解
  • 影像硬件规格:搭载前后双 4K 摄像头,支持语音操控拍摄及最高 2x 焦距调节;机身重量 80g,采用圆润化工业设计以适配儿童操作。
  • 边缘计算演进:后续将上线本地版万物识别算法,无需完全依赖云端即可实现特定目标的运动跟踪与记录。
  • 通信与定位模组:集成 GPS + 北斗双模定位系统,支持电信/联通双 4G 网络,并采取「终身免费流量」策略以确保设备始终在线。

放眼整个赛道,伴随着玩家逐渐涌入,拍学机市场正处于大爆发前夜。过去,这个领域缺乏具备硬核底层技术的大厂坐镇;如今,萤石的入局,不仅提升了整个品类的供应链与算法水位,更释放出一个其实已经被反复证明的确切信号:

AI 硬件的下一波红利,将产生在那些能够把大模型能力与特定生活方式进行深度缝合的垂直工具上。


(@深圳湾)

2、Gyges Labs 发布 Vocci 智能戒指:3g 钛合金机身集成多智能体架构,主点位 AI 记忆增强

Gyges Labs 推出 Vocci 智能戒指。该产品取消了健康监测功能,定位为 AI Agent 的物理入口,通过指尖按键实现一键录音、实时「干货」标记及跨平台任务执行(如将语音指令转化为 PPT 并发送邮件),旨在消除手机端 AI 交互的摩擦力。

  • 高密度硬件工程堆叠:在 2.8mm 壁厚、约 3g(12 号戒圈)的钛合金空间内,集成了高保真 MEMS 麦克风、定制低功耗电池及高密度柔性电路板(FPC),壁厚较 Oura 减薄 0.1mm。
  • Anytime-ready 交互逻辑:采用物理按键配合震动马达反馈,支持「盲操作」指令。用户通过短按(标记重点)、长按(触发 AI 指令)、双击(开启录音)控制云端智能体,规避了全时监听带来的隐私风险。
  • 多智能体(Multi-agent)架构:后端集成至少三家主流 LLM,支持将长篇音频自动提纯为「原子化干货」,并可直接调用外部接口执行复杂任务(如自动生成 PPT 并发送至指定邮箱)。
  • 音频性能指标:支持 5 米范围精准收音及连续 8 小时高清录音,录音性能指标对标主流 PC 与智能手机。
  • 主动社交语义设计:侧面设置录音指示灯,在录音状态下常亮。通过视觉信号明确隐私边界,以符合社交礼仪的方式完成信息捕捉。

(@深圳湾)

3、SpeakON 发布 MagSafe AI 实体按钮:集成独立麦克风,支持格式化文本直接注入活跃 App

新加坡初创公司 SpeakON 推出一款 MagSafe 物理 AI 按钮及配套 iOS 应用 该产品通过 硬件端一键唤起语音采集,利用 AI 实时滤除杂音与口语冗余,并将 优化后的结构化文本直接注入当前活动的第三方应用文本框,旨在消除移动端 AI 交互的跨应用摩擦。

  • 免切换文本注入技术:AI 处理后的文本无需通过剪贴板中转,可直接进入 Slack、Gmail、WhatsApp 等当前活跃应用的输入框,实现从语音到目标应用文本的零跳转交付。
  • Attune 功能:上下文语调引擎:内置四种预设模式(Casual、Cordial、Formal、Off),支持根据目标应用场景自动调整输出,具备自动过滤填充词、修正中途转折及语法润色能力。
  • 硬件级独立采集架构:设备重量低于 26.5g,采用专用麦克风(非 iPhone 系统麦克风)进行音频捕捉,支持 USB-C 快充,兼容 iPhone 12 及以上 MagSafe 机型。
  • 语义结构化:具备意图识别功能,可将非结构化的口述内容自动转化为标准的 To-do List、行动项或 Markdown 列表格式。
  • 企业级合规与隐私方案:已通过 SOC-2 Type 2 认证,符合 HIPAA 和 GDPR 标准,核心机制确保音频数据不被存储。

(@prnewswire,@producthunt)

4、Prego 推出 Connection Keeper:无屏幕 IoT 录音设备,支持云同步与美国国会图书馆存档


意面酱品牌 Prego 联合非营利组织 StoryCorps 推出「Connection Keeper」限量版音频采集硬件。该设备旨在通过低摩擦的交互方式捕捉家庭用餐对话,并实现云端备份与国家级数字档案馆的长效保存。


这款限量版「Connection Keeper」是一款简单、无屏幕的对话录音设备,它是圆盘状的,类似于 Prego 意面酱的盖子。把它放置在餐桌中央,用于录制家庭的对话。


它可以录下用餐时自然流露的笑声、故事和珍贵时刻,并将这些录音保存下来,供未来多年重温。全程无需手机、屏幕或其他干扰。

用餐开始时,只需轻敲小盒子,使用可选的对话提示卡,设备便会开始工作。


原始录音会自动保存到内存中,然后同步到 StoryCorps 门户网站的云端,家庭成员可以在那里保存、整理、重新分享和稍后回顾他们的晚餐记录。

它使用 16GB 的 microSD 卡进行录制,最多可存储 8 小时的对话。

StoryCorps 声称,其门户网站(以及所有上传的家庭录音)都受到全面加密和用户隐私控制(尽管具体细节尚未公布)。该门户网站将于 5 月 4 日上线。据该公司称,文件默认设置为私密,但用户可以选择将任何文件上传到 StoryCorps 公共档案馆。更令人兴奋的是,这些录音将被保存在美国国会图书馆,供后代查阅。

(@多知)

03 有态度的观点

1、爱奇艺推 AI 艺人库遭演员集体辟谣,CEO 连发三文:科技永远不是为了取代人

昨天,爱奇艺 CEO 龚宇在微博连发三条帖文,就旗下 AI 艺人库引发的争议公开澄清:

艺人入库仅代表接洽意愿,具体项目与角色仍需单独授权,「跟现在的商业模式没有任何变化」;此前「非遗」一说也并非定论,而是对未来影视形态的开放性探讨。

他同时强调:「科技以人为本,科技永远是为人服务的,科技永远不是为了取代人。」

此前,爱奇艺宣布旗下 AI 创作平台「纳逗 Pro」正式上线 AI 艺人库,已有超过 100 位演艺人士入驻

随后,张若昀、于和伟等多位艺人相继发文辟谣,否认已签署 AI 相关授权,张若昀工作室更表示「法务正在紧急处理」,引起广泛争议。

爱奇艺 CEO 龚宇还在发布会现场提出,未来完全由人类创作的真人实拍影视作品,可能会被命名为「非物质文化遗产」;并表示,演员授权 AI 后可将年接项目数从 2 部提升至 4 部,同时降低工作强度。

这一表述被广泛解读为平台有意以 AI 取代真人演员,引发从业人员和观众集体反弹。

( @APPSO)


04 社区黑板报

招聘、项目分享、求助……任何你想和社区分享的信息,请联系我们投稿。(加微信 creators2022,备注「社区黑板报」)

1、Fun-ASR1.5 全民公测,重金悬赏「各种不服」

你的方言,AI 听得懂吗?那些只有业内人才懂的黑话和专业术语,语音识别能扛住吗?Fun-ASR1.5 模型开放全民挑战!无需部署,扫码打开小程序,点击即测。找到的错误越多,离千元大奖越近。来试试看,你能难倒 AI 几次?

阅读更多 Voice Agent 学习笔记:了解最懂 AI 语音的头脑都在思考什么

写在最后:

我们欢迎更多的小伙伴参与 「RTE 开发者日报」 内容的共创,感兴趣的朋友请通过开发者社区或公众号留言联系,记得报暗号「共创」。

对于任何反馈(包括但不限于内容上、形式上)我们不胜感激、并有小惊喜回馈,例如你希望从日报中看到哪些内容;自己推荐的信源、项目、话题、活动等;或者列举几个你喜欢看、平时常看的内容渠道;内容排版或呈现形式上有哪些可以改进的地方等。

作者提示: 个人观点,仅供参考

4 月 22 日,继 Qwen3.6-35B-A3B 开源后,Qwen 团队带来了该系列模型中社区呼声更高的版本——Qwen3.6-27B 。这个拥有 270 亿参数的稠密多模态模型,支持多模态思考与非思考模式,在智能体编程方面达到了「旗舰级」表现。
具体而言,Qwen3.6-27B 在 WE-bench Verified(77.2 vs. 76.2)、 SWE-bench Pro(53.5 vs. 50.9)、 Terminal-Bench 2.0(59.3 vs. 52.5)以及 SkillsBench(48.2 vs. 30.0)等主要编程基准测试中,均全面超越前代开源旗舰 Qwen3.5-397B-A17B 。同时,其也大幅领先于同规模的稠密模型。在推理任务上,Qwen3.6-27B 在 GPQA Diamond 上取得了 87.8 的成绩,可与数倍于其规模的模型相媲美。
图片
此外,Qwen3.6-27B 原生支持多模态,支持视觉语言思考与非思考模式——与 Qwen3.6-35B-A3B 相同。它能够处理图像、视频与文本的多模态理解,支持视觉推理、文档理解和视觉问答等任务。

目前,HyperAI 官网(hyper.ai)的教程板块已经上线了「一键部署 Qwen3.6-27B」,完成环境配置,助力快速验证热门开源模型!

在线运行:https://go.hyper.ai/pYbes
图片
demo 效果示例,基于 prompt 生成可交互的重力模拟沙盒更多

在线教程:https://hyper.ai/notebooks

欢迎登录官网查看更多内容:https://hyper.ai

Demo 运行

  1. 进入 hyper.ai 首页后,选择「教程」页面,或点击「查看更多教程」,选择「一键部署 Qwen3.6-27B」,点击「运行此教程」。
    图片

图片

  1. 页面跳转后,点击右上角「Clone」,将该教程克隆至自己的容器中。
    注:页面右上角支持切换语言,目前提供中文及英文两种语言,本教程文章以英文为例进行步骤展示。
    图片
  2. 选择「NVIDIA RTX 5090 -4」以及「vLLM」镜像,点击「Continue job execution(继续执行)」。
    HyperAI 为新用户准备了注册福利,仅需 $1,即可获得 20 小时 RTX 5090 算力(原价 $7),资源永久有效。
    图片

图片

  1. 等待分配资源,当状态变为「Running(运行中)」后,点击「Open Workspace」进入 Jupyter Workspace 。
    图片

    效果展示

    1.页面跳转后,点击左侧 README 文件,进入后点击上方 Run(运行)。
    图片

图片
2.待运行完成,根据 README 提示启动 Open WebUI 后,即可点击右侧 API 地址跳转至 demo 页面。
图片

图片

AriaX Screenshot 1


AriaX:Apple 用户的终极下载管理器

AriaX 是一款专为 Apple 生态( macOS 与 iOS )打造的现代化、高性能下载管理器。我们使用 SwiftUI 从零开始构建,旨在将 aria2 强大的全协议下载能力与原生 App 的极致优雅完美结合。

AriaX Screenshot 2

下载地址

为什么选择 AriaX ?

  • 原生与现代: 完全基于 SwiftUI 开发,拥有丝滑的交互体验和完美的系统集成感,适配最新的 macOS 与 iOS 特性。
  • 零配置上手(完整版): 内置预配置的 aria2 核心引擎。无需打开终端,无需研究配置文件,安装即用。
  • 双重管理模式: 既可以作为本地下载器,也可以通过 JSON-RPC 远程管理您的 NAS 或服务器上的下载任务。
  • 深度系统集成:
    • Safari 浏览器扩展: 官方提供的 Safari 插件,支持一键推送任务。
    • 智能 URL Scheme: 支持 ariax:// 协议,方便与其他自动化工具联动。
  • 全球化支持: 完整支持中(简/繁)、英、日、德、法等 10 多种主流语言。
  • 双版本策略:
    • AriaX (完整版): 内置下载引擎,通过官网 DMG 分发,性能最强。
    • AriaX Lite: 纯远程管理客户端,可通过 Mac App Store 安全下载。

安装指南

  1. AriaX (完整版): 从官方渠道下载 .dmg 安装包。该版本内置了完整的下载引擎,开箱即用。
  2. AriaX Lite: 在 Mac App Store 搜索 "AriaX" 下载。适合已有远程 aria2 服务的老用户。

浏览器集成

通过以下步骤开启 Safari 插件,提升下载效率:

  1. 打开 AriaX -> 设置 -> 浏览器集成
  2. 点击 启用 Safari 扩展 按钮。
  3. 在弹出的 Safari 设置中勾选 AriaX Extension
  4. 之后在 Safari 中右键点击任何链接,即可看到“通过 AriaX 下载”选项。

隐私与安全

AriaX 始终将用户隐私放在首位。我们不会收集您的下载历史、敏感配置或服务器凭据。所有数据均存储在您的本地设备上,或在您开启同步后存储于您的私有 iCloud 容器中。


作者  | 文朋

项目管理始终是企业提升生产效率的重要抓手。

但长期以来,大多数项目管理工具解决的,更多只是记录、同步与协同层面的表层问题:把需求记下来,把任务挂上去,把流程放进系统里。

一旦进入真实业务深水区,排期是否合理、依赖是否清晰、风险能否提前暴露,仍然高度依赖人的经验去判断、协调和补位。这也带来一个尴尬的现实:尽管工具迭代多年,企业项目交付效率始终没有实现质变。

随着 AI 浪潮到来,越来越多企业开始尝试把 AI 引入项目管理,用于写总结、做分析、辅助排期等单点提效。但如果 AI 与项目工具之间仍只是“外部协作”关系,停留在流程之外,就很难触及项目管理最核心的执行链路。

正如飞书项目负责人洪涛在飞书项目生态日上所说,未来的工作场景中,很大一部分操作可能不再由人一步步点击完成,而是由 Agent 去操作软件。

image

这意味着,项目管理工具若想真正实现提效,就不能只负责“记录”,更要负责“连接”。只有当 AI 能够连接业务流程中的数据与上下文,读懂任务之间的关系、流程状态以及背后的业务语境,AI 才有可能深度参与风险识别与动作承接。

4 月 23 日,在飞书项目“生态日”上,飞书项目发布了一系列新能力,包括 MCP(模型上下文协议)、CLI(命令行工具)等底层开放接口,以及 AI 节点、AI 字段、原生 AI 助手等场景化能力。

这些变化释放出一个明确信号:飞书项目正在进一步结构化流程、数据与协作关系,让 AI 真正进入项目流程,使其成为一个能够承接 AI 落地的项目底座。

一、项目管理平台的需求,正被 AI 改写

如今,客户对项目管理平台中 AI 的期待已经非常明确:他们要的不是一个“会聊天”的助手,而是一个能够接入流程、参与执行、真正推动项目向前的能力。

“去年,很多客户在采购研发项目管理软件时,对 AI 的关注还没有这么强;但到了今年,AI 已经成为决策前必须评估的一项能力。”飞书项目商业化负责人杨波在接受采访时表示,如今在售前阶段,客户已经会主动了解 AI 能力、产品路线图,甚至直接做能力测试。

这背后反映出,企业对 AI 的需求正在从“会生成”转向“会执行”。在项目管理场景里,客户当然希望 AI 能写总结、做分析,但更核心的期待,是它能真正进入流程,更早识别风险,承接文档撰写、数据录入、状态维护等高频重复工作,帮助团队持续推进项目。

而在这方面,飞书项目已经做了较为充分的准备。

过去几年,飞书项目持续帮助客户把需求、缺陷、流程、节点、状态等信息结构化沉淀下来。对 AI 来说,真正关键的从来不只是模型能力,而是是否具备高质量、可读写、可治理的数据基础。

与此同时,由于飞书项目并不是一套写死的标准数据模型,而是允许客户根据自身业务去定义和配置工作项、流程、字段和表单等。这意味着,AI 在飞书项目面对的是更贴近真实业务现场的结构化、语义化信息,也更容易理解上下文并准确执行动作。

这也是飞书项目能够承接 AI 落地的重要原因。根据 2026 年赛迪报告,在 2025 年销量前十的新能源乘用车品牌中,已有 7 家选用飞书项目;在软件研发管理 SaaS 和 IPD 管理 SaaS 领域,飞书项目也分别以 46.8% 和 68.6% 的市场份额位居第一。

值得注意的是,飞书项目此次在生态日上推出的一系列新能力,正是在进一步释放这种“执行力”。

二、飞书项目将平台重构为更“AI 友好”的基础设施

这次发布中,一个值得关注的信号是,飞书项目正在围绕“AI 友好”推动平台演进。从产品视角看,其底层架构已呈现出明显的“面向 AI 重构”的方向。

例如,为了让 AI 更深入地进入真实业务流程,飞书正式开源了“飞书项目 CLI”。

图片

它是一款命令行工具,能够帮助个人或 AI 工具更高效地访问和操作飞书项目中的各类数据。基于这项能力,AI 可以在授权范围内完成与飞书项目相关的读取、查询、创建与更新操作。

例如,AI 可以查询待办、需求、任务、评论、工作流和排期等信息;查看工作项详情、当前状态及流程节点;创建需求、任务和子任务;更新标题、优先级、状态、评论等字段;还可以在关键修改前先生成预览,确认后再执行。

一旦 AI 进入真实项目流程,它面对的就不再是单轮问答,而是大量高频、低成本、可自动化的操作需求。CLI 的价值,恰恰在于提供了更强的批量处理能力、更稳定的调用链路,以及更低的 token 消耗。

尤其是“渐进式披露更省 token”这一设计,很能说明飞书项目对 AI 真实使用场景的理解:它考虑的并不是 demo 能不能跑,而是当调用规模放大后,成本和稳定性是否依然可控。

如果说 CLI 是 AI 的“手”,那么 MCP(Model Context Protocol)的优化,就是在为 AI 提供一套更适合调用项目系统的“语义标准”。

它的意义并不只是把 OpenAPI 再包装一层,而是围绕 AI 的调用方式,重新设计了一套更适合智能体使用的接口体系。

image

一方面,它支持更安全的授权方式,让 AI 能在可控权限下完成数据读写;另一方面,它的数据传导方式也更自然,不再过度依赖 ID、Key 这类 AI 容易出错的参数;同时,查询语言更接近 SQL,从而降低了 AI 理解和生成查询的门槛。

更重要的是,它并不是简单地“把数据交给 AI”,而是更贴近任务场景地告诉 AI:哪些是待办,哪些是已办,哪些与个人相关,哪些与团队相关。目前,飞书项目 MCP 已提供 40 多个工具,并仍在持续扩展。

至于开源通信协议 AAMP,它解决的则是平台应用、本地 Agent 与不同运行环境之间的通信协同问题。

这意味着,在 Agent 连接这件事上,飞书已经开始从技术底层打通链路,让 Agent 不只是停留在平台内部,而是能够与企业现有的 AI 工具、本地环境和工程系统实现真实联动。

三、在开放能力之上,飞书项目把 AI 接入了流程骨架

如果说 CLI 和 MCP 解决的是“连接”问题,那么 AI 节点、AI 字段与 AI 助手强化的,就是 AI 如何真正深入项目流程并承担具体执行任务。

其中,AI 节点的意义尤其突出。它让 AI 从流程外走进流程内,成为流程中的一个行动单元,帮助团队厘清复杂项目中的流程关系与环节职责,并承担预审、分析、测试用例生成等明确工作。

更关键的是,飞书首次取消了“要想使用开放能力,必须由管理员先安装”的限制。节点负责人可以直接把自己负责的节点转化为 AI 节点,让 AI 协助任务完成;如果效果不理想,还可以重新运行并持续优化。

AI 字段功能也迎来了更适配项目管理的更新。

过去,很多 AI 的使用方式本质上仍停留在个人 prompt 技巧层面,经验散落在个体手中,既难复制,也难规模化。

这一次,AI 字段则把这件事往前推进了一步:它把一次性指令升级为一种带模板、带应用市场、带快速创建能力的开放形态。企业既可以把有效经验沉淀下来,也可以先在视图中临时使用,而不必一开始就贸然写回正式字段。

至于原生 AI 助手,作为开箱即用的通用 Agent,则被打造为飞书项目 AI 能力的统一入口。

它可以直接围绕项目管理的核心场景提供官方能力:无论是快速生成报告、洞察项目风险、创建需求、完成节点流转,还是了解产品功能用法,都可以通过这一入口完成。

image

更重要的是,在整个分析过程中,它始终只会在授权范围内、基于用户可读取的数据进行分析与生成。用户也可以把任务交给它处理,即便关闭页面,它仍然能够继续执行。

从这些能力可以看到,飞书项目正在构建一种更贴近真实业务、也更具 “AI 原生”特征的应用模式。

在真实项目环境里,传统平台通常是“少数人配置、其他人使用”;但 AI 应用的扩散路径并不是这样。AI 落地往往会经历一个更现实的过程:试点、调整、小闭环、扩展、标准化。

真正困难、也真正有价值的,正是把一次次局部提效沉淀为组织级能力。

飞书项目的独特之处在于,它正在把这一过程完整接住:个人和小团队可以低门槛试点;试点过程中可以按项目、按角色灵活调整;经验成熟后,可以进一步沉淀为模板、流程和 SOP;再往后,还能推广到团队、部门乃至整个公司。

四、开放能力开始转化为真实成果

一个平台是否真正跑通,不能只看它发布了多少能力,更要看这些能力是否已经长出真实成果。

一个很强的信号是,去年飞书项目开放平台上已经出现了 100 多款 AI 相关应用,而且其中很多并非官方开发,而是客户自行构建的。

这说明飞书项目的开放底座已经足够成熟,足以让一线团队先跑起来。这也解释了为什么 MCP 和 CLI 的推广会比较快:并不是平台单向推动,而是那些最有 AI 意识、最有动手能力的人,已经开始主动把它们用起来。

飞书在生态日大会上披露的数据显示,已有接近 500 家租户在高频使用相关能力,月活用户数超过 6000,对飞书项目的操作次数累计超过百万次。

从客户案例来看,当 AI 真正进入流程后,项目交付方式和效率也在发生明显变化。

例如,词元无限让 Agent 沿着需求理解、方案生成、任务拆解、代码执行、测试生成一路推进,最终把原本需要 7 到 10 人天的工作压缩到 1 到 2 人天。

雅迪的实践,则把周报月报自动生成、历史经验检索、会议质检和预评审等高频工作串联起来。这也说明,AI 在项目管理中最先接管的,往往不是最终决策,而是那些高频、重复、规则相对清晰的环节。

轻舟智航的案例则展示了另一种更符合企业现实的落地方式:测试问题的记录、分诊、分派与闭环,被做成了一条更顺滑的流程链路。AI 先帮助缩小问题范围、给出候选建议,再由人工验收关键链路。

Zadig 的价值则更进一步。它不只是简单打通项目管理系统,而是把“管理域”和“工程域”真正连成了一条链:开发变更即记录,测试执行即同步,发布审批即发布,并叠加 AI 发布风险检测。

最终结果是,发布效率提升 3 倍,交付周期缩短 35%,故障恢复时间下降 50%。

这些案例说明,飞书项目的价值已经不再只是看板管理,而是真正开始承接并提效企业的项目执行。

当然,飞书开放能力更重要的地方,不只是让客户“使用”,更是让更多角色开始“建造”。

例如,爪印基于飞书项目轻应用能力自研 FlowStack "流程资产仓库",已沉淀 200 多个标准节点、50 余项流程模板,再结合 AI coding 等能力,可以快速开发高频小工具。这说明,项目经理和业务角色已经不再只是提需求的人,他们也可以直接把自己的业务理解转化为可复用资产。

高远则基于飞书项目开发了 ASPICE 插件,并已进入 15 家大型智能汽车企业,在国内智能驾驶 Top20 企业中覆盖过半。这也说明飞书项目的开放能力并不只是支撑 demo,而是已经能承接行业级、专业级的复杂场景。

再结合客户成功、实施体系、专家认证以及 AI 咨询伙伴等配套能力的推进,显然,飞书项目想做的已经不只是“卖一个项目管理功能”,而是在形成一整套可交付、可复制、可持续增长的 AI 落地机制。

这也是飞书项目在 AI 时代真正的分量所在:它正通过项目管理,为企业搭建一个真正让 AI 开始工作的项目底座。

背景与价值

在云原生和微服务架构日益普及的今天,可观测性数据(日志、指标、链路追踪)呈爆炸式增长。观测云 OpenAPI 数据查询接口为开发者和运维团队提供了一种编程化、自动化获取这些高价值数据的能力,例如:

  • 自动化数据查询:将观测云数据集成到内部系统或第三方平台;
  • 构建自定义仪表盘:根据业务需求灵活展示监控数据;
  • 实现数据联动:打通观测云与企业内部的数据分析流程;
  • 批量数据处理:高效获取大规模监控数据进行离线分析。

OpenAPI 概览

观测云将 OpenAPI 作为开放能力的关键构成,支持工作空间配置和数据查询,通过请求头中附加的基于角色的 API Key 进行认证鉴权,默认请求频率限制为同一 API Key 每分钟最多请求 20 次、同一工作空间每分钟最多请求 200次。接入点和请求头等请参考官方文档 https://docs.guance.com/open-api/

前置条件

  • 创建 API Key:确保登录用户有所需的操作权限。登录观测云控制台,点击【管理】-【API Keys 管理】-【新建 Key】,填写名称与角色,本实践仅使用数据查询接口,因此使用内置角色 “Read-only”。

图片

  • 调试 DQL:数据查询接口通过传入 DQL 查询语句进行查询,建议在调用接口之前确认查询语句,完整语法请参考 https://docs.guance.com/dql/ ,可以在观测云界面的查询工具中进行调试,点击快捷方式 -【查询工具】,选择 DQL 查询模式,支持语法校验和自动补全:

图片

数据查询接口

基本信息

  • 方法:POST
  • 接口:/api/v1/df/query_data_v1

请求参数解析

queries,为 query 对象组成的列表,每个 query 对象中包含独立的 DQL 语句,依次实现单次请求返回多组查询结果,以下是单个 query 对象的关键参数:

序号参数类型是否必填描述
1$.queries[*].qtypeString默认为 dql,可选:dql:DQL 类型查询promql:PromQL 类型查询
2$.queries[*].query.qString查询语句
3$.queries[*].query.timeRangeArray执行查询的时间范围,默认值最近 30 分钟,毫秒时间戳列表:[start_time, end_time]
4$.queries[*].query.intervalInt聚合时间分片间隔,单位秒
5$.queries[*].query.offsetInt分页偏移量,DQL 语句中的子句优先级高于此参数
6$.queries[*].query.limitInt分页大小,DQL 语句中的子句优先级高于此参数
7$.queries[*].query.orderbyArray排序列表,默认按照输出的 time 字段降序排列,DQL 语句中的子句优先级高于此参数
8$.queries[*].query.cursor_timeInt分段查询阈值,第一次分段查询时设置为 timeRange 中的 end_time,此后的分段查询,将 cursor_time 设置为响应中的 next_cursor_time 字段的值,next_cursor_time 为 -1 时表示无新数据,注意,分段查询仅在存储引擎为 GuanceDB 3.0 时生效
9$.queries[*].query.cursor_tokenString在分段查询中,将 cursor_token 设置为响应中的 next_cursor_token 字段的值,以确保相同时间戳的数据不被分段跳过,注意,分段查询仅在存储引擎为 GuanceDB 3.0 时生效
10$.queries[*].query.disable_samplingBool是否禁用采样,默认 false,仅对部分聚合类查询生效
11$.queries[*].query.ignore_cacheBool是否禁用缓存,默认 false
12$.queries[*].query.disableMultipleFieldBool是否禁用单列模式,默认为 true,打开单列模式可有效减少返回数据的体积,为 false 时 $.queries[*].query.funcList 参数将失效

场景解析

数据查询场景和查询方法分类如下,需根据不同的查询类型合理配置查询参数:

图片

示例一:查询指定 Span 的平均耗时(获取聚合后的数据)

请求体,参数说明见注释:

{
    "queries": [
        {
            "qtype": "dql",
            "query": {
                "q": "R::resource:(AVG(`duration`) AS `avg(duration)`) { `service` = 'demo' AND `resource` = 'GET /health' }",
                "interval": 60, // 查询时间范围内每 60 秒聚合一个值
                "offset": 0,
                "limit": 500,
                "orderby": [
                    {
                        "time": "desc"
                    }
                ],
                "timeRange": [
                    1774144800000, // 2026-03-22 10:00:00
                    1774145100000  // 2026-03-22 10:05:00
                ],
                "disable_sampling": true // 禁止聚合采样
            }
        }
    ]
}

响应体,仅包含重要返回数据及其注释:

{
    "code": 200, // 状态码,与 HTTP 响应码保持一致,无错误时固定为 200
    "content": { // 接口响应数据
        "data": [
            {
                // ...
                "next_cursor_time": -1,  // 下次请求的 cursor_time,因本次查询为聚合查询,返回为 -1
                "next_cursor_token": "", // 下次请求的 cursor_token,因本次查询为聚合查询,返回为空
                // ...
                "sample": 1,             // 采样率,为 1 表示采样率 100%,即未采样
                // ...
                "series": [              // 数据查询结果
                    {
                        "column_names": [
                            "time",
                            "avg(duration)"
                        ],
                        "columns": [
                            "time",
                            "avg(duration)"
                        ],
                        "units": [
                            null,
                            "time,ns"
                        ],
                        "values": [                 // 每间隔一个 interval 秒聚合一个数据点
                            [
                                1774145040000,      // 2026-03-22 10:04:00
                                1462101213.4054055
                            ],
                            [
                                1774144980000,      // 2026-03-22 10:03:00
                                520552891.31707317
                            ],
                            [
                                1774144920000,      // 2026-03-22 10:02:00
                                403010784
                            ],
                            [
                                1774144860000,      // 2026-03-22 10:01:00
                                496579998.11764705
                            ],
                            [
                                1774144800000,      // 2026-03-22 10:00:00
                                608395087.6444445
                            ]
                        ]
                    }
                ],
                "window": 60000
            }
        ],
        // ...
    },
    "errorCode": "",                              // 错误码,空表示无错误
    "message": "",                                // 错误信息
    "success": true,                              // 接口调用状态,为 true 时表示调用成功
    "traceId": "69bfdf42000000001ac3936f1436ac54" // 请求的跟踪 ID
}

示例二:获取指定类型的所有 Span(获取原始数据)

采用分段查询方式,请求体,参数说明见注释:

{
    "queries": [
        {
            "qtype": "dql",
            "query": {
                "q": "R::resource:(`*`) { `service` = 'demo' AND `resource` = 'GET /health' }",
                "limit": 1,                   // 分段大小为 1
                "cursor_time": 1774145100000, // 初始请求取 timeRange 中的结束时间,后续请求取响应中的 next_cursor_time 的值
                "cursor_token": "",           // 初始请求取空值,后续请求取响应中的 next_cursor_token 的值
                "orderby": [
                    {
                        "time": "desc"
                    }
                ],
                "timeRange": [
                    1774144800000, // 2026-03-22 10:00:00
                    1774145100000  // 2026-03-22 10:05:00
                ]
            }
        }
    ]
}

响应体,仅包含重要返回数据及其注释:

{
    "code": 200, // 状态码,与 HTTP 响应码保持一致,无错误时固定为 200
    "content": { // 接口响应数据
        "data": [
            {
                // ...
                "next_cursor_time": 1774145099284000, // 将值作为下次请求的 cursor_time
                "next_cursor_token": "1774145099284000000-R_1774145099284_d6vksl01so5nqftmhv20", // 将值作为下次请求的 cursor_token
                // ...
                "series": [ // 数据查询结果
                    {       // 将以单列的方式输出一条原始数据的所有字段,示例响应仅保留了 __block_id 字段,禁用单列模式时,列名、列值等分别作为一个单独的数组
                        "column_names": [
                            "time",
                            "__block_id"
                        ],
                        "columns": [
                            "time",
                            "__block_id"
                        ],
                        "units": [
                            null,
                            null
                        ],
                        "values": [
                            [
                                1774145099284,
                                2135893696351448600
                            ]
                        ]
                    },
                    // ...
                ],
                // ...
            }
        ],
        // ...
    },
    "errorCode": "",                              // 错误码,空表示无错误
    "message": "",                                // 错误信息
    "success": true,                              // 接口调用状态,为 true 时表示调用成功
    "traceId": "69bfec720000000042c950e749998eff" // 请求的跟踪 ID
}

最佳实践

  • 权限最小化:为不同的应用场景(如报表系统、告警机器人)创建独立的 API Key,并赋予最小必要权限;
  • 避免触发 API 限流:一次请求中包含多条查询语句,尽量在应用层增加历史数据缓存;
  • 错误处理:必须对 API 返回的错误进行处理,例如实现指数回退重试机制;
  • 监控请求 OpenAPI 的服务:确保相关业务健康运行;
  • 在接口参数中设置聚合间隔和排序字段,而非在 DQL 中设置:DQL 支持以时间子句设置聚合间隔,但是 API 返回的点数受到优先级规则限制,只有 interval 参数和时间子句中的间隔保持一致时才能获得符合预期的结果,因此,建议使用 API 参数设置聚合间隔和排序方式,在其他场景中,如果 API 参数与 DQL 子句功能重复,仍然建议优先使用 API 参数而非 DQL 子句,利于编码且语义统一;
  • 获取原始数据时关闭单列模式,以减小响应体的体积:请求时设置 disableMultipleField=false 即可关闭单列模式,注意,此时用于聚合查询的 funcList 参数将失效。

总结

本文档围绕观测云 OpenAPI 数据查询接口展开,介绍了其在云原生可观测场景下的应用价值,说明了接口认证、限流规则及创建 API Key、调试 DQL 语句等前置准备,详细解析了 /api/v1/df/query_data_v1 接口的请求参数,并通过聚合数据查询、原始数据分段查询两个典型示例展示使用方法,最后给出权限、限流、错误处理等方面的最佳实践,可帮助开发者快速接入并规范使用该接口实现监控数据的程序化获取与应用。

GitHub 暂停 Copilot 新用户注册并收紧限制:“长时间运行、并行执行的工作流……已经对我们的基础设施和定价结构构成挑战”。

 

GitHub 宣布将暂停 Copilot 个人订阅计划的新注册,同时对现有用户施加更严格的使用限制。这一调整意味着,这款全球使用最广泛的 AI 编程工具之一,正在承受越来越大的系统压力。

 

这家隶属于 Microsoft 的公司,已经从原本基于请求次数的限制体系,转向对“会话”和“每周 token 使用量”分别进行独立限制。GitHub 同时建议用户,在处理简单任务时选择“倍率更低”的模型,并尽量分散请求时间,以减轻系统压力。

 

在本周发布的一篇博客中,产品副总裁 Joe Binder 表示:“随着开发者逐渐意识到 agent 和 sub-agent 在解决复杂编程问题中的价值,我们看到所有用户的使用强度都在上升。”

 

他同时承认:“这些长时间运行、并行执行的工作流确实能带来巨大价值,但也对我们的基础设施和定价结构提出了挑战。”

 

从“无限用”到“全面限”

 

GitHub 此次面临的问题,并不只是“用户变多”,更关键的是“使用方式发生了变化”。GitHub 在 2021 年推出 Copilot 时,它还只是编辑器里的代码补全工具。如今,它早已不只是“补全”,而是逐步变成 agent 化的编程助手。随着 Copilot CLI 等能力上线,开发者开始把调试、重构甚至完整功能开发直接交给它执行。

 

而且新一代模型支持更大的上下文窗口,这意味着开发者可以提交更长的提示,触发更复杂的处理流程,对算力的消耗也随之显著增加。例如,Anthropic 的 Opus 4.6 和 4.7 支持高达 100 万 token 的上下文窗口,而 Opus 4.5 仅为 20 万。

 

针对 GitHub 的新政策,安全解决方案架构师 Nathan McNulty 在 X 上评论道:“大家都在要更大的上下文窗口,但现实是,一次高级请求就可能耗掉一整周的 Opus 4.6 配额,这种模式根本不可持续。”

 

而他转发的,则是 Ed Zitron 的一条爆料。后者称:微软正在收紧 GitHub Copilot 的使用限额,将 Opus 模型从每月 10 美元的订阅中移除,并计划在 2026 年晚些时候转向基于 token/API 的计费模式。这也说明,微软已经在寻找降低 AI 服务成本的办法。

 

甚至还有开发者直接感叹:“Copilot 的时代结束了。我试了下用 Sonnet 按 API 计费,2 分钟就花了 49 美元。”

 

Copilot 开始限人、限量、限模型

 

随着 Copilot 的 agentic 能力快速扩展,智能体承担的工作越来越多,也有越来越多用户开始触及原本用于保障服务稳定性的使用上限。 Binder 表示,如果不做调整,整体服务质量就会下降。

 

接下来,GitHub 的这一决策将影响多个付费层级,包括 Copilot Pro、Pro+ 以及学生计划,这些套餐的新订阅将暂时关闭。现有用户仍可在不同套餐之间升级,而 Copilot Free 仍然对新用户开放,这也意味着 GitHub 仍在保留未来付费用户的入口。

 

与此同时,平台还引入了更严格的使用上限,对不同模型和功能在各个套餐中的分配方式进行了调整。Pro+ 套餐现在提供的使用额度超过标准 Pro 的五倍,但 GitHub 并未披露具体数值,也没有明确说明与此前相比收紧了多少。用户如果需要更高额度,可以升级到 Pro+。

 

过去,付费套餐往往意味着接近“无限制”的使用;现在,GitHub 正在更依赖使用控制机制,通过追踪请求量,在达到一定阈值后进行限制。换句话说,Copilot 正在向“按使用量约束”的服务形态靠拢,尽管计费方式本身尚未改变。

 

VS Code 和 Copilot CLI 也从本周开始,都会直接显示剩余可用额度。GitHub 的说法是,这样可以帮助用户避免“意外触达资源限制”。

 

VS Code 中的使用限制

 

Copilot CLI 的使用限制

 

在模型访问方面也发生了变化。Opus 模型已不再提供给 Pro 用户,新发布的 Opus 4.7 仅限 Pro+ 使用。同时,GitHub 也确认,旧版本的 Opus 4.5 和 4.6 也将从 Pro+ 中移除。

 

规则一改再改,门槛一提再提

 

事实上,GitHub 在 2026 年 4 月 10 日就已经引入了一系列“服务可靠性限制”和“模型级使用限制”,用于应对“高并发和高强度使用”。那次调整,GitHub 暂停了所有 Copilot Pro 的免费试用,理由是存在滥用行为。

 

这期间,不少用户还遇到了意外的限流。

 

用户 John Clary 表示:“我只是个业余开发者,但每个月在额外额度上也要花几百英镑。最近我经常遇到短时间的限流,中断请求,而且没有明确倒计时,只提示‘X 秒后重试’,通常不到 30 秒。但如果你真的这么做,很容易在 AI 正在处理关键任务时再次被打断,所以我一般会等 15 分钟再继续。”

 

Clary 表示,这种情况还能勉强应对。但随后他很快就触发了一个长达 44 小时的“每周限流”。

起初他以为是 bug,等了一阵,但一个小时后发现限流并不会自动解除,于是他提交了工单,并无奈切换到了 Auto 模式,让 Copilot 自动选择模型。这种模式很可能会优先选择推理成本更低的模型,因为 Clary 表示,性能明显变差了。

 

“从那之后,我的项目几乎没什么进展。Auto 模式选的模型质量很差,经常偷偷走捷径又不说明,我还得花时间让它改回来。”

 

类似的抱怨,也开始在 GitHub Copilot 社区中大量出现,一些关于限流的讨论帖,在这半个月里就新增了数十条投诉。不少用户形容这些限制“离谱地长”,有人甚至被告知需要等待几天才能再次使用服务。

 

当限流变成常态,这就不再是简单的容量问题了。越来越多开发者开始意识到,问题可能出在更底层:Copilot 的定价模式,本身已经跟不上现在的使用方式。

 

开发者 Roman Kir 指出,问题的转折点出现在 2026 年 3 月。彼时,GitHub 发现其限流系统存在一个 bug:一直在低估新一代模型(如 Claude Opus 4.6 和 GPT-5.4)的 token 使用量。这些模型单次请求消耗的基础设施资源远高于上一代,但这个 bug 让它们看起来成本很低。

 

当 GitHub 修复该问题后,限额立即恢复到原本配置的水平。对于正常使用的用户来说,这些限制瞬间变得过于严苛——几十个小时的封锁,coding agent 在任务中途被终止,也没有恢复路径,除了 Pro+ 之外,没有其他升级方案。

 

Roman Kir 进一步指出:“这一点之所以重要,是因为这个执行层的问题只在 agent 使用场景下才会出现。单次 API 请求在限流时还能‘降级运行’,但多步骤的 agent 任务不行。一旦在执行过程中触发限流,任务就会被打断,进入一个无法恢复的状态。这意味着,同样是算力受限,不同使用方式会导致完全不同的失败结果,而当前的订阅体系并没有区分这种差异。”

 

这背后更深层的原因是:GitHub 的定价架构,是基于一个旧模型成本结构设计的。过去,“一次高级请求”大致意味着相近的基础设施成本;但在前沿模型时代,这一假设已经不成立。GitHub 一方面以订阅形式出售前沿模型能力,另一方面要承担这些模型对应的真实基础设施成本,这两者已经不再对等了。

 

其他网友在限速讨论中也做出了类似的推测:“GitHub 的补贴水平似乎已经达到了难以为继的地步。因此,这与其说是一个漏洞,不如说是一项商业决策……”

 

GitHub 的举措并非孤例

 

GitHub 的这一调整,也延续了整个行业近期的一系列“紧急刹车”动作。例如,Anthropic 在 3 月收紧了 Claude 的会话限制,以“应对不断增长的需求”;而 OpenAI 也对 Codex 引入了新的使用上限。

 

开源项目 OpenClaw 等第三方智能体编排工具的兴起,也在进一步放大对 AI 工具的需求。这类工具可以让智能体几乎 7×24 小时自动调用模型,持续消耗 token。因此,Anthropic 还在本月早些时候限制了其订阅在第三方工具(如 OpenClaw)中的使用,这类调用不再包含在订阅内,而是单独计费。

 

Anthropic 的 Claude Code 负责人 Boris Cherny 在 X 上表示,这一变化源于订阅设计与实际使用方式之间的错配。“我们一直在努力应对 Claude 使用需求的增长,但当前的订阅模式并不是为这些第三方工具的使用方式设计的,”Cherny 写道,“算力是一种需要精细管理的资源,我们优先保障直接使用我们产品和 API 的用户。”

 

另一边,Google 也在 2026 年 1 月为其 Antigravity 服务引入了每周使用上限,并据称开始封禁通过 OpenClaw 使用该平台的账户,原因是“恶意使用大幅增加”。

 

整体来看,一个共识正在形成:当 AI 编程从“辅助工具”变成“长时间运行的智能体系统”,原有的订阅模式与算力供给,正在被彻底拉到极限。

 

参考链接:

https://thenewstack.io/github-copilot-signups-paused/

https://stratoatlas.com/cases/case-a-ai-2026-046.html

https://github.com/orgs/community/discussions/192435#discussioncomment-16558791

https://github.com/orgs/community/discussions/180092

https://github.blog/news-insights/company-news/changes-to-github-copilot-individual-plans/

2026 年,智能体将在企业级应用中取得哪些实质性突破?点击下载《2026 年 AI 与数据发展预测》白皮书,获悉专家一手前瞻,抢先拥抱新的工作方式!

为何 AI 辅助开发需要遵循 SDLC 的严谨性

SDLC(软件开发生命周期)是一套将需求转化为可运行软件的结构化流程,涵盖需求收集、方案设计、编码实施、测试及部署等环节。正是这套严谨的规范,防止大型项目因自身复杂性而走向崩溃。

Snowflake Cortex Code 能够在单次会话中构建完整的应用程序——具备全代码库访问权限、多文件编辑能力、任务编排功能以及原生 Snowflake 集成。然而,构建一个完整的应用,并不等同于构建一个正确的应用。

以一个包含 5 个页面的分析仪表盘为例,其背后涉及数十项隐含决策:图表库的选择、计算方法的定义、数据流模式的设计、缓存策略的制定,以及逻辑层与展示层的分离。若缺乏结构化的约束,智能体将代为做出这些决策——速度快、信心足,却可能偏离正确方向。一个能在几分钟内生成数百行可运行代码的智能体,会同等程度地放大良好的流程与糟糕的流程。

以下这些保障大型项目成功的实践,绝不能因为代码由 AI 生成而被视为可有可无:

  • 代码先行,需求前置:开发人员与智能体在实施前需共享一份明确的契约。需求范围应无歧义,技术选型应无意外;

  • 实现先行,架构前置:分层逻辑、模块边界与 API 签名必须预先锁定,以确保跨文件的逻辑一致性;

  • 全流程可追溯:每项功能均对应一条编号需求。代码审查的标准应从“这段代码看起来对吗?”转变为“这段代码是否符合我们事先达成的共识?”;

  • 变更时保留既定行为:在修复缺陷或进行重构时,需明确记录不可变更的行为,将隐含假设转化为可核验的清单。

规范驱动技能

规范驱动技能将这种规范化流程引入 Cortex Code。它通过一个包含强制审批关卡的结构化五阶段生命周期来指导开发过程:

在每个关卡,Cortex Code 都会停止并等待您的明确批准才会继续。您在每一个决策点都保持完全掌控。

核心能力:

  • EARS 标注法需求 —根据自然语言描述生成正式、可测试的需求(当……时,系统应……,以便……);

  • 三种工作流类型 —新功能开发、缺陷修复(含回归预防)、以及重构(含行为保留);

  • 持久化规约产物 — 生成 requirements.md、design.md 和 tasks.md,作为持续演进的项目文档。

适用场景:

  • 从零开始构建完整的应用程序(涉及多文件、多模块);

  • 添加跨越多个文件或层级的重大功能;

  • 修复需要防止周边行为出现回归的缺陷;

  • 在保留模块外部接口的前提下进行重构。

使用方法:

只需触发一次技能—可通过明确指令(例如:“使用规范驱动技能,构建一个股票分析应用”)或通过自然语言(例如:“我想构建一个股票分析应用”)。Cortex Code 会根据“构建功能”、“修复缺陷”、“重构”或“创建规约”等短语自动检测意图。明确表达更为可靠;自然语言在大多数情况下也能正常工作。技能激活后,只需自然回应即可 — Cortex Code 会引导您走完每个阶段,提出澄清性问题,展示文档产物供您审阅,并在获得批准前等待您的指示。

端到端示例:构建股票分析应用

理解工作流的最佳方式是观察其实际运行。以下是一个完整演练——构建一个包含 5 个页面的 Streamlit 股票分析仪表板,集成 Snowflake 数据、Plotly 图表、技术指标和量化信号。

展示的每个提示和响应均来自真实的 Cortex Code 会话。演练内容详尽;如需快速概览,请跳至入门指南部分。

第 1 阶段:需求澄清

您的提示:

使用规范驱动的技能,我想构建一个股票分析Streamlit应用5个主要板块:1.道指30成分股概览仪表板 - 所有30只股票的汇总表,含日内涨跌幅、热力图可视化2.单只股票深度分析 - K线图、成交量、关键统计指标3.行业板块分析 - 按GICS行业分类分组,进行表现对比4.技术分析 - 简单移动平均线、指数移动平均线、布林带、相对强弱指标、指数平滑异同移动平均线,附带买卖信号5.量化信号 - 动量、波动率、均值回归、相关性矩阵数据源:股票数据位于Snowflake数据库 FINANCE__ECONOMICS 和 DB_STOCK 中所有Snowflake资产置于 DB_STOCK 中,本地文件置于 stock_app/ 文件夹内图表使用Plotly绘制,数据访问使用 st.connection('snowflake')仅限本地运行 - 不部署至Streamlit in Snowflake
复制代码

执行动作:Cortex Code 进入澄清阶段。它会探索您的 Snowflake 数据库——执行 SHOW SCHEMAS 命令,查询 INFORMATION_SCHEMA,检查 FINANCE__ECONOMICS 和 DB_STOCK 两个数据库中的表结构——以了解哪些数据可用。它发现 DB_STOCK.CURATED.DAILY_STOCK_PRICES 表包含自 2018 年至今超过 22,000 个股票代码的开盘价、最高价、最低价、收盘价、成交量数据,而 DB_STOCK.CURATED.COMPANIES 表包含公司元数据。同时,它还发现两个数据库中均不存在行业分类数据。

然后它会提出有针对性的澄清性问题:

Cortex Code 响应:

在我创建规范之前,需要先澄清以下几点:1.道指 30 范围:仅限当前 30 只成分股,还是也包括历史成分股?2.数据连接:使用 st.connection('snowflake') 配合 secrets.toml,还是直接用原生 snowflake.connector?3.部署方式:仅本地开发,还是也包括 Streamlit in Snowflake(SiS)?
复制代码

您的回复:

仅当前 30 只。使用 st.connection。仅本地。
复制代码

执行动作:Cortex Code 汇总了所有已获取的信息,并在阶段 1 审批关口处暂停:

Cortex Code 响应:

以下是我的理解:用户故事:金融分析师需要一个 Streamlit 仪表板,用于分析道指 30 成分股。5 个页面:概览、个股详情、板块分析、技术分析、量化信号。数据源:DB_STOCK.CURATED.DAILY_STOCK_PRICES(OHLCV 数据)、DB_STOCK.CURATED.COMPANIES。已识别数据缺口:不存在板块/行业分类表——将创建包含 GICS 分类信息的 DOW30_REFERENCE 表。数据连接:使用 st.connection('snowflake') 配合 @st.cache_data(ttl=300)。图表:全部采用 Plotly(K 线图、矩形树图、条形图、饼图、散点图、热力图)。计算逻辑:技术指标和量化信号在已缓存的 DataFrame 上通过纯 pandas 进行计算。超出范围:实时数据流、用户认证、投资组合跟踪、新闻情绪分析、期权数据、SiS 部署。上述理解是否正确?我是否可以继续创建规范?
复制代码

你的回复:

是的。
复制代码

请注意,Cortex Code 主动识别了一个数据缺口(缺少板块分类表)并提出了解决方案——这一切都发生在编写任何一行代码之前。

第 2 阶段:规范制定

执行动作:Cortex Code 生成规范文档 specs/features/dow30-stock-analytics/requirements.md。该文档为一份正式的规范文档,采用 EARS(Easy Approach to Requirements Syntax,简易需求语法)标记法,共包含 27 项需求,覆盖全部 5 个页面的各项功能。本次仅创建该文件,不包含设计文档或任务分解文件。

 

以下为各章节关键需求摘要:

Cortex Code 响应:

REQ-001:道指 30 成分股参考表系统须维护一张名为 DB_STOCK.CURATED.DOW30_REFERENCE 的数据表,用于存储道琼斯工业平均指数当前的 30 只成分股信息。表中须包含以下字段:TICKER(股票代码)、COMPANY_NAME(公司全称)、SECTOR(GICS 行业板块)、INDUSTRY(GICS 子行业)。目的:使所有页面能够将价格数据与板块及行业元数据进行关联查询。REQ-006:市场热力图当概览仪表板加载时,系统须展示一个使用 Plotly 实现的矩形树图热力图。图中每个色块代表一只道指 30 成分股,色块面积按成交量加权,颜色按日涨跌幅进行映射。目的:使用户能够直观识别全部 30 只成分股的相对成交量及表现情况。REQ-009:交互式 K 线图当用户选定某只股票及时间范围后,系统须展示一个基于 Plotly 实现的交互式 K 线图,显示所选周期内的 OHLC(开盘价、最高价、最低价、收盘价)价格数据,并配备时间范围切换按钮(1 个月、3 个月、6 个月、1 年、5 年、全部)。目的:使用户能够在不同时间跨度下分析价格形态。REQ-018:RSI 副图指标当用户在技术分析页面查看某只选定股票时,系统须展示周期为 14 日的相对强弱指标(RSI)副图,并在图中包含位于 70(超买)和 30(超卖)的水平参考线。目的:使用户能够识别超买与超卖状态。REQ-026:综合信号评级系统须综合动量得分(权重 40%)、波动率得分(权重 20%)及均值回归信号(权重 40%),为每只股票计算一个综合信号,并输出单一评级(看涨 / 看跌 / 中性)。目的:为用户提供每只股票单一且具备可执行性的参考指标。…(共 27 项需求,编号 REQ-001 至 REQ-027)您是否批准此规范?
复制代码

每项需求均附有具体的验收标准(以复选框形式呈现)。例如,针对 K 线图的验收标准包括:OHLC 数值准确无误、时间范围筛选功能正常、支持缩放/平移/十字光标、通过 rangebreaks 处理周末休市缺口、默认时间范围设为 1 年。

您的回复:

复制代码

执行动作:Cortex Code 将文档头部信息中的状态更新为 status: approved,并进入第 3 阶段。该规范即成为后续开发的契约——此后的每一项决策均须追溯至对应的编号需求。

 

第 3 阶段:设计阶段

执行动作:基于横跨 5 页的 27 项需求、多数据源以及两个计算模块,Cortex Code 在 specs/features/dow30-stock-analytics/design.md 路径下生成了技术设计文档。此阶段仅创建设计文件。

该设计定义了一个三层架构,并严格遵循关注点分离原则:

  • 数据层(data/snowflake_queries.py)——包含 6 个带缓存的查询函数,负责处理所有与 Snowflake 的交互。每个函数均使用 @st.cache_data(ttl=300)装饰器。禁止其他任何模块直接访问 Snowflake;

  • 计算层(utils/indicators.py 与 utils/quant.py)——包含 13 个纯 Pandas 函数,用于技术指标计算(SMA、EMA、布林带、RSI、MACD、信号检测)和量化分析(动量、波动率、均值回归、相关性、综合评分)。该层不依赖 Snowflake,也不依赖 Streamlit;

  • 展示层(pages/*.py)——包含 5 个 Streamlit 页面,每个页面映射到特定的需求(例如,4_Technical.py 对应需求编号 REQ-016 至 REQ-020)。页面调用数据层获取 DataFrame,将其传递给计算函数,并使用 Plotly 渲染结果。

Cortex Code 响应:

设计文档明确了以下内容:-完整文件结构 — 涵盖 data/、utils/、pages/ 和 config 目录下的 16 个文件。-Snowflake DDL — 包含针对所有 30 支道指成分股的完整 CREATE TABLEINSERT SQL 语句,并附带 GICS 行业/子行业分类数据。-模块 API — 定义了所有函数签名,包含参数、返回类型及列名约定。-页面布局 — 规定了每个页面将使用的 Streamlit 控件及 Plotly 图表类型。-关键设计决策 — 所有计算均使用纯 Pandas 完成(不使用 Snowflake 用户定义函数),为 200 日均线预留 250 天的预热缓冲数据,以及处理周末空缺的区间中断逻辑。您是否批准此设计?
复制代码

您的回复:

是的,我批准。
复制代码

执行动作:Cortex Code 将更新 design.md 的前置元数据状态为 status: approved,并进入第四阶段。架构现已锁定——后续执行将严格遵循此蓝图执行。

第 4 阶段:实施阶段

执行动作:Cortex Code 智能体创建 tasks.md 文件,其中包含 11 项实施任务,并开始系统性地逐一执行:

Cortex Code 响应:

实施计划:1.创建 DOW30_REFERENCE 表(Snowflake DDL)2.创建 data/snowflake_queries.py(包含 6 个带缓存功能的查询函数)3.创建 utils/indicators.py(包含 SMA、EMA、BB、RSI、MACD 及信号检测逻辑)4.创建 utils/quant.py(包含动量、波动率、均值回归、相关性、综合评分等函数)5.创建入口文件 app.py6.创建页面 pages/1_Overview.py7.创建页面 pages/2_Stock_Detail.py8.创建页面 pages/3_Sectors.py9.创建页面 pages/4_Technical.py10.创建页面 pages/5_Quant_Signals.py11.创建 requirements.txt 与 secrets.toml.example 配置文件
复制代码

Cortex Code 智能体逐一攻克各项任务,所生成的文件严格遵循已批准的设计规范——正如需求 REQ-018 所规定,RSI 计算采用了 Wilder 平滑算法;综合信号生成严格应用了需求 REQ-026 中定义的 40/20/40 权重配置;每一个函数签名均与设计文档中的 API 定义完全吻合。

所有 11 项任务完成后,Cortex Code 智能体在阶段 4 的审批关卡处暂停。

Cortex Code 响应:

实施完成。已创建的 Snowflake 对象:-DB_STOCK.CURATED.DOW30_REFERENCE —— 包含 30 支道指成分股及其 GICS 行业/子行业分类数据。-已创建文件(共 16 个):-app.py — 带侧边栏品牌标识的应用入口-data/snowflake_queries.py — 6 个带缓存功能的查询函数-utils/indicators.py — 7 个纯 Pandas 实现的技术指标函数-utils/quant.py — 6 个纯 Pandas 实现的量化信号函数-pages/1_Overview.py 至 pages/5_Quant_Signals.py — 全部 5 个前端页面文件-requirements.txt、.streamlit/secrets.toml.example — 依赖与环境变量示例文件是否准备进入验证阶段?
复制代码

您的回复:

是的
复制代码

第 5 阶段:验证阶段

执行动作:Cortex Code 对照已批准的规范执行系统性验证:

Cortex Code 响应:

验证结果:检查项	| 结果- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -| - - - - - - -需求可追溯性 - 全部 27 项需求均已映射至实现代码	27/27 | 通过文件结构 - 全部 16 个文件均符合 design.md 设计	| 通过数据层 - 6 个查询函数,签名正确,缓存机制有效	| 通过计算层 - 13 个函数,纯 pandas 实现,公式正确	| 通过展示层 - 全部 5 个页面均实现了分配的需求	| 通过语法校验 - 全部 11 个 .py 文件编译通过	11/11 | 通过架构合规性检查:	- 三层分离原则得以维持 - 无页面直接导入 Snowflake 连接	- 所有查询均使用 @st.cache_data(ttl=300) - 所有图表均使用 Plotly 绘制	- 技术指标页面为计算 200 日均线额外拉取了 250 个预热交易日数据	27 项需求验证通过。规范驱动工作流已完成。
复制代码

每项需求均精确追溯至其具体实现位置—例如,REQ-018(RSI 副图指标)映射至 4_Technical.py:174–185 及 indicators.py:35–54。这种可追溯性意味着后续审查代码的任何人员都能够清晰理解每一个函数存在的缘由。

结果

一次对话。五个阶段。一个功能完整的五页分析仪表板—外加三项永久性的规范文档产出物:

specs/features/dow30-stock-analytics/├── requirements.md # 27条EARS需求—契约文档├── design.md # 架构、API、数据流—蓝图文档└── tasks.md # 11项实施任务—检查清单
复制代码

六个月后,当有人问“为什么综合信号使用 40/20/40 的权重分配?”—答案就在 REQ-026 里。当新开发人员加入时,他们在动手写代码之前会先阅读 design.md。这些规范文档不是一次性的废纸,而是该项目的永久记忆。

使用 Cortex Code 并基于规范驱动(Spec-driven)技能构建的功能完整的股票分析 Streamlit 应用。

Bug 修复工作流:三部分规范文档

使用规范驱动技能修复 Bug:热力图所有方格均显示为白色
复制代码

Cortex Code 分析该 Bug,然后生成三部分规范文档:

 

第三部分是关键所在。通过记录绝不能更改的内容,智能体拥有了一份修复后可对照核验的检查清单。杜绝静默回归。

重构工作流:行为保留

使用规范驱动技能,将数据层重构为使用原生 Snowflake 连接器
复制代码

在进行任何代码更改之前,Cortex Code 会记录需保留的行为:

 

未经您明确批准需保留的内容,智能体无法执行重构。

入门指南

安装方式:

# 用户级(适用于所有项目)git clone https://github.com/sfc-gh-tjia/coco_skill_spec_driven_dev.gitcp -r coco_skill_spec_driven_dev ~/.snowflake/cortex/skills/spec-driven# 或项目级(单项目)cp -r coco_skill_spec_driven_dev .cortex/skills/spec-driven
复制代码

使用方法:以 use spec-driven skill, [您的意图]开头,或自然描述需求— Cortex Code 会检测工作流类型并引导您完成各阶段。

 

激活后,可自然回应:yes、approved、add requirement for error handling、option 2。

结语

智能体编码工具已彻底改变了我们构建软件的速度,但并未改变软件成功的根本要素:清晰的需求定义、经过深思熟虑的架构设计,以及系统化的验证流程。这些实践之所以不可或缺,是因为模糊性会层层累积——每一个不明确的需求都可能演变为错误的假设,而每一次错误的假设最终都将导致返工,甚至更糟,演变为数月后才暴露的生产环境缺陷。

Snowflake Cortex Code 中的规范驱动技能将这些实践固化于流程之中。它并非繁文缛节,而是关键的质量检查点:智能体在每个阶段都必须获得您的明确批准方可继续推进。您需要在设计开始前审阅需求,在编码实施前批准架构,并在宣告完成前依据规范进行最终验证。

针对漏洞修复场景设计的三段式 bugfix 格式,直击困扰所有代码库的常见故障模式——修复一个漏洞时无意中引入新的回归问题。通过明确记录“不应改变的行为”,该技能将“别破坏现有功能”这一祈使要求,从美好愿望转变为可逐项核验的清单。

所有产物均会持久保留。需求文档、设计文档和任务列表将成为项目永久的历史档案,具备可搜索、可审计的特性,在初始开发完成许久之后,对于新成员入职与长期维护仍具有极高价值。

这一切的初衷并非为了放慢速度,而是为了“一次把事情做对”。五分钟的需求澄清,可避免数小时的返工;一份经过批准的规范,能杜绝实施完成后“我要的不是这个效果”的尴尬;明确的行为保留定义,则能在问题发布前拦截回归漏洞。

AI 智能体生成代码的速度远超任何人类开发者,但关键在于代码是否契合原始意图。规范驱动开发正是为了确保这一点。

相关资源

适用于 SnowflakeCortex Code的规范驱动技能已开源:

github.com/sfc-gh-tjia/coco_skill_spec_driven_dev

关于作者:Tianxia Jia,人工智能与云专家,专注于在 Snowflake 和 AWS 上架构前沿的 AI/ML 解决方案。

 

原文地址:https://medium.com/snowflake/spec-driven-development-in-snowflake-cortex-code-applying-sdlc-rigor-to-ai-assisted-workflows-b6882926c1bc

点击链接立即报名注册:Ascent - Snowflake Platform Training - China更多 Snowflake 精彩活动请关注专区

当你的公司开始记录你敲了哪个键、鼠标点了哪里,甚至不定期截下你的屏幕,你会怎么想?

 

这正在 Meta 发生。据 Business Insider 获取的内部公告,Meta 已向美国员工下发通知,将在办公电脑上启用一款名为 Model Capability Initiative(MCI)的追踪软件,用于记录鼠标移动、点击以及键盘输入,然后把这些数据直接喂给公司的人工智能模型当训练素材。

 

随后,一位 AI 研究科学家把这则备忘录转发到了自己团队的内部频道——Meta SuperIntelligence Labs,让同事们一起围观。

 

备忘录解释称,这么做的目的是提升 AI 模型在那些至今还搞不定的人类操作上的能力,比如从下拉菜单中选择选项、使用键盘快捷键,以及在应用程序之间切换以完成任务等。文件显示,这套监控会覆盖员工使用“与工作相关的应用和网址”,包括 Gmail、GChat、VSCode,以及一款内部应用 Metamate。

 

Meta 甚至将理由说得非常直接:现有的 AI 模型并不真正理解人类是如何使用电脑的,因此需要真实世界的样本:去观察人类在工作中如何点击、切换、操作,并把这些行为转化为 agent 可以学习的执行路径。

 

Meta CTO Andrew Bosworth 也表示:从员工身上收集这些数据,有助于实现公司的愿景,在那个世界里,“大部分工作由 agent 完成,人类负责指挥、审查,并帮助它们不断改进”。

 

备忘录里甚至还写着:“员工只需要完成日常工作,就可以帮助模型变得更好。”

 

下面是这份完整公告的译文:

 

正如 Mark Zuckerberg 和 Alexandr 最近分享的那样,我们推出的 Muse Spark 是 MSU 一系列新一代大语言模型中的第一个。我们的模型正处于非常强劲的发展轨道,而加速这一进程的一个方式,就是利用我们日常工作的数据。尽管 AI 模型在研究和编程等技术能力上表现出色,但在一些基础层面上,仍然无法像人类一样使用电脑,比如从下拉菜单中选择选项、使用快捷键等。要让代理真正理解人类如何完成日常任务,我们需要用真实的使用数据来训练模型。

 

这正是所有 Meta 员工可以通过日常工作帮助模型变得更好的地方。

 

从今天开始,我们将向美国的全职员工和外包人员推出一款工具,用于记录电脑输入行为,包括鼠标移动、点击位置、键盘输入,以及用于上下文理解的屏幕内容。

 

该工具的使用范围仅限于一份经过批准的工作应用和网址列表,例如 Gmail、GChat、Metamate 和 VSCode。美国员工将看到一个弹窗,引导启用名为 Model Capability Initiative(MCI)的工具。

 

该工具仅适用于电脑,不涉及手机。如需了解更多,包括其工作原理和隐私保护措施,请查看内部 wiki 和常见问题说明。

 

Meta 开了个坏榜样:2026 职场终极趋势?

 

Meta 并不是唯一朝这个方向推进的公司。Anthropic 在 2024 年已经展示过类似能力的技术,OpenAI 去年发布了 “Operator”,可以代替人类使用浏览器;而 Microsoft 甚至已经为 agent 准备好了专用的云端 PC。

 

这些尝试背后,是一个越来越清晰的想象:在不远的将来,我们会把一部分原本需要自己动脑、动手在电脑上完成的事情,交给运行在虚拟电脑里的 agent。比如让它帮你订机票、回邮件,或者盯着电商网站,一旦发现心仪商品打折,就直接下单。

 

Meta 给这套愿景起了一个更宏大的名字——“个人超级智能”。公司 CEO Mark Zuckerberg 的说法是,它可以“帮助你实现目标,创造你想看到的世界,体验各种冒险,成为更好的朋友,并成长为你想成为的人”。

 

为此,Meta 正在向其位于美国的正式员工和临时工推广 MCI。员工的工作笔记本电脑上会弹出一个窗口,要求他们启用该工具。据路透社报道,Meta 希望通过将数万名员工的日常活动转化为训练数据,来提升内部 AI 代理的性能,最终使其能够代表员工执行端到端的工作任务。

 

不过,内部评论显示,这份公告在 Meta 内部引发了明显的不安与质疑。在内部沟通平台上,该公告下方点赞最高的一条评论是:“这让我非常不舒服。我们该如何退出?”

 

Meta 首席技术官 Andrew Bosworth 回应说:“在公司提供的笔记本电脑上,没有退出此设置的选项。”这句话随即引发了一连串哭泣、震惊和愤怒的表情符号反应。

 

对此,Meta 公司表示将采取安全措施保护敏感内容,且这些数据不会用于训练 AI 之外的任何其他用途。但也有消息称,该公司多年来其实一直在以某种方式监控员工在公司电脑上的活动。

 

也有评论指出,这种精确到鼠标点击和键盘输入的监视,简直就像一座“全景监狱”,彻底打破了传统的职场边界。

 

知名投资人 Jason 则将这件事定义为 2026 年的职场终极趋势。原因很简单:随着 AI 监控工具(键盘记录、屏幕录制、API 接口)的流行,企业能以极低的成本、极高的精度,量化每一个员工的工作行为——这不再是传统的人管人,而是一场数据驱动的效率革命。在他看来,这套监控体系会成为企业最锋利的管理工具:找出不干活的人、淘汰可被自动化替代的岗位、提拔真正创造价值的员工,最终实现精简高效、利润飙升。他甚至认为,所有虚假的“汇报型”工作都将消失——这对社会反而是件好事。

 

但除了监控焦虑,我们不应该忽略更深层的代价。

 

谷歌曾在一篇名为《谷歌团队成功的 5 个关键》的博客文章中总结过:在研究团队发现的 5 种动力中,心理安全是迄今为止最重要的一个。“团队成员之间的关系越安全,他们就越有可能承认错误,合作,并承担新的角色。它几乎影响了我们对员工的每一个重要方面。心理安全感较高的团队成员不太可能离开谷歌,他们更有可能从队友提出的不同想法中汲取力量,带来更多的收入,高管认为他们的效率一般是其他人的两倍。”

 

而针对 Meta 的监控计划,当每一次点击、每一段输入都被实时记录归档,员工会立刻进入防御状态——放弃试错,放弃创新,放弃跨界协作,只做可量化、可留痕、不会出错的机械工作。监控能提升短期效率,却会慢慢腐蚀一家公司的创造力与长期韧性。极致精益的背后,留下的往往不是效率,而是一个不敢犯错的组织。

 

一位网友的评论很有意思,他说:“一个企业最重要的,依旧是人,是组织,是构建这个组织的创始人的底色。微软的底色是缺少品位的商人,Meta 的底色是太聪明的商人。缺少品位和太聪明,长期来看,会急,会陷入困境......期待更多创业公司的底色更好。让整个世界的底色,也会因此不一样。”

 

AI 会淘汰低效的工作,这是必然,但靠监视与压榨换来的效率,注定走不远。未来能站稳脚跟的企业,最终拼的不是极致管控,而是在自动化浪潮里,守住人本身的创造力与价值。

 

参考链接:

https://www.businessinsider.com/meta-new-ai-tool-tracks-staff-activity-sparks-concern-2026-4

https://www.infoq.cn/article/1y1ptrapcsnjjlelb14m

人在现场,上下文却不在

做可观测性的人,都有过这种体验:

你在日志查看器里发现一堆 500 错误,想搞清楚原因。于是你选中日志、复制、打开另一个 AI 聊天窗口、粘贴、描述上下文、等待回答。等 AI 终于给出一个结论,你发现没有上下文,AI 根本没法准确分析。

人在现场,但解决问题的工作流早已断裂。

观测云做 Obsy AI Copilot 的初衷是:让 AI 不是另一个需要打开的窗口,而是当前页面里的副驾驶。 你在哪看数据,AI Copilot 就在哪理解数据、分析数据、甚至帮你采取行动。它就像你打高尔夫时的球童,开拉力赛时的领航员,就像是你磨合多年的好朋友。

远不止聊天机器人

传统 AI 助手是独立的。Obsy AI Copilot 是嵌入式的。

它能感知你当前正在查看的 Dashboard、监控视图、日志筛选条件、时间范围与图表定义。不需要你手动搬运上下文,Copilot 自动注入当前页面的全部观测语境,精准理解"你现在想解决什么问题"。

你只需要在当前页面,用自然语言直接发问,上下文会被自动注入与 Obsy AI Copilot聊天窗口。就像你在开拉力赛之前,领航员已经有了所有赛道的信息以及路书,以及你的驾驶习惯和性格特点。

图片

一些核心功能,已在你当前页面待命

1、自然语言建板(dashboard-intent)

当你想创建或修改一个 Dashboard/监控面板时,只要用自然语言描述分析目标,例如"分析近 7 天 API 错误率变化,并展示 TOP5 服务",Copilot 自动生成图表、标题、描述和初始布局,帮你快速得到第一版可用的分析面板。

图片

2、异常事件智能诊断(analyse-diagnose)

面对告警和故障,Copilot 可以采集日志、链路、容器、指标、主机等多维度数据,进行关联分析并生成根因分析报告。相当于在你的告警页面里直接派驻了一位 7×24 小时的值班分析师。

图片

3、DQL 智能生成(dql-generator)

不熟悉 DQL 语法?直接描述你想查什么,例如"查看过去一小时订单服务的错误日志"。Copilot 会自动生成对应的 DQL 查询语句,覆盖指标、日志、事件、链路全数据源,并完成语法校验。

图片

4、官网文档实时检索(mdsearch-doc-retrieval)

产品功能怎么配置?参数什么意思?排障步骤是什么?Copilot 会实时检索观测云官方帮助文档,给你准确的配置说明、操作指导和可点击的文档链接,避免你在知识库里翻找。

图片

5、页面数据智能分析(page-analysis)

无论你当前在看 Dashboard、RUM 前端性能页、链路追踪页还是任意数据页面,Copilot 都能基于当前视图做深度分析——总结页面核心数据、定位前端性能瓶颈、解析链路错误分布,让分析结论直接呈现在你眼前。

图片

即将上线:零切换的沉浸式场景

在未来迭代中,Copilot 将进一步实现"页面内零切换"的极致体验。以下三个场景正在路上,展示 Copilot 如何在你当前正在看的页面里,直接开始工作。

场景一:日志页 → 直接问"这些错误是什么导致的?"

用户在日志查看器已筛选好 source:nginx AND status:500,时间范围近 1 小时。打开 Copilot 侧边栏,输入:"这些错误是什么导致的?"

Copilot 自动携带当前页面的筛选条件和样本日志,直接给出分析结论:"主要是上游连接超时,集中在 /api/payment 路径。"

你没有复制粘贴任何日志,没有描述筛选条件,AI 已经知道你看见了什么。

图片

场景二:Dashboard → 直接说"给这个图加一条上周同期的对比线"

用户在查看「今日订单量」折线图,点击 Copilot:"给这个图加一条上周同期的对比线。"

Copilot 读取当前图表的指标定义,自动生成并添加 time_shift(7d) 查询,在同一图表渲染出两条线。

你没有手动写 DQL,没有新建图表,一句话完成同比分析。

图片

场景三:监控页 → 直接说"给这台机器配个告警"

用户在「主机监控」页,筛选出某台 CPU > 80% 的服务器。点击 Copilot:"给这台机器配个告警。"

Copilot 读取当前页面的主机 ID 和指标,生成告警规则草稿:"当 web-server-03 的 CPU 使用率 > 90% 持续 5 分钟时触发。"

你不需要手动填写主机标签和指标名,基于当前视图一键创建。

图片

三大价值,降低全团队可观测门槛

  • 以用户意图驱动:根据你所在页面自动注入上下文,结合筛选条件、图表定义、时间范围与视图状态,精准理解"你现在想解决什么问题"。
  • 嵌入式分析:将交互式分析直接嵌入观测云的工作流程。分析、解释与操作发生在当前页面,而不是把你带离正在处理的问题现场。
  • 适用于所有人的洞察:无需依赖资深运维、SRE 或可观测性专家。即使不熟悉 DQL、指标定义或查询语法,也能用自然语言获得清晰、可执行的分析结果。

更少切换,更低门槛,更快行动

总结成一句话:从人类"看见问题"到"理解问题"再到"执行操作",路径更短,决策更快。

Obsy AI 的起点

Obsy AI Copilot 是观测云 AI 原生战略的第一扇窗。它负责理解你所关注的一切,在你看数据的地方,陪你思考,帮你行动。而在它背后,Obsy AI 智能体团队(AI SRE、AI Devops 专家、AI 安全工程师、AI 测试工程师……)正在准备上场,即将重磅推出,负责执行你所决定的一切。

Copilot 是副驾驶,Agent 是执行团队。人机协同,才是 AI 时代可观测性的完整图景。

Obsy AI Copilot 现已上线。

打开观测云,在你当前正在看的页面里,直接开始工作。

微信图片_20260424135937_4683_3.jpg
4月22至23日,APEC女性数字素养与技能提升研讨会在北京隆重举办,来自亚太经济体的政府及国际组织代表、企业家与学者围绕"数字时代女性发展机遇与挑战"展开对话。在这场关于性别平等与数字未来的讨论中,中国科技企业中女性高管的实践路径,正成为观察"她力量"如何驱动产业变革的重要样本。
枫清科技联合创始人兼COO葛爽受邀参会,她对女性在AI领域职场中的影响力有切身体会。当AI技术从实验室走向产业纵深,企业的数智化能力不仅依赖于对技术工具的掌握,更取决于将技术落地于产业生态的能力。因此,AI企业的管理重心之一,是建立高效协同的底层机制。而女性管理者在复杂系统中将发挥关键的纽带作用,突破组织壁垒,支持技术到产品再到产业价值的闭环。
枫清科技已构建起"B端为主、G端支撑、C端引流、渠道协同、跨境联动"的一体化业务格局。公司当前以AI赋能科学研发(AI4S)为核心战略,并围绕化工能源、生物医药、先进制造、金融教育等重点领域深耕,与链主企业达成深度合作。葛爽认为,得益于枫清科技效率优先的理念,公司以较小的团队规模在多个业务中得到商业化验证。尤其是各个业务单元(BU)均能目标一致地互相配合,为彼此提供资源支持。因此,组织效率的提升并不完全依赖制度,而是来自信任机制与共识文化的自然生长。女性管理者的洞察力与全局观,恰恰能在这种去层级化、重连接感的职场中发挥关键作用,让团队将绝大部分精力投入业务本身。
今年4月,枫清科技正式启动A轮融资,获得机构的积极认购;公司还计划于今年9月启动新一轮融资,估值与融资规模将实现跨越式提升。葛爽表示,当前资本市场对AI企业的审视已经转向“产业实绩”。投资人更关注技术能否形成商业闭环,以及企业的组织是否具备支撑规模化落地的底层机制。在她看来,投资者关系的核心并非单向说服,而是用扎实的产业落地成果建立双向信任,“女性管理者在细节分析、风险预判与长期共识构建上的能力,在企业与资本的对话中可以架起理性评估与价值认同的桥梁。”
葛爽总结,AI企业的核心能力,不在于个体能力有多强,而是能否将系统思维与个人经验沉淀在组织之中。“枫清科技在提升技术影响力、产业链价值共创的过程中,已经积累了从个人驱动到组织驱动的实践经验,这帮助我们带领团队在快速迭代的市场中持续取得高增速的业绩。”

在全渠道零售时代,消费者的购物行为日益复杂,数据成为企业最宝贵的资产。然而,碎片化的数据孤岛、低质量的数据资产、割裂的客户视图,成为阻碍零售企业实现精准营销的三大障碍。ETL(提取、转换、加载)工具作为数据整合的关键技术,正在为零售企业打开全渠道数据整合与精准营销的新局面。

图片 9

一、ETL工具如何实现全渠道数据整合

数据提取:打破信息孤岛。ETL工具通过其强大的连接器库,能够从零售企业的各类数据源中高效提取数据,包括:电商平台的交易数据、用户行为数据、营销活动数据;线下门店的POS系统数据、库存数据、客流数据;CRM系统的客户基本信息、互动记录、服务工单;社交媒体平台的用户评论、分享数据等。这一过程不仅解决了数据的"可及性"问题,更重要的是建立了统一的数据采集标准,确保各个渠道的数据能够以统一的格式和频率进入数据处理管道。现代ETL工具还支持API接口、数据库直连、文件传输等多种数据获取方式,能够灵活应对不同数据源的接入需求。

图片 8

数据转换:实现数据标准化与价值提升。这是ETL工具的核心价值所在。数据转换过程包括:数据清洗与质量控制,通过预设规则和机器学习算法自动识别并处理重复记录、异常值、缺失值,统一不同系统的数据格式和编码规范,建立数据质量监控规则,确保数据的准确性和一致性;数据标准化处理,建立统一的商品主数据体系,标准化客户标识系统,规范交易数据的计量单位和时间格式,确保不同渠道的数据能够进行有效的比对和分析;客户身份识别与合并,通过算法模型识别同一客户在不同渠道的身份标识,解决数据重复和分散问题,建立完整的客户身份图谱,追踪客户全生命周期的行为轨迹,为精准营销提供准确的客户画像基础。

图片 6

数据加载:构建企业级数据资产。经过转换处理的数据被加载到数据仓库或数据湖中,形成企业级的统一数据资产。这一过程需要精心设计数据模型,按照业务主题组织数据,便于后续的分析和应用。现代ETL工具支持多种数据加载策略,包括全量加载、增量加载和实时流加载,能够根据业务需求灵活选择。同时,ETL工具还提供数据服务接口,为各类业务系统提供标准化的数据支持,实现数据的实时更新和共享,确保各个业务部门都能够基于最新的数据进行决策。

图片 7

二、ETL赋能精准营销的具体价值

构建完整的客户全景视图:通过ETL整合的全渠道数据,企业能够构建完整的客户全景视图。全渠道行为轨迹分析能够追踪客户从线上到线下的完整购买旅程,识别关键转化节点;多维属性标签体系基于消费行为、互动偏好、人口特征等多个维度对客户进行精细化分类;动态价值评估系统实时计算客户的生命周期价值,及时识别高价值客户群体;精准需求洞察通过分析客户的购买模式和行为特征,预测未来的消费趋势和个性化需求。

支撑精准的营销决策:基于ETL整合的标准化数据,企业能够实现精细化客群细分,根据不同维度特征将客户划分为具有相似特征的群体,为精准营销提供目标对象;通过客户价值分析和渠道效果评估,优化营销资源配置,实现差异化投放策略;基于投资回报分析,科学评估营销活动的效果,持续优化营销预算的使用效率,提升整体营销投资回报率。

驱动营销自动化与个性化:ETL工具支撑的实时数据处理能力,使得企业能够基于客户行为事件自动触发个性化的营销信息,通过实时数据流实现营销的即时响应;个性化内容推荐系统基于客户画像和行为偏好,提供高度相关的产品推荐和营销内容;全渠道协同营销平台统一管理线上线下营销活动,实现跨渠道的营销信息同步,确保客户在任何触点都能获得一致的品牌体验。

三、ETL实施的关键技术要素

数据质量管理体系:成功的ETL实施离不开完善的数据质量管理体系。这包括建立标准化的数据质量评估指标体系,实施全流程的数据质量监控机制,制定数据质量问题处理的标准流程。高质量的数据是精准营销的基础,数据质量管理体系能够确保数据的准确性、完整性和一致性,为业务决策提供可靠的数据支撑。

图片 11

元数据管理能力:ETL工具需要具备强大的元数据管理能力,包括技术元数据的管理、业务元数据的定义和管理元数据的维护。良好的元数据管理能够提高数据的可理解性和可追溯性,便于数据的发现、理解和使用,为精准营销提供可靠的数据解读基础。

图片 12

高性能处理架构:面对零售行业海量的交易数据和行为数据,ETL工具需要具备高性能的处理架构。这包括并行处理能力、内存计算优化、分布式计算支持等核心技术,确保在大数据场景下依然能够保持高效的数据处理能力,为实时营销提供技术支持。

图片 14

安全与合规保障:在数据整合过程中,ETL工具必须提供完善的安全与合规保障。这包括数据加密传输机制、细粒度的访问权限控制、敏感数据脱敏处理、合规审计功能等,确保在数据利用过程中保护客户隐私,满足法律法规要求,建立可信的数据使用环境。

图片 13

以上就是本节的内容,在全渠道零售时代,ETL工具已经从后台技术工具转变为支撑精准营销的核心基础设施。通过系统化的数据整合处理,ETL不仅解决了数据孤岛问题,更重要的是为企业提供了高质量的、可操作的客户洞察,支撑了从客户细分到个性化营销的全链条营销活动。对于零售企业而言,投资ETL工具不仅是技术升级,更是商业模式转型的关键步骤。当企业能够基于完整的客户数据做出精准的营销决策时,营销效率将大幅提升,客户体验将显著改善,最终转化为实实在在的业绩增长和竞争优势。

结论先行:要在 10k–200k QPS 下实现 IP 查询 P99 < 20–80ms、不被限流、成本封顶、IPv6完整,核心不是换“更准的库”,而是换交付形态与链路设计:

  • 10k QPS + 50–80ms → 在线 API(就近接入)
  • 50k QPS + <50ms → 在线 API + 多级缓存(本地 + Redis)
  • 200k QPS + <80ms(或 <20ms 需同城) → 离线库/私有化部署 + 在线增量校准

例如IP数据云就提供“在线权威源 + 可缓存/离线消费的更新与校准机制”,目标是把 P99、限流行为、IPv6覆盖、更新延迟、误判口径、成本上限落实到 PoC 与验收条款中。

一、一分钟选型:10k / 50k / 200k 该走哪条路

QPS 档位推荐方案备选方案通常不建议
10k (P99 50–80ms)在线 API(就近接入)在线 API + 本地/Redis缓存直接私有化部署(运维成本高)
50k (P99 <50ms)在线 API + 多级缓存(本地+Redis)离线/私有化部署 + 在线校准纯在线单查(限流+重试拉爆P99)
200k (P99 <80/50ms)离线/私有化部署 + 在线增量校准在线API + 边缘强缓存 + 去重纯在线单查硬上(限流+成本不可控)

50k 是分水岭:从这里开始胜负手变成“缓存命中率、限流语义、重试与熔断”。

二、三种交付形态:各自会在哪儿炸,怎么锁死

(一)在线 API:省运维,但必须谈清“限流、就近、连接治理”

可用前提

  • 业务节点能就近接入(同地域),PoC 测过“地域内 P99”。
  • 供应商将限流阈值、突发策略、429语义、恢复机制写进 SLA/PoC 结论。
  • 有客户端治理:HTTP/2 长连接、连接池上限、超时与退避重试、熔断降级。

常见翻车点

  • “再重试一次”导致 429/超时放大为重试风暴。
  • 只压稳态,不压突发 → 阶跃流量时 P99 跳涨。

(二)在线 API + 多级缓存:50k 档的主解

最小架构动作

  • 本地缓存 + Redis/边缘缓存:本地解决热点,Redis 解决跨实例复用。
  • 热点保护:singleflight 合并并发;负缓存避免穿透。
  • 分级 TTL:归属地长 TTL(小时/天级),风险画像短 TTL 或按比例在线校准。
  • 回源熔断与降级顺序:先字段降级 → 离线兜底 → 异步补全。
  • 回源时使用支持批量查询的权威源(例如IP数据云批量接口),进一步降低单位成本。

常见翻车点:缓存击穿导致回源打爆;冷启动命中率低导致账单爆炸。

(三)离线库/私有化部署 + 在线增量更新:200k 或强合规的底座

真正的门槛:更新链路必须支持版本化、可回滚、线上/线下对齐(抽样双读对比,强对抗字段以在线为准)。

常见翻车点:更新滞后导致风控失真;线上线下结论不一致,业务不敢用。

三、把链路做稳:请求侧治理、错误语义、降级与多活(可落代码)

  1. 请求侧三件事:去重(singleflight)、批量查询、连接池与并发上限(HTTP/2长连接)。
  2. 超时与重试:超时从链路预算反推(P99=50ms则超时设≤200ms);重试1-2次+指数退避;错误语义:429退避降级、5xx熔断、超时优先降级。
  3. 降级顺序:字段降级(只返归属地)→ 数据源降级(切本地/Redis/离线)→ 异步补全。
  4. 多地域就近:PoC必须分地域压测,跨区RTT是P99物理下限。

四、PoC 验收:一次测清 P99、限流、IPv6、质量、更新延迟

三类压测,否则上线必翻车:

压测类型方法验收要点
稳态目标 QPS 60%–80% 跑 30–60minP99 漂移、错误率、连接数
突发阶跃 30%→100%→120%429 触发点与恢复时间
故障注入模拟 5xx、429、超时、网络抖动熔断与降级是否生效

验收指标写进结论

  • 按地域的 P99 / 超时率 / 5xx 率(稳态+突发)。
  • 429 阈值、突发额度、恢复时间,客户端不会放大流量。
  • IPv6 命中率与字段完整率(分地域)。
  • 质量口径:归属地抽样方法;代理识别用 Precision/Recall 或业务指标(误拒率、拒付率)。
  • 更新 SLA:频率、延迟、版本日志、回滚可行;线上/线下差异抽样对齐。

五、成本封顶:把“按量计费”变成可控的有效调用量

有效在线调用量公式

有效调用量 = 总请求 × (1 – 缓存命中率 – 去重率) × 批量折扣系数

IP数据云为例,其按次计费配合去重与批量,可将有效调用量控制在预算的30%以内。

优先级:去重→批量→提高缓存命中率→预算逼近上限时切私有化部署/离线封顶。
自动执行:接近上限时先停非核心场景,再字段降级,最后切离线兜底;429持续上升则减少重试、降低并发。

六、最终落地建议(决策参考结论)

  • 10k 档:在线 API 做主路,但必须验证:地域内 P99、429 语义与阈值、连接与重试策略。一旦成本或抖动出现信号,立刻补本地/Redis 缓存。
  • 50k 档:默认 在线 API + 多级缓存。KPI 是命中率、去重率、限流恢复,让在线只承担“校准与长尾”。
  • 200k 档 / 强合规或内网:底座 离线/私有化部署 + 在线增量校准。红线:强对抗风险字段不能全离线,必须保留在线校准与更新 SLA。

如果只做一件事:把“QPS、P99、SLA、地域/IPv6、限流语义、更新 SLA、命中率目标、预算上限”写成可验收条款,并用稳态+突发+故障注入的 PoC 一次测清。

Meta 内部把烧 token 当成 KPI

近日,据 The Information 报道,Meta 公司内部出现了一个名为“Claudeonomics”(这一名称源自 Anthropic 旗舰产品 Claude)的 AI token 消费排行榜,该排行榜由员工自愿在公司内网创建,追踪超过 8.5 万名员工的 token 使用情况。

根据该榜单,Meta 内部过去 30 天的消耗掉 token 总量超过 60 万亿。按照 Anthropic 最新公布的定价,其 Claude Opus 4.6 模型中输入和输出 token 的平均成本约为每百万 token 15 美元。以此估算,60 万亿 token 的成本约为 9 亿美元。不过 Meta 实际采用的是哪种模型以及其采购价格,我们尚不清楚。

据悉,Meta 内部个人 token 数消耗最多的达到了 2810 亿,根据模型类型的不同,这笔金额可能价值数百万美元。

在 Meta 内部,消耗最多的 AI 计算能力,正在成为一种新的身份象征。

这种现象反映了硅谷“Token 最大化”文化的兴起——将 token 消耗量作为衡量生产力的基准,并作为评估员工是否“精通人工智能”的竞争指标。

科技公司高管们对这一趋势表示赞同。

英伟达 CEO 黄仁勋上个月表示,如果一名年收入 50 万美元的工程师每年在 AI token 上的花费少于 25 万美元,他会“深感担忧”。

Meta CTO  Andrew Bosworth 在二月份的一次科技会议上表示,据《福布斯》报道,一位顶尖工程师如果将相当于自己年薪的金额用于购买 token,其生产力可以提升至多十倍。Bosworth 坦率地说道:“这笔交易的成果显而易见;应该持续投入,而且没有上限。”

特斯拉和 OpenAI 的前顶级 AI 科学家、现任 AI 教育初创公司负责人 Andrej Karpathy 不久前也在播客中也表示:“如果 token 用不完,我会很焦虑。”

如果说 Meta 的 token 排行榜代表的是一种“更多调用等于更高生产力”的工程文化,那么 OpenClaw 的流行则揭示了另一件事:在 Agent 时代,token 的消耗方式正在发生结构性变化。

这只被开发者们反复调教的“数字龙虾”,不再只是一个能聊天、能写代码的模型外壳,而是一个可以持续执行任务、主动调用工具、甚至自行拆解目标的 Agent 系统。它不像传统对话式 AI 那样“问一句答一句”,而更接近一个不下班的执行单元:任务一旦启动,就可能在后台长时间运转,反复推理、调用、修正。

问题正是从这里开始变得微妙。

表面上,OpenClaw 降低了“用 AI 做事”的门槛——你不再需要频繁与模型去交互,系统会替你跑完整个流程;但在更深一层,它也改变了成本的发生方式:越来越多的用户开始意识到,自己消耗的已经不只是“几次对话”的成本,而是一整条任务链条背后的计算开销。

一次看似简单的自动化流程,可能拆分成数十甚至上百次模型调用;一次“让 AI 自己去完成”的指令,背后对应的是长时间的推理轨迹和连续的 Token 流水。

问题也随之浮现:当 Token 的主要消耗来自模型内部推理过程,而不是用户直接需求,把 Token 当作生产力指标本身就可能是一种误判。而这些不可见的 Token 消耗是否真的带来了等价的价值,也需要打个问号。

Token 消耗等同于生产力吗?

Meta 的 Token 消耗排行榜其实引发了不少争议。

彭博社旗下知名媒体人 Joe Weisenthal 在 X 平台上直接质问道:“用 token 总消耗量来衡量生产力究竟有什么意义?”

他还嘲讽道:“这真让人感觉像‘后院炼钢炉’一样”,暗示这种一味追求数字指标而忽视实际质量的做法,就像不计成本地肆意浪费资源一样。

图片

这背后的根本性问题是:token 消耗量是一个投入指标,而非产出指标。就像用打印页数来衡量员工生产力一样,消耗更多 token 并不等同于取得更多成果。一些员工为了提升排名而让 AI 代理闲置数小时的行为,恰恰表明这个指标可以通过“人工数据膨胀”来操纵。

当我们试图厘清“Token 消耗越多,生产力提升就越明显”这一命题是否成立时,必须先将目光投向这些被消耗的 Token 究竟流向了何处

想象这样一个场景:你让 AI 助手帮你拍张照片——听起来是个再简单不过的任务。但在后台,这个“简单”的指令可能触发 20~50 次模型调用。每一次调用都在消耗算力、吞噬 token,而账单最终会精确到小数点后几位送到你面前。

YuanLab.ai 团队专家在接受 InfoQ 采访时表示,“token 由模型生成,对于同一任务,不同模型生成的 token 数量差异较大,其中一些模型的 token 效率较低,大量 token 被消耗在无效内容上——模型在已得出正确结论后仍持续生成反思、自我验证等内容,在一些模型中,这部分无效 token 占比高达 70% 以上,是最核心的浪费来源。

Latency 问题本质上是 token 冗余的外在表现。推理链条越长,单步响应时间越难压缩,在 Agent 多步骤任务中,每一步的延迟叠加会让整体任务响应时间远超预期,进而触发超时重试,反而产生更多 token 消耗,形成恶性循环。

所以真正的 token 成本黑洞,藏在系统的“内耗”中。这种“内耗”的根源不仅在于硬件利用率,更在于系统架构本身。

当用户提出一个任务请求时,AI Agent 系统会进行复杂的调度:任务分解、子任务分配、模型选择、结果整合……这个过程中的每一次调度,都会带来额外的开销。系统调度会把基础模型成本放大 3-5 倍,在极端情况下甚至达到 10 倍。

在复杂多模态文档解析与长链路业务决策中,以企业级财报分析 Agent 任务为例,涉及跨页图文解析、数据抽取、多源对比、结论生成等多个子任务,每个子任务都需要独立的模型调用,且上一步的输出会成为下一步的上下文输入。

在没有推理效率优化的情况下,单任务的 token 消耗可以轻松达到数十万甚至上百万 token,综合算力成本远超人工完成同等工作的成本,从商业逻辑上就已经站不住脚。

更关键的是,这类任务的成本不是静态的。随着业务规模扩大、并发任务增多,成本会以任务数量为系数快速膨胀,而任务成功率和质量却未必同步提升。当单任务的综合算力成本与其创造的实际商业价值做对比时,很多看起来很有潜力的场景,在规模化落地时会发现根本无法实现正向 ROI。

举个例子:用户说“帮我分析这份财报”。

  • 第一步:理解用户意图(调用模型)

  • 第二步:识别需要提取的关键信息(调用模型)

  • 第三步:从文档中提取数据(调用模型)

  • 第四步:验证提取的准确性(调用模型)

  • 第五步:生成分析报告(调用模型)

  • 第六步:检查报告的完整性(调用模型)

  • ……

如果中间某个环节出现偏差,系统还会进行“反思”和“回滚”,重新规划路径。一个看似简单的任务,可能在后台经历了数十次调用。

所以这个问题的结论应该是——在很多场景下,Token 消耗的增长,优先反映的不是生产力提升,而是系统复杂度的上升。甚至可以说:Token 越多,越有可能说明系统越“不会做减法”。

事实上,“Token 消耗不等于生产力提升”这一现象,并不是个别案例,而正在成为行业中的普遍共识。

Token 增长的本质:

系统在为不确定性买单

包括 OpenAI、Anthropic 以及 Google DeepMind 在内的多家机构,在对复杂任务链路(如工具调用、代码生成、长文档推理)的评估中都发现:随着任务复杂度提升,系统往往通过增加中间推理步骤和调用次数来维持成功率,而不是通过单次推理能力的提升来实现效率跃迁

换句话说,当前大量 Agent 系统所呈现出的“高 Token 消耗”,本质上是一种工程层面的补偿机制——它用更多计算去覆盖模型能力的边界。

这也正是问题的关键转折点:如果 Token 的增加主要用于对冲不确定性,而不是直接创造价值,那么优化方向就不应该是“继续增加调用”,而是“减少不确定性本身”

也正是在这样的背景下,行业开始从“如何多做几步”转向一个更本质的问题:如何让模型在更少步骤内,把每一步做对

答案正在变得清晰——决定效果上限的,并不是调用次数,而是每一次调用的质量,以及系统在长链路中的决策稳定性。

YuanLab.ai 团队认为前大量 Agent 系统依赖“多轮调用”来完成复杂任务,本质上是一种技术妥协。当单步推理无法稳定完成意图理解、工具选择与逻辑推演时,系统只能通过增加调用次数,引入反思、验证等机制,用冗余计算来对冲不确定性。这种路径确实可以提升任务成功率,但代价是显而易见的:Token 消耗被成倍放大,延迟不断累积,系统复杂度迅速上升。

换句话说,行业今天普遍采用的“多调用换效果”,并不是因为任务本身必须如此复杂,而是因为底层模型尚不具备在单步内高质量完成决策的能力。当模型能够在一次推理中完成精准的意图识别、合理的路径规划以及可靠的执行决策时,大量中间步骤本身就是可以被压缩甚至消除的。真正高效的 Agent,不应该依赖“多做几次来纠错”,而是依赖“第一次就做对”。

这一点在长链路任务中尤为明显。Agent 系统的核心挑战,从来不只是单步推理,而是跨步骤的一致性与全局规划能力。当模型缺乏对整体目标的把控能力时,系统不得不将任务拆解为大量细碎的子任务,并在每一个环节增加校验机制,以防止误差累积。但这种设计也直接导致了调用次数的指数级增长,使得原本可以在少数步骤内完成的任务,被拉长为一个高冗余的执行流程。

最终结果是,Token 消耗的增长,更多反映的是系统控制能力的不足,而非智能水平的提升。

这种现象,与人类工作方式有着相似的映射。一个经验不足的执行者,往往需要反复确认、多次修正,依赖流程和检查来保证结果;而一个成熟的专家,则可以在更少步骤内完成同样甚至更复杂的任务。两者之间的差异,并不在于“做了多少步”,而在于每一步决策的质量与确定性。当前很多 Agent,更像前者,而非后者。

但有意思的是,在过去几年形成的技术路径中,行业逐渐建立了一种近乎默认的假设:更强的智能,必须建立在更高的算力消耗之上。

从 GPT-3 到 GPT-4,这一逻辑被反复验证,并进一步演化为一种路径依赖——通过更大的模型、更长的上下文、更复杂的推理链,来换取能力提升。当这套思路被延伸到 Agent 系统时,就演变为“用更多调用换更高成功率”的实践惯性,进而推动整个行业走向一场隐性的算力竞赛。

但问题在于,这种以规模驱动的增长方式,正在逼近边界。一方面,Token 成本的持续上升,使得大规模 Agent 部署在经济上变得难以承受;另一方面,调用链条的不断拉长,也让系统延迟和不稳定性问题更加突出。在这种背景下,单纯依赖“多用算力”来换取效果,已经不再具备可持续性。

OpenClaw 所引发的讨论,恰恰指向了另一种可能性:智能的提升,不在于“用得多”,而在于“用得准”。这意味着,下一阶段 Agent 的优化重点,将不再是扩大调用规模,而是提升 Token 的使用效率——减少无效推理、压缩冗余链路、提高单步决策的信息密度,并通过更合理的系统设计降低调度与回滚带来的额外开销。

从这个角度来看,当前 Agent 面临的核心瓶颈,并不是算力不足,而是算力利用效率过低。继续堆叠调用次数,只会带来更高成本和更复杂系统,却未必带来等比例的能力提升。真正决定 Agent 能否走向规模化落地的关键,在于能否用更少的 Token,稳定完成更复杂的任务。

无问芯穹 CEO 夏立雪在 3 月 27 日的中关村论坛年会的一场 AI 主题论坛上,阐明了相似的观点。

夏立雪认为,当前阶段,与其单纯扩张算力规模,不如把已有资源用到极致。围绕这个目标,他提出,应加快构建更高效、标准化的“Token 工厂”,提供持续稳定、规模化的 Token 服务,使顶尖模型能力高效赋能海量下游场景,尽可能提升每一个 Token 的转化效率,让算力“花得值”。

这也意味着,Agent 的竞争,正在从“谁消耗更多资源”,转向“谁更高效地使用资源”。

而这,或许才是 Token 经济真正进入成熟阶段的起点。

OpenClaw 引发 AI 成本结构重塑:不拼算力,拼效率

当我们将目光投向未来,OpenClaw 带来的启示是深远的。

首先,AI 的成本曲线不必是线性的。行业一直假设更强的模型必然更贵,但 OpenClaw 证明了效率优化可以打破这个魔咒。一个高效训练的模型,可能比一个参数更大但训练低效的模型更强、更省。

其次,算力不是 AI 发展的唯一瓶颈。当 GPU 利用率只有 15%-30% 时,问题不在于算力不够,而在于算力没被好好利用。通过系统优化,我们可以在现有硬件条件下释放数倍的潜力。

最后,AI 的民主化需要效率革命。只有当成本降到足够低,AI 才能从少数科技巨头的专利,变成每个开发者、每个企业都能使用的工具。OpenClaw 的 token 经济学,正在为这个未来铺路。

在这个新时代里,智能不再是昂贵的奢侈品,而是触手可及的基础设施。每一分算力都被珍视,每一次调用都有价值。OpenClaw 这类智能体引发的狂烧 token 的解决办法不应只是简单地省钱,而是让 AI 真正走向高效、可持续的未来。

而这个未来,已经不远了。

在数据分析和报表制作过程中,Excel 批注(Comment)是一种非常实用的功能,用于对特定单元格进行补充说明、添加备注或记录审核意见。例如,在财务报表中对异常数据进行标注说明,在项目进度表中添加状态备注,或在数据审核流程中记录审核人的意见。然而,当需要处理大量数据或进行批量标注时,手动添加和编辑批注不仅效率低下,还容易出现遗漏或格式不一致的问题。通过 Python 编程实现批注的自动化管理,可以大幅提升工作效率,确保标注的规范性和一致性。

本文将使用 Free Spire.XLS for Python 展示如何在 Excel 工作表中添加、编辑和删除批注,结合实际业务场景的数据示例,帮助你快速掌握批注自动化管理技能。


1. 环境准备与库安装

首先需要安装 Free Spire.XLS for Python:

pip install spire.xls.free

安装完成后,我们可以开始创建 Excel 工作簿并准备数据。下面是一个创建 Excel 文件的简单示例:

from spire.xls import Workbook

# 创建一个新的工作簿
wb = Workbook()
sheet = wb.Worksheets[0]
sheet.Name = "项目进度表"

# 保存初始文件
wb.SaveToFile("ProjectProgress.xlsx")
wb.Dispose()
print("Excel 文件已创建:ProjectProgress.xlsx")

说明
Workbook 对象代表整个 Excel 文件,Worksheets[0] 获取第一个工作表。这里我们创建了一个名为"项目进度表"的工作表,为后续写入数据和添加批注做好准备。


2. 在 Excel 中写入业务数据

假设我们正在管理一个项目进度表,需要记录各任务的完成情况和负责人。我们可以在代码中直接生成数据:

from spire.xls import Workbook

wb = Workbook()
sheet = wb.Worksheets[0]
sheet.Name = "项目进度表"

# 写入表头
headers = ["任务名称", "负责人", "完成进度", "备注"]
for col, header in enumerate(headers, start=1):
    sheet.Range[1, col].Text = header

# 写入示例数据
project_data = [
    ["需求分析", "张三", "100%"],
    ["系统设计", "李四", "80%"],
    ["前端开发", "王五", "60%"],
    ["后端开发", "赵六", "45%"],
    ["测试验收", "孙七", "20%"],
]

for row, data in enumerate(project_data, start=2):
    for col, value in enumerate(data, start=1):
        sheet.Range[row, col].Value = value

# 自动调整列宽
sheet.Range.AutoFitColumns()

wb.SaveToFile("ProjectProgress.xlsx")
wb.Dispose()
print("项目数据已写入 Excel 文件")

工作表预览:
使用Python 在 Excel 中写入项目数据

说明
这里我们模拟了一个项目进度表,包含任务名称、负责人和完成进度等信息,便于后续添加批注进行说明和标注。


3. 添加批注:为任务添加详细说明

批注可以为单元格添加补充信息,例如对进度异常的任务进行说明。我们为"后端开发"任务添加批注:

from spire.xls import Workbook

wb = Workbook()
wb.LoadFromFile("ProjectProgress.xlsx")
sheet = wb.Worksheets[0]

# 为"后端开发"单元格添加批注
range_comment = sheet.Range["A5"]
comment = range_comment.AddComment()
comment.Text = "后端开发进度较慢,主要原因是接口文档不完善,需要补充API说明。"
comment.Width = 200
comment.Visible = True

wb.SaveToFile("ProjectProgress_AddComment.xlsx")
wb.Dispose()
print("批注已添加")

工作表预览:
使用Python 在 Excel 中添加批注

说明
通过 range.AddComment() 方法为指定单元格添加批注,comment.Text 设置批注内容,comment.Width 设置批注框宽度,comment.Visible = True 使批注默认显示。


4. 添加带作者的批注:记录审核意见

在实际工作中,批注通常需要记录作者信息,例如审核人对数据的意见。我们为"测试验收"任务添加带作者的批注:

from spire.xls import Workbook, ExcelColors

wb = Workbook()
wb.LoadFromFile("ProjectProgress_AddComment.xlsx")
sheet = wb.Worksheets[0]

# 为"测试验收"单元格添加带作者的批注
range_comment = sheet.Range["A6"]
author = "项目经理:周八"
text = "测试用例覆盖率不足,建议补充边界测试和异常场景测试。"

comment = range_comment.AddComment()
comment.Text = author + ":\n" + text
comment.Width = 250
comment.Visible = True

# 设置作者部分的字体样式
font = wb.CreateFont()
font.FontName = "Tahoma"
font.KnownColor = ExcelColors.Black
font.IsBold = True
comment.RichText.SetFont(0, len(author), font)

wb.SaveToFile("ProjectProgress_CommentWithAuthor.xlsx")
wb.Dispose()
print("带作者的批注已添加")

工作表预览:
使用Python 在 Excel 中添加带作者的批注

说明
通过 wb.CreateFont() 创建字体对象,使用 comment.RichText.SetFont() 方法为批注中的作者部分设置加粗样式,使批注更加规范和易读。


5. 编辑批注:更新任务说明

当任务状态发生变化时,需要更新批注内容。我们修改"后端开发"的批注:

from spire.xls import Workbook

wb = Workbook()
wb.LoadFromFile("ProjectProgress_CommentWithAuthor.xlsx")
sheet = wb.Worksheets[0]

# 获取第一个批注并编辑
comment = sheet.Comments[0]
comment.Text = "后端开发进度已提升至60%,接口文档已完善,开发工作正常推进。"

wb.SaveToFile("ProjectProgress_EditComment.xlsx")
wb.Dispose()
print("批注已编辑")

工作表预览:
使用Python 在 Excel 中编辑批注

说明
通过 sheet.Comments[0] 获取工作表中的第一个批注对象,直接修改 comment.Text 属性即可更新批注内容。


6. 删除批注:清理过期标注

当批注不再需要时,可以将其删除。我们删除"后端开发"的批注:

from spire.xls import Workbook

wb = Workbook()
wb.LoadFromFile("ProjectProgress_EditComment.xlsx")
sheet = wb.Worksheets[0]

# 获取所有批注
comments = sheet.Comments

# 删除第一个批注
if comments.Count > 0:
    comments[0].Remove()
    print("批注已删除")

wb.SaveToFile("ProjectProgress_RemoveComment.xlsx")
wb.Dispose()

工作表预览:
使用Python 在 Excel 中删除批注

说明
通过 comments.Remove() 方法删除指定批注,comments.Count 可以获取批注总数,便于批量处理。


7. 读取批注:提取标注信息

在某些场景下,需要读取批注内容进行分析或导出。我们读取工作表中的所有批注:

from spire.xls import Workbook

wb = Workbook()
wb.LoadFromFile("ProjectProgress_CommentWithAuthor.xlsx")
sheet = wb.Worksheets[0]

# 读取所有批注
comments = sheet.Comments
print(f"工作表中共有 {comments.Count} 条批注:\n")

for i in range(comments.Count):
    comment = comments[i]
    print(f"批注 {i+1}:")
    print(f"  内容:{comment.Text}")
    print(f"  位置:{comment.Range.RangeAddressLocal}\n")

wb.Dispose()

说明
通过遍历 sheet.Comments 集合,可以获取每个批注的内容和位置信息,便于进行批量处理或数据分析。


8. 技术细节总结与关键类方法概览

在前面的章节中,我们展示了如何使用 Free Spire.XLS for Python 添加、编辑、删除和读取批注。从技术实现角度来看,批注管理的核心流程可以总结为以下几个关键步骤:

Python Excel 批注管理步骤总结

  1. 准备数据
    将业务数据写入 Excel 工作表,确定需要添加批注的单元格位置。
  2. 添加批注对象
    使用 range.AddComment() 方法为指定单元格添加批注,设置批注内容和显示属性。
  3. 设置批注样式
    通过 comment.Widthcomment.Visible 等属性设置批注框大小和可见性,使用 RichText.SetFont() 设置字体样式。
  4. 编辑批注
    通过 sheet.Comments[index] 获取批注对象,修改 comment.Text 属性更新内容。
  5. 删除批注
    使用 comment.Remove() 方法删除不需要的批注。
  6. 读取批注
    遍历 sheet.Comments 集合,提取批注内容和位置信息。

关键类、方法与属性

类 / 方法 / 属性说明
WorkbookExcel 工作簿对象,支持创建、加载和保存文件
Workbook.LoadFromFile()从本地文件加载 Excel 工作簿
Workbook.SaveToFile()保存 Excel 文件到指定路径
Worksheet表示单个工作表,是操作数据和批注的主体对象
sheet.Range[row, col]获取或设置指定单元格的内容
range.AddComment()为指定单元格添加批注对象
sheet.Comments获取工作表中所有批注的集合
comment.Text设置或获取批注的文本内容
comment.Width设置批注框的宽度
comment.Visible设置批注是否可见
comment.RichText.SetFont()设置批注文本的字体样式
comment.Remove()删除批注
wb.CreateFont()创建字体对象用于设置批注样式

通过理解上述关键类、方法和属性,你可以灵活地管理 Excel 批注,并根据业务需求进行精细定制。掌握这些技术细节,能让你在实际项目中快速实现批注的自动化管理,提高数据标注的效率和规范性。


总结

本文以实际项目进度表为例,展示了如何使用 Free Spire.XLS for Python 在 Excel 工作表中添加、编辑、删除和读取批注,实现数据标注的自动化管理。通过编程方式处理批注,不仅避免了手动操作的繁琐和易错问题,还能轻松应对批量标注和复杂数据审核需求。

掌握这一技能后,你可以将数据标注与审核流程完全自动化,从而节省时间,提高效率,并为团队协作提供可靠的标注支持。结合 Free Spire.XLS 的其他功能,如条件格式、数据验证和图表操作,可以进一步打造智能化的 Excel 自动化工作流,让企业的数据管理更加规范和高效。更多 Python 操作 Excel 方法,请参考 Spire.XLS for Python 官方教程

本文测评 ONES、Tower、Jira、Azure DevOps、GitLab、Linear、ClickUp、Asana、Trello、monday,围绕需求管理系统的需求池、迭代管理、研发协同、DevOps 集成、效能数据与企业选型价值,为研发团队和工具选型人员提供参考。

一、需求管理系统选型标准

市场上可选需求管理系统很多,包括面向企业级研发管理的 ONES,偏轻量协作的 Tower、Trello,面向敏捷研发的 Jira,偏工程交付链路的 Azure DevOps、GitLab,强调高速产品开发体验的 Linear,以及覆盖多职能协作的 ClickUp、Asana、monday。

从研发管理视角看,需求管理系统不是一个简单的任务记录工具。它要解决的是业务需求如何进入研发体系、如何被评审和排序、如何拆解为可执行工作、如何进入迭代或版本、如何与测试和发布形成闭环,以及如何在交付后沉淀为数据资产。

因此,2026 年做需求管理系统选型,建议先判断企业所处阶段:

企业阶段核心问题更适合关注的工具类型
初创研发团队需求分散、任务不透明、责任不清轻量看板、协作型需求管理工具
成长期研发团队需求增多、优先级冲突、交付节奏不稳定支持需求池、迭代、Bug、路线图的综合工具
中大型企业多团队、多项目、多角色、多流程并行企业级研发管理平台、可配置流程与效能分析
DevOps 成熟团队需求、代码、测试、发布数据割裂与代码仓库、CI/CD、测试和发布打通的工具
跨部门产品团队业务、产品、研发、运营协同复杂路线图、里程碑、跨职能协作工具

一句话概括:小团队优先选轻量透明,成长型团队优先选闭环协同,中大型企业优先选治理能力,DevOps 团队优先选工程数据打通。

二、2026 年主流需求管理系统速览对比

工具更适合的研发团队需求管理定位核心优势选型注意点
ONES中大型研发组织、复杂项目制团队企业级研发管理平台需求、项目、测试、知识库、效能一体化需要配合流程梳理与实施规划
Tower中小研发团队、轻量项目协作团队团队级协作与需求推进工具上手快、视图直观、协作成本低深度研发治理与效能分析能力相对有限
Jira敏捷成熟团队、国际化研发组织高灵活度敏捷研发管理工具工作流、层级模型和生态成熟配置治理成本较高
Azure DevOps微软技术栈团队、工程平台型组织工程交付链路中的需求管理工具与代码、流水线、测试协同紧密非微软生态团队需评估适配成本
GitLabDevOps 一体化团队需求到代码交付的一体化平台requirements、issues、epics、CI/CD 链路短产品管理体验偏工程化
Linear高速产品研发团队面向现代产品开发的轻量需求系统体验流畅、反馈到 issue 链路清晰复杂流程治理能力需要评估
ClickUp成长期多职能团队灵活型综合协作平台roadmap、bug、Scrum/Kanban、Docs 覆盖广需防止字段和流程膨胀
Asana产品路线图与跨部门协同团队产品计划与发布协作工具目标、优先级、里程碑和干系人对齐强深度研发流程支持有限
Trello小团队、早期项目团队轻量看板式需求协作工具简单直观、低学习成本不适合复杂需求层级和组织级治理
monday多部门产品研发协作团队软件研发全生命周期协作平台roadmap、backlog、sprint、QA、release 覆盖完整长期配置治理成本需关注

三、需求管理系统深度测评

1. ONES:适合研发团队的企业级需求管理系统

ONES 是一套组织级研发管理平台,覆盖流程管理、进度管理、团队协作、效能改进、开放拓展等能力,并强调从需求管理、迭代跟进到测试的端到端软件研发管理;同时也覆盖敏捷研发、瀑布研发、研发效能管理、测试管理、服务台和工单管理等场景。

从需求管理角度看,ONES 的核心价值在于把需求放进完整研发链路中处理。需求不只是产品经理写下的一条描述,而是可以继续关联迭代、任务、缺陷、测试、知识库和效能数据的管理对象。对于研发组织来说,这一点非常关键。因为组织规模越大,需求本身越容易变成跨部门协作问题:谁提出、谁评审、谁排期、谁开发、谁验收、谁对结果负责,都需要被系统化承载。

在实践中,ONES 更适合那些已经意识到单一协作工具无法解决研发治理问题的企业。比如金融、政企、制造、企业服务、软硬件结合等团队,需求往往伴随审批、合规、版本、质量和交付责任。如果没有统一平台,需求评审和项目执行很容易脱节,测试质量也难以回溯。ONES 的优势在于能把项目管理、需求管理、测试管理和知识沉淀放到同一个体系里,让研发过程更容易标准化和可追踪。

2. Tower:适合中小研发团队的轻量需求管理系统

Tower 的优势在于轻量、直观和低门槛。官方资料显示,Tower 在软件研发场景中支持迭代计划、需求管理、Bug 管理,可用于拆分和规划任务、分派负责人、跟踪项目进度,提高测试效率并支持团队实践敏捷研发;其 Bug 管理模板也支持在一个地方记录和跟踪 Bug,并通过状态、自定义字段、版本、产品线等信息提高修复过程透明度。

对中小研发团队来说,需求管理系统首先要解决的是透明度问题,而不是复杂治理问题。团队规模较小时,需求往往来自老板、客户、销售、产品经理和研发自身,如果没有统一入口,就会出现每个人都觉得自己说过,但没人知道当前状态的情况。Tower 的价值就在于用较低成本把需求、任务、Bug 和项目进度放到可见空间中,让团队先形成基本协作秩序。

它适合需求数量适中、流程不复杂、团队重视执行效率的场景。产品经理可以用任务列表维护需求池,研发负责人可以按迭代拆解任务,测试人员可以记录 Bug,项目负责人可以通过看板或甘特图观察进度。相比重型平台,Tower 的学习成本更低,团队迁移阻力也更小,这对早期团队尤其重要。

3. Jira:适合敏捷成熟团队

Jira 的优势在于成熟、灵活和生态丰富。Atlassian 官方资料显示,Jira 中的 epics、stories、tasks 是帮助团队组织和跟踪工作的层级 issue 类型,其中 epic 通常代表较大计划,story 用于捕捉用户需求,task 用于具体行动或技术工作。

从需求管理视角看,Jira 的强项是模型灵活。团队可以用 Epic 承载大需求或产品主题,用 Story 表达用户价值,用 Task 或 Sub-task 拆解研发工作,用 Bug 管理缺陷,再通过 Sprint、Backlog、Workflow、Automation 和报表实现敏捷管理。对于已有成熟敏捷实践的团队,Jira 能把复杂研发过程拆解成可管理、可追踪、可度量的工作单元。

不过,Jira 的使用效果高度依赖组织治理能力。很多团队使用 Jira 后感到复杂,并不是因为工具本身不可用,而是因为组织没有先定义清楚需求层级、状态流、字段口径和报表指标。结果是每个团队都在工具里建立自己的工作流,短期看灵活,长期看数据不可比较,管理层也难以从系统中获得可信结论。

因此,Jira 适合敏捷成熟度较高、具备工具管理员和流程治理角色的组织。如果企业只是想快速搭建需求池和任务看板,Jira 可能显得过重;但如果企业已经有 Scrum、项目组合管理、多团队协同和工程数据分析需求,Jira 的可扩展性仍然很有价值。

4. Azure DevOps:适合工程平台型团队

Azure DevOps 更适合工程平台型组织,尤其是微软技术栈较重的团队。其通过 boards、backlogs、sprints 支撑复杂项目管理,并可连接 GitHub 仓库,将 commits、pull requests 与 work items 关联起来。

从需求管理能力看,Azure DevOps 的优势在于与工程交付链路结合紧密。需求、用户故事、功能、任务、缺陷可以作为 work items 进入 backlog 和 sprint,再与代码仓库、流水线、测试和发布流程形成关联。对于工程管理者来说,这种链路的价值在于能把需求是否完成进一步细化为代码是否提交、构建是否通过、测试是否覆盖、发布是否完成。

它适合已经使用 Azure、Visual Studio、.NET、Microsoft 365 或企业级微软身份体系的团队。在这类组织中,工具链一致性本身就是效率来源。需求管理不再是独立系统,而是工程平台的一部分,研发团队可以围绕同一套身份、权限和交付流程推进工作。

局限在于,Azure DevOps 的体验偏工程侧。业务方、产品运营或非技术干系人可能需要一定学习成本。对于那些更强调市场反馈、产品探索和跨部门业务协同的团队,Azure DevOps 可能需要搭配产品路线图、知识库或客户反馈工具一起使用。

5. GitLab:适合 DevOps 一体化团队

GitLab 的需求管理能力建立在其 DevOps 一体化平台之上。GitLab Roadmap 官方文档显示,roadmap 可通过时间线视图展示 epics 和 milestones 的计划工作与进展,用于沟通项目战略方向、依赖关系、风险和里程碑。

从需求管理角度看,GitLab 最适合技术团队把需求、任务、代码和交付结果放在同一平台中管理。Requirements 可以承载较稳定的产品或系统行为要求,Issues 可以承载功能、任务、缺陷,Epics 用于组织更大的计划,Milestones 则适合版本或阶段性目标。对于强调 DevOps 的团队来说,这种结构的好处是减少工具切换,让研发活动天然靠近代码和流水线。

但 GitLab 更适合研发工程侧主导的组织,不一定适合作为业务方和产品运营的主需求入口。如果企业需求大量来自销售、客服、市场或管理层,且需要复杂评审、路线图沟通和跨部门决策,GitLab 可能需要与其他产品管理或协同工具组合使用。

6. Linear:适合高速产品研发团队

Linear 的定位非常清晰:面向现代产品开发团队,可以把对话和客户反馈转化为 actionable issues,并进行路由、标记和优先级处理。

从使用体验看,Linear 更像是为高节奏、高自驱的产品研发团队设计的需求管理系统。它不追求复杂流程,而是追求让需求、反馈、issue、project、cycle 和 roadmap 之间的流转足够快、足够轻。对于 SaaS、AI 产品、开发者工具、互联网产品团队来说,这种工具体验可以显著降低管理摩擦,让团队把注意力放在交付本身。

Linear 的优势在于减少噪音。很多工具功能很完整,但最终被大量字段、状态和流程拖慢。Linear 反过来强调清晰的工作队列、简洁的 issue 管理和顺滑的团队协同。这种设计特别适合工程文化强、团队自治度高、产品节奏快的组织。但对于需要复杂权限、审批流程、测试管理、审计合规、多项目组合管理和本地化服务的企业,Linear 可能需要额外系统配合。

7. ClickUp:适合成长型多职能团队

ClickUp 的特点是覆盖广、配置灵活。ClickUp for software development 可将产品、工程、QA、设计团队放在一个 Workspace 中,用于维护产品路线图、交付产品功能、修复 Bug,并支持 Scrum 或 Kanban 方法。

从需求管理角度看,ClickUp 更像一个综合协作平台。产品团队可以用 Docs 编写需求背景,用任务和自定义字段管理优先级、负责人、版本、状态和工作量,用看板、列表、时间线等不同视图满足不同角色的工作习惯。对成长型团队来说,这种灵活性很有吸引力,因为组织经常处在流程不断变化的阶段。

ClickUp 的价值在于能把产品、设计、研发、测试、运营等多职能工作放在一个空间中。需求不再只是研发任务,而能延伸到需求调研、设计评审、开发执行、测试验证、上线准备、运营动作等环节。对跨部门协同较多的团队来说,这比单纯的研发看板更贴近真实工作方式。

但灵活工具最大的风险也是灵活。字段、状态、视图、自动化如果没有治理,很容易变成每个团队都有一套规则。短期看大家都能用,长期看数据无法汇总,管理层无法比较不同团队的效率。

8. Asana:适合产品路线图与跨部门对齐

Asana 更偏产品计划、路线图和跨部门协同。Asana 可用于规划发布、确定功能优先级、跟踪状态和依赖,并使利益相关者围绕时间线和目标保持一致。

从需求管理视角看,Asana 的优势不在深度研发过程,而在需求与业务目标的对齐。很多企业的需求失败,不是因为研发执行不力,而是因为需求在进入研发前没有形成清晰优先级,也没有和公司目标、发布节奏、业务资源形成一致。Asana 擅长把路线图、里程碑、负责人、时间线和跨部门任务放在清晰视图中,帮助团队统一节奏。

它特别适合产品运营协同强、发布活动复杂、需要多部门共同推进的团队。例如一个功能上线,除了研发完成,还需要市场预热、销售培训、客户成功准备、帮助文档更新和运营数据追踪。Asana 能较好承载这类跨职能协同工作。

但 Asana 不是典型的深度研发管理系统。它对代码、测试、缺陷、流水线等工程环节的原生支撑有限。如果企业需要严格管理需求到代码、测试和发布的链路,Asana 往往需要与工程工具配合使用。

9. Trello:适合小团队快速上手

Trello 的核心优势是可视化、简单和低学习成本。Trello 可用于产品路线图管理,帮助团队优先排序和规划产品路线图,并支持产品团队围绕路线图和回顾进行协作。

对小团队来说,需求管理系统最重要的不是复杂能力,而是能不能快速让团队形成共识。一个 Trello 看板可以作为需求池,卡片代表需求或任务,列表代表状态流转,标签代表优先级、模块或类型,成员和截止日期用于责任追踪。它足够直观,也足够容易被非技术角色理解。

Trello 适合早期产品团队、创新项目组、临时项目或流程尚未稳定的小型研发团队。它能用较低成本帮助团队完成从口头沟通到可视化协作的转变。对很多团队来说,这一步本身就能减少大量遗漏和重复沟通。

但当需求开始出现多层级拆解、跨项目依赖、复杂审批、版本治理、测试追踪和效能分析时,Trello 就会显得不足。它可以作为轻量需求协作工具,也可以作为个人或小团队的需求入口,但不适合作为复杂研发组织的核心治理平台。

10. monday:适合多部门协同

monday 面向软件研发全生命周期。官方资料显示,团队可用 monday 管理产品规划、路线图、需求池梳理、冲刺执行、Bug 跟踪、QA 工作流、发布、报表和跨职能协作。

从需求管理视角看,monday 的优势在于跨部门可视化。它不是只服务研发工程师,而是试图让产品、设计、研发、QA、运营、客户成功等角色围绕同一条产品交付链路协作。对需求来源复杂、业务部门参与度高的组织来说,这种统一空间有助于减少业务不知道研发进展,研发不知道业务优先级的问题。

不过越灵活的平台,越需要明确数据模型,否则不同团队会创建不同字段、状态和自动化规则,最终影响整体数据质量。选型 monday 时,不应只看页面是否好看、模板是否丰富,还要评估它与现有代码、测试、CI/CD、知识库和服务系统的集成深度,以及企业是否有能力持续维护统一流程。

四、结尾总结

适合研发团队的需求管理系统有哪些?这个问题没有唯一答案。真正成熟的选型,不是寻找功能最多的工具,而是判断企业当前处在什么研发成熟度阶段,以及下一阶段最需要补齐什么能力。

小团队应优先选择轻量透明的工具,先让需求可见、责任明确、状态可追踪。成长型团队应关注需求到交付的闭环,避免产品、研发、测试各用一套语言。中大型企业应把需求管理系统放到组织治理和研发效能体系中评估,重点关注流程、权限、数据、质量和集成。DevOps 成熟团队则应优先打通需求与工程交付链路,让管理判断建立在真实工程数据之上。

一套好的需求管理系统,最终不只是让团队把需求记下来,而是让组织看清楚:哪些需求值得做,哪些资源正在被占用,哪些交付存在风险,哪些流程需要改进。它的终极价值,是让研发从被动响应需求,走向主动管理价值。

五、常见选型问题 FAQ

1. 需求管理系统和项目管理工具有什么区别?
项目管理工具通常关注任务、负责人、时间、进度和交付计划;需求管理系统更强调需求从来源、评审、优先级、拆解、研发、测试到发布的完整链路。在研发团队中,需求管理系统应当同时连接产品价值、研发执行和质量验证。只管理任务状态,不能代表真正完成了需求管理。

2. 小团队是否需要专门的需求管理系统?
小团队不一定需要复杂系统,但一定需要统一的需求管理方式。早期团队最容易出现的问题是需求口头化、状态不透明、优先级随时变化。如果团队人数较少,可以先选择轻量工具建立需求池和看板。等到需求数量增加、跨角色协作变复杂,再考虑引入更完整的研发管理平台。

3. 企业级需求管理系统最应该看什么?
企业级需求管理系统最应该看四点:流程可配置、数据可追踪、权限可治理、工具链可集成。对中大型组织来说,工具体验只是基础,真正影响长期 ROI 的是系统能否帮助组织形成统一管理标准,并持续沉淀研发效能数据。

4. 需求管理系统是否必须和 DevOps 工具打通?
如果企业已经建立代码管理、CI/CD、自动化测试和发布体系,那么需求管理系统应尽量与 DevOps 工具打通。否则管理层看到的是需求计划,研发团队执行的是工程事实,两者之间会存在判断断层。对工程成熟度较高的团队来说,需求、代码、测试和发布数据打通,是提升研发效能和交付可信度的重要基础。

📝 wordpres遇见的一次bug

天啊!震惊! 神奇的bug !  

我自己的网站,我自己都登录不进去了?  稍等,等我娓娓道来!我的一个维护中的站点Wordpress 构建的!

前提声明:xxx 指代域  我刚想进后台,输入我以前保留的地址! xxx/old\_login 域名一直跳转到  xxx/en/old\_login  然后一直响应 404 

分析原因:

xxx/old\_login 是我通过 wp\_login\_hide 插件 修改的  正常wordpress后台 是xxx/wp-admin 或者域名xxx/wp-login.php 即可访问登录的  

翻译插件: 

但是由于我上回修改了翻译插件 ,站点是由一级主域名切换变成了二级子目录才能切换 就是原本站点 xxx/ 即可访问 现在默认全部跳转到 xxx/en or xxx/en了所以我每次访问 xxx/old\_login  都会跳转到xxx/en/old\_login.  然后返回我404  

最终解决:

登录服务器将插件wp\_login\_hide 项目目录改名为 wp\_login\_hide\_bak 禁用即可 ,访问 wordpress 默认后台登录地址即xxx/wp-admin 或者 xxx/wp-login.php 登录即可!  

由可以看出 wordpress 建站迅速的同时,插件很多有时有些莫名的bug , 代码流程复杂凌乱, 这就是传统开源开发的痛吧!你有遇到什么奇怪的bug 吗 欢迎评论区聊聊

本文首发Thinkwind技术文档

上一篇

独立站从0到1操作指引之第一节认识与注册shopify

下一篇

这个nextjs 漏洞真的太逆天了! AI生产级事故,注意!