ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

OpenClaw AI智能体框架:从核心架构到实战部署的完整指南

2026/8/27 4:20:39 拓冰建站 浏览量
OpenClaw AI智能体框架:从核心架构到实战部署的完整指南 1. 项目概述初识OpenClaw一个能“动手”的AI智能体框架如果你最近在AI智能体Agent的圈子里混大概率会听到“OpenClaw”这个名字。它不是什么新出的海鲜品牌而是一个在开发者社区里热度飙升的开源AI智能体框架。简单来说你可以把它理解为一个“大脑”和“双手”的结合体。传统的聊天机器人比如基于大语言模型的对话应用通常只能“说”告诉你该怎么做。但OpenClaw的目标是让AI不仅能“说”还能真正地“做”——通过调用各种工具Tool或技能Skill自动执行一系列任务比如帮你分析数据、操作软件、管理文件甚至是自动化处理电商客服工单。这个名字本身也很有意思“Claw”是爪子的意思形象地表达了它“抓取”和“操作”的能力。对于初学者而言OpenClaw的魅力在于它降低了构建实用型AI智能体的门槛。你不再需要从零开始编写复杂的智能体逻辑、工具调用链路和状态管理代码OpenClaw提供了一个相对成熟的框架让你可以更专注于定义你想要AI完成的具体任务并为其配备相应的“技能”。从网络上的讨论热度来看大家关心的核心问题非常集中怎么把它装起来安装与部署怎么让它干活配置与使用以及出了问题怎么办问题排查。这恰恰说明了OpenClaw正处于从“技术概念”走向“实际应用”的关键阶段很多开发者都摩拳擦掌想亲手试试这个能“动手”的AI到底有多智能。接下来我们就从零开始拆解这个框架让你不仅能顺利跑起来还能理解它背后的运作机制避开那些新手常踩的坑。2. 核心架构与设计思路拆解在动手安装之前花几分钟理解OpenClaw的基本架构能让你在后续的配置和调试中心中有数遇到报错也不至于完全抓瞎。OpenClaw的设计遵循了当前主流智能体框架的核心思想但在具体实现上做了不少优化使其更易于上手和集成。2.1 核心组件大脑、技能与执行引擎OpenClaw的架构可以粗略分为三层我习惯称之为“决策层”、“能力层”和“执行层”。决策层大脑 这就是大语言模型LLM所在的位置。OpenClaw本身不提供模型它是一个框架需要你接入一个LLM作为其推理核心。这个LLM负责理解用户的自然语言指令进行任务规划拆解复杂任务为多个步骤并决定在哪个步骤调用哪个技能。常见的接入对象包括本地部署的Ollama运行Llama、Qwen等开源模型、云端的OpenAI API、或国内的一些大模型API。你的第一个关键配置项ollama_base_url和default_model就是在这里起作用告诉框架去哪里找“大脑”以及默认使用哪个“脑细胞”。能力层技能/Skill 这是OpenClaw的“双手”仓库。一个技能就是一个具体的、可执行的功能单元。例如一个“读取文件”技能、一个“发送邮件”技能、或者一个“查询数据库”技能。OpenClaw框架提供了一些基础技能更重要的是它允许你以插件化的方式轻松扩展自定义技能。网络热词中提到的openclaw skill和openclaw安装skill指的就是这部分功能。技能的丰富程度直接决定了你的智能体能干什么活。执行引擎智能体/Agent 这是框架的协调中枢。它接收用户请求交给“大脑”分析“大脑”返回一个包含技能调用序列的计划然后由执行引擎按顺序调用相应的“技能”并管理整个执行过程中的状态比如上一步技能的输出如何作为下一步的输入。它还要处理异常比如技能执行失败时是重试、上报还是尝试替代方案。热词中提到的hermes agent和openclaw结合可能指的是将OpenClaw的智能体与其他特定功能的Agent如专注于某领域的Hermes进行集成形成更强大的智能体工作流。2.2 设计优势与选型考量为什么选择OpenClaw而不是其他框架从我实际体验和社区反馈来看它有几个对新手友好的设计点1. 配置驱动降低编码门槛 很多基础功能如模型连接、基础技能启用都可以通过配置文件如.env或config.yaml完成无需修改核心代码。这对于想快速验证想法的新手来说非常友好。2. 技能开发范式清晰 编写一个自定义技能通常只需要继承一个基类实现execute方法即可。框架处理了技能注册、发现和调用的大部分脏活累活。文档和社区示例也比较丰富降低了开发成本。3. 良好的可观测性 框架通常会提供执行日志清晰地展示智能体的“思考过程”它收到了什么指令计划分几步走每一步调用了什么技能输入输出是什么。这对于调试智能体的逻辑错误至关重要。4. 灵活的部署方式 从热词就能看出它支持多种部署形态原生安装pip install、Docker容器化部署这满足了从开发测试到生产部署的不同需求。Docker部署尤其能解决环境依赖的麻烦实现“一键部署”。当然它也不是银弹。作为较新的项目其生态系统即第三方技能库相比一些更成熟的框架可能还在成长中复杂工作流的可视化编排工具可能也还在演进。但对于初学者和希望快速构建原型、实现自动化任务的开发者来说OpenClaw在易用性和功能性上取得了不错的平衡。3. 环境准备与部署方案详解理解了架构我们就可以动手搭建了。部署是新手的第一道坎网络上大量的“安装教程”也印证了这一点。这里我会详细对比几种主流方案并给出每一步的操作意图和避坑指南。3.1 方案选择原生、Docker还是云服务首先你需要根据自身情况选择部署方式本地原生安装pip install适合人群Python开发者需要深度定制、调试代码或开发自定义技能。优点环境最干净直接与系统交互调试方便对代码修改即时生效。缺点需要手动管理Python环境、系统依赖如某些技能可能需要ffmpeg、chromedriver等容易遇到环境冲突问题。对应热词openclaw安装ubuntu极速部署openclaw完全指南openclaw mac本地部署。Docker容器化部署适合人群绝大多数初学者、运维人员追求环境隔离、快速部署和一致性。优点完全隔离的环境避免了“在我的机器上能跑”的问题通常有一键启动的docker-compose.yml文件部署极其简单易于迁移和升级。缺点对容器内文件系统的操作需要映射卷volume调试容器内部问题需要进入容器对Docker不熟悉的话有学习成本。对应热词docker容器部署openclawdocker部署openclawdocker openclaw ollama_base_url default_model。预构建镜像或云服务如有一些社区或厂商可能会提供更集成的镜像或在线服务从热词openclaw免费使用、openclaw优惠码可推测可能存在此类服务。这对于只想体验功能的用户最方便但可控性和定制性最差。对于绝大多数初学者我强烈推荐使用Docker部署方案。它能帮你绕过90%的环境依赖问题让你快速看到成果建立信心。3.2 核心依赖大模型引擎的部署无论哪种方案OpenClaw都需要一个“大脑”——大语言模型服务。最常见的选择是Ollama因为它能方便地在本地运行各种开源模型。Ollama部署要点安装 前往Ollama官网根据你的操作系统Windows/macOS/Linux下载安装包。安装后命令行执行ollama --version验证。拉取模型 你需要至少拉取一个模型。对于中文场景qwen:7b7B参数版通义千问或llama3:8b如果需中文可找对应中文微调版是不错的起点。命令ollama pull qwen:7b。这个过程会下载数GB的模型文件请确保网络通畅和磁盘空间充足。运行与验证 拉取后运行ollama run qwen:7b可以进入交互式聊天界面测试模型是否正常工作。更重要的是Ollama默认会在http://localhost:11434提供一个API服务这是OpenClaw连接它的关键。注意 Ollama的模型运行需要一定的内存RAM。7B模型通常需要8GB以上内存才能流畅运行。请务必根据你的硬件条件选择合适的模型尺寸。如果内存不足可以考虑更小的模型如phi3:mini或使用量化版本如qwen:7b-chat-q4_K_M但性能会有所下降。3.3 Docker部署OpenClaw实战步骤假设我们选择在LinuxUbuntu环境下通过Docker部署这是最清晰、最不易出错的方式。步骤1准备工作确保系统已安装Docker和Docker Compose。可以通过docker --version和docker-compose --version检查。步骤2获取部署文件通常OpenClaw的官方GitHub仓库会提供docker-compose.yml示例文件。你需要将其下载到本地的一个专用目录例如~/openclaw-docker。mkdir ~/openclaw-docker cd ~/openclaw-docker # 假设从官方仓库获取 compose 文件请替换为实际最新的文件地址 wget https://raw.githubusercontent.com/your-openclaw-repo/main/docker-compose.yml你需要准备一个环境变量文件.env来配置关键参数。创建一个.env文件内容至少包含# 指向你的Ollama服务地址如果Ollama和OpenClaw在同一台机器且用Docker Compose一起启动可能是服务名如 http://ollama:11434 OLLAMA_BASE_URLhttp://host.docker.internal:11434 # 对于macOS/Windows Docker Desktop # 或 OLLAMA_BASE_URLhttp://172.17.0.1:11434 # 对于Linux Docker宿主机IP # 或 如果Ollama也容器化并在同一compose中则用服务名http://ollama:11434 # 默认使用的大模型名称必须与Ollama中拉取的模型名一致 DEFAULT_MODELqwen:7b # 其他可能需要的配置如日志级别、API密钥等 LOG_LEVELINFO这里OLLAMA_BASE_URL的配置是第一个关键坑点。如果Ollama运行在宿主机上而OpenClaw在Docker容器内容器不能直接用localhost访问宿主机。在macOS/Windows的Docker Desktop下可以用host.docker.internal在Linux下通常需要用宿主机的实际IP如172.17.0.1这是Docker网桥的网关或设置网络模式为host。最简洁的方案是将Ollama也用Docker Compose管理这样容器间可以通过服务名直接通信。步骤3编写docker-compose.yml一个整合了Ollama和OpenClaw的docker-compose.yml示例version: 3.8 services: ollama: image: ollama/ollama:latest container_name: ollama restart: unless-stopped ports: - 11434:11434 volumes: - ollama_data:/root/.ollama # 可以在这里指定初始拉取的模型但更推荐启动后手动pull避免compose up卡住 # command: run qwen:7b openclaw: image: your-openclaw-image:latest # 替换为实际的OpenClaw镜像名 container_name: openclaw restart: unless-stopped depends_on: - ollama ports: - 8000:8000 # 假设OpenClaw Web界面端口是8000 environment: - OLLAMA_BASE_URLhttp://ollama:11434 # 通过服务名访问 - DEFAULT_MODEL${DEFAULT_MODEL:-qwen:7b} - LOG_LEVEL${LOG_LEVEL:-INFO} volumes: - ./data:/app/data # 挂载数据卷持久化配置、技能、会话等 - ./logs:/app/logs # 挂载日志卷 # command: 如果需要可以覆盖默认启动命令关键点解析depends_on: 确保ollama服务先于openclaw启动。environment: 直接从我们上面创建的.env文件读取变量${VAR:-default}语法表示如果环境变量未设置则使用默认值。volumes:这是第二个关键点。必须将配置和数据目录挂载出来否则容器重启后所有数据如下载的技能、会话记录都会丢失。/app/data和/app/logs是示例路径需根据实际镜像的目录结构调整。步骤4启动服务在包含docker-compose.yml和.env的目录下执行docker-compose up -d-d表示后台运行。使用docker-compose logs -f openclaw可以实时查看OpenClaw的启动日志这是排查问题的首要手段。步骤5验证部署检查Ollama访问http://你的服务器IP:11434或者进入容器执行docker-compose exec ollama ollama list应能看到模型列表。检查OpenClaw访问http://你的服务器IP:8000端口以实际映射为准应该能看到OpenClaw的Web用户界面如果有的话或API文档界面如Swagger UI。如果OpenClaw启动失败最常见的问题是连接不上Ollama。查看OpenClaw日志如果出现Connection refused或Failed to connect to Ollama等错误请检查OLLAMA_BASE_URL的配置是否正确以及Ollama服务是否真的在11434端口监听docker-compose logs ollama。4. 基础配置与核心功能上手部署成功只是万里长征第一步接下来要让OpenClaw按照你的意愿工作。这部分对应热词中的openclaw如何配置大模型、openclaw使用、openclaw操作指令。4.1 模型配置与连接测试即使你在环境变量里配置了模型首次使用时也建议在OpenClaw的管理界面或通过API进行连接测试。通过API测试连接假设OpenClaw API运行在8000端口curl -X POST http://localhost:8000/api/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen:7b, messages: [{role: user, content: 你好请简单介绍一下你自己。}], stream: false }如果返回了合理的AI回复说明从OpenClaw到Ollama的链路是通的。如果报错需要检查OpenClaw配置的模型名是否与Ollama中的完全一致大小写敏感。Ollama中的模型是否已成功加载ollama list显示为已下载。网络策略防火墙、安全组是否放行了相关端口。4.2 技能Skill的管理与使用技能是OpenClaw的灵魂。框架启动后会自带一些基础技能如文件读写、网络请求等。查看可用技能 通常可以通过API端点/api/v1/skills或Web界面查看当前已加载的技能列表。每个技能会包含描述、所需的输入参数等信息。安装自定义技能 社区开发的技能或你自己编写的技能需要安装到OpenClaw中。根据部署方式不同Docker部署 你需要将技能文件通常是Python包放到挂载的卷目录下如./data/skills/并确保OpenClaw的配置指向该目录。有时需要重启OpenClaw服务以重新扫描技能。原生安装 可以通过pip install安装技能包或者将技能代码放到指定的技能目录。编写一个简单的自定义技能 假设我们要创建一个“查询天气”的技能。你需要创建一个Python文件例如weather_skill.py# 假设OpenClaw的技能基类为 BaseSkill from openclaw.skills.base import BaseSkill import requests class WeatherSkill(BaseSkill): name get_weather description 根据城市名称查询当前天气情况 parameters { city: {type: string, description: 城市名称例如北京} } async def execute(self, city: str): 技能执行逻辑 # 这里调用一个模拟的天气API实际应用中请替换为真实的API # 注意任何网络请求都要考虑超时和异常处理 try: # 示例URL请勿直接使用 # response requests.get(fhttps://api.weather.com/v1?city{city}, timeout10) # return response.json() return f已收到查询{city}天气的请求。这是一个示例技能实际需要接入真实API。 except Exception as e: return f查询天气失败{str(e)}编写完成后将其放入技能目录并在OpenClaw的配置中注册或通过动态加载机制使其生效。4.3 会话管理与记忆问题处理热词中提到了一个非常具体且常见的问题openclaw 第二天就不知道昨天会话的内容了怎么处理。这涉及到AI智能体的记忆Memory机制。OpenClaw的记忆类型短期记忆/会话记忆 保存在内存中针对单次对话交互记住上下文以进行连贯对话。服务重启后丢失。长期记忆 可以持久化到数据库或向量数据库用于记住跨会话的用户信息、历史事实等。“第二天就忘记”的原因与解决方案原因 默认配置下OpenClaw可能只开启了短期记忆并且会话状态Session没有持久化。当OpenClaw服务重启比如服务器重启、容器重建内存中的会话记录自然就清空了。解决方案配置持久化会话存储 查看OpenClaw的配置寻找关于memory或session_storage的选项。通常可以配置为使用数据库如SQLite、PostgreSQL或Redis来存储会话。这样即使服务重启只要数据库还在就能恢复之前的会话上下文。启用长期记忆 更高级的用法是配置向量数据库如Chroma、Weaviate、Milvus作为长期记忆后端。智能体可以将重要的对话摘要或事实存储到向量库中在后续会话中通过检索相关记忆来“回想”起来。这需要更复杂的配置和提示词工程。实践技巧 对于简单的需求可以在每次对话开始时以系统提示System Prompt的方式手动注入一些需要长期记住的关键信息。但这不够灵活。检查与配置记忆 你需要查阅OpenClaw的官方文档找到类似以下的配置项示例具体名称可能不同# 在 config.yaml 或环境变量中 memory: short_term: type: buffer # 使用缓冲区记忆可配置最大token数 long_term: type: vector_store # 使用向量存储 vector_store: type: chroma # 指定向量库类型 persist_path: ./data/chroma_db # 持久化路径 session_storage: type: database # 使用数据库存储会话 database: url: sqlite:///./data/sessions.db # SQLite示例配置完成后重启OpenClaw服务新的会话就应该能被持久化了。5. 典型应用场景与进阶玩法掌握了安装和基础配置我们就可以探索OpenClaw能做什么了。从热词可以看出社区已经在尝试各种有趣的应用。5.1 自动化工作流电商客服案例热词中提到了openclaw 如何用 ai 自动化解决 80% 的电商客服这是一个非常典型的场景。我们可以设计一个智能体来处理常见的客服问题。场景设计技能准备query_order_skill: 连接订单数据库根据订单号或用户信息查询状态。query_return_policy_skill: 读取退货政策文档可以是文本文件或知识库回答相关问题。escalate_to_human_skill: 当问题超出AI处理范围时生成转接人工客服的提示并可能创建工单。send_email_skill: 在需要时发送确认邮件给客户。智能体流程用户输入“我的订单123456怎么还没发货”智能体LLM识别意图为“查询订单状态”。调用query_order_skill输入订单号“123456”。技能执行从数据库返回状态“已打包预计明天发货”。智能体组织语言回复用户“您的订单123456目前已打包完成预计明天X月X日安排发货请保持手机畅通哦~”同时智能体可以判断如果订单状态异常如已延迟可自动调用send_email_skill发送一封安抚或通知邮件。实现要点意图识别 依赖LLM的零样本或少样本分类能力也可以通过微调一个小的分类模型来提高准确率。技能可靠性 每个技能必须有完善的错误处理如数据库连接失败、API超时并向智能体返回明确的状态成功/失败及原因。安全与边界 必须严格设定AI的操作权限例如query_order_skill只能查询不能修改。涉及敏感操作如退款必须由escalate_to_human_skill转交人工。5.2 多模型调度与管理热词中提到了本地openclaw如何添加多个大模型。在实际应用中我们可能希望根据任务类型、成本或性能动态选择不同的模型。配置多个模型 在OpenClaw的配置中模型连接通常是一个列表。例如models: - name: qwen-7b-fast type: ollama base_url: http://ollama:11434 model: qwen:7b capabilities: [general, fast] # 给模型打上能力标签 - name: llama3-70b-powerful type: ollama base_url: http://ollama:11434 # 也可以是另一个Ollama实例 model: llama3:70b capabilities: [general, complex-reasoning] - name: gpt-4-api type: openai api_key: ${OPENAI_API_KEY} model: gpt-4-turbo capabilities: [creative, analysis]模型路由策略 然后你可以在智能体的配置或系统提示中定义路由逻辑。例如基于任务类型 如果是创意写作优先使用gpt-4-api如果是简单的数据提取使用qwen-7b-fast以节省成本。基于负载或故障转移 设置主备模型当主模型响应超时或出错时自动切换到备用模型。通过智能体自行选择 在给LLM的系统提示中说明可用模型及其特点让LLM在规划任务时自行决定调用哪个模型接口这需要框架支持将模型也作为一种可调用的“资源”。5.3 与外部平台集成飞书、微信机器人热词中openclaw接入飞书、openclaw接入微信反映了强烈的集成需求。OpenClaw本身是一个后端框架要接入这些IM平台需要一个“适配层”。通用集成架构[飞书/微信/钉钉等平台] - [平台官方回调] - [你的适配服务器] - [OpenClaw API] - [返回结果] - [你的适配服务器] - [回复平台消息]适配服务器 你需要编写一个简单的Web服务可以用Flask、FastAPI等接收来自飞书/微信服务器的消息回调POST请求。消息处理 这个服务解析回调数据提取出用户发送的文本。调用OpenClaw 将文本作为用户输入调用OpenClaw的对话API/api/v1/chat/completions。回复消息 拿到OpenClaw的回复后按照飞书/微信的消息格式要求封装成响应发回给平台服务器。关键点与避坑认证与安全 飞书、微信等平台都需要配置Token、EncodingAESKey等进行消息验证你的适配服务器必须实现验证逻辑否则消息无法接收。异步与超时 IM消息要求实时响应通常有5秒的超时限制。如果OpenClaw处理复杂任务耗时较长适配服务器需要先返回一个“接收成功”的响应然后通过异步任务处理再使用平台提供的“发送消息”API将结果推送给用户。会话隔离 需要根据平台的会话标识如飞书的open_chat_id微信的FromUserName来维护不同的OpenClaw会话Session避免不同用户的消息上下文混淆。现有轮子 社区可能已经有开源的飞书/微信机器人适配插件或Skill在动手造轮子前可以先搜索一下。6. 运维、监控与问题排查实录将OpenClaw用于实际场景稳定运行和快速排错至关重要。这部分结合热词中的错误信息分享实战经验。6.1 日志分析与监控配置日志是排查问题的生命线。OpenClaw应该配置输出结构化的日志如JSON格式方便收集和查询。关键日志级别与信息INFO 记录正常的请求处理、技能调用开始与结束。这是观察智能体工作流的主要依据。DEBUG 记录更详细的信息如LLM请求和响应的原始内容注意可能包含敏感信息、技能内部的具体参数。调试时开启。WARNING/ERROR 记录异常情况如技能执行失败、模型调用超时、配置错误等。配置建议 将日志输出到文件并使用像ELKElasticsearch, Logstash, Kibana或Loki Grafana这样的日志聚合系统进行集中管理和告警。可以针对ERROR级别的日志设置告警及时通知运维人员。6.2 常见错误与解决方案速查表这里整理一些新手高频问题特别是热词中出现的openclaw llamap svr operator(): got exception: { error: { code: 400, ...这类错误。错误现象可能原因排查步骤与解决方案启动失败端口冲突默认端口如8000已被其他进程占用。netstat -tulnp | grep :8000查找占用进程并停止或修改OpenClaw配置使用其他端口。连接Ollama失败Connection refused/Failed to connect1.OLLAMA_BASE_URL配置错误。2. Ollama服务未启动。3. 防火墙/安全组阻止。1. 确认URL正确容器内用服务名宿主机用特殊主机名或IP。2.docker-compose ps或systemctl status ollama检查Ollama状态。3. 检查端口11434是否可访问curl http://ollama-host:11434/api/tags。模型加载失败Model xxx not found1. 配置的模型名与Ollama中不一致。2. Ollama中未拉取该模型。1. 核对配置的DEFAULT_MODEL。2. 进入Ollama容器或主机执行ollama list确认模型存在若不存在则ollama pull。API调用返回400/500错误如llamap svr operator(): got exception...1. 请求格式不符合Ollama API规范。2. 模型推理过程中出现内部错误。3. 输入内容触发模型安全策略。1. 检查OpenClaw发送给Ollama的请求体查看DEBUG日志对比Ollama官方API文档。2. 查看Ollama服务的日志通常会有更详细的错误信息。3. 尝试简化或修改输入提示词。这类错误往往需要从Ollama侧找原因。技能执行超时或报错1. 技能代码存在bug。2. 技能依赖的外部服务如API、数据库不可用。3. 技能执行时间过长超过框架设置的超时时间。1. 查看技能执行时的ERROR日志定位代码行。2. 手动测试技能依赖的外部服务。3. 在技能代码中增加超时控制或在框架配置中调整技能执行的全局超时时间。“第二天会话丢失”会话未配置持久化存储服务重启后内存数据丢失。参考第4.3节配置数据库或Redis作为会话存储后端。智能体逻辑混乱乱调用技能1. LLM的提示词System Prompt设计不佳。2. 技能的描述description不够清晰导致LLM误解其功能。1. 优化System Prompt明确智能体的角色、职责和技能调用规则。2. 为每个技能编写清晰、无歧义的描述和参数说明。可以进行少量测试让LLM根据描述选择技能看是否准确。6.3 性能优化与资源管理随着任务变复杂你需要关注性能。模型推理优化使用量化模型 在Ollama中使用qwen:7b-chat-q4_K_M这类量化版本可以显著降低内存占用和提升推理速度精度损失在可接受范围内。调整推理参数 通过OpenClaw配置或调用Ollama API时可以调整temperature创造性、top_p核采样等参数在满足任务需求的前提下可能提高响应速度。模型缓存 确保Ollama的模型已加载到GPU内存或保持活跃状态避免每次请求都重新加载。框架层面优化异步处理 确保OpenClaw和自定义技能都使用异步IO如asyncio避免在等待网络I/O如调用外部API时阻塞整个服务。连接池 对于数据库、Redis等外部依赖使用连接池复用连接避免频繁建立连接的开销。限流与熔断 如果对外提供API需要考虑实现限流Rate Limiting和熔断Circuit Breaker机制防止被异常流量打垮或级联故障。监控指标基础资源 CPU、内存、GPU显存使用率。服务健康 API接口的响应时间P50, P95, P99、错误率4xx, 5xx。模型性能 每次调用LLM的耗时包括网络传输和推理时间、Token消耗数量如果按Token计费。技能性能 每个技能的平均执行时间、失败率。将这些指标接入监控系统如Prometheus Grafana可以让你对系统的运行状况一目了然并在出现瓶颈时快速定位。