Cloudflare OS:用能力模型搭建企业内部 AI 工作软件

2026-08-24 33 预计阅读时间: 1 分钟
来源: infoq.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:8 分钟

Cloudflare 最近开源了 Cloudflare OS。它关注的不是一个单独的聊天机器人,而是一种面向企业工作的 AI 平台:让团队基于企业知识、经验和已配置连接器生成可交付的工作产物,自动化重复流程,并在需要判断或生成内容的环节使用 AI。

更值得关注的是,它把“工作软件”交给使用者定制。企业可以围绕复杂、具体的业务场景构建个人工具和可共享工具,同时把运行环境放在安全沙箱中。

从聊天问答转向工作产物

普通企业 AI 应用往往停留在“输入问题,输出答案”。Cloudflare OS 的描述更接近一条完整的工作链:

  • 从企业知识库和内部经验中获取上下文;
  • 通过连接器访问已经获准使用的系统;
  • 生成报告、计划、审批材料或其他工作产物;
  • 把重复步骤自动化;
  • 仅在需要理解、判断或生成内容时调用 AI。

这一区别很实际。比如,月度运营报告不只是让模型总结一段文字,还需要读取工单、查询指标、应用固定格式、标记异常,并把结果交给负责人复核。AI 负责高价值的语言和判断工作,确定性的计算、校验和权限控制仍然应该由代码完成。

“能力”是平台的基本构件

从能力模型出发,可以把企业 AI 工具拆成若干可授权、可组合的能力,而不是给模型一个过大的系统权限:

  • search_knowledge:检索企业知识;
  • read_metrics:读取业务指标;
  • create_report:生成指定格式的报告;
  • request_approval:提交审批;
  • send_notification:发送通知。

每项能力都可以有清晰的输入、输出、权限范围和审计记录。模型只能调用已经提供给当前工作流的能力,这比把数据库凭据、任意 HTTP 请求和全部内部文档一次性暴露给模型更容易控制风险。

这里的“能力”不等于“让模型自由行动”。在真实环境中仍需要限制数据范围、目标系统、调用次数、人工确认点和失败处理方式。沙箱可以降低执行风险,但不能替代身份认证、最小权限、敏感数据治理和日志审计。

一个可改造的最小示例

下面是一个不依赖外部服务的 Python 示例,用来演示能力注册、权限过滤和工作流执行。它可以作为连接真实知识库、指标 API 或审批系统前的本地原型。示例中的数据和规则都是实践假设,不代表 Cloudflare OS 的具体 API。

运行环境要求 Python 3.10 或更高版本,保存为 capability_demo.py 后执行 python capability_demo.py

from dataclasses import dataclass
from typing import Any, Callable


@dataclass
class Capability:
    name: str
    handler: Callable[..., Any]
    description: str


class CapabilityRuntime:
    def __init__(self, capabilities: list[Capability], allowed: set[str]) -> None:
        self.capabilities = {item.name: item for item in capabilities}
        self.allowed = allowed

    def call(self, name: str, **kwargs: Any) -> Any:
        if name not in self.allowed:
            raise PermissionError(f"capability not allowed: {name}")
        capability = self.capabilities.get(name)
        if capability is None:
            raise KeyError(f"unknown capability: {name}")
        return capability.handler(**kwargs)


def search_knowledge(query: str) -> list[str]:
    return [f"内部知识命中:{query} 的标准流程是先校验数据,再提交负责人复核。"]


def read_metrics(service: str) -> dict[str, int]:
    return {"tickets": 42, "resolved": 37, "error_rate": 2}


def create_report(title: str, evidence: list[str], metrics: dict[str, int]) -> str:
    return (
        f"# {title}\n\n"
        f"- 工单数:{metrics['tickets']}\n"
        f"- 已解决:{metrics['resolved']}\n"
        f"- 错误率:{metrics['error_rate']}%\n\n"
        + "\n".join(f"- {item}" for item in evidence)
    )


runtime = CapabilityRuntime(
    capabilities=[
        Capability("search_knowledge", search_knowledge, "检索内部知识"),
        Capability("read_metrics", read_metrics, "读取服务指标"),
        Capability("create_report", create_report, "生成报告"),
    ],
    allowed={"search_knowledge", "read_metrics", "create_report"},
)

knowledge = runtime.call("search_knowledge", query="月度运营报告")
metrics = runtime.call("read_metrics", service="support")
report = runtime.call(
    "create_report",
    title="支持团队月度报告",
    evidence=knowledge,
    metrics=metrics,
)
print(report)

接入真实系统时,可以把 search_knowledge 替换为带租户过滤的检索服务,把 read_metrics 替换为只读指标 API,并在 create_report 之后增加人工确认能力。发送邮件、修改工单、发布配置等副作用操作,应当单独注册能力,并设置更严格的审批策略。

采用时要检查什么

Cloudflare OS 的思路适合那些知识分散、流程重复,但又无法用单一 SaaS 产品覆盖的企业场景。落地时可以按以下顺序推进:

  1. 选择一个输出边界清晰的流程,例如周报、客户调研摘要或工单分流。
  2. 把流程拆成确定性步骤和 AI 步骤,先保证数据读取、计算和格式校验可靠。
  3. 为每个外部动作定义独立能力,明确权限、输入、输出和审计字段。
  4. 从只读连接器开始,涉及写入、发送或发布的动作保留人工确认。
  5. 记录 token 成本、工具调用、失败原因和人工修改,持续判断 AI 是否真正减少了工作量。

这类平台的价值不在于让模型获得更多自由,而在于让企业把内部知识、连接器和流程组合成可控的工作软件。能力边界越清晰,自动化越容易验证,也越适合在不同团队之间共享和复用。


相关推荐