基于人工智能与代码变更感知的前端组件文档生成方法与流程
本发明涉及计算机软件,具体的说,是一种基于人工智能与代码变更感知的前端组件文档生成方法。
背景技术:
1、随着企业级前端应用规模的扩大,构建自定义前端组件库已成为行业普遍实践。组件库文档作为连接开发者与使用者的纽带,通过功能说明、接口定义及交互演示等内容,直接决定了组件库的易用性和复用率。
2、目前,行业内已存在部分能够基于代码进行自动化文档生成的现有技术(如通过静态代码分析提取组件属性或解析特定注释字段),但其高度依赖开发人员编写代码,同时必须严格按照预设规范显式定义好特定的属性字段或书写标准化的类型声明。这种半自动化的维护方式在实际应用中依然存在显著缺陷:
3、一是随着组件复杂度的提升,手动配置、维持以及严格遵循这些特定字段的定义规则,导致工程整体效率低且人工维护成本高昂;二是由于缺乏对业务代码深层语义的理解,一旦开发人员在定义字段时产生疏忽,极易导致生成的文档与实际底层逻辑脱节,无法保障二者的一致性;三是现有技术通常缺乏精准的局部增量同步机制,组件更新后往往需要对整个文档进行全量重构或人工全量介入审查,时效性极差。
技术实现思路
1、本发明的目的在于提供一种基于人工智能与代码变更感知的前端组件文档生成方法,用于解决现有方法中手动配置、维持、遵循特定字段的定义规则效率低、维护成本高,以及组件文档与底层逻辑易脱节、组件更新需要对文档全量重构/人工全量介入审查时效性差的问题。
2、本发明通过下述技术方案解决上述问题:
3、一种基于人工智能与代码变更感知的前端组件文档生成方法,包括:
4、步骤s1、通过代码扫描脚本扫描组件的源代码,收集源代码的git提交记录,获取组件的结构化元信息、组件标识id和复合语义指纹;构建数据库,用于存储组件标识id及对应的历史结构化元信息、已生成的历史复合语义指纹及历史组件文档文本;
5、步骤s2、接收到当前组件的文档处理请求时,获取当前组件的结构化元信息、组件标识id和复合语义指纹;根据其组件标识id查询数据库,若返回检索结果为空,则触发文档构建流程首次生成当前组件的组件文档文件,并将组件标识id、结构化元信息、组件文档文本存入数据库;若返回检索结果非空,则从数据库中提取组件标识id对应的历史复合语义指纹、历史结构化元信息及历史组件文档文本;
6、步骤s3、对组件文档文本进行更新判定,若未更新,则返回所述历史组件文档文本;若有更新,则提取差异特征,形成变动描述文件;
7、步骤s4、收集上下文的约束变量,所述约束变量包括当前组件的结构化元信息、历史组件文档文本以及所述变动描述文件;将所述历史组件文档文本、变动描述文件动态拼接到提示词模板中,输出动态提示词文件,所述提示词模板中预设有强制性约束指令;
8、步骤s5、语言模型将所述动态提示词文件转译并采用双重锁定机制逻辑推理,输出全新组件文档文本。
9、本发明通过代码扫描脚本自动提取组件源代码特征和git上下文构建复合语义指纹、通过复合语义指纹判定代码增量变动、提取差异特征形成变动描述文件,形成带有强制性约束指令的动态提示词文件、结合大模型生成随机性双重锁定机制,进行组件文档文本的更新,解决开发人员需手动维护特定文档字段的强依赖、效率低、维护成本高问题,并实现前端组件库文档在企业级生产环境下的确定性全自动生成与精准增量同步,组件更新时无需对文档全量重构,无需人工全量介入审查,提高效率。
10、作为本发明的进一步改进,还包括步骤s6:将历史组件文档文本与全新组件文档文本进行差异计算和差异显示,并监听和动态捕获人工微调修改后的最终语义片段,并根据用户指令选择将最终语义片段作为最终定稿的组件文档文本并存储到数据库中,或者继续沿用数据库中原有的历史组件文档文本。
11、作为本发明的进一步改进,所述获取组件的结构化元信息、组件标识id和复合语义指纹的方法为:扫描组件的源代码,进行元信息预处理得到结构化元信息,并根据组件的组件文件信息生成全局唯一的组件标识id;对结构化元信息解耦指纹化处理,生成组件的复合语义指纹。
12、作为本发明的进一步改进,所述扫描组件的源代码,进行元信息预处理得到结构化元信息,并根据组件的组件文件信息生成全局唯一的组件标识id的方法为:
13、扫描前端工程中组件的源代码,将所述源代码转换为抽象语法树;
14、遍历所述抽象语法树节点并裁剪丢弃内部业务逻辑代码块,得到简化抽象语法树特征,提取组件的属性事件描述,同时根据所述组件的组件文件的工程相对路径及导出名生成全局唯一的组件标识id;
15、提取所述组件文件的git提交记录,处理后得到结构化上下文对象数组;
16、将所述简化抽象语法树特征以及关联的上下文对象数组进行整合,序列化封装后得到结构化元信息。
17、作为本发明的进一步改进,所述对结构化元信息解耦指纹化处理,生成组件的复合语义指纹的方法为:对结构化元信息的结构化属性特征进行哈希运算,输出哈希字符串作为特征指纹;对结构化元信息的非结构化自然语言文本进行长文本序列串联,并转化为语义指纹数组,将所述特征指纹与所述语义指纹数组拼接封装,构建出组件当前版本的复合语义指纹。
18、作为本发明的进一步改进,所述步骤s3具体包括:
19、将当前组件的复合语义指纹与数据库中读取的历史复合语义指纹进行字符串完全等值比对,若完全重合则判定为未更新,返回该历史组件文档文本并终止后续流程;否则,调用线性代数矩阵运算库提取合语义指纹与历史复合语义指纹的语义指纹特征向量并计算余弦相似度,输出数值区间在[0,1]之间的标量值;将所述标量值与预设的相似度阈值进行比对,若所述标量值大于或等于所述相似度阈值,则返回该历史组件文档文本并终止后续流程;
20、否则,提取当前组件的结构化元信息与历史结构化元信息的差异特征,遍历差异特征,对照语义模板填充变量后生成自然语言描述,同一属性有多重变更时,进行合并去重,最后整合成为变动描述文件;所述语义模板为预设的映射表,定义不同变更类型对应的自然语言模板。
21、作为本发明的进一步改进,所述提取当前组件的结构化元信息与历史结构化元信息的差异特征的方法为:
22、将当前组件的结构化元信息与历史结构化元信息的抽象语法树分别解构、转化为以唯一的name为键的映射表,对两个映射表的键集进行集合差运算,识别出新增属性集合与删除属性集合作为差异特征;对两个映射表中的共有键,执行属性值递归比对,若检测到类型、默认值或描述字段存在数值差异,则将其判定为修改项,并提取变更前后的值作为差异特征。
23、作为本发明的进一步改进,所述步骤s5具体包括:
24、将所述动态提示词文件转化为特征文本向量输入至语言模型中进行逻辑转译为包含非结构化业务知识的文档文本;
25、语言模型采用双重锁定机制对所述文档文本逻辑推理,输出全新组件文档文本。
26、作为本发明的进一步改进,所述双重锁定机制包括第一重锁定和第二重锁定,所述第一重锁定为激活低温度生成模式,在api请求配置中控制语言模型输出随机性的温度参数强制调整为极小值或零值,强制语言模型选择概率最高的确定性文本路径;所述第二重锁定为配置固定随机种子,向语言模型推理引擎注入全局固定的随机伪随机数发生器种子常数,以屏蔽语言模型后端的非预期抖动。
27、作为本发明的进一步改进,所述步骤s6具体包括:
28、利用可视化代码文本对比工具将所述历史组件文档文本载入至原始缓冲区,将所述全新组件文档文本载入至修订缓冲区;
29、调用文本差分算法对两组缓冲区中的文本流执行逐字逐行的行内差异计算,并将所述历史组件文档文本与所述全新组件文档文本以双栏并行对照的形式渲染呈现在前端用户交互界面上,同时根据差异计算结果对新增、删除及修改的文本段落执行不同的预设背景色实时高亮渲染;
30、将修订缓冲区置为可读写状态,利用事件监听器实时监听修订缓冲区的文本变更事件,动态捕获并更新用户在差异高亮辅助下人工微调修改后的最终语义片段;
31、在交互界面并列提供接受与放弃两个触发控件,当监听到用户点击接受控件的指令时,立即将所述修订缓冲区内最终定稿的组件文档文本作为当前的最新版本持久化覆盖存储至数据库中,并同步更新其在数据库中的复合语义指纹;当监听到用户点击放弃控件的指令时,直接回滚并继续沿用数据库中原有的历史组件文档文本。
32、本发明与现有技术相比,具有以下优点及有益效果:
33、(1)本发明通过代码扫描脚本自动提取组件源代码特征和git上下文构建复合语义指纹、通过复合语义指纹判定代码增量变动、提取差异特征形成变动描述文件,形成带有强制性约束指令的动态提示词文件、结合大模型生成随机性双重锁定机制,进行组件文档文本的更新,解决开发人员需手动维护特定文档字段的强依赖问题,并实现前端组件库文档在企业级生产环境下的确定性全自动生成与精准增量同步。
34、(2)本发明引入人工智能语义理解能力,摆脱了传统技术对人工前置定义特定文档字段的强依赖,通过前置代码语义差异精准比对、人工智能生成随机性抑制机制、以及自动化更新审核与版本回滚逻辑,实现了文档的高效全自动生成与增量精准同步,并有效保障了技术文档在企业级生产环境落地时所需的确定性与高准确度。
35、(3)本发明通过“精确哈希+深度学习特征向量”的复合语义指纹设计以及余弦相似度级联判定,能精准过滤掉代码重构等非实质性变更,从源头上避免了不必要的大模型生成流程。通过引入代码变更感知和神经网络语义理解,在现有工具的基础上进一步提升自动化程度和更新的精准性。
36、(4)本发明利用集合差集运算自动推导出自然语言增量约束规则,并结合大模型底层低温度和固定随机种子的双重参数锁定,有效抑制了生成式人工智能的幻觉缺陷与文本随机重写,消除生成抖动并保障技术文档确定性,确保未变动区域格式与措辞的绝对一致。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com