1. 项目概述当AI开发告别“拧螺丝”如果你是一名开发者或者对AI应用开发感兴趣最近可能被一个词刷屏了OpenClaw。它被很多人称为AI应用开发的“自动驾驶”模式口号是让开发从“手动挡”变成“说话就行”。这听起来有点玄乎但背后反映的其实是整个AI应用开发范式正在经历的一场深刻变革。过去一年我亲眼见证了身边不少朋友和团队的状态。有做了七八年前端开发的老哥公司业务收缩被优化想转型AI应用开发面对大模型API、Agent框架、向量数据库、LangChain这些新概念感觉像在重新学一门编程语言。也有中小企业的技术负责人老板看到ChatGPT火了也想做个智能客服或者知识库问答但一打听要么得招价格不菲的AI算法工程师要么得买昂贵的云服务最后往往因为“缺钱、缺人、缺技术”而不了了之。OpenClaw的出现瞄准的正是这个痛点。它不是一个单一的工具而是一个开源的、旨在降低AI智能体Agent和应用开发门槛的平台。它的核心思想是“自然语言编程”——你不需要从零开始写大量的胶水代码去连接大模型、工具和业务流程而是通过“说话”即用自然语言描述需求或者简单的配置就能快速构建出一个能执行复杂任务的AI智能体。这就像开车以前你得懂离合器、换挡杆各种SDK、框架现在你只需要告诉车“去公司”它就能自己规划路线、处理路况。那么OpenClaw具体是怎么做到的它真的能让我们“说话就行”吗作为一个深度体验并尝试将其用于实际项目的开发者我想和你深入聊聊OpenClaw的里里外外它如何重新定义AI开发的 workflow我们又该如何上手并避开那些初见的“坑”。2. OpenClaw核心设计智能体开发的“乐高积木”要理解OpenClaw为何能简化开发首先得拆解它的核心设计哲学。你可以把它想象成一套高度模块化、标准化的“乐高积木”系统。传统的AI应用开发你需要自己切割积木编写底层逻辑再用胶水粘合写集成代码。而OpenClaw提前为你准备好了各种形状、功能明确的积木块并且提供了清晰的拼接接口。2.1 架构解析三层抽象分离关注点OpenClaw的架构通常可以抽象为三个核心层次这种设计有效地分离了不同复杂度的工作。第一层模型抽象层。这是最底层负责与大模型对话。OpenClaw的核心优势之一是其对多种大模型的统一接入能力。无论是 OpenAI 的 GPT 系列、 Anthropic 的 Claude还是开源的 Llama、Qwen、DeepSeek甚至是本地部署的 Ollama 服务中的模型你都可以通过一个相对统一的配置进行接入。这意味着开发者无需为每个模型学习不同的 SDK 调用方式。在配置文件中你可能只需要这样指定概念示例model_providers: openai: api_key: ${OPENAI_API_KEY} model: gpt-4-turbo ollama: base_url: http://localhost:11434 model: llama3.2:latest当你的智能体需要推理时它会通过这一层去调用你配置好的模型上层业务逻辑无需关心具体是哪个模型在提供服务。这解决了开发中第一个头疼的问题模型选型和切换成本。第二层智能体与技能层。这是 OpenClaw 的灵魂所在。“智能体”是一个能够理解目标、规划步骤、执行任务并持续学习的虚拟实体。而“技能”是智能体可以调用的具体能力单元。OpenClaw 内置并支持扩展大量预置技能例如网络搜索技能让智能体能获取实时信息。代码执行技能在安全沙箱中运行 Python 等代码进行数学计算或数据处理。文件操作技能读取、分析、总结文档内容支持 txt, pdf, docx, pptx 等。数据库查询技能连接数据库获取业务数据。API 调用技能与外部系统如 CRM、ERP或 Web 服务进行交互。更重要的是你可以用自然语言来“定义”或“描述”一个新的技能。例如你可以告诉 OpenClaw“我需要一个技能能够根据用户提供的城市名查询该城市未来三天的天气预报并总结成一句话。” OpenClaw 可以引导你或自动尝试生成这个技能的实现逻辑可能需要结合代码或 API 调用。这就实现了从“说话”到“功能”的转化。第三层编排与协作层。单个智能体能力有限复杂的业务往往需要多个智能体分工协作。OpenClaw 提供了智能体间的通信和编排机制。你可以设计一个“项目经理”智能体它负责分解任务然后将子任务分派给“后端开发”智能体、“测试”智能体等。它们之间可以通过消息队列或共享工作空间进行交互共同完成一个复杂项目。这一层让 OpenClaw 从“自动化工具”向“虚拟团队”演进。2.2 核心概念Skill, Agent, Crew理解下面三个核心概念是玩转 OpenClaw 的关键Skill技能是原子能力。它是可复用的函数封装了具体的操作逻辑比如search_web(query),read_pdf(file_path),call_api(endpoint, payload)。你可以使用内置的也可以用 Python 轻松自定义。Agent智能体是拥有记忆、规划和执行能力的实体。每个 Agent 被赋予一个角色如“数据分析师”、“内容写手”、一个目标如“分析这份销售报告并给出建议”以及一套它可以使用的 Skills。Agent 的核心是它的“大脑”——一个大模型它利用这个大脑来理解任务、决定调用哪个技能、处理技能的返回结果并最终生成对用户的回复。Crew团队是多个 Agent 的有机组合。它定义了多个 Agent 如何协同工作的工作流。例如一个内容创作 Crew 可能包含“调研员”、“撰稿人”、“校对员”三个 Agent。工作流规定了任务从“调研”到“撰写”再到“校对”的传递顺序和条件。通过组合不同的 Skill 给 Agent再编排多个 Agent 成 Crew你就能像搭积木一样构建出从简单问答到复杂多步业务流程的各类 AI 应用。注意很多初学者容易混淆 Agent 和 Model。模型如 GPT-4是提供“思考”和“文本生成”能力的引擎是 Agent 的“CPU”。而 Agent 是一个完整的“虚拟员工”它有自己的角色、目标、记忆上下文和可以操作的工具Skills模型只是它的一部分。3. 从零到一OpenClaw的极速部署与配置实战理论说了这么多不实操都是空谈。下面我将以在 Ubuntu 系统上通过 Docker 快速部署 OpenClaw 为例带你走通全流程。选择 Docker 方式是因为它最干净避免了复杂的 Python 环境依赖问题也最接近生产部署模式。3.1 环境准备与Docker部署假设你有一台运行 Ubuntu 22.04 的云服务器或本地开发机并且已经安装了 Docker 和 Docker Compose。第一步获取部署配置文件。OpenClaw 社区通常会提供标准的docker-compose.yml文件。你可以从官方仓库或稳定分支获取。# 创建一个项目目录 mkdir openclaw-deploy cd openclaw-deploy # 下载 docker-compose 示例文件请以官方最新文档为准 wget -O docker-compose.yml https://raw.githubusercontent.com/openclawai/openclaw/main/docker-compose.yml第二步配置关键环境变量。部署前最关键的是配置.env文件。它包含了模型 API 密钥、服务端口等核心信息。# 复制环境变量示例文件 cp .env.example .env # 编辑 .env 文件 nano .env你需要重点关注并修改以下变量# 设置你的 OpenAI API 密钥如果你使用 OpenAI 模型 OPENAI_API_KEYsk-your-actual-openai-api-key-here # 如果你想使用本地 Ollama 模型配置 Ollama 服务地址 OLLAMA_BASE_URLhttp://host.docker.internal:11434 # 对于 Mac/Windows Docker Desktop # 对于 Linux 原生 Docker可能需要用服务器本地IP如 http://192.168.1.x:11434 # 设置默认使用的模型 DEFAULT_MODELgpt-4-turbo # 或 ollama:llama3.2:latest # 设置 OpenClaw 服务端口 OPENCLAW_PORT3000这里有个重要避坑点在 Linux 服务器上Docker 容器默认无法通过localhost或127.0.0.1访问宿主机上的服务如本地运行的 Ollama。你需要使用宿主机的实际局域网 IP 地址或者使用特殊的 Docker 网络别名host.docker.internal但后者在 Linux 原生 Docker 中可能需要额外配置。最稳妥的方式是让 Ollama 也运行在 Docker 中并通过 Docker Compose 网络互联。第三步启动服务。配置完成后一键启动所有服务。docker-compose up -d这个命令会拉取 OpenClaw 及其依赖的镜像如数据库并以后台模式运行。使用docker-compose logs -f openclaw可以查看实时日志确认服务是否正常启动。3.2 核心配置详解连接你的“大脑”服务跑起来后通过浏览器访问http://你的服务器IP:3000就能看到 OpenClaw 的 Web 界面。但要让智能体真正“聪明”起来关键在模型配置。1. 配置多个大模型源OpenClaw 的强大在于它不绑定任何特定模型。在 Web 界面的设置或管理后台你可以添加多个模型提供商。云模型如 OpenAI, Anthropic你需要提供对应的 API Key 和 Base URL。优势是能力强、稳定但会产生持续费用。本地模型通过 Ollama这是很多开发者青睐的免费方案。确保 Ollama 服务已运行并在 OpenClaw 中正确配置了OLLAMA_BASE_URL。你可以在 Ollama 中拉取多种模型ollama pull llama3.2:latest,ollama pull qwen2.5:7b。然后在 OpenClaw 的模型列表里你会看到类似ollama/llama3.2:latest的选项。2. 模型配置的实战技巧备用模型策略将响应速度快、成本低的模型如 GPT-3.5-turbo 或小型本地模型设为默认的“快思考”模型用于处理简单任务。将能力强的模型如 GPT-4 或 70B 参数的本地模型设为“慢思考”模型仅在处理复杂规划、创意生成时由 Agent 自动切换调用。这能在成本和效果间取得平衡。参数调优每个模型都可以单独配置temperature创造性、max_tokens最大输出长度等参数。对于需要严谨逻辑的任务如代码生成建议调低temperature如 0.1-0.3对于创意写作可以调高如 0.7-0.9。上下文长度管理本地模型通常上下文长度有限如 4K, 8K, 32K。在构建涉及长文档处理的技能时需要注意对文档进行分块处理避免超出上下文限制导致模型失忆。3. 一个常见的配置错误与解决在日志中你可能会看到类似openclaw llamap svr operator(): got exception: { error: { code: 400, ...的错误。这通常指向模型调用失败。原因分析400 错误通常是请求格式有问题或模型不存在。可能是OLLAMA_BASE_URL配置错误导致 OpenClaw 无法连接到 Ollama 服务也可能是你在 OpenClaw 中配置的模型名称如llama3.2:latest与 Ollama 实际拉取的模型名称不完全匹配。排查步骤在终端运行curl http://你的Ollama地址:11434/api/tags查看 Ollama 中已有的模型列表确认名称。检查 OpenClaw 容器网络是否能连通 Ollama 服务docker exec openclaw-container curl http://宿主机IP:11434。确保在 OpenClaw 的模型配置中使用了正确的、完整的模型标识符。4. 技能与智能体开发实战构建你的第一个AI员工平台搭好了模型接入了现在我们来创造点实际的东西。假设我们要构建一个“市场调研员”AI智能体它的任务是当我给出一个产品名称比如“智能水杯”时它能自动搜索最新的市场信息、用户评论并生成一份简明的竞争分析报告。4.1 技能定义与封装这个智能体需要两个核心技能网络搜索和文本总结。OpenClaw 可能已经内置了这些技能但我们需要知道如何自定义和强化它们。1. 使用内置搜索技能OpenClaw 的内置搜索技能可能基于 Serper、Google Search API 或 DuckDuckGo。你需要在技能配置中填入对应 API 的密钥。以 Serper 为例它提供免费的额度在技能配置页面找到 “Web Search” 或类似技能。填入从 Serper.dev 获取的 API Key。测试技能在技能测试框输入“智能水杯 2024 最新评测”看是否能返回相关的搜索结果摘要和链接。2. 创建自定义文本分析技能内置的总结技能可能比较通用。我们可以创建一个更专业的“竞争分析总结”技能。虽然可以通过纯自然语言描述让 OpenClaw 生成但对于稳定可控的需求编写 Python 代码是更好的选择。在 OpenClaw 的技能创建界面选择“自定义代码技能”。我们可以写一个函数它接收搜索技能返回的原始文本列表调用大模型进行结构化提取# 示例自定义竞争分析技能 (competitor_analysis.py) import json from typing import List, Dict # OpenClaw 通常会提供一些运行时工具和装饰器 from openclaw.skill import skill, SkillContext skill( namecompetitive_analysis_summarizer, description从多篇市场文章和评论中提取产品竞争格局、优劣势和用户痛点。 ) def analyze_competition(articles: List[Dict], product_name: str, ctx: SkillContext) - str: articles: 列表每个元素包含‘title’, ‘snippet’, ‘link’等字段 product_name: 目标产品名称 # 1. 将文章内容拼接成提示词 content_to_analyze \n---\n.join([f标题{a[title]}\n摘要{a[snippet]} for a in articles[:5]]) # 取前5篇 # 2. 构造给大模型的提示词 prompt f 你是一名资深市场分析师。请基于以下关于“{product_name}”的市场信息生成一份竞争分析简报。 信息源 {content_to_analyze} 请按以下结构组织回答 ## 一、主要竞争对手 列出提及的竞品名称 ## 二、核心产品卖点与用户评价 分点总结当前市场上该类产品的核心功能和用户反馈 ## 三、潜在市场机会与风险 基于信息分析未满足的需求和可能存在的问题 请确保分析客观引用信息源中的具体表述。 # 3. 调用配置的大模型通过ctx提供的工具 response ctx.llm.completion(prompt, modelgpt-4-turbo) # 指定使用分析能力强的模型 return response.content将这个技能上传或粘贴到 OpenClaw 技能开发模块它就会被注册到技能库中供任何智能体调用。4.2 智能体角色塑造与任务规划有了技能现在来创造“市场调研员”这个智能体。定义角色与目标角色“你是一名专注消费电子领域的市场调研专家思维严谨注重数据来源。”目标“根据用户提供的产品名称进行网络调研并输出一份结构清晰、信息有据可依的竞争分析简报。”约束“必须使用网络搜索技能获取最新信息。分析必须基于事实避免主观臆断。最终输出必须包含‘主要竞争对手’、‘核心卖点与评价’、‘市场机会与风险’三个部分。”装备技能在智能体配置界面将我们准备好的“网络搜索”技能和自定义的“competitive_analysis_summarizer”技能赋予它。工作流设计单智能体版这个智能体内部的工作流是线性的步骤1接收用户输入的产品名。步骤2调用“网络搜索”技能关键词为“{产品名}市场 竞争 评测 2024”。步骤3将搜索结果的原始数据连同产品名传递给“competitive_analysis_summarizer”技能。步骤4将技能生成的最终报告返回给用户。在 OpenClaw 的 Crew多智能体协作设计器中你可以通过拖拽或配置 YAML 来直观地定义这个流程。但对于单个智能体其内部的“规划器”会基于你的角色和目标描述自动决定何时调用哪个技能。实操心得定义角色和目标时越具体、越有约束性智能体的行为就越可控。例如加上“信息必须来自最近三个月”或“优先考虑权威科技媒体来源”这样的约束能显著提升输出质量。这就像给你的 AI 员工一份非常明确的岗位说明书。5. 多智能体协作打造你的AI虚拟团队单个“市场调研员”已经能干活了但真实业务往往更复杂。比如我们不仅需要分析报告还希望基于报告自动生成一份面向社交媒体发布的营销文案。这时就需要组建一个 Crew。5.1 设计一个内容创作Crew我们设计一个由三个智能体组成的虚拟内容团队研究员负责市场调研即我们刚才创建的智能体。文案写手负责根据调研报告撰写吸引人的社交媒体文案如微博、小红书风格。审核员负责检查文案的合规性、语气是否与品牌一致并给出修改建议。5.2 在OpenClaw中编排工作流在 OpenClaw 的 Crew 创建界面我们可以可视化地编排这个流程[用户输入产品名“智能水杯”] | v ------------------- | 研究员 Agent | | (执行调研任务) | ------------------- | | (输出竞争分析报告) v ------------------- | 文案写手 Agent | | (输入分析报告) | | (输出初稿文案) | ------------------- | | (输出营销文案初稿) v ------------------- | 审核员 Agent | | (输入初稿文案) | | (输出审核意见) | ------------------- | | (可选将意见反馈给写手迭代) v [最终输出审核后的营销文案]这个流程可以是线性的也可以加入循环。例如审核员如果认为文案不合格可以将意见连同初稿一起发回给文案写手进行修改直到审核通过。配置关键点任务传递需要明确定义每个 Agent 的输入来自哪个上游 Agent 的输出。在 OpenClaw 中这通常通过定义“任务”的input和output映射来实现。触发条件可以设置审核员只有在文案写手任务状态为“完成”时才启动。共享上下文研究员生成的报告需要能完整地传递给文案写手。OpenClaw 的 Crew 工作流引擎会管理这个共享的“工作空间”或“上下文”确保信息无损传递。5.3 高级协作模式竞争与辩论除了流水线协作OpenClaw 还支持更复杂的模式。例如你可以创建一个“方案辩论” Crew智能体A激进派角色是“激进的市场营销专家”主张采用大胆、出位的宣传策略。智能体B保守派角色是“谨慎的品牌合规官”主张采用稳妥、安全的宣传策略。智能体C决策者角色是“产品经理”负责听取两派辩论并最终拍板决定一个融合方案。你只需要给决策者智能体一个目标“组织关于‘智能水杯’营销方案的辩论并基于辩论内容制定一个平衡创新与风险的最终方案”。然后将三个智能体加入同一个 CrewOpenClaw 的框架会基于它们各自的角色和目标模拟出辩论和决策的过程。这种模式对于头脑风暴、风险评估特别有效。6. 集成与扩展让OpenClaw融入你的业务流一个只在内部测试的 AI 应用价值有限。OpenClaw 真正的威力在于它能无缝集成到现有的业务系统中。6.1 多种集成方式API 集成这是最常见的方式。OpenClaw 提供了 RESTful API。你可以将你创建好的 Crew 发布为一个 API 端点。外部系统如你的网站后台、CRM 系统只需向这个端点发送一个 HTTP POST 请求包含产品名参数就能触发整个 AI 虚拟团队的工作并异步或同步地获取最终的分析报告或文案。# 示例调用调研Crew的API curl -X POST http://your-openclaw-server:3000/api/crew/market_research_crew/run \ -H Content-Type: application/json \ -d {inputs: {product_name: 智能水杯}}消息平台集成例如接入飞书、钉钉、企业微信。OpenClaw 支持通过 Webhook 或官方机器人 SDK监听群聊或私聊消息。当有人在群里说“调研一下智能水杯市场”机器人能自动触发对应的 Crew并将结果回复到群里。这大大降低了非技术同事的使用门槛。定时任务与自动化你可以配置 Crew 作为定时任务运行。例如每天上午 9 点自动运行“竞品监控” Crew搜索指定竞争对手的最新动态并生成日报发送到指定邮箱或群。6.2 自定义技能开发连接内部系统OpenClaw 内置技能虽多但连接你公司内部数据库、ERP、CRM 等系统需要开发自定义技能。这通常是 Python 函数的编写。示例开发一个“查询客户订单”技能。from openclaw.skill import skill, SkillContext import pandas as pd # 假设你有一个内部数据库查询模块 from internal.db_client import query_database skill( namequery_customer_orders, description根据客户ID查询其最近一年的订单金额和产品类别。 ) def get_orders(customer_id: str, ctx: SkillContext) - dict: # 1. 参数验证 if not customer_id.isdigit(): return {error: Invalid customer ID format} # 2. 调用内部系统注意权限和网络安全 sql fSELECT order_id, product_category, amount, order_date FROM orders WHERE customer_id {customer_id} AND order_date DATE_SUB(NOW(), INTERVAL 1 YEAR) result_df query_database(sql) # 3. 将结果处理成自然语言或结构化数据 if result_df.empty: summary f客户 {customer_id} 在过去一年内没有订单记录。 else: total_amount result_df[amount].sum() top_category result_df[product_category].mode()[0] summary f客户 {customer_id} 过去一年共有 {len(result_df)} 笔订单总金额 {total_amount} 元最常购买的产品类别是‘{top_category}’。 # 4. 返回给智能体 return { summary: summary, raw_data: result_df.to_dict(orientrecords) # 也可以返回原始数据供后续技能分析 }将这个技能部署后你的销售分析 Agent 就能直接调用它来获取实时业务数据结合市场情报做出更精准的分析。重要安全提示开发连接内部系统的自定义技能时务必遵循最小权限原则为技能使用的服务账户分配仅够其完成任务的权限。同时所有输入参数必须进行严格的验证和清理防止 SQL 注入等安全风险。建议通过 API 网关或专用的微服务来代理对内部系统的访问而不是直接在技能代码中暴露数据库连接信息。7. 避坑指南与效能优化在实际使用 OpenClaw 的过程中我踩过不少坑也总结了一些提升效能的经验。7.1 常见问题排查速查表问题现象可能原因排查步骤与解决方案智能体“发呆”不执行技能1. 模型配置错误未响应。2. 技能定义不清模型不知如何调用。3. 提示词中角色/目标描述过于模糊。1. 检查模型连接和 API 密钥在模型测试界面尝试简单对话。2. 检查技能描述是否清晰description字段至关重要用自然语言明确说明输入输出。3. 细化智能体的角色和目标加入更具体的指令如“你必须按步骤执行首先调用X技能然后处理结果...”。技能调用返回错误或空结果1. 技能依赖的 API 服务异常或密钥失效。2. 技能输入参数格式不正确。3. 技能代码本身存在 Bug。1. 在技能配置界面单独测试该技能确认外部服务正常。2. 检查智能体传递给技能的参数是否符合技能函数定义的参数类型。3. 查看 OpenClaw 后台日志定位技能执行时的具体报错信息调试自定义技能代码。多智能体 Crew 卡在某个环节1. 任务依赖关系配置错误。2. 上游 Agent 输出格式不符合下游 Agent 输入期望。3. 某个 Agent 执行超时。1. 在 Crew 设计器检查任务流程图确认连线正确。2. 检查每个 Agent 的输入输出定义确保数据能正确传递。可能需要添加上下文格式化技能。3. 调整 Agent 或 Crew 级别的超时设置对于长任务给予更长时间。本地模型响应慢且效果差1. 硬件资源CPU/GPU/RAM不足。2. 模型参数temperature, top_p设置不当。3. 提示词工程不到位。1. 使用ollama ps查看资源占用考虑升级硬件或使用量化版小模型如llama3.2:3b。2. 针对任务类型调整参数。复杂推理可尝试降低temperature至 0.1。3. 为本地模型设计更详细、更具引导性的提示词Few-shot 示例效果显著。7.2 性能与成本优化策略模型分级调用这是节省成本的关键。不要所有任务都用 GPT-4。将任务分类简单分类、格式化、提取使用 GPT-3.5-Turbo 或更小的本地模型。复杂规划、创意生成、深度分析使用 GPT-4、Claude-3 或大型本地模型。 在 OpenClaw 中可以通过为不同技能或不同优先级的任务配置不同的模型来实现。缓存与记忆对于频繁查询的、结果变化不快的任务如“查询某产品的历史价格”可以在技能层或应用层增加缓存机制如 Redis避免重复调用大模型或外部 API极大提升响应速度并节省费用。提示词工程优化智能体的表现极度依赖提示词。一些技巧结构化输出明确要求模型以 JSON、XML 或特定 Markdown 标题格式输出便于后续技能解析。少样本示例在角色描述中直接给出 1-2 个输入输出的例子让模型快速掌握任务模式。链式思考对于复杂问题在提示词中要求模型“一步步思考”这能显著提升本地模型在逻辑问题上的表现。异步与流式处理对于耗时长超过10秒的 Crew 任务一定要设计为异步模式。即 API 调用立即返回一个任务 ID客户端通过轮询或 WebSocket 来获取任务状态和最终结果。避免 HTTP 请求超时。7.3 从开发到生产稳定性考量当你想把一个 OpenClaw 智能体投入生产环境时需注意监控与告警对关键 Crew 的运行状态、耗时、模型调用失败率进行监控。设置告警当失败率超过阈值时及时通知。版本管理对智能体、技能、Crew 的配置进行版本控制如使用 Git。任何修改都应先经过测试环境验证。回滚机制当新上线的智能体出现严重问题时能快速回滚到上一个稳定版本。负载与扩容如果使用本地模型需要评估单台服务器的并发处理能力。考虑使用 Docker Swarm 或 Kubernetes 来部署多个 OpenClaw 和 Ollama 实例实现负载均衡和高可用。OpenClaw 代表的“自然语言编程”和“智能体协作”范式确实将 AI 应用的开发门槛降低了一个数量级。它让业务专家能够更直接地将想法转化为可运行的 AI 流程也让开发者从繁琐的集成代码中解放出来更专注于核心的业务逻辑和 AI 工作流设计。当然它并非银弹复杂的业务逻辑、严格的系统集成、生产环境的稳定性仍然需要专业的软件工程能力来保障。但毫无疑问它已经为我们打开了一扇新的大门让“说话就行”的 AI 应用开发从未来展望变成了今天的可行实践。