企业内部 AI 应用如何快速发布与共享¶
商务、法务、运营和职能团队做完一个合同审查、知识问答或报告生成应用后,通常希望快速提供给其他部门使用。平台如果要求他们准备 Dockerfile、编写 Kubernetes YAML 或理解 Serverless,发布路径就已经设计错了。
业务用户发布的应该是一个受治理的内部应用,而不是一个容器。理想体验类似发布在线表单:选择模板、配置数据和权限、邀请少量用户试用,然后一键发布到公司应用中心。容器、Serverless、工作流和常驻 Agent 都是平台的实现细节。
本文给出一套适合企业内部 AI 应用的产品流程、运行架构和治理边界。若正在评估 OpenClaw 本身能否承担企业运行时,先阅读 OpenClaw 作为企业 Agent 平台底座;涉及代码、Shell 或浏览器执行时,参见 Agent Sandbox 选型与架构分析。
1. 先区分“搭建应用”和“部署服务”¶
业务应用大多由以下内容组成:
这些配置可以运行在共享的多租户应用引擎中,不需要每创建一个知识助手就构建一份镜像、启动一个 Pod。
只有出现以下需求时,平台才应切换到独立运行实例:
- 上传自定义代码或特殊 Python、Node.js 依赖;
- 需要长时间任务、事件消费或独立扩缩策略;
- 需要飞书、企业微信、Slack 等长连接;
- 需要持续记忆、独立工作区或本地状态;
- 使用浏览器、Shell 或代码执行环境;
- 处理高敏感数据,需要更强隔离;
- 资源、可用性或变更周期与共享平台明显不同。
因此,企业平台通常需要两层产品,而不是让所有应用走同一条部署路径:
| 产品层 | 主要用户 | 用户提交的内容 | 典型运行方式 |
|---|---|---|---|
| 标准 AI 应用 | 商务、法务、运营 | Prompt、知识库、表单、工作流、连接器和权限 | 共享应用运行时 |
| 高级自定义应用 | 开发、数据和平台团队 | 代码、镜像、依赖和运行参数 | 独立 Serverless、Worker 或 Agent Cell |
2. 公开案例:哪些组织用了什么¶
公开案例已经显示出三条不同路线,但披露深度差异很大:有些只公开产品名称和应用数量,有些会公开身份、知识库、工作流和运行框架。下面只列出能找到组织名称和一手公开资料的案例,不用 GitHub Star、匿名访谈或产品演示代替企业采用证据。
| 组织 | 业务和发布方式 | 公开的产品或框架 | 公开结果 | 能证明什么 |
|---|---|---|---|---|
| BBVA | 员工自行创建 Custom GPT,并在银行内部共享 | ChatGPT Enterprise、Custom GPTs | 创建超过 20,000 个 GPT,约 4,000 个被经常使用 | 大规模“员工创建、内部复用”可直接建立在托管工作台上;底层部署架构未公开 |
| Moderna | 各职能团队创建 GPT,包括合同摘要、制度问答和临床数据分析 | ChatGPT Enterprise、Custom GPTs;早期 mChat 使用 OpenAI API |
推出 ChatGPT Enterprise 两个月内创建 750 个 GPT | 法务和职能场景可以先走配置型应用,不必每个应用单独部署服务 |
| Kakaku.com | 员工通过可视化平台创建并发布内部 AI 应用 | Dify Enterprise | 近 950 个内部应用,75% 员工注册使用 Dify;产品数据提取应用约 3 小时上线 | 开源生态的低代码 AI 应用平台也能承担内部自助创建;数据来自 Dify 客户案例 |
| HEINEKEN | 员工通过 Teams 或 Web 使用 PowerBot;另有检查营销声明是否符合公司政策的法务应用 | Microsoft Copilot Studio、Power Platform、Azure OpenAI;Teams 和自定义 Web 入口 | 公开案例描述了法务、内部助手和对外客服应用 | Microsoft 体系可以把低代码 Agent、办公入口和可复用 Skill 组合起来 |
| Coca-Cola Andina | HR 助手按员工档案返回个性化政策,通过 WhatsApp 服务员工,并可创建 HR 工单 | Copilot Studio、Entra ID、SharePoint、Power Automate、Power Apps、Direct Line API | 已有 300 多名活跃用户,并计划扩大范围 | 这是较完整的“身份—数据—工作流—渠道”参考,而不只是聊天机器人 |
| Lyft | 运营、客户之声和产品人员用 Prompt 与配置定义客服 Agent,工程平台在运行时装配 | LangGraph、LangSmith、内部 JSON 配置服务、Prompt Hub | 从每个 Agent 需要数月工程投入,转向领域专家自助迭代 | 自建平台不等于让业务用户写 LangGraph;工程团队负责骨架,领域专家修改受控配置 |
| Uber | 内部团队组合、部署和运行生产 Agent;现有微服务通过 MCP 提供工具,平台补 Agent 身份和调用归因 | 内部 Agent Platform、MCP、内部工作负载身份体系;公开文章未说明编排框架名称 | 公开重点是大规模工具调用中的身份、委托和审计 | 企业 Agent 平台的难点会从“调用模型”转向 Agent 身份、授权链和可追责性 |
| Sanofi | 自研统一员工 AI 助手 Concierge,而不是购买一个现成聊天前端;跨地区运行并逐步增加 Agent 能力 | Amazon Bedrock,多区域 AWS 架构;公开计划引入 Bedrock AgentCore | 72,000 月活用户,内部员工持续发现和构建新用例 | 大型企业常保留自己的产品和控制面,用云厂商提供模型及 Agent 基础设施 |
| Cox Automotive | 用标准 Agent 运行环境和可复用模式交付多个业务 Agent | Amazon Bedrock、Bedrock AgentCore Runtime、Strands Agents | 17 个主要 Agent 方案进入生产 | 托管 Agent Runtime 可以减少部署、监控、错误处理和安全模板的重复建设 |
资料来源:BBVA、Moderna、Kakaku.com、HEINEKEN、Coca-Cola Andina、Lyft、Uber、Sanofi、Cox Automotive。
2.1 怎样理解这些案例¶
这些案例不能简单汇总成“某个框架最好”,因为它们解决的问题不同:
配置一个知识和 Prompt 助手
→ Custom GPTs / Microsoft 365 Agent Builder
搭建部门工作流并接入办公系统
→ Copilot Studio / Power Platform / Dify
实现复杂、长状态、可评测的专业 Agent
→ LangGraph 等编排框架 + 企业自建发布控制面
统一承载大量生产 Agent
→ Bedrock AgentCore 等托管 Runtime,或 Kubernetes 自建 Runtime
Custom GPT、Copilot Studio 和 Dify 本身就是面向创建者的应用工作台;LangGraph、Strands Agents 和 OpenClaw 更接近开发框架或 Agent Runtime。直接比较它们会混淆产品层次。业务用户可以在前者中直接发布,但使用后者时,企业通常还要自行建设表单、权限、审批、应用目录、评测和生命周期控制面。
2.2 案例证据的限制¶
- 上表多数来源是供应商发布的客户故事,适合确认“谁公开使用了什么”,但不等同于独立审计;
- 应用数量不等于活跃应用数量,也不能证明每个应用都访问敏感数据或执行高风险操作;
- 厂商案例往往不会公开成本、失败率、安全事件、租户模型和底层 Kubernetes 架构;
- Uber 和 Lyft 属于平台或工程团队主导的自助化,不是让法务人员直接发布任意代码;
- 截至本文复核日期,尚未找到披露程度相当、可验证的大型组织使用 OpenClaw 完成“业务用户自建并全公司发布应用”的公开案例。OpenClaw 可以作为渠道和运行时选项,但不能仅凭社区热度推导出该企业场景已经成熟。
2.3 从公开案例得到的产品结论¶
- 先提供共享创建工作台。 BBVA、Moderna 和 Kakaku.com 的规模来自员工配置和复用应用,而不是为每个应用建立一套 Kubernetes 服务。
- 办公生态会决定最短路径。 已深度使用 Microsoft 365、SharePoint、Entra ID 和 Teams 的组织,Copilot Studio 路线通常最短;希望自托管和多模型的团队更可能评估 Dify。
- 领域专家和平台工程师仍有明确分工。 Lyft 让运营人员维护 Prompt 和配置,但 LangGraph 骨架、状态、安全检查和观测仍由工程平台负责。
- 规模扩大后,身份比模型框架更难。 Coca-Cola Andina 的用户身份透传和 Uber 的 Agent 身份体系都说明,生产平台必须回答“以谁的身份、代表谁、可以调用什么”。
- 大型企业经常保留自己的控制面。 Sanofi 和 Uber 没有把企业入口、权限和治理全部交给某个 Agent SDK,而是把模型服务或编排框架放在自有平台之下。
3. 业务用户看到的发布流程¶
推荐把完整流程设计为:
3.1 选择模板¶
第一版平台不必提供无限自由度,可以先覆盖高频场景:
- 企业知识问答;
- 文档总结和信息提取;
- 合同条款比对与初审;
- 报告、邮件和方案生成;
- 信息收集、流程流转和人工审批;
- 只读的内部数据查询;
- 飞书、企业微信或 Slack 机器人。
创建应用时只要求填写业务信息,例如:
应用负责人不能是可选字段。平台后续需要依靠负责人处理权限复核、用户反馈、事故响应和下线交接。
3.2 配置数据和能力¶
业务用户可以上传制度、模板和审查规则,或者选择平台已经登记的数据源和连接器。连接器应表达为业务能力,而不是原始密钥或任意 API 地址:
| 连接器 | 建议权限 |
|---|---|
| 法务公共条款库 | 只读 |
| 合同系统 | 读取当前用户有权访问的合同 |
| CRM | 读取必要的客户基础信息 |
| 邮件或群消息 | 生成草稿,发送前人工确认 |
| 合同状态修改 | 默认禁止,单独申请 |
用户不应把个人 API Key 粘贴进 Prompt、配置文件或知识库。平台应为每个应用签发独立身份,并通过 Secret 服务或 Tool Gateway 获取短期凭据。
3.3 小范围试运行¶
应用首先进入草稿或测试环境,只允许创建者和受邀测试人员访问。测试页面至少应提供:
- 一组可保存的代表性输入和期望结果;
- Prompt、知识库、模型和工具版本记录;
- 敏感信息、越权查询和 Prompt Injection 检查;
- 无答案、模型超时和工具失败时的降级行为;
- 响应时间、Token 和费用预估;
- 点赞、纠错和问题分类;
- 修改后的自动回归测试。
例如合同应用可以维护一组脱敏的标准合同。更换模型、提示词、知识库或工具权限后,平台重新运行测试,避免“调整一句 Prompt 导致旧场景失效”。
3.4 选择访问范围¶
发布界面不应只有公开和私有两个选项。建议支持:
| 范围 | 示例 | 建议流程 |
|---|---|---|
| 仅自己 | 个人草稿助手 | 无审批 |
| 指定人员或项目组 | 某次并购项目 | 负责人确认 |
| 指定部门 | 销售部门合同助手 | 数据负责人确认 |
| 公司内部公开 | 全员制度问答 | 自动检查,必要时审批 |
| 互联网公开 | 对外客户服务 | 独立的对外发布流程 |
访问范围应绑定公司的 IdP、通讯录和安全组,避免维护一份容易失效的手工名单。用户调岗或离职后,权限随组织关系自动变化。
3.5 风险分级和审批¶
审批应基于风险,而不是所有应用一刀切:
| 风险级别 | 示例 | 发布策略 |
|---|---|---|
| 低 | 公开制度问答,无敏感数据,只读 | 自动发布 |
| 中 | 部门数据、合同文档、CRM 查询 | 应用或数据负责人审批 |
| 高 | 对外发送、修改业务系统、影响客户权益 | 安全、法务或业务负责人审批,强制人工确认 |
| 禁止 | 自动签约、自动付款、绕过既有授权 | 拒绝发布或重新设计 |
平台应尽量自动完成数据源检查、权限差异、敏感信息扫描、依赖扫描、预算估算和回归测试,只让需要判断的事项进入人工审批。审批过重会使用户转向无法治理的个人脚本和外部工具。
3.6 发布结果¶
发布成功不应该只表示“Pod 已经运行”,而应返回一个员工能够理解和分享的应用页面:
销售合同初审助手
用途:辅助识别常见合同风险,不代替正式法律意见
负责人:法务部合同组
适用范围:销售一部、销售二部
数据保留:任务完成 7 天后删除
版本:v1.3
[立即使用] [申请权限] [使用说明] [反馈问题]
平台在后台自动完成:
- 公司 SSO 和用户身份识别;
- 用户组、部门和应用角色授权;
- 内部域名、TLS 和入口路由;
- 独立应用身份、Secret 和工具权限;
- 日志、Trace、审计和费用归属;
- 并发、Token、时间和月度预算;
- 版本保存、灰度、回滚和停用;
- 内部应用市场或协作工具上架。
4. 应用访问权不等于数据访问权¶
这是内部 AI 应用最容易出问题的地方。一个员工可以打开合同助手,不代表他能通过助手读取所有合同。平台必须分别处理:
4.1 用户身份透传¶
应用以当前登录用户身份访问业务系统:
这是内部搜索、数据查询和个人工作助手的首选模式。AI 应用不应成为绕过原系统行级、字段级和组织级权限的“万能查询账号”。
4.2 应用身份¶
应用也可以使用独立的服务身份访问明确的共享资源,例如只读法务公共条款库。该身份必须具备最小权限、资源范围、调用预算和有效期,不能继承创建者的个人凭据。
4.3 Tool Gateway¶
高风险场景可以让所有业务操作经过 Tool Gateway:
- 验证用户、应用、会话和目标资源;
- 根据策略判断本次调用是否允许;
- 必要时触发人工确认;
- 交换短期下游凭据;
- 校验参数并执行操作;
- 记录脱敏审计事件。
模型可以提出动作,但最终授权必须由确定性的服务端策略决定。
5. 统一发布面,底层使用多种运行时¶
“一键发布”不等于底层只有一种运行方式。平台可以根据触发器、状态和执行时长自动选择:
| 运行模式 | 适用应用 | Kubernetes 实现 |
|---|---|---|
| 共享应用运行时 | 标准问答、文档处理和表单工作流 | 多租户应用服务 |
| Request Service | Webhook、对话 API、短时工具调用 | Knative Serving 或普通 Deployment |
| Event Worker | 消息消费、文件处理和后台任务 | Deployment + KEDA |
| Scheduled / Durable Workflow | 定时报告、长流程和人工审批 | CronJob + 持久工作流引擎 |
| Resident Agent | 长连接、持续记忆和独立工作区 | 常驻 Deployment 或独立 Agent Cell |
Knative Serving 可以按请求并发自动扩缩,并在无流量时缩容到零,适合无状态 HTTP 应用;冷启动敏感的服务可设置最小副本。参考:Knative Autoscaling。KEDA 适合按事件源和队列积压扩缩 Worker,其 HTTP Add-on 也支持 HTTP 工作负载从零扩容。参考:KEDA HTTP Add-on。
长连接、持续本地状态和需要随时响应的 Agent 不应为了“Serverless”标签被强制缩容到零。OpenClaw 的 Gateway 就是拥有渠道连接、会话和控制面的常驻进程;互不信任的租户也不能只用同一个 Gateway 中的会话 ID 进行隔离。参考:OpenClaw Gateway、OpenClaw Multi-Tenant Hosting。
6. 推荐的平台架构¶
业务用户 / 开发者
│
▼
AI 应用工作台
├── 模板、知识库、工作流和连接器
├── 测试集、评测、权限范围和预算
└── 试运行、审批、发布和下线
│
▼
应用发布控制面
├── App / Version / Owner / Environment
├── User / Group / Role / Data Policy
├── Risk / Approval / Quota / Audit
├── Runtime Selection / Rollout / Rollback
└── Catalog / Feedback / Lifecycle
│
├── 共享应用运行时
├── Knative HTTP Service
├── KEDA Event Worker
├── Workflow / CronJob
└── Resident Agent Cell
│
┌───────┼──────────────┐
▼ ▼ ▼
Model Tool Memory / Data
Gateway Gateway Storage
平台控制面应保存一份与底层实现无关的应用声明。例如:
apiVersion: platform.example.io/v1alpha1
kind: AIApplication
metadata:
name: contract-review
spec:
owner: legal-contract-team
runtime: auto
audience:
groups:
- sales-east
- sales-south
triggers:
- type: web
dataClassification: internal-sensitive
capabilities:
models:
- company/standard-llm
tools:
- contract.read-as-user
- legal-clause-library.read
scaling:
idlePolicy: scale-to-zero
maxInstances: 10
retention:
userContent: 7d
业务用户不必直接编辑 YAML;它可以由表单或对话式工作台生成。声明的价值在于让平台能够审计、比较版本、执行策略并更换底层运行时。
7. 内部应用中心不只是一个链接列表¶
应用目录至少应展示:
- 应用用途、适用范围和明确的能力边界;
- 负责人、所属部门和支持渠道;
- 使用的数据源、数据级别与保留时间;
- AI 结果说明和需要人工复核的场景;
- 当前版本、最后更新时间和变更记录;
- 权限申请、反馈、纠错和事故报告入口;
- 服务状态和计划维护信息。
无权限用户不应只看到 403,可以显示所需用户组、数据权限和申请流程。访问地址也可以同步到企业 Wiki、飞书文档、Confluence、SharePoint、企业微信或 Teams,但文档只是介绍和入口,真正的身份、授权、数据访问和执行仍由应用平台控制。
发布到互联网是另一种安全边界,不应复用“公司内部公开”的快捷流程。对外应用至少需要独立身份和数据源、匿名访问防滥用、输入输出安全检查、限流和费用上限、隐私说明,以及安全、法务和品牌审批。
8. 生命周期治理¶
应用发布后仍会持续变化。平台需要处理:
- 负责人离职、调岗后的自动转移;
- 数据源、工具权限、模型或发布范围变化后的重新评审;
- Prompt、知识库和模型更新后的回归测试;
- 低使用率、长期无人维护应用的提醒和归档;
- 高风险应用的周期性权限和数据复核;
- 旧版本快速回滚和重大问题一键停用;
- 会话、上传文件、日志和审计记录分别设置保留周期;
- 成本按应用、部门、模型和工具归属。
Kubernetes Namespace 可以承载部分隔离和配额,但本身不是完整租户边界,还需要 RBAC、NetworkPolicy、ResourceQuota,以及高风险代码执行所需的沙箱运行时。参考:Kubernetes Multi-tenancy。
9. 第一版平台怎么做¶
第一版建议控制范围,不开放任意代码执行,优先实现:
- 知识问答、文档审查、报告生成、表单和人工审批模板;
- 公司 SSO、部门组、应用角色和用户身份透传;
- 经过批准的只读数据连接器;
- 草稿、测试、发布和回滚三个基本环境状态;
- 风险分级、自动检查和少量人工审批;
- 内部 Web 地址,以及飞书、企业微信或 Teams 入口;
- 应用负责人、预算、日志、反馈和停用机制。
发布页面可以只向业务用户提出四个核心问题:
第二阶段再加入自定义代码、异步 Worker、持久工作流、常驻 Agent Cell、灰度发布和更强沙箱。这样能先验证真实业务需求,也避免在平台早期就承担任意代码、多租户执行和复杂运行时的全部风险。
10. 上线检查清单¶
- 业务用户不需要理解镜像、Kubernetes 或 Serverless;
- 标准配置型应用与自定义代码应用使用不同发布路径;
- 每个应用有负责人、使用范围、数据级别和费用预算;
- 草稿和测试应用不能被全公司发现或访问;
- 应用权限与业务数据权限分别校验;
- 优先使用用户身份透传,应用身份遵循最小权限;
- 高风险工具调用有参数校验、审计和人工确认;
- 审批按风险分级,低风险应用可以自动发布;
- 平台根据工作负载选择共享运行时、Serverless、Worker、工作流或 Agent Cell;
- Prompt、知识库、模型和工具变更可追溯并触发回归测试;
- 应用目录提供权限申请、反馈、负责人和下线信息;
- 负责人变化、长期闲置和权限复核都有自动化流程。