智能体驱动的确定性验证:COBOL到Java遗留系统迁移质量保障实践
1. 项目概述与核心挑战最近在做一个挺有意思的活儿帮一个金融客户把他们的核心交易系统从古老的COBOL代码迁移到Java平台。这事儿听起来像是“翻译”但实际操作起来远比把英文翻译成中文复杂得多。核心难点不在于语法转换而在于如何确保迁移后的新系统在功能和行为上与运行了几十年的老系统完全一致不能有丝毫偏差。一个小数点、一个交易状态的判断错误都可能引发严重的业务问题。这就是我们常说的“确定性验证”。传统的验证方法比如写一大堆测试用例、做回归测试在应对这种大规模、逻辑复杂的遗留代码迁移时往往力不从心。测试用例覆盖不全、人工比对结果效率低下且容易出错。于是我们引入了一种更智能、更系统化的方法——“Agentic Method for Deterministic Validation”我把它理解为一种“智能体驱动的确定性验证框架”。这不仅仅是引入几个自动化脚本而是一套融合了智能体Agent决策、规则引擎和确定性比对逻辑的完整工程实践。简单来说它的目标就是让验证过程本身变得像“侦探”一样能自主、精准地发现新旧系统之间任何微小的、非确定性的差异并给出清晰的证据链。这非常适合COBOL到Java这类涉及复杂业务逻辑、数据结构和并发处理的迁移场景。如果你也正头疼于如何保证遗留系统迁移的质量或者对“Agentic”智能体化在软件工程中的应用感兴趣那接下来的内容应该能给你不少启发。2. 智能体验证方法的核心设计思路2.1 为什么传统验证方法在遗留代码迁移中失灵在深入我们的方法之前得先搞清楚老办法为什么不行。COBOL系统尤其是金融领域的有几个显著特点状态复杂大量使用文件VSAM、顺序文件和数据库如IMS、DB2来维护业务状态一个交易可能涉及多个数据记录的更新。逻辑缠绕代码中充满了基于特定业务规则的GOTO语句和PERFORM循环业务逻辑与数据访问深度耦合。副作用多除了数据库操作还可能包含屏幕处理CICS、报文发送等外部交互这些“副作用”的输出必须一致。数据精度敏感金融计算对十进制数的处理COBOL的PIC S9(13)V9(2) COMP-3有严格要求与Java的BigDecimal转换稍有不慎就会出错。传统的单元测试或集成测试需要人为设计输入和预期输出。但对于一个拥有成千上万个入口点如CICS交易码的老系统穷举所有可能的输入组合包括各种边界条件、异常状态几乎是不可能的。更棘手的是很多老系统甚至没有完整的、机器可读的规格说明书预期输出本身就需要从运行中的老系统行为来反向推导。2.2 智能体验证框架的架构拆解我们的“Agentic”方法其核心思想是将验证任务分解并由多个职责分明的“智能体”协同完成。这里的“智能体”并非指强人工智能而是指具有特定目标、能感知环境测试上下文、自主执行动作如发起请求、解析结果、做出判断并基于规则学习的程序模块。整个框架可以看作一个微型的、专门用于验证的“多智能体系统”。整个框架主要包含以下几类智能体协调智能体相当于总指挥。它接收验证任务例如“验证交易码ABCD的所有分支逻辑”将其分解为具体的测试场景分发给采集智能体和验证智能体并汇总最终报告。采集智能体负责与新旧两套系统交互。它需要“理解”如何触发一个业务功能例如构造一个CICS BMS Map输入或一个HTTP API请求并捕获系统的完整响应。对于老COBOL系统它可能通过屏幕抓取、交易模拟器或封装好的测试接口来获取输出对于新Java系统则直接调用对应的服务接口。验证智能体这是核心中的核心。它接收来自采集智能体的、针对同一业务场景的新旧两套输出数据。它的任务不是简单地做字符串比对而是进行“语义级”的确定性比对。这包括数据提取与归一化从杂乱的输出可能是3270屏幕格式、XML、JSON或日志文件中提取出关键业务字段如账户余额、交易状态码、错误信息。规则化比对应用预先定义或学习到的比对规则。例如对于金额字段允许的误差范围是多少考虑四舍五入差异对于日期字段格式如何转换对于某些“本次交易流水号”这类每次必然不同的字段则忽略其值只检查其存在性和格式。差异分析与归因当发现不一致时它不能仅仅说“A不等于B”而要尝试分析差异的类型——是计算错误、逻辑分支走错、还是时序问题并将初步分析结果附上。注意验证智能体的规则库是需要精心构建和维护的核心资产。初期需要领域专家大量介入但随着验证案例的积累可以通过分析历史差异模式自动提炼和补充新的规则实现一定程度的“学习”。2.3 确定性比对的深层逻辑“确定性”是这里的关键。它意味着给定相同的初始状态和相同的输入序列新旧系统必须产生完全等价的输出和最终状态。这要求我们的验证必须覆盖输出一致性直接的系统响应比对。状态一致性交易执行后相关数据库记录、文件内容的变化必须一致。这需要采集智能体在交易前后对状态进行“快照”并由验证智能体比对快照差异。副作用一致性如发送的消息、写入的日志条目等也需要比对。为了实现这一点我们引入了“黄金数据集”和“执行轨迹”的概念。黄金数据集是从生产环境老系统中通过采集智能体录制的大量真实交易请求和响应脱敏后。它构成了我们回归测试的基础。执行轨迹对于复杂交易我们会在新Java系统中植入轻量的诊断日志记录关键逻辑分支的走向。验证时不仅比对最终结果也比对这条“执行轨迹”与从COBOL代码逻辑分析出的预期轨迹是否吻合。这能有效发现“结果碰巧正确但逻辑路径错误”的深层Bug。3. 从COBOL到Java迁移场景的实操要点3.1 环境搭建与接口适配要让采集智能体同时对接COBOL和Java两套系统环境搭建是第一步。遗留COBOL环境对接 通常我们无法直接在生产系统上跑测试。可行的方案有搭建独立的COBOL测试环境使用IBM ZDTz/OS Development and Test Environment或类似的模拟器部署一套与生产环境尽可能一致的测试系统。使用封装接口如果老系统提供了一些测试友好的接口尽管很少如批处理作业的调用接口就直接使用。更常见的是我们需要开发一个“适配层”这个适配层能够模拟终端操作使用像tn3270这样的库或者解析CICS通信区的数据格式将采集智能体的请求“翻译”成老系统能理解的形式。新Java系统环境 这个相对标准通常是一个部署在测试服务器的Spring Boot应用。关键是要确保其连接的数据源如测试数据库的初始状态与COBOL测试环境的数据快照完全同步。我们会使用数据库迁移工具如Liquibase和定制化的数据初始化脚本来保证这一点。采集智能体的实现 我们通常用Python或Java来编写采集智能体因为它需要较强的胶水能力和丰富的库支持。例如一个典型的采集流程可能是# 伪代码示例采集智能体执行一次查询余额交易 def collect_balance(account_id, system_type): if system_type COBOL: # 连接3270模拟器导航到交易界面输入账号发送Enter键 screen_data tn3270_client.execute_transaction(BALC, account_id) # 从屏幕固定位置解析出余额字段 balance parse_screen_field(screen_data, row10, col20, length12) return {balance: balance, raw_screen: screen_data} elif system_type JAVA: # 调用Java系统的REST API response requests.get(fhttp://java-app/api/accounts/{account_id}/balance) return response.json() # 假设返回 {balance: 1234.56, currency: USD}这个智能体需要对新旧两套系统的交互协议和数据结构有“知识”这些知识以配置或规则的形式存在。3.2 验证智能体的规则引擎配置验证智能体的核心是规则引擎。我们选用过Drools但对于大多数项目一个轻量级的、基于JSON或YAML配置的规则系统更易维护。一个典型的比对规则配置可能如下所示YAML格式validation_rules: - field_path: response.balance # 字段路径 rule_type: numeric_equivalence tolerance: 0.01 # 允许0.01的绝对误差 source_transform: # 对COBOL来源数据的预处理 type: string_to_decimal decimal_places: 2 target_transform: # 对Java来源数据的预处理 type: none # Java返回的已经是数字 - field_path: response.transaction_id rule_type: ignore # 忽略该字段的值但检查其存在性和格式如长度、字符集 format_check: regex: ^[A-Z0-9]{10}$ - field_path: database_snapshot.ACCOUNT_TABLE[?account_id123].LAST_UPDATED rule_type: timestamp_equivalence tolerance_millis: 1000 # 时间戳允许1秒内的误差因为系统时钟可能略有不同规则类型是我们预先定义好的包括精确匹配、数值等价带容差、集合等价忽略顺序、正则匹配、忽略、自定义函数等。实操心得规则配置的粒度很重要。一开始我们试图为每个字段配置精细规则后来发现维护成本太高。更好的做法是先定义一些通用规则如所有金额字段默认容差0.01再针对特殊字段进行覆盖。同时建立一个“规则看板”每次验证失败如果是因为新发现的差异模式就评估是否需要新增一条规则。这本身就是一个知识积累的过程。3.3 执行流程与持续集成整个验证过程应该是自动化的并集成到CI/CD流水线中。以下是简化流程环境准备与数据同步CI流水线启动一个任务确保COBOL测试环境和Java测试环境就绪并将基准数据快照恢复到两个环境的数据库中。测试场景调度协调智能体从“黄金数据集”中读取一批测试用例例如100个核心交易场景或者根据代码分析生成边界条件用例。并行采集协调智能体将每个测试用例同时分发给两个采集智能体实例一个针对COBOL一个针对Java。这里并行很重要可以减少总体验证时间。结果比对与报告两个采集结果返回后协调智能体将其交给验证智能体进行规则化比对。所有差异包括通过和失败的详情被生成一份结构化的报告如JUnit XML格式或HTML报告。反馈与学习如果发现差异报告会直接关联到具体的Java迁移代码和原始的COBOL代码位置方便开发人员定位。确认是Bug则修复确认是合理的差异如由于技术实现不同导致的无关紧要的变化则更新验证规则库避免下次误报。提示在CI中我们可以设置质量关卡。例如核心交易的验证必须100%通过非核心交易的验证通过率需达到99.5%以上。这为每次代码提交提供了即时、客观的质量反馈。4. 关键技术难点与解决方案实录4.1 处理非确定性输出与状态这是遗留系统迁移验证中最头疼的问题。除了前面提到的交易流水号还有系统时间戳日志或记录中的生成时间必然不同。解决方案是在规则中配置ignore或timestamp_equivalencewith tolerance。随机数或序列有些老系统会生成随机数用于某些控制。在迁移时我们可能需要在新系统中“模拟”这个随机数生成器或者更彻底地在验证时屏蔽这些字段转而验证生成随机数的逻辑是否等价例如范围、分布。浮点数/十进制计算差异COBOL的定点计算与Java的浮点计算或BigDecimal计算可能存在细微差异。绝对不能直接比较double。我们必须在迁移时就明确规定所有金额计算必须使用BigDecimal并设置正确的精度和舍入模式如RoundingMode.HALF_EVEN。在验证时使用“数值等价”规则并设置一个业务上可接受的容差如0.0001。这个容差需要和业务方共同确认。并发与时序问题如果交易涉及并发更新两个系统即使逻辑正确由于线程调度或锁机制的细微差别可能导致最终状态顺序不同但内容一致。这时需要验证“最终状态一致性”即所有更新操作完成后数据库的最终快照是否一致而不是中间某个时刻的状态。4.2 验证智能体的“学习”能力纯粹的规则配置是静态的。为了让系统更智能我们为验证智能体添加了简单的“学习”模块差异聚类分析当出现大量验证失败时系统会自动对失败案例进行聚类分析。例如发现所有失败都集中在“利息计算”相关字段且差异模式相似都是Java结果偏大0.005那么它就会提示“检测到疑似系统性的四舍五入规则差异建议检查BigDecimal的scale和RoundingMode设置”。规则建议对于反复出现且被开发人员标记为“预期差异”即不是Bug的字段系统会建议为这个字段创建一条新的ignore或定制化比对规则。测试用例增强通过分析代码覆盖率和验证通过率协调智能体可以建议在哪些分支或边界条件上补充测试用例以完善“黄金数据集”。这个“学习”过程很大程度上是基于统计和模式匹配并不需要复杂的机器学习模型但在实践中能显著减少人工干预的工作量。4.3 性能与覆盖率的权衡“黄金数据集”可能非常庞大全量运行一次验证可能需要数小时甚至数天。在CI中这是不可接受的。我们采取的策略是分层验证提交门禁每次代码提交只运行一个“核心场景子集”约5-10分钟覆盖最基本、最关键的路径。每日构建每晚定时运行更全面的测试集约1-2小时。全量回归在发布候选版本前运行全部“黄金数据集”用例。智能选择协调智能体可以根据代码变更分析如利用代码diff信息只选取那些可能受到影响的交易场景来运行而不是盲目全量运行。并行化与优化采集和验证过程本身可以高度并行化。我们使用消息队列如RabbitMQ来分发任务利用多个采集Worker同时工作大幅缩短整体时间。5. 常见问题排查与实战技巧在实际操作中我们会遇到各种各样稀奇古怪的问题。下面这个表格整理了一些典型问题及其排查思路问题现象可能原因排查步骤与技巧批量交易验证通过但个别交易随机失败1. 测试数据污染或状态残留。2. 并发测试导致资源竞争如数据库锁。3. 非确定性逻辑如未初始化的变量。1.隔离执行单独重跑失败用例确保环境干净。2.检查日志对比新旧系统该交易的详细执行日志寻找分支差异。3.数据追溯检查该交易涉及的所有输入数据和初始状态确保完全一致。数值字段系统性偏差如所有金额都差0.011. 四舍五入规则不一致COBOL是HALF-EVEN Java默认是HALF_UP。2. 精度丢失COBOLPIC 9(5)V9(2)在转换时被截断。1.定位计算函数找到产生该金额的核心计算函数。2.对比计算过程用相同的输入手动或通过调试器单步执行新旧两边的计算逻辑对比每一步的中间结果。3.审查BigDecimal用法重点检查setScale()和divide()方法的参数。验证报告通过但上线后生产数据不一致1. 测试数据未覆盖生产中的某些特殊数据如极值、空值、异常字符。2. 生产环境配置与测试环境不同如数据库参数、JVM参数。1.生产数据采样从生产环境抽取少量真实数据脱敏后加入“黄金数据集”。2.配置一致性检查将数据库配置、应用服务器配置纳入版本管理并确保测试环境与生产环境基线一致。3.进行压力/容量测试有些问题只在并发高或数据量大时出现。COBOL端采集超时或失败1. 3270模拟器会话超时。2. COBOL交易本身有长耗时操作如大批量查询。3. 网络或测试环境不稳定。1.增加超时设置为采集智能体配置合理的操作超时和全局超时。2.实现心跳与重连对于长会话采集智能体应定期发送空操作保持连接。3.优化查询与业务方沟通能否为测试提供简化版交易或测试专用入口。比对规则误报率高1. 规则过于严格或宽松。2. 未识别出新的非确定性字段。1.建立差异评审流程每次CI失败快速分类差异是“真Bug”还是“假警报”。2.维护“白名单”字段对于确认为无需比对的字段及时加入规则库的忽略列表。3.定期回顾规则每个迭代结束时回顾新增的规则是否合理。个人体会这个验证框架搭建初期投入较大需要开发智能体、配置规则、搭建环境。但一旦运转起来它带来的信心和效率提升是巨大的。它把我们从繁重、易错的人工结果比对中解放出来让验证成为一个持续、自动、可信的过程。最大的收获不是找到了多少个Bug而是建立了一种“确定性”的文化——任何改动都必须经过这套体系的检验这为大规模遗留系统重构提供了最坚实的安全网。

相关新闻

Luminex+ELISA 挖掘克罗恩病血清标志物

Luminex+ELISA 挖掘克罗恩病血清标志物

一、研究背景:克罗恩病标志物研发的现实困境克罗恩病(Crohn’s disease, CD)属于慢性炎症性肠病(IBD),具备反复发作、迁延难愈的特征,临床常将其称作 “不死的癌症”。据美国克罗恩病和结肠炎基…

2026/8/22 12:10:43 阅读更多 →
聊天记录导出工具下载|支持3.9–4.1最新版|Windows10/11本地开源方案

聊天记录导出工具下载|支持3.9–4.1最新版|Windows10/11本地开源方案

温馨提示:文末有联系方式 全新升级|聊天记录本地导出工具正式发布 支持桌面端3.9至4.1全版本,兼容Windows 10与Windows 11操作系统。 本工具为纯本地运行的开源软件,无需云端上传,不依赖第三方服务器,真正实…

2026/8/22 11:31:01 阅读更多 →
注塑机明明有空,工单为什么还是开不了?排产前先查这4个条件

注塑机明明有空,工单为什么还是开不了?排产前先查这4个条件

注塑厂排产时,经常会遇到一种看起来很矛盾的情况: 排产表上显示某台注塑机明天有空,PMC便把新订单安排过去。等到车间准备开工时,却发现模具还在其他机台上,原料没有准备好,或者上一张订单刚做完深色产品&a…

2026/8/22 12:29:58 阅读更多 →

最新新闻

AlwaysOnTop:免费开源的一键窗口置顶工具,把任意 Windows 窗口固定在最前面

AlwaysOnTop:免费开源的一键窗口置顶工具,把任意 Windows 窗口固定在最前面

AlwaysOnTop:免费开源的一键窗口置顶工具,把任意 Windows 窗口固定在最前面 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop AlwaysOnTop 是一款免费开源的…

2026/8/22 18:08:10 阅读更多 →
Hugging FaceSafeTensors 源码架构分析:面向大模型权重安全加载的 Rust 与 Python 设计

Hugging FaceSafeTensors 源码架构分析:面向大模型权重安全加载的 Rust 与 Python 设计

Hugging Face SafeTensors 源码架构分析:面向大模型权重安全加载的 Rust 与 Python 设计本文基于 Hugging Face safetensors 仓库提交 6eb4dc9a28ebce297606e0f4836bbf28839cacef 的可复现源码快照整理。 分析仅依据目录、构建配置、测试文件和抽样源码等静态证据&a…

2026/8/22 18:08:10 阅读更多 →
园区管理系统推荐:从瓦片经济到产业运营的范式跃迁

园区管理系统推荐:从瓦片经济到产业运营的范式跃迁

核心摘要产业园区竞争已从比地段、比租金转向比服务和比产业生态。2026年6月,明源云正式发布园区招运服一体化平台,以数智招商中心、空间运营中心、产业服务中心三大模块支撑园区从空间租赁向运营服务升级。本文基于多家城投国企实践案例,为园…

2026/8/22 18:08:10 阅读更多 →
2026 AI五大热点实战:我用MonkeyCode一次跑通了推理、多模态、RAG、MCP与人机协作

2026 AI五大热点实战:我用MonkeyCode一次跑通了推理、多模态、RAG、MCP与人机协作

2026 年的 AI 行业,已经不再是"会不会用大模型"的问题,而是"怎么把大模型真正用起来、用出生产力"的问题。推理模型、多模态、RAG、MCP、上下文工程……一个又一个热点轮番登场,朋友圈里人人都在讲,可真到自己…

2026/8/22 18:08:10 阅读更多 →
MeteoInfo气象GIS与科学计算环境:5步跑通地图可视化与Jython分析

MeteoInfo气象GIS与科学计算环境:5步跑通地图可视化与Jython分析

MeteoInfo气象GIS与科学计算环境:5步跑通地图可视化与Jython分析 【免费下载链接】MeteoInfo MeteoInfo: GIS, scientific computation and visualization environment. 项目地址: https://gitcode.com/gh_mirrors/me/MeteoInfo 气象数据散落在 NetCDF、GRIB…

2026/8/22 18:08:10 阅读更多 →
超图与多智能体协同:解决POI推荐中多模态信息缺失的工程实践

超图与多智能体协同:解决POI推荐中多模态信息缺失的工程实践

1. 项目概述:当推荐系统遇上“信息缺失”与“群体智慧”在推荐系统的世界里,我们常常面临一个经典困境:用户和物品(比如一个地点、一部电影)之间的交互数据是稀疏且不完整的。更棘手的是,描述这些物品的特征…

2026/8/22 18:07:10 阅读更多 →

日新闻

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

沉金PCB工艺实战指南:从设计到SMT焊接的可靠性保障

在电子硬件开发领域,PCB(印制电路板)的沉金工艺是提升产品可靠性和焊接质量的关键环节。对于需要高密度互连、长期稳定运行或高频信号传输的板卡,如“黍姐仿通行证”这类可能涉及身份识别、数据交互的硬件项目,选择正确…

2026/8/22 0:00:11 阅读更多 →
电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

电气考研电路八月强化四步法:从知识体系到真题实战的闭环攻略

这次我们来看一个针对电气考研电路科目的学习规划项目。它不是软件工具,而是一套聚焦于8月份关键节点的备考策略。对于电气工程考研的同学来说,电路分析是专业课的重中之重,也是拉开分差的关键。进入8月,复习进入强化阶段&#xf…

2026/8/22 0:00:11 阅读更多 →
消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

消除AI代码的“AI味”:Claude Code设计优化技能配置与实战指南

大家好,我是专注于前端开发与AI工具实践的技术博主。在日常使用 Claude Code 等AI编程助手时,你是否也遇到过这样的困扰:生成的代码功能上没问题,但代码风格、组件设计、交互逻辑总透着一股“AI味”——布局单调、样式简陋、交互生…

2026/8/22 0:00:11 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/8/21 6:07:56 阅读更多 →

月新闻

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

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

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

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

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

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

2026/8/22 7:31:03 阅读更多 →
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/22 3:22:48 阅读更多 →