基于国产大模型的智能体开发实战:从ReAct框架到Clawdbot部署

发布时间:2026/8/5 21:41:48
基于国产大模型的智能体开发实战:从ReAct框架到Clawdbot部署 1. 项目概述当Clawdbot遇上国产大模型最近在GitHub上冲浪发现一个叫Clawdbot的项目火得不行星标数直奔7万。这玩意儿本质上是一个智能体Agent但它干的事儿特别接地气让你能用自然语言指挥你的电脑干活。比如你躺在床上对着手机说一句“帮我把上周五的会议纪要整理成PPT发到项目群里”它就能自己打开文档、提取信息、生成幻灯片、登录聊天软件、发送文件。这听起来是不是有点科幻但Clawdbot正在把它变成现实。更让我感兴趣的是这个项目在中文社区爆火的一个关键点在于它被许多开发者用来“魔改”接入了国产的大语言模型LLM作为其“大脑”或“心脏”。原版项目可能默认使用OpenAI的GPT系列但对于我们国内用户来说网络、费用、数据隐私都是现实问题。于是一批技术爱好者开始尝试用智谱AI的GLM、百度的文心一言、阿里的通义千问甚至是开源的ChatGLM、Qwen等模型来驱动Clawdbot让它变成一个完全本地化、可控的“数字助理”。我自己也花了几天时间把手头的一台旧笔记本改造成了这样一个“国产心”的Clawdbot。实测下来效果远超预期。它不仅能理解复杂的多步指令还能自动调用浏览器、办公软件、系统API真正实现了“动口不动手”的懒人办公。这篇文章我就来详细拆解一下这个项目的核心原理、如何用国产模型进行替换和部署以及在实际使用中会遇到哪些坑、怎么解决。无论你是想尝鲜的极客还是希望提升效率的办公族相信都能从中找到有用的东西。2. 核心原理与架构拆解Clawdbot如何听懂并执行命令要理解Clawdbot我们得先抛开“AI魔法”的视角把它拆解成几个核心的技术模块。它的工作流程本质上是一个“感知-思考-行动”的循环技术上称为ReActReasoning and Acting框架。2.1 大脑大语言模型LLM的核心作用Clawdbot的“智能”完全来源于其搭载的大语言模型。这里的大模型扮演着三个关键角色意图理解与任务规划器当你输入“帮我查一下明天北京的天气然后写封邮件提醒同事带伞”时模型首先需要理解这是一个复合指令。它会进行推理将指令分解成一系列原子操作① 查询北京明日天气② 提取天气结果中的关键信息如下雨概率③ 起草一封包含该信息的提醒邮件。这个过程就是任务规划Task Planning。工具调用决策者Clawdbot本身不具备查天气或发邮件的“手”和“脚”。但它集成或可以访问一系列“工具”Tools比如网络搜索API、邮件客户端接口、文件系统操作函数等。模型在规划好步骤后需要决定每一步应该调用哪个工具并生成符合该工具调用规范的参数。例如对于“查天气”它需要调用search_web工具并生成查询关键词“北京 明日 天气预报”。结果解析与汇总器工具执行后会返回结果比如一堆HTML或JSON格式的天气数据。模型需要读懂这些原始结果提取出人类可读的信息“明天北京小雨概率70%”并可能将多个步骤的结果进行汇总、润色生成最终输出一封完整的邮件草稿。注意国产模型与GPT系列在此处的表现差异主要在于指令遵循的精确性、复杂逻辑推理的连贯性以及对工具描述的理解深度。一些优秀的国产模型在这几方面已经做得非常出色足以胜任Clawdbot的“大脑”角色。2.2 手脚工具Tools生态系统Clawdbot的强大离不开其背后丰富的工具集。这些工具就像是给大模型装配的“机械臂”和“传感器”。常见的工具类别包括网络与信息获取谷歌/百度搜索、网页内容抓取、RSS订阅读取。文件与系统操作读写本地文件txt, docx, pdf, xlsx、列出目录、运行系统命令、控制鼠标键盘通过自动化脚本。软件交互控制浏览器打开网页、点击、填写表单、操作办公软件Word, Excel, PowerPoint 通过COM接口或UI自动化、发送邮件SMTP、操作即时通讯软件如通过微信/钉钉的API。专业领域查询数据库、调用第三方API如天气、股票、翻译。这些工具通常以函数的形式封装并有清晰的描述名称、功能、输入参数格式、输出示例。大模型正是根据这些描述来学习和决定何时调用哪个工具。2.3 协调中枢智能体Agent框架仅有大脑和手脚还不够需要一个“中枢神经系统”来协调。这就是Clawdbot所基于的智能体框架如LangChain、AutoGPT的架构思想或是自定义框架。这个框架负责会话管理维护与用户的对话历史理解上下文。流程控制驱动ReAct循环。即将用户输入和当前状态历史、工具结果传给LLM - LLM返回思考过程和下一步行动调用工具X- 框架执行工具X - 将工具结果返回给LLM作为新输入 - 循环直至LLM认为任务完成并输出最终答案。工具路由管理所有可用工具的注册列表并将LLM的“调用指令”分发给对应的工具函数执行。安全与约束可以设置“护栏”防止模型执行危险操作如rm -rf /或限制其访问特定资源。理解了这三层架构我们就能明白将Clawdbot的“心脏”从GPT换成国产模型主要就是替换掉第一层——大语言模型并确保其与第二层工具描述、第三层框架能够顺畅通信。接下来我们就进入实战环节。3. 实战部署为Clawdbot换上“国产心”市面上并没有一个叫做“Clawdbot”的官方标准版本。它更像是一个概念或一类项目的统称。因此我们的实战将基于一个理念相似、架构清晰的开源项目进行改造例如一个使用LangChain框架构建的桌面助手。这里我选择以一个模拟的“Desktop-LLM-Assistant”项目为例演示如何接入国产模型。3.1 环境准备与项目初始化首先你需要一个Python环境建议3.9以上。我们创建一个新的虚拟环境并安装核心依赖。# 创建并激活虚拟环境 python -m venv clawdbot_env source clawdbot_env/bin/activate # Linux/macOS # 或 clawdbot_env\Scripts\activate # Windows # 安装核心框架。这里以LangChain为例它是构建智能体的热门选择。 pip install langchain langchain-community # 安装你可能需要的工具库 pip install playwright # 浏览器自动化 pip install python-docx openpyxl # 办公文档处理 pip install requests # 网络请求 # 安装playwright的浏览器驱动 playwright install接下来假设我们的项目目录结构如下desktop_assistant/ ├── main.py # 主程序入口 ├── agent_core.py # 智能体核心逻辑 ├── tools/ # 工具目录 │ ├── __init__.py │ ├── web_tools.py # 网络工具 │ ├── file_tools.py # 文件工具 │ └── system_tools.py # 系统工具 └── config.py # 配置文件3.2 关键步骤接入国产大模型这是最核心的一步。我们以接入智谱AI的GLM-4模型为例需要通过其开放平台申请API Key。其他模型如文心一言、通义千问、DeepSeek等接入方式大同小异主要是API端点endpoint和调用方式的区别。1. 配置模型参数 (config.py):# config.py import os from dotenv import load_dotenv load_dotenv() # 从.env文件加载环境变量 # 国产模型配置 - 以智谱GLM为例 ZHIPU_API_KEY os.getenv(ZHIPU_API_KEY) # 你的API Key ZHIPU_MODEL glm-4 # 指定模型版本 ZHIPU_API_BASE https://open.bigmodel.cn/api/paas/v4 # API基础地址 # 其他配置如工具开关、历史记录长度等 MAX_HISTORY_LENGTH 10 ENABLE_DANGEROUS_TOOLS False # 默认禁用危险操作2. 创建自定义的LLM封装类 (agent_core.py部分):LangChain通常不直接内置所有国产模型的集成但我们可以利用其通用的ChatOpenAI类通过自定义base_url或BaseChatModel基类来封装。这里展示一个使用openai兼容接口的方式很多国产模型提供了此类兼容接口。# agent_core.py from langchain_openai import ChatOpenAI from langchain.agents import AgentExecutor, create_react_agent from langchain.memory import ConversationBufferWindowMemory from langchain import hub import sys sys.path.append(.) from config import ZHIPU_API_KEY, ZHIPU_API_BASE, ZHIPU_MODEL, MAX_HISTORY_LENGTH from tools import get_all_tools # 假设有一个函数获取所有工具 def create_zhipu_llm(): 创建智谱AI GLM模型的LangChain LLM实例。 注意智谱的v4 API与OpenAI格式不完全兼容可能需要调整。 这里假设其端点兼容OpenAI格式部分国产模型会提供此兼容模式。 # 如果模型方提供了OpenAI兼容端点 llm ChatOpenAI( modelZHIPU_MODEL, openai_api_keyZHIPU_API_KEY, openai_api_baseZHIPU_API_BASE, # 替换为实际的兼容端点 temperature0.1, # 较低的温度使输出更稳定、可预测 streamingTrue, # 支持流式输出体验更好 ) return llm def create_agent(): # 1. 创建LLM llm create_zhipu_llm() # 2. 获取工具集 tools get_all_tools() # 3. 获取ReAct代理的提示词模板可从LangChain Hub拉取或自定义 prompt hub.pull(hwchase17/react-chat) # 一个标准的ReAct对话提示模板 # 4. 创建记忆 memory ConversationBufferWindowMemory( memory_keychat_history, kMAX_HISTORY_LENGTH, return_messagesTrue ) # 5. 创建智能体 agent create_react_agent(llm, tools, prompt) # 6. 创建执行器 agent_executor AgentExecutor( agentagent, toolstools, memorymemory, verboseTrue, # 打印详细执行过程调试时非常有用 handle_parsing_errorsTrue, # 优雅处理模型输出解析错误 max_iterations10, # 防止任务无限循环 ) return agent_executor实操心得并非所有国产模型都提供与OpenAI完全兼容的API。例如百度的文心一言、阿里的通义千问有自己独特的SDK调用方式。这时你需要使用LangChain的BaseChatModel进行更底层的封装或者寻找社区已封装好的适配器如langchain-zhipu。关键点在于确保你的LLM对象能接收List[BaseMessage]格式的输入并返回ChatResult格式的输出。这需要你仔细阅读对应模型的官方API文档和SDK示例。3. 处理模型特定格式 (agent_core.py补充):如果模型不兼容OpenAI格式你可能需要自定义一个LLM类from langchain_core.language_models import BaseChatModel from langchain_core.messages import HumanMessage, AIMessage, SystemMessage from langchain_core.outputs import ChatResult, ChatGeneration from typing import Any, List, Optional import requests import json class CustomZhipuChatModel(BaseChatModel): 一个简化的自定义智谱GLM调用类示例非生产代码 api_key: str model_name: str glm-4 def _generate(self, messages: List, stop: Optional[List] None] None, **kwargs) - ChatResult: # 将LangChain的Message格式转换为智谱API要求的格式 formatted_messages [] for msg in messages: if isinstance(msg, HumanMessage): role user elif isinstance(msg, AIMessage): role assistant elif isinstance(msg, SystemMessage): role system else: continue formatted_messages.append({role: role, content: msg.content}) url https://open.bigmodel.cn/api/paas/v4/chat/completions headers { Authorization: fBearer {self.api_key}, Content-Type: application/json } data { model: self.model_name, messages: formatted_messages, temperature: kwargs.get(temperature, 0.1), stream: False } response requests.post(url, headersheaders, jsondata) response.raise_for_status() result response.json() # 将智谱API的响应转换为LangChain的ChatResult格式 message AIMessage(contentresult[choices][0][message][content]) generation ChatGeneration(messagemessage) return ChatResult(generations[generation]) property def _llm_type(self) - str: return custom_zhipu3.3 构建实用的工具集工具是智能体的手脚。下面以几个常用工具为例展示如何定义它们并确保它们能被模型正确理解和调用。文件读取工具 (tools/file_tools.py):from langchain.tools import tool from pathlib import Path import docx import PyPDF2 import pandas as pd tool def read_file(file_path: str) - str: 读取指定路径的文本文件内容支持.txt, .pdf, .docx, .csv, .xlsx格式。 对于非文本文件会尝试提取其文字内容。 Args: file_path: 文件的绝对路径或相对于当前工作目录的路径。 Returns: 文件内容的字符串。如果读取失败返回错误信息。 try: path Path(file_path) if not path.exists(): return f错误文件 {file_path} 不存在。 suffix path.suffix.lower() content if suffix .txt: with open(path, r, encodingutf-8) as f: content f.read() elif suffix .pdf: with open(path, rb) as f: pdf_reader PyPDF2.PdfReader(f) for page in pdf_reader.pages: content page.extract_text() \n elif suffix .docx: doc docx.Document(path) content \n.join([para.text for para in doc.paragraphs]) elif suffix .csv: df pd.read_csv(path) content df.to_string() elif suffix in [.xlsx, .xls]: df pd.read_excel(path) content df.to_string() else: return f错误不支持的文件格式 {suffix}。 return content if content else 文件内容为空或无法提取文字。 except Exception as e: return f读取文件时发生错误{str(e)}网页搜索工具 (tools/web_tools.py):这里我们使用DuckDuckGo搜索无需API Key作为示例。你也可以接入百度、谷歌搜索的API。from langchain.tools import tool from duckduckgo_search import DDGS tool def search_web(query: str, max_results: int 5) - str: 使用搜索引擎在互联网上搜索信息。 Args: query: 搜索关键词。 max_results: 返回的最大结果数量默认5条。 Returns: 一个格式化的字符串包含搜索结果的标题、链接和摘要。 try: with DDGS() as ddgs: results list(ddgs.text(query, max_resultsmax_results)) if not results: return 未找到相关结果。 formatted_results [] for i, r in enumerate(results, 1): formatted_results.append(f{i}. 【{r[title]}】\n 链接{r[href]}\n 摘要{r[body][:150]}...) return \n\n.join(formatted_results) except Exception as e: return f搜索时发生错误{str(e)}系统命令执行工具需谨慎(tools/system_tools.py):警告此工具具有高风险必须严格控制。在实际部署中应通过白名单机制限制可执行的命令或仅在受信任的沙盒环境中使用。from langchain.tools import tool import subprocess import platform ALLOWED_COMMANDS [ls, dir, pwd, date, echo, ping -c 4, ipconfig, ifconfig] # 命令白名单 tool def run_system_command(command: str) - str: 在系统终端或命令提示符中执行一个安全的命令。 注意出于安全考虑只能执行预定义白名单中的命令。 Args: command: 要执行的系统命令如 ls -la, dir。 Returns: 命令执行的输出结果。如果命令不被允许或执行失败返回错误信息。 # 安全检查检查命令是否在白名单中简单前缀匹配生产环境需更严格 allowed False for allowed_cmd in ALLOWED_COMMANDS: if command.strip().startswith(allowed_cmd): allowed True break if not allowed: return f安全警告命令 {command} 不在允许的白名单中。拒绝执行。 try: # 根据操作系统决定shell参数 shell_flag platform.system() ! Windows result subprocess.run( command, shellTrue, capture_outputTrue, textTrue, timeout10 # 设置超时防止长时间运行 ) if result.returncode 0: return result.stdout else: return f命令执行失败返回码 {result.returncode}:\n{result.stderr} except subprocess.TimeoutExpired: return 错误命令执行超时超过10秒。 except Exception as e: return f执行命令时发生未知错误{str(e)}将所有工具注册到一个列表中 (tools/__init__.py):from .file_tools import read_file from .web_tools import search_web from .system_tools import run_system_command def get_all_tools(): 返回所有可用工具的列表 return [read_file, search_web, run_system_command]3.4 组装与运行主程序最后我们创建一个简单的主循环来运行我们的智能体 (main.py):# main.py from agent_core import create_agent import sys def main(): print(正在启动国产模型驱动的桌面助手...) agent create_agent() print(助手已就绪输入 quit 或 exit 退出。) print(- * 50) while True: try: user_input input(\n您: ) if user_input.lower() in [quit, exit, 退出]: print(再见) break if not user_input.strip(): continue # 执行智能体 response agent.invoke({input: user_input}) print(f\n助手: {response[output]}) except KeyboardInterrupt: print(\n\n程序被中断。) break except Exception as e: print(f\n处理请求时出错{e}) if __name__ __main__: main()现在运行python main.py你就可以开始用自然语言与你的“国产心”Clawdbot对话了。尝试输入“搜索一下LangChain的最新版本然后把结果保存到当前目录的search_result.txt文件里。” 观察它如何规划、调用搜索工具、处理结果并调用文件写入工具你需要额外实现一个write_file工具。4. 性能调优与效果实测换上国产模型后效果到底如何我针对几个常见任务场景进行了测试并与使用GPT-3.5-Turbo的版本进行了对比。4.1 测试场景与结果对比测试任务指令示例国产模型 (GLM-4) 表现GPT-3.5-Turbo 表现关键差异分析简单信息查询“今天上海天气怎么样”成功调用搜索工具返回清晰摘要。表现类似返回格式更花哨。无明显差异基础任务均能胜任。多步骤文档处理“读取report.docx总结其核心要点并生成一个包含要点的Markdown文件。”能正确调用read_file总结要点基本准确能调用需实现write_md工具。步骤偶尔需用户确认。规划流程更流畅总结更精炼生成Markdown的格式更规范。国产模型在复杂逻辑链的连贯性上稍弱有时会“忘记”某个步骤或需要更明确的指令。复杂逻辑与决策“我桌面上有一个‘项目资料’文件夹里面有很多PDF和图片。请帮我找出所有包含‘预算’关键词的PDF并把它们的文件名列出来。”能理解指令但需要更详细的工具引导。例如它可能先问“需要我列出文件夹内容吗”然后逐步执行。能更自主地规划先列出文件再筛选PDF最后用文本搜索工具需实现查找关键词。国产模型在自主工具编排和隐含条件推理上相对保守需要更明确的上下文或分步提示。创造性内容生成“根据刚才搜索到的关于新能源汽车的新闻写一段200字的行业评论。”能基于搜索内容生成连贯评论观点中规中矩语言风格偏正式。生成的评论更具批判性或洞察力语言风格更灵活有时会加入假设性思考。在需要深度分析、观点提炼或风格化写作的任务上顶级国产模型与GPT-4仍有差距但与GPT-3.5-Turbo已互有胜负。4.2 国产模型调优实战技巧要让国产模型在Clawdbot中发挥更好光“接上去”还不够还需要一些针对性的调优。1. 提示工程Prompt Engineering优化国产模型对提示词可能更敏感。在定义工具的description描述和args_schema参数模式时要极其清晰、具体。差的描述“一个搜索工具。”好的描述“此工具用于在互联网上搜索最新信息。当你需要获取实时数据、新闻、事实性知识或不确定的信息时应使用此工具。输入应为一个明确的搜索查询字符串例如‘2024年人工智能大会最新进展’。”在给智能体的系统提示System Prompt中要明确其角色和能力边界“你是一个运行在用户电脑上的自动化助手可以调用各种工具来帮助用户操作电脑和获取信息。你的核心原则是1. 安全第一绝不执行任何破坏性操作2. 在行动前先明确目标规划步骤3. 如果工具执行失败或结果不明确应主动报告并询问用户4. 你的回答应简洁、直接专注于完成任务。”2. 温度Temperature参数调整对于执行具体任务的智能体通常需要较低的温度值如0.1-0.3以确保其输出稳定、可预测减少“胡言乱语”或随意发挥。过高的温度可能导致工具调用格式错误或执行不相关的操作。3. 后处理与错误处理模型有时会输出格式不正确的工具调用指令。需要在智能体框架层加强后处理Post-processing和错误处理Error Handling。解析加固使用更鲁棒的解析器来处理模型的输出比如使用正则表达式或JSON模式验证来提取工具名和参数即使模型输出了一些多余的文字。重试机制当模型输出无法解析或工具调用失败时可以将错误信息连同原始指令重新喂给模型让它“反思”并重试一次。但需设置重试上限避免死循环。4. 思维链Chain-of-Thought激发在提示词中明确要求模型“逐步思考”Let‘s think step by step可以显著提升其任务规划的准确率。许多国产模型也受益于此。5. 常见问题、安全考量与避坑指南在实际部署和运行过程中你会遇到各种各样的问题。下面是我踩过的一些坑和解决方案。5.1 部署与运行常见问题问题可能原因解决方案导入错误或依赖缺失缺少某个Python包或版本不兼容。1. 仔细阅读项目README的依赖说明。2. 使用pip install -r requirements.txt。3. 对于国产模型SDK务必查看其官方文档的安装指南。API调用失败返回认证错误API Key错误、未设置环境变量、API Base URL不对。1. 检查.env文件中的KEY是否正确。2. 确保代码中读取环境变量的方式正确。3. 核对模型提供商API文档中的端点地址。模型响应慢或超时网络问题、模型服务端负载高、请求内容过长。1. 增加请求超时时间。2. 对长上下文进行摘要或分段。3. 考虑使用模型的“流式输出”模式提升响应感知。工具调用格式错误模型的输出未能被正确解析为工具调用指令。1. 优化工具描述使其更清晰。2. 在系统提示中强调输出格式。3. 在代码中实现一个“降级”逻辑如果解析失败尝试让模型以纯文本形式输出下一步建议。无限循环或重复操作模型陷入逻辑循环反复调用同一工具。1. 在AgentExecutor中设置max_iterations最大迭代次数如10-15次。2. 在记忆中加入已执行步骤的记录防止重复。5.2 安全与隐私的生死线将一个大模型连接到你的电脑并赋予其操作能力安全是重中之重。以下几点必须牢记工具权限最小化这是最重要的原则。像run_system_command、delete_file、modify_registry修改注册表这类高危工具在个人使用时必须极其谨慎最好通过白名单机制严格限制。对于公开项目绝对不要提供此类高危工具。环境隔离考虑在沙盒环境如Docker容器、虚拟机中运行Clawdbot限制其对宿主机资源的访问权限。输入过滤与审查对用户输入进行基本的恶意内容检测。虽然模型本身有一定安全训练但无法完全杜绝“提示词注入”攻击即用户输入精心设计的文本来误导模型执行恶意操作。国产模型的数据合规优势这是使用国产模型的一个重要考量。将数据发送到国内的API服务器通常比发送到海外服务器在数据隐私和合规方面更令人安心。但即便如此也切勿通过它处理高度敏感的个人信息如密码、银行账号、未加密的私密文档。网络访问控制如果你的Clawdbot具备网络访问能力确保它不会成为网络攻击的跳板。可以考虑限制其访问的域名或IP范围。5.3 成本与本地化部署使用云端API无论是国产还是OpenAI都会产生成本。对于高频使用费用可能不低。成本监控密切关注API调用量和费用。大多数平台提供用量告警功能。本地模型替代方案如果你对延迟要求不高且拥有性能足够的GPU至少8GB显存以上可以尝试部署开源大模型如Qwen1.5-7B-Chat、ChatGLM3-6B等。通过Ollama、LM Studio或vLLM等框架在本地运行并通过LangChain的ChatOllama等类进行调用。这实现了完全离线的“国产心”数据隐私和长期成本最优但对硬件和技术能力要求较高。混合模式可以将轻量级、对延迟不敏感的任务交给本地小模型将需要强大推理和知识能力的任务交给云端大模型实现成本与效果的平衡。6. 进阶玩法与未来展望当你掌握了基础部署后可以尝试一些更酷的玩法让这个“数字同事”更加强大。1. 记忆与个性化向量数据库记忆使用Chroma或FAISS将每次对话和工具执行的结果摘要存入向量数据库。当下次用户提到相关话题时智能体可以“回忆”起之前的内容实现连续、个性化的服务。例如记住用户偏好“将总结保存为Markdown格式”。用户画像让模型维护一个简单的用户偏好文件记录用户常用指令、工作习惯等。2. 多模态能力扩展最新的国产大模型如Qwen-VL、GLM-4V已具备视觉理解能力。你可以为其增加屏幕截图分析工具让助手能“看到”你电脑屏幕上的内容并据此操作。例如“帮我看一下当前这个错误弹窗上写的是什么”图片/图表信息提取工具处理本地图片中的文字、表格信息。3. 与现有工作流深度集成邮件自动处理连接到邮箱让助手每天早晨帮你汇总未读邮件生成简报。日历与待办事项管理与日历API同步自动安排会议、设置提醒。代码仓库操作在接到“为上次提交的代码写一段更新日志”指令后能自动读取git历史并生成文档。4. 自主智能体Autonomous Agent探索赋予其更高的自主权比如设定一个长期目标“本周内学习LangChain框架并整理一份学习笔记”。智能体可以自己规划每天的学习任务、搜索资料、阅读文档、整理笔记并定期向你汇报进度。这需要更强大的规划模型和更完善的安全机制。实测下来用国产模型作为Clawdbot的“心脏”是完全可行的。虽然在处理极其复杂、需要深度推理和创造性发散的任务时与顶尖模型尚有差距但对于日常办公自动化、信息处理、简单决策等场景其表现已经足够可靠甚至在某些中文理解和本土化服务方面更有优势。更重要的是它为我们提供了一条可控、可定制、成本与隐私更优的自动化路径。