AI智能体监控体系构建:从核心概念到生产实践
在实际的 AI 应用开发中尤其是基于大语言模型构建的智能体系统一个长期被低估的挑战是如何系统地监控和诊断这些“非确定性”程序的运行状态与故障。传统的应用监控关注 CPU、内存、网络等硬件指标或 HTTP 请求的响应码和延迟但对于一个由自然语言驱动、可能调用多个工具、内部状态复杂的 AI 智能体来说这些指标远远不够。当智能体在对话中“胡言乱语”、错误调用 API、陷入逻辑循环或返回不符合预期的结果时开发者和运维人员往往缺乏有效的工具来快速定位问题根源只能依赖人工检查日志效率低下且容易遗漏。这正是像 Lemma 这类专注于 AI 智能体可观测性平台试图解决的问题。它们的目标是为 AI 驱动的应用提供一套完整的监控、追踪、调试和告警体系让智能体的内部决策过程变得透明、可审计、可排查。对于正在或计划将 AI 智能体投入生产环境的团队而言构建或引入一套有效的监控方案是保障服务稳定性、提升用户体验、加速问题排查的关键。本文将围绕如何为 AI 智能体构建监控体系展开从核心概念、监控维度、技术实现到常见问题排查提供一个可供参考的实践框架。1. 理解 AI 智能体监控的特殊性与核心维度AI 智能体与传统软件监控的根本区别在于其“非确定性”和“认知过程”的不可见性。一个传统的微服务输入和输出是结构化的逻辑路径相对固定。而一个智能体其输入是自然语言输出也是自然语言中间可能涉及多轮思考、工具调用、外部知识检索等复杂步骤。因此监控体系需要从多个维度切入。1.1 智能体的核心运行阶段与可观测点一个典型的智能体工作流可以拆解为几个关键阶段每个阶段都是重要的监控切面输入解析与意图识别监控用户输入的预处理质量、意图分类的置信度。低置信度可能意味着用户问题模糊或超出智能体能力范围。规划与思考链对于采用 Chain-of-Thought 等技术的智能体需要记录其内部推理步骤。这是理解智能体“为什么这么想”的关键。工具调用记录调用了哪些工具函数/API、调用参数、返回结果、耗时和状态成功/失败。这是故障最常发生的环节。上下文管理监控对话上下文的长度、内容相关性以及是否出现了关键信息丢失或混淆。最终响应生成监控最终输出的质量、长度、是否包含敏感词或不符合预期的格式。1.2 必须监控的四类指标基于上述阶段我们可以定义四类核心监控指标性能指标与传统应用类似但需细化。端到端响应延迟。各阶段耗时思考、工具调用、生成。大语言模型调用本身的 Token 消耗与速率限制情况。工具调用的成功率和延迟。质量指标评估智能体输出是否“正确”或“可用”。直接评估通过规则或模型对输出进行评分如相关性、完整性、无害性。例如检查输出是否包含“我不知道”这类逃避回答或是否调用了不该调用的工具。间接评估用户反馈点赞/点踩、会话中途退出率、问题重复提问率。成本指标AI 应用的核心关切。每次会话消耗的 Token 总数及费用。工具调用产生的第三方 API 费用。安全与合规指标输入/输出中是否出现敏感词或违规内容。工具调用是否越权如尝试执行删除操作。上下文是否泄露了不应透露的隐私信息。1.3 智能体监控的技术挑战数据非结构化日志和追踪数据包含大量自然语言文本难以直接进行聚合统计。链路追踪复杂一次用户对话可能触发多次模型调用和工具调用形成一个树状或图状的执行链路比传统的线性调用链更难追踪和可视化。根因分析困难一个糟糕的回答可能源于糟糕的输入、有偏的训练数据、错误的工具结果或不佳的提示词需要结合多个维度的数据进行分析。评估自动化质量评估往往需要人工判断如何自动化或半自动化地评估输出质量是一个难题。2. 构建监控体系从数据采集到可视化构建监控体系的第一步是设计数据模型明确要采集什么数据然后选择合适的技术栈进行实现。2.1 定义核心监控数据模型一个简化的监控事件数据模型可以包含以下字段{ session_id: uuid-1234-..., // 会话唯一标识 trace_id: uuid-5678-..., // 本次请求追踪链标识 event_type: tool_call, // 事件类型input, thought, tool_call, output, error timestamp: 2023-10-27T10:00:00Z, metadata: { user_id: user_001, app_id: customer_service_agent }, content: { // 根据 event_type 变化 // 例如 tool_call: tool_name: get_weather, parameters: {city: 北京}, result: {temperature: 22, condition: 晴朗}, duration_ms: 350, status: success, error_message: null }, cost: { input_tokens: 120, output_tokens: 45, estimated_usd: 0.00015 } }2.2 技术栈选型与集成你可以基于现有可观测性生态构建也可以使用专门面向 AI 的平台。方案一基于现有可观测性工具如 Prometheus Grafana Jaeger指标Metrics使用 Prometheus Client 在智能体代码中埋点记录计数器如agent_requests_total,tool_calls_total、计量器如request_duration_seconds和直方图如token_usage。日志Logs结构化日志JSON 格式输出到 stdout由 Fluentd/Logstash 收集送入 Elasticsearch。追踪Traces使用 OpenTelemetry 标准进行分布式追踪。为每次用户请求创建一个 Trace每个模型调用、工具调用作为 Span。可视化Grafana 用于展示 Prometheus 指标和 Elasticsearch 日志分析面板。方案二使用专门的 AI 应用监控平台如 Lemma、LangSmith、Arize AI 等这类平台提供了开箱即用的功能通常包括自动化的追踪数据收集 SDK。针对 LLM 调用的优化展示提示词、补全结果、Token 使用。内置的质量评估与测试框架。针对智能体工作流的可视化调试器。集成示例在智能体代码中手动埋点假设我们有一个基于 Python 的简单智能体使用 OpenAI API 并调用一个工具。import openai import time import json from typing import Dict, Any import logging # 配置日志结构化JSON日志 logging.basicConfig(levellogging.INFO, format%(message)s) logger logging.getLogger(__name__) class MonitoringAgent: def __init__(self): self.session_id self._generate_uuid() def run(self, user_input: str) - str: trace_id self._generate_uuid() self._log_event(trace_id, input_received, {input: user_input}) start_time time.time() # 1. 调用LLM进行规划/思考 try: llm_response self._call_llm(user_input, trace_id) self._log_event(trace_id, llm_call, {response: llm_response}) except Exception as e: self._log_event(trace_id, error, {stage: llm_call, error: str(e)}) return 抱歉思考过程出错了。 # 2. 解析并执行工具调用假设llm_response指示需要调用工具 if self._needs_tool(llm_response): tool_name, params self._parse_tool_call(llm_response) tool_result self._execute_tool(tool_name, params, trace_id) # 3. 基于工具结果再次调用LLM生成最终回答 final_response self._call_llm_with_context(user_input, tool_result, trace_id) else: final_response llm_response total_duration (time.time() - start_time) * 1000 # 毫秒 self._log_event(trace_id, output_sent, { response: final_response, total_duration_ms: total_duration }) return final_response def _call_llm(self, prompt: str, trace_id: str) - str: 调用大语言模型并记录成本等信息 event_start time.time() # 实际调用 OpenAI API # response openai.ChatCompletion.create(...) # 模拟返回 simulated_response 我需要查询天气请调用 get_weather 工具城市是北京。 duration (time.time() - event_start) * 1000 # 记录LLM调用事件 self._log_event(trace_id, llm_call_detail, { prompt: prompt, response: simulated_response, duration_ms: duration, model: gpt-4, estimated_input_tokens: len(prompt) // 4, estimated_output_tokens: len(simulated_response) // 4 }) return simulated_response def _execute_tool(self, tool_name: str, params: Dict[str, Any], trace_id: str) - Any: 执行工具调用并记录耗时和结果 event_start time.time() status success error_msg None result None try: if tool_name get_weather: # 模拟工具调用 time.sleep(0.1) result {temperature: 22, condition: 晴朗} else: raise ValueError(f未知工具: {tool_name}) except Exception as e: status failure error_msg str(e) result None duration (time.time() - event_start) * 1000 # 记录工具调用事件 self._log_event(trace_id, tool_call, { tool_name: tool_name, parameters: params, result: result, duration_ms: duration, status: status, error_message: error_msg }) if status failure: raise Exception(f工具调用失败: {error_msg}) return result def _log_event(self, trace_id: str, event_type: str, content: Dict[str, Any]): 输出结构化日志事件 log_entry { session_id: self.session_id, trace_id: trace_id, event_type: event_type, timestamp: time.time(), content: content } logger.info(json.dumps(log_entry)) def _generate_uuid(self): import uuid return str(uuid.uuid4()) def _needs_tool(self, response): return get_weather in response def _parse_tool_call(self, response): return get_weather, {city: 北京} # 使用示例 if __name__ __main__: agent MonitoringAgent() answer agent.run(北京今天天气怎么样) print(f智能体回答: {answer})运行上述代码你会在控制台看到 JSON 格式的结构化日志这些日志可以被日志收集器抓取并进行分析。2.3 配置可视化与告警收集到数据后下一步是配置仪表盘和告警规则。Grafana 仪表盘建议面板概览面板请求总量、平均响应时间、错误率、总 Token 消耗今日。性能面板P50/P95/P99 响应时间、各阶段LLM调用、工具调用耗时分布。质量面板工具调用成功率、输出内容安全扫描通过率、用户反馈负面比例。成本面板按模型、按应用、按用户分组的 Token 消耗趋势与费用预估。追踪查询面板输入 Trace ID 或 Session ID查看单次请求的完整链路详情包括每一步的输入输出。告警规则示例Prometheus# 规则1: 工具调用失败率升高 - alert: HighToolCallFailureRate expr: rate(tool_calls_total{statusfailure}[5m]) / rate(tool_calls_total[5m]) 0.05 for: 2m labels: severity: warning annotations: summary: 工具调用失败率超过5% description: 最近5分钟工具调用失败率为 {{ $value | humanizePercentage }}。 # 规则2: 平均响应时间显著变慢 - alert: HighResponseLatency expr: histogram_quantile(0.95, rate(request_duration_seconds_bucket[5m])) 10 for: 5m labels: severity: warning annotations: summary: 95分位响应时间超过10秒 description: 最近5分钟95%的请求响应时间超过10秒。 # 规则3: 检测到敏感词输出 - alert: SensitiveContentDetected expr: increase(sensitive_content_detected_total[1m]) 0 labels: severity: critical annotations: summary: 智能体输出了敏感内容 description: 在过去1分钟内检测到 {{ $value }} 次敏感内容输出。3. 典型故障场景与排查路径当监控系统发出告警或用户反馈智能体行为异常时如何高效排查以下是几个典型场景。3.1 场景一智能体返回“我不知道”或无关内容现象用户提问具体问题但智能体频繁回复“我无法回答这个问题”或给出完全无关的答案。排查路径检查输入查看该次会话的原始用户输入日志确认输入是否清晰、有无乱码或特殊字符。检查上下文查看本次请求携带的对话历史上下文。是否因为上下文过长被截断是否包含了误导性的历史信息检查提示词Prompt确认发送给大语言模型的系统提示词System Prompt是否被意外修改或覆盖。提示词是智能体的“宪法”其错误会导致整体行为偏差。检查模型调用查看 LLM 调用日志中的实际请求和响应。模型是否返回了合理的中间思考内容还是直接返回了无关内容检查知识库/工具如果智能体依赖外部知识库或工具检查检索到的知识片段是否相关或工具返回的结果是否有效。3.2 场景二工具调用持续失败现象监控显示工具调用失败率 (tool_call_failure_rate) 飙升。排查路径定位失败工具首先在仪表盘或日志中定位是哪一个或哪一类工具失败率最高。分析错误类型查看失败调用的详细错误信息 (error_message)。常见类型网络/连接错误工具对应的后端服务不可用、超时。认证/授权错误API 密钥失效、权限不足。参数错误智能体生成的调用参数格式错误、缺少必填字段、值超出范围。资源不存在查询的 ID 不存在。检查参数生成逻辑查看失败请求中智能体生成的工具参数是什么。对比成功请求的参数分析差异。问题可能出在提示词中对工具的描述不够精确导致 LLM 生成错误参数。检查工具服务状态直接测试工具后端服务的健康状态。检查限流与配额工具服务是否有调用频率限制或配额已用尽3.3 场景三响应时间变慢现象平均响应时间 (request_duration_seconds) 或 P95/P99 延迟显著增加。排查路径分解耗时查看追踪数据确定延迟主要发生在哪个阶段。是 LLM 调用慢还是工具调用慢或者是智能体自身的逻辑处理慢LLM 调用慢检查所用模型如gpt-4vsgpt-3.5-turbo是否变更。检查请求的 Token 数量是否激增上下文变长。检查 LLM 提供商的状态页面是否有区域性故障或降级。工具调用慢检查具体慢速工具的响应时间。分析该工具后端服务的性能指标数据库慢查询、依赖服务延迟等。智能体逻辑慢检查是否有新上线的复杂逻辑如多次循环调用 LLM。检查代码中是否有同步等待、阻塞操作。3.4 场景四成本异常飙升现象Token 消耗或 API 调用费用远超平日基线。排查路径按维度聚合将成本数据按app_id、user_id、model、tool_name进行分组找出是哪个维度贡献了主要增长。分析异常会话找到消耗 Token 最多的几个会话 (session_id)通过追踪链路回放其完整交互过程。常见原因上下文膨胀某次会话陷入长循环不断追加上下文导致每次调用 LLM 的 Token 数线性增长。提示词泄漏系统提示词被意外加入用户对话上下文导致每次请求都重复发送冗长的提示词。工具滥用智能体在单次请求中进行了不必要的多次工具调用。遭遇攻击恶意用户通过构造输入诱导智能体进行大量无意义的生成或调用。4. 生产环境最佳实践与扩展方向将智能体监控投入生产环境除了基础功能还需要考虑更多工程化因素。4.1 监控实施清单在部署前请对照此清单进行检查检查项说明是否完成核心指标埋点已对请求数、延迟、错误率、Token 使用量、工具调用进行埋点。□分布式追踪为每个用户请求生成唯一的trace_id并能串联所有 LLM 调用和工具调用。□结构化日志所有日志以 JSON 等结构化格式输出包含session_id,trace_id,event_type等固定字段。□关键仪表盘已创建概览、性能、质量、成本、追踪详情等核心 Grafana 仪表盘。□关键告警已配置针对高错误率、高延迟、成本激增、安全违规的告警规则并通知到人如钉钉、Slack。□数据采样策略针对高流量场景已制定追踪和详细日志的采样策略如 10%避免数据爆炸和成本过高。□隐私与脱敏日志和追踪数据中的用户个人信息、密钥等敏感信息已进行脱敏处理。□监控系统自监控监控管道本身日志收集器、时序数据库的健康状态也被监控。□4.2 性能与成本优化建议上下文长度管理实现智能的上下文窗口管理策略如总结旧对话、丢弃无关历史避免无限制增长。缓存策略对于频繁且结果稳定的工具调用如查询静态信息或 LLM 对相同问题的回答引入缓存层。异步与流式响应对于耗时的处理考虑采用异步响应或流式输出首个 Token 的时间提升用户体验。分级降级当核心工具或模型服务不可用时设计降级方案如使用更简单的模型、返回静态兜底答案。4.3 向高级可观测性演进基础监控之上可以追求更深入的可观测性自动化评估与测试建立自动化测试流水线定期用一组标准问题集回归测试集测试智能体自动评估其回答的质量、安全性和成本并在出现退化时告警。根本原因分析RCA自动化利用机器学习分析历史故障数据自动将新异常归类到已知的根因类别如“提示词被污染”、“特定工具超时”加速排查。因果追踪不仅记录“发生了什么”还能分析“为什么发生”。例如识别出因为用户输入中的一个歧义词导致智能体选择了错误的知识片段进而给出了错误答案。道德与偏见监控长期监控智能体输出是否存在性别、种族、文化等方面的偏见并设置审计流程。构建 AI 智能体的监控体系是一个持续迭代的过程。从最基础的指标和日志开始逐步丰富追踪信息建立关键告警再向自动化评估和深度分析演进。这不仅能保障智能体在生产环境中的稳定运行更能通过数据反馈持续优化其性能和效果最终打造出真正可靠、可信的 AI 应用。

相关新闻

H3C S1248交换机实战:VLAN划分、端口镜像与流量控制配置指南

H3C S1248交换机实战:VLAN划分、端口镜像与流量控制配置指南

这次我们来看一款在企业网络部署中能解决实际问题的设备——H3C S1248 48口全千兆交换机。它被官方推荐为集智能监控网络、网线分线器、流量分流器功能于一体的专业设备。对于需要搭建或升级办公网络、监控系统、小型机房的朋友来说,这款设备提供了一个高性价比、功…

2026/8/17 1:54:47 阅读更多 →
PotPlayer字幕翻译插件免费使用指南:3步开启实时双语字幕

PotPlayer字幕翻译插件免费使用指南:3步开启实时双语字幕

PotPlayer字幕翻译插件免费使用指南:3步开启实时双语字幕 【免费下载链接】PotPlayer_Subtitle_Translate_Baidu PotPlayer 字幕在线翻译插件 - 百度平台 项目地址: https://gitcode.com/gh_mirrors/po/PotPlayer_Subtitle_Translate_Baidu PotPlayer字幕翻译…

2026/8/17 1:53:47 阅读更多 →
基于SpringBoot的瑜伽馆网站的设计与实现(源码+lw+部署文档+讲解等)

基于SpringBoot的瑜伽馆网站的设计与实现(源码+lw+部署文档+讲解等)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/17 1:53:47 阅读更多 →

最新新闻

LLM浏览器代理指纹识别:基于UI交互行为序列的AI身份追踪技术

LLM浏览器代理指纹识别:基于UI交互行为序列的AI身份追踪技术

1. 项目概述:当LLM浏览器代理在屏幕上“打字”时,我们如何认出它?最近,大语言模型驱动的浏览器代理(LLM Browser Agents)越来越火。简单来说,就是让一个AI模型(比如GPT-4、Claude等&…

2026/8/17 2:39:59 阅读更多 →
微信抢红包插件保姆级实战指南:三步配好,群里红包再也不用拼手速

微信抢红包插件保姆级实战指南:三步配好,群里红包再也不用拼手速

微信抢红包插件保姆级实战指南:三步配好,群里红包再也不用拼手速 【免费下载链接】WeChatLuckyMoney :money_with_wings: WeChats lucky money helper (微信抢红包插件) by Zhongyi Tong. An Android app that helps you snatch red packets in WeChat g…

2026/8/17 2:39:59 阅读更多 →
右键菜单越用越乱?可视化开关加免碰注册表,ContextMenuManager 一次清干净

右键菜单越用越乱?可视化开关加免碰注册表,ContextMenuManager 一次清干净

右键菜单越用越乱?可视化开关加免碰注册表,ContextMenuManager 一次清干净 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 电脑用久了&am…

2026/8/17 2:39:59 阅读更多 →
机器人算法岗面试核心知识点与实战路径全解析

机器人算法岗面试核心知识点与实战路径全解析

最近在准备机器人算法岗的秋招,发现很多同学对面试要准备哪些内容感到迷茫。机器人算法岗涉及的知识面非常广,从底层的传感器数据处理到高层的决策规划,再到前沿的强化学习,每个环节都可能成为面试官的考察点。本文旨在梳理一份面…

2026/8/17 2:39:59 阅读更多 →
在VSCode中配置LaTeX环境:从零搭建高效论文写作工作流

在VSCode中配置LaTeX环境:从零搭建高效论文写作工作流

1. 从零到一:为什么要在VSCode里折腾LaTeX?如果你经常需要写论文、报告,或者任何包含复杂公式、交叉引用和精美排版的文档,大概率听说过LaTeX。它和Word那种“所见即所得”的编辑方式完全不同,LaTeX是一种“所想即所得…

2026/8/17 2:39:59 阅读更多 →
[Python] str() 和 join() 的区别与实战避坑指南

[Python] str() 和 join() 的区别与实战避坑指南

前言 在刷题或日常开发中,我们经常需要把不同类型的数据转换成字符串,或者把一组字符串拼接成一个整体。str() 和 join() 就是两个最常用的工具。 然而,很多初学者(包括我自己)在使用它们时容易踩坑。这篇文章将从原…

2026/8/17 2:38:59 阅读更多 →

日新闻

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必修课? 如果你用LabVIEW做过稍微复杂点的项目,尤其是涉及界面响应、多任务并行或者硬件IO等待的场景,大概率遇到过这样的窘境:前面板点个按钮,整个程序就“卡死…

2026/8/17 0:00:08 阅读更多 →
LabVIEW异步调用实战:解决界面卡顿与并行处理难题

LabVIEW异步调用实战:解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必经之路如果你在LabVIEW里写过稍微复杂点的程序,尤其是涉及到界面响应、多任务并行或者硬件IO等待,大概率会遇到一个头疼的问题:程序“卡”住了。前面板点不动,进度条不更新…

2026/8/17 0:00:08 阅读更多 →
飞书局域网文件传输实战:3种方案实现高速点对点传输

飞书局域网文件传输实战:3种方案实现高速点对点传输

1. 项目概述:为什么要在局域网内用飞书传文件? 飞书作为一款主流的协同办公套件,其核心功能是围绕云端协作设计的。无论是文档、表格还是文件,通常的分享逻辑都是“上传到云端 -> 生成链接 -> 分享给同事”。这个流程在互联…

2026/8/17 0:00:08 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →