当 CEO 说"用 AI 替代度量者",你的岗位离自动化还有多远

2026-05-25 15 预计阅读时间:1 分钟
来源:oschina.net AI 摘要 原文链接

免责声明:本文为 AI 摘要整理,建议结合原文阅读。摘要可能省略上下文、版本差异或边界条件,不作为官方说明。

预计阅读时间:11 分钟

Cloudflare 刚交出史上最好的财报——创纪录营收、强劲自由现金流——然后裁掉了约 20% 的员工,大约 1100 人。CEO Matthew Prince 没有回避质疑,直接在《华尔街日报》发了一篇署名文章,标题就是《我是如何决定用 AI 替代哪些员工的》。他把被裁岗位的人归为一类:度量者(measurers)——那些主要工作是"看、数、报"而非"创、建、决"的人。

这个分类逻辑值得每个技术从业者认真拆解。

"度量者"到底在做什么

Prince 的定义很直白:度量者的核心产出是信息而非决策。他们收集数据、整理报表、标注异常、撰写周报——这些工作本身不产生产品方向,不决定技术架构,不推动商业结果。他们的存在是为了让其他人(决策者)更快拿到信息。

换句话说,如果你的日常是:

  • 从多个系统拉数据,拼成 Excel 或仪表盘
  • 每天看监控面板,发现异常后转发给研发团队
  • 写测试报告,汇总覆盖率、失败率,但不决定修复优先级
  • 做合规审计,逐条对照规则,输出 checklist

那你就是 Prince 眼中的度量者。AI 替代的不是"写代码的人",而是"看数据的人"。

为什么度量者首当其冲

Prince 的逻辑链条有三步:

  1. 度量工作的输入输出高度结构化——数据源固定、格式固定、判断规则固定,这正是 LLM 和自动化工具最擅长的领域。
  2. 度量者不拥有决策权——他们产出的信息最终流向决策者,中间环节可以被压缩。AI 直接把数据变成建议,跳过"人看数据→人写报告→人读报告→人做决策"的长链路。
  3. 度量者的边际成本是线性的——加一个业务线就需要加一组度量者,但 AI 的边际成本趋近于零。

Cloudflare 自己就是基础设施公司,每天处理海量日志和指标。他们比任何人都清楚:让人类去"看"这些数据,成本极高且不可扩展。

用脚本替代一个度量岗位:从周报自动化开始

下面这个例子模拟了一个常见场景:每周从多个 API 拉取服务指标,汇总成报告,标注异常项。以前这是某个人每周花半天做的事,现在一个脚本 + LLM 调用就能完成。

"""
weekly_metrics_report.py
自动拉取指标、标注异常、生成中文周报。
依赖:pip install httpx openai
运行前设置环境变量:
  export OPENAI_API_KEY="sk-..."
  export SERVICE_API_BASE="https://api.example.com"  # 你的指标服务地址
"""

import os
import json
from datetime import datetime, timedelta
import httpx
from openai import OpenAI

# ---------- 1. 拉取结构化指标 ----------

def fetch_service_metrics(service_api_base: str, days: int = 7) -> dict:
    """从内部 API 拉取最近 N 天的核心指标"""
    end = datetime.utcnow()
    start = end - timedelta(days=days)
    params = {"start": start.isoformat(), "end": end.isoformat()}

    endpoints = {
        "availability": "/metrics/availability",
        "latency_p99": "/metrics/latency",
        "error_rate": "/metrics/errors",
        "request_count": "/metrics/requests",
    }

    results = {}
    with httpx.Client(base_url=service_api_base, timeout=30) as client:
        for key, path in endpoints.items():
            try:
                resp = client.get(path, params=params)
                resp.raise_for_status()
                results[key] = resp.json()
            except httpx.HTTPError as e:
                results[key] = {"error": str(e)}

    return results


# ---------- 2. 定义异常阈值 ----------

THRESHOLDS = {
    "availability": 0.995,      # 低于 99.5% 标红
    "latency_p99": 500,         # P99 超过 500ms 标红
    "error_rate": 0.01,         # 错误率超过 1% 标红
}


def annotate_anomalies(metrics: dict) -> dict:
    """对照阈值标注异常"""
    annotated = {}
    for key, threshold in THRESHOLDS.items():
        data = metrics.get(key, {})
        if "error" in data:
            annotated[key] = {"value": None, "status": "数据获取失败", "threshold": threshold}
            continue
        # 假设 API 返回 {"value": 0.998, "unit": "ratio"} 或 {"value": 320, "unit": "ms"}
        value = data.get("value")
        violated = value < threshold if key != "latency_p99" else value > threshold
        annotated[key] = {
            "value": value,
            "unit": data.get("unit", ""),
            "status": "异常 ⚠️" if violated else "正常 ✅",
            "threshold": threshold,
        }
    # 不设阈值的指标直接记录
    annotated["request_count"] = metrics.get("request_count", {})
    return annotated


# ---------- 3. 用 LLM 生成可读周报 ----------

def generate_report(annotated: dict) -> str:
    """把标注后的指标交给 LLM,生成结构化中文周报"""
    client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

    prompt = f"""你是一名基础设施团队的周报撰写助手。
以下是本周服务指标的标注结果(JSON 格式),其中已标注异常项。
请生成一份简洁的中文周报,包含:
1. 总体健康评估(一句话)
2. 异常项说明和建议动作
3. 下周关注重点

指标数据:
{json.dumps(annotated, ensure_ascii=False, indent=2)}
"""

    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.3,
    )
    return resp.choices[0].message.content


# ---------- 4. 主流程 ----------

def main():
    api_base = os.environ.get("SERVICE_API_BASE", "https://api.example.com")
    raw_metrics = fetch_service_metrics(api_base)
    annotated = annotate_anomalies(raw_metrics)
    report = generate_report(annotated)

    print("=" * 60)
    print(f"服务周报 — {datetime.utcnow().strftime('%Y-%m-%d')}")
    print("=" * 60)
    print(report)


if __name__ == "__main__":
    main()

运行方式:

# 安装依赖
pip install httpx openai

# 设置环境变量
export OPENAI_API_KEY="sk-your-key-here"
export SERVICE_API_BASE="https://your-internal-api.example.com"

# 执行
python weekly_metrics_report.py

这个脚本做了三件事:拉数据 → 标异常 → 写报告。以前这三步可能是一个人每周的核心工作。现在脚本跑一次 30 秒,LLM 调用成本不到 0.01 美元。

哪些度量工作最难被替代

Prince 的文章没有说所有度量者都会消失。有几类度量工作目前 AI 还做不好:

  • 需要跨域判断的度量:比如判断一个安全事件是否涉及法律风险,需要同时理解技术细节和法规语境,当前 LLM 容易遗漏边界条件。
  • 度量结果直接影响人命或巨额资产的:医疗诊断、金融审计中的关键判定,AI 可以辅助但不敢完全接管,因为错误成本太高。
  • 度量对象本身不结构化:用户访谈的定性反馈、跨团队的政治博弈,这些"数据"无法被 API 拉取。

换句话说,如果你的度量工作需要理解上下文、承担后果、处理非结构化输入,你暂时还有缓冲期。但如果你的度量工作只是从 A 系统搬到 B 表格,缓冲期已经结束了。

给技术从业者的自检清单

与其争论 Prince 的观点是否冷酷,不如用它做一次岗位自检:

  1. 我的核心产出是信息还是决策?——如果产出是信息(报告、指标、标注),问自己:这些信息能不能被脚本 + LLM 直接生成?
  2. 我的工作有多少比例在"搬运数据"?——超过 30% 就要警惕。搬运是自动化最容易切入的环节。
  3. 我是否拥有只有我才知道的上下文?——如果答案是"没有",那你的岗位和 AI 之间没有护城河。
  4. 我的度量结果是否直接驱动了关键决策?——如果不驱动,说明你在链条末端,链条缩短时你就是被去掉的那一环。
  5. 我能不能把度量工作自动化,然后转向决策层?——这是最务实的转型路径:先用自己的脚本替代自己的搬运工作,再用释放出来的时间参与产品或架构决策。

Prince 的文章最刺眼的一点是:Cloudflare 不是因为没钱才裁员,而是因为 AI 让某些岗位的 ROI 变得不可接受。这和"公司不行了才裁人"的逻辑完全不同——它意味着即使公司增长良好,度量者也可能被替代。

度量本身不会消失,但度量者会。 下一个被脚本化的周报、被自动化的监控面板、被 LLM 替代的审计 checklist,可能就是你今天正在做的那件事。


相关推荐