用 Cloudflare 搭 AI 应用:从聊天机器人到知识库的实战命令指南
Cloudflare AI应用场景分析|附完整命令
在大模型与生成式 AI 快速普及的背景下,越来越多企业开始思考一个问题:如何把 AI 能力安全、稳定、低成本地接入现有业务系统?
传统做法通常依赖云服务器、GPU 集群、模型网关、向量数据库、对象存储、队列系统等一整套基础设施,建设成本高、运维复杂度大。而 Cloudflare 近年来围绕边缘网络推出了一系列 AI 与开发者产品,例如 Workers AI、Vectorize、AI Gateway、R2、D1、Queues、Pages、Turnstile 等,为开发者提供了一种更轻量的 AI 应用构建方式。
本文将系统分析 Cloudflare AI 的典型应用场景,并给出可直接参考的完整命令与示例代码,帮助你从零开始搭建一个基于 Cloudflare 的 AI 应用原型。
一、Cloudflare AI 能力概览
Cloudflare 本身以 CDN、安全防护、DNS 和边缘网络著称。随着 Workers 平台的发展,Cloudflare 已经不再只是一个“加速和安全服务商”,而逐渐成为一个面向开发者的边缘计算平台。
在 AI 应用开发中,Cloudflare 主要提供以下能力:
| 产品 | 作用 |
|---|---|
| Workers AI | 在 Cloudflare 边缘运行 AI 推理模型 |
| AI Gateway | 管理、监控、缓存和保护第三方 AI API 调用 |
| Vectorize | 向量数据库,用于语义检索、RAG |
| R2 | 对象存储,适合存放文档、图片、音频、模型输出结果 |
| D1 | Serverless SQL 数据库 |
| Queues | 异步任务队列 |
| Workers | Serverless 边缘函数运行环境 |
| Pages | 前端应用部署平台 |
| Turnstile | 无感验证码,防止机器人滥用 AI 接口 |
这些能力组合起来,可以支撑从简单的 AI 聊天机器人,到复杂的知识库问答、内容审核、智能客服、自动摘要、图片理解、文档处理等多种场景。
二、应用场景一:AI 聊天机器人
AI 聊天机器人是最常见的生成式 AI 应用场景。过去如果要搭建聊天机器人,通常需要调用 OpenAI、Anthropic、Google Gemini 等第三方模型 API。使用 Cloudflare Workers AI 后,可以直接在 Workers 中调用模型,减少后端部署成本。
适用场景
- 官网智能客服
- 产品问答助手
- 内部办公助手
- SaaS 产品中的 AI 助理
- 社区自动回复机器人
优势分析
- 部署简单:无需维护服务器,直接部署到 Cloudflare Workers。
- 全球低延迟:请求在边缘节点处理,适合全球用户访问。
- 成本可控:按调用量计费,适合中小型项目快速试错。
- 易于集成安全能力:可以结合 Turnstile、防火墙规则和限流策略防止接口滥用。
初始化项目命令
首先需要安装 Node.js,然后安装 Wrangler CLI。
npm install -g wrangler
登录 Cloudflare:
wrangler login
创建 Workers 项目:
npm create cloudflare@latest cloudflare-ai-chatbot
进入项目目录:
cd cloudflare-ai-chatbot
安装依赖:
npm install
初始化 Workers AI 绑定配置。编辑 wrangler.toml:
name = "cloudflare-ai-chatbot"
main = "src/index.ts"
compatibility_date = "2024-06-01"
[ai]
binding = "AI"
示例代码
编辑 src/index.ts:
export interface Env {
AI: Ai;
}
export default {
async fetch(request: Request, env: Env): Promise {
if (request.method !== "POST") {
return new Response("Only POST method is allowed", {
status: 405,
});
}
const body = await request.json() as {
message?: string;
};
const userMessage = body.message || "你好,请介绍一下 Cloudflare Workers AI。";
const response = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
messages: [
{
role: "system",
content: "你是一个专业、友好、简洁的中文 AI 助手。",
},
{
role: "user",
content: userMessage,
},
],
});
return Response.json(response);
},
};
本地运行:
wrangler dev
测试接口:
curl -X POST http://localhost:8787 \
-H "Content-Type: application/json" \
-d '{"message":"请用三句话解释 Cloudflare Workers AI 的优势"}'
部署到线上:
wrangler deploy
部署后测试:
curl -X POST https://cloudflare-ai-chatbot..workers.dev \
-H "Content-Type: application/json" \
-d '{"message":"请介绍一下你能做什么"}'
三、应用场景二:企业知识库问答 RAG
很多企业希望 AI 能基于自己的文档、产品手册、FAQ、内部制度等内容回答问题,而不是只依赖模型已有知识。这类场景通常称为 RAG,Retrieval-Augmented Generation,检索增强生成。
Cloudflare 的 Vectorize 可以作为向量数据库,Workers AI 可以生成 embedding 和回答内容,R2 可以存储原始文档,三者组合后即可构建轻量级知识库问答系统。
RAG 基本流程
- 上传企业文档。
- 将文档切分成小段。
- 使用 embedding 模型生成向量。
- 将文本片段和向量写入 Vectorize。
- 用户提问时,将问题转成向量。
- 在 Vectorize 中检索最相似的文档片段。
- 将检索结果作为上下文交给大模型生成答案。
创建 Vectorize 索引命令
wrangler vectorize create company-docs-index \
--dimensions=768 \
--metric=cosine
查看索引:
wrangler vectorize list
在 wrangler.toml 中绑定 Vectorize:
name = "cloudflare-rag-demo"
main = "src/index.ts"
compatibility_date = "2024-06-01"
[ai]
binding = "AI"
[[vectorize]]
binding = "VECTORIZE"
index_name = "company-docs-index"
写入知识库数据示例
创建项目:
npm create cloudflare@latest cloudflare-rag-demo
cd cloudflare-rag-demo
npm install
编辑 src/index.ts:
export interface Env {
AI: Ai;
VECTORIZE: VectorizeIndex;
}
async function generateEmbedding(env: Env, text: string) {
const result = await env.AI.run("@cf/baai/bge-base-en-v1.5", {
text,
});
return result.data[0];
}
export default {
async fetch(request: Request, env: Env): Promise {
const url = new URL(request.url);
if (url.pathname === "/insert" && request.method === "POST") {
const body = await request.json() as {
id: string;
text: string;
};
const embedding = await generateEmbedding(env, body.text);
await env.VECTORIZE.upsert([
{
id: body.id,
values: embedding,
metadata: {
text: body.text,
},
},
]);
return Response.json({
success: true,
id: body.id,
});
}
if (url.pathname === "/ask" && request.method === "POST") {
const body = await request.json() as {
question: string;
};
const questionEmbedding = await generateEmbedding(env, body.question);
const matches = await env.VECTORIZE.query(questionEmbedding, {
topK: 3,
returnMetadata: true,
});
const context = matches.matches
.map((item: any, index: number) => {
return `资料${index + 1}:${item.metadata.text}`;
})
.join("\n");
const answer = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
messages: [
{
role: "system",
content:
"你是企业知识库问答助手。请只基于给定资料回答,如果资料不足,请明确说明无法从资料中确定。",
},
{
role: "user",
content: `资料如下:\n${context}\n\n问题:${body.question}`,
},
],
});
return Response.json({
question: body.question,
context,
answer,
});
}
return new Response("Not Found", {
status: 404,
});
},
};
部署:
wrangler deploy
插入知识片段:
curl -X POST https://cloudflare-rag-demo..workers.dev/insert \
-H "Content-Type: application/json" \
-d '{
"id": "doc-001",
"text": "Cloudflare Workers 是一种无服务器边缘计算平台,可以在全球边缘节点运行 JavaScript、TypeScript、Rust 等代码。"
}'
继续插入第二段:
curl -X POST https://cloudflare-rag-demo..workers.dev/insert \
-H "Content-Type: application/json" \
-d '{
"id": "doc-002",
"text": "Cloudflare Vectorize 是向量数据库服务,常用于语义搜索、推荐系统和 RAG 知识库问答。"
}'
提问测试:
curl -X POST https://cloudflare-rag-demo..workers.dev/ask \
-H "Content-Type: application/json" \
-d '{
"question": "Vectorize 主要适合做什么?"
}'
四、应用场景三:AI Gateway 统一管理大模型 API
在真实业务中,很多团队不会只使用一个模型,而是同时使用 OpenAI、Anthropic、Workers AI、Google Gemini 等多个模型服务。此时会出现几个问题:
- 如何监控每个模型的调用量?
- 如何记录请求延迟、失败率和成本?
- 如何给 AI API 增加缓存?
- 如何统一处理超时和重试?
- 如何防止密钥直接暴露在客户端?
Cloudflare AI Gateway 就是为这些问题设计的。它可以作为 AI API 调用的统一入口,对请求进行观测、缓存、速率控制和管理。
适用场景
- 多模型供应商统一管理
- 大模型 API 成本分析
- AI 请求日志审计
- AI API 缓存优化
- 企业级模型网关
创建 AI Gateway
可以在 Cloudflare Dashboard 中创建,也可以直接通过 API 方式管理。通常更推荐先在控制台创建 Gateway,假设名称为:
my-ai-gateway
调用 OpenAI 时,可以将请求地址替换为 Cloudflare AI Gateway 的地址:
curl https://gateway.ai.cloudflare.com/v1//my-ai-gateway/openai/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "请解释 AI Gateway 的作用"
}
]
}'
如果使用环境变量:
export CLOUDFLARE_ACCOUNT_ID="你的 Cloudflare Account ID"
export OPENAI_API_KEY="你的 OpenAI API Key"
完整命令如下:
curl "https://gateway.ai.cloudflare.com/v1/${CLOUDFLARE_ACCOUNT_ID}/my-ai-gateway/openai/chat/completions" \
-H "Authorization: Bearer ${OPENAI_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "你是一个专业的中文技术顾问。"
},
{
"role": "user",
"content": "请分析 Cloudflare AI Gateway 在企业 AI 架构中的价值。"
}
]
}'
五、应用场景四:内容审核与安全防护
AI 应用一旦对外开放,就会面临滥用风险。例如:
- 恶意刷接口导致成本失控
- 用户提交违法、辱骂、广告或垃圾内容
- Prompt Injection 攻击
- 机器人批量注册账号
- 通过 AI 生成大量低质量内容
Cloudflare 在安全方面具备天然优势,可以将 AI 能力与安全产品结合起来。
可组合能力
| 能力 | 作用 |
|---|---|
| WAF | 防御常见 Web 攻击 |
| Rate Limiting | 限制请求频率 |
| Turnstile | 防止机器人滥用 |
| Workers | 自定义内容审核逻辑 |
| AI Gateway | 监控 AI 请求 |
| Access | 保护内部 AI 工具 |
使用 Workers AI 做简单内容审核
例如,我们可以要求模型判断用户输入是否包含广告、辱骂、敏感内容,并返回 JSON。
export interface Env {
AI: Ai;
}
export default {
async fetch(request: Request, env: Env): Promise {
const body = await request.json() as {
text: string;
};
const result = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
messages: [
{
role: "system",
content:
"你是内容审核系统。请判断用户文本是否安全,只返回 JSON,格式为 {\"safe\": true, \"reason\": \"原因\"}。",
},
{
role: "user",
content: body.text,
},
],
});
return Response.json(result);
},
};
测试命令:
curl -X POST https://content-moderation..workers.dev \
-H "Content-Type: application/json" \
-d '{
"text": "请帮我生成一段正常的产品介绍文案"
}'
加入简单 IP 限流思路
虽然 Cloudflare Dashboard 可以配置更完整的 Rate Limiting,但在 Workers 中也可以做基础逻辑,例如结合 KV 或 D1 记录访问次数。生产环境建议优先使用 Cloudflare 原生速率限制能力,减少应用层复杂度。
六、应用场景五:自动摘要与文档处理
企业内部每天会产生大量内容,例如会议纪要、客服对话、邮件、合同、产品反馈、日志报告等。这些内容如果完全依靠人工阅读和整理,效率很低。通过 Cloudflare Workers AI,可以快速实现自动摘要、重点提取、结构化信息抽取等能力。
典型应用
- 会议纪要自动总结
- 客服工单摘要
- 用户反馈分类
- 合同条款要点提取
- 日志异常说明生成
- 新闻资讯摘要
示例代码
export interface Env {
AI: Ai;
}
export default {
async fetch(request: Request, env: Env): Promise {
const body = await request.json() as {
content: string;
};
const result = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
messages: [
{
role: "system",
content:
"你是专业中文文档处理助手。请对输入内容进行摘要,输出:1. 一句话总结;2. 关键要点;3. 待办事项。",
},
{
role: "user",
content: body.content,
},
],
});
return Response.json(result);
},
};
测试命令:
curl -X POST https://doc-summary..workers.dev \
-H "Content-Type: application/json" \
-d '{
"content": "今天会议讨论了新版本上线计划。产品团队提出下周三完成需求验收,研发团队预计周五完成核心功能开发,测试团队需要在下周一前准备测试用例。大家一致认为需要提前准备灰度发布方案。"
}'
七、应用场景六:图片生成与多模态应用
Cloudflare Workers AI 也支持部分图像相关模型能力。对于营销、设计、内容平台来说,图片生成和图片理解具有较大价值。
适用场景
- 根据文案生成配图
- 电商商品图辅助生成
- 社交媒体封面生成
- 图片描述生成
- 图片内容识别
- 视觉问答
图片生成示例
export interface Env {
AI: Ai;
}
export default {
async fetch(request: Request, env: Env): Promise {
const body = await request.json() as {
prompt: string;
};
const image = await env.AI.run("@cf/stabilityai/stable-diffusion-xl-base-1.0", {
prompt: body.prompt,
});
return new Response(image, {
headers: {
"Content-Type": "image/png",
},
});
},
};
测试命令:
curl -X POST https://image-gen..workers.dev \
-H "Content-Type: application/json" \
-d '{
"prompt": "A futuristic cloud computing data center, cyberpunk style, blue and purple lighting"
}' \
--output cloudflare-ai-image.png
八、应用场景七:结合 R2 构建 AI 文件处理系统
R2 是 Cloudflare 的对象存储服务,兼容 S3 API,适合保存文件、图片、音频、文档和 AI 生成结果。将 R2 与 Workers AI 结合,可以构建一个 Serverless 文件处理系统。
创建 R2 存储桶
wrangler r2 bucket create ai-files
查看存储桶:
wrangler r2 bucket list
绑定 R2 到 Worker:
name = "ai-file-processor"
main = "src/index.ts"
compatibility_date = "2024-06-01"
[ai]
binding = "AI"
[[r2_buckets]]
binding = "BUCKET"
bucket_name = "ai-files"
上传文件命令
wrangler r2 object put ai-files/demo.txt \
--file ./demo.txt
下载文件命令:
wrangler r2 object get ai-files/demo.txt \
--file ./download-demo.txt
删除文件命令:
wrangler r2 object delete ai-files/demo.txt
文件读取与摘要示例
export interface Env {
AI: Ai;
BUCKET: R2Bucket;
}
export default {
async fetch(request: Request, env: Env): Promise {
const url = new URL(request.url);
const key = url.searchParams.get("key");
if (!key) {
return new Response("Missing key", {
status: 400,
});
}
const object = await env.BUCKET.get(key);
if (!object) {
return new Response("File not found", {
status: 404,
});
}
const text = await object.text();
const summary = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
messages: [
{
role: "system",
content: "请将输入文档总结为中文要点列表。",
},
{
role: "user",
content: text,
},
],
});
return Response.json({
key,
summary,
});
},
};
测试:
curl "https://ai-file-processor..workers.dev?key=demo.txt"
九、应用场景八:AI 驱动的搜索与推荐系统
传统搜索依赖关键词匹配,用户必须输入准确词汇才能得到较好结果。向量搜索则可以理解语义,即使用户的表达方式与文档中的词不同,也能找到相关内容。
例如,文档中写的是“边缘计算平台”,用户搜索“离用户更近的云函数”,向量搜索仍可能匹配到相关内容。
适用场景
- 文档语义搜索
- 电商商品推荐
- 内容平台相关推荐
- FAQ 智能检索
- 招聘岗位匹配
- 代码片段搜索
技术组合
Workers AI 生成 embedding
↓
Vectorize 存储向量
↓
Workers 接收搜索请求
↓
Vectorize 返回相似结果
↓
前端展示搜索结果
查询示例命令
curl -X POST https://cloudflare-rag-demo..workers.dev/ask \
-H "Content-Type: application/json" \
-d '{
"question": "如何用 Cloudflare 做语义搜索?"
}'
十、应用场景九:边缘部署的 AI API 后端
Cloudflare Workers 最大的特点是边缘部署。对于 AI 应用来说,边缘部署并不意味着所有推理都必须在边缘完成,更重要的是:请求入口、鉴权、缓存、路由、日志、降级和安全控制可以在边缘完成。
架构优势
-
降低入口延迟
用户请求先到最近的 Cloudflare 节点,再由 Worker 决定调用 Workers AI、第三方模型或内部 API。 -
统一鉴权
可以在 Worker 层校验 JWT、API Key、Session 或 Turnstile Token。 -
灰度发布
可以根据用户 ID、地区、请求头切换不同模型。 -
成本优化
对重复问题进行缓存,减少模型调用次数。 -
故障降级
当第三方模型不可用时,自动切换到备用模型。
简单模型路由示例
export interface Env {
AI: Ai;
OPENAI_API_KEY: string;
}
export default {
async fetch(request: Request, env: Env): Promise {
const body = await request.json() as {
message: string;
provider?: string;
};
if (body.provider === "workers-ai") {
const result = await env.AI.run("@cf/meta/llama-3.1-8b-instruct", {
messages: [
{
role: "user",
content: body.message,
},
],
});
return Response.json({
provider: "workers-ai",
result,
});
}
const openaiResp = await fetch("https://api.openai.com/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${env.OPENAI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-4o-mini",
messages: [
{
role: "user",
content: body.message,
},
],
}),
});
return new Response(openaiResp.body, {
headers: {
"Content-Type": "application/json",
},
});
},
};
设置密钥:
wrangler secret put OPENAI_API_KEY
部署:
wrangler deploy
测试 Workers AI:
curl -X POST https://ai-router..workers.dev \
-H "Content-Type: application/json" \
-d '{
"provider": "workers-ai",
"message": "请解释边缘 AI API 后端的优势"
}'
测试 OpenAI:
curl -X POST https://ai-router..workers.dev \
-H "Content-Type: application/json" \
-d '{
"provider": "openai",
"message": "请解释模型路由的价值"
}'
十一、生产环境最佳实践
Cloudflare AI 适合快速构建 AI 应用,但生产环境仍需要关注安全、稳定性和成本控制。
1. 不要在前端暴露模型 API Key
如果使用第三方模型 API,必须通过 Worker 代理调用,并将密钥保存在 Cloudflare Secret 中。
wrangler secret put OPENAI_API_KEY
查看已配置密钥:
wrangler secret list
2. 增加请求频率限制
对外开放的 AI 接口必须做限流,否则很容易被刷爆成本。可以结合 Cloudflare Rate Limiting、WAF 或 Worker 自定义逻辑。
3. 对重复问题增加缓存
对于 FAQ、文档问答、固定模板生成等场景,可以缓存结果,减少模型调用。
const cache = caches.default;
const cacheKey = new Request(request.url, request);
const cached = await cache.match(cacheKey);
if (cached) {
return cached;
}
4. 记录请求日志
建议记录以下信息:
- 用户 ID
- 请求时间
- 模型名称
- 输入 token 数
- 输出 token 数
- 请求耗时
- 错误码
- 成本估算
这些数据可以进入 D1、Analytics Engine 或外部日志系统。
5. 防止 Prompt Injection
对于 RAG 应用,不要无条件相信检索出来的文档内容。系统提示词中应明确要求模型只基于资料回答,并避免执行文档中的隐藏指令。
6. 设置模型降级方案
如果主模型不可用,可以自动切换到备用模型。例如:
优先使用 Workers AI
失败后切换 OpenAI
再次失败返回模板化回答
十二、Cloudflare AI 的优势与局限
主要优势
-
边缘网络能力强
Cloudflare 拥有全球分布式网络,对于全球化业务非常友好。 -
Serverless 架构简单
开发者不需要管理服务器、负载均衡和容器集群。 -
产品组合完整
Workers、R2、D1、Vectorize、Queues、AI Gateway 可以覆盖大多数 AI 应用基础需求。 -
适合快速原型开发
从创建项目到部署上线通常只需要几分钟。 -
安全能力成熟
Cloudflare 的 WAF、DDoS 防护、Turnstile、Access 等能力可以直接服务 AI 应用。
主要局限
-
模型选择有限
Workers AI 支持的模型数量相比专业模型平台可能更少。 -
复杂训练任务不适合
Cloudflare AI 更偏推理与应用层,不适合大规模模型训练。 -
长上下文能力受模型限制
如果需要处理超长文档,仍需要分块、摘要、RAG 等工程方案。 -
部分能力依赖区域和套餐
不同账号、套餐和地区可能有不同限制,生产前应查看官方文档。
十三、推荐落地架构
如果你要构建一个企业级 AI 知识库问答系统,可以采用以下架构:
用户浏览器
↓
Cloudflare Pages 前端
↓
Cloudflare Turnstile 防滥用
↓
Cloudflare Workers API
↓
鉴权、限流、日志、缓存
↓
Workers AI 生成 embedding
↓
Vectorize 语义检索
↓
Workers AI 或第三方大模型生成回答
↓
D1 记录会话与日志
↓
R2 存储原始文档与附件
对应的基础设施创建命令可以整理如下:
# 安装 Wrangler
npm install -g wrangler
# 登录 Cloudflare
wrangler login
# 创建 Workers 项目
npm create cloudflare@latest enterprise-ai-kb
# 进入目录
cd enterprise-ai-kb
# 安装依赖
npm install
# 创建 Vectorize 索引
wrangler vectorize create enterprise-kb-index \
--dimensions=768 \
--metric=cosine
# 创建 R2 存储桶
wrangler r2 bucket create enterprise-kb-files
# 创建 D1 数据库
wrangler d1 create enterprise-kb-db
# 设置第三方模型密钥,可选
wrangler secret put OPENAI_API_KEY
# 本地开发
wrangler dev
# 部署上线
wrangler deploy
D1 创建后会返回数据库信息,需要写入 wrangler.toml:
[[d1_databases]]
binding = "DB"
database_name = "enterprise-kb-db"
database_id = "替换为创建 D1 后返回的 database_id"
创建会话日志表:
wrangler d1 execute enterprise-kb-db \
--command "CREATE TABLE IF NOT EXISTS chat_logs (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id TEXT,
question TEXT,
answer TEXT,
model TEXT,
created_at TEXT
);"
查询日志:
wrangler d1 execute enterprise-kb-db \
--command "SELECT * FROM chat_logs ORDER BY id DESC LIMIT 10;"
十四、总结
Cloudflare AI 的价值不只是“提供一个模型调用接口”,而是把 AI 推理、边缘计算、安全防护、对象存储、向量检索、数据库和 API 网关整合到一个统一的平台中。对于开发者和企业来说,这意味着可以用更少的基础设施成本,更快地构建 AI 应用。
从应用场景来看,Cloudflare AI 特别适合以下方向:
- AI 聊天机器人
- 企业知识库问答
- AI API 网关
- 内容审核
- 文档摘要
- 图片生成
- 智能搜索
- 文件处理
- 边缘 AI API 后端
如果你的目标是快速上线一个 AI 原型,或者希望在现有 Web 产品中增加 AI 能力,Cloudflare 是一个非常值得考虑的平台。它不一定适合所有复杂 AI 场景,例如大规模训练、极致高性能 GPU 推理或超长上下文任务,但对于大量应用层 AI 产品来说,Cloudflare 提供了一套非常实用、轻量、可扩展的解决方案。
最终,AI 应用的竞争力并不只来自模型本身,更来自工程能力、用户体验、安全体系和成本控制。Cloudflare 的优势正是在这些应用基础设施层面,为开发者提供了一条更简洁的路径。