CASE STUDY / 03
基于大模型的 XML 代码生成器
将业务需求转化为可编译 XML,并通过数据工程、模型微调与多层评测提高复杂结构生成的可靠性。
- 角色
- AI 项目工程师
- 周期
- 2025.04 — 2025.07
- 状态
- 原型验证完成
- 团队
- 约 5 人
- 首行命中率
- 40% → 100%
- 解析成功率
- 20% → 91%
项目背景
内部业务系统需要工程师根据需求文档编写结构复杂、约束严格的 XML,再由内部系统编译生成后续业务代码。原有流程依赖工程师逐项理解需求并手工编码,批量任务的交付周期较长。
该项目探索将自然语言业务需求直接转化为可编译 XML,以缩短批量代码生产周期,并降低重复编写带来的结构和字段错误。
我的职责
我负责整体方案设计、训练数据收集与清洗标注、Qwen LoRA / SFT 微调、Prompt 格式约束,以及评测指标与测试集建设,与约 5 人团队共同完成模型研发与原型验证。
核心流程
用户提交需求文档或具体业务需求的语义描述,模型生成 XML;结果随后经过解析、结构与业务规则校验,合格代码可交由内部系统编译并生成后续业务代码。
核心难点
稳定生成复杂 XML
模型的主要失败集中在三类:XML 无法解析或标签未闭合、节点缺失及层级或顺序错误,以及字段值不符合业务规则。它们分别对应语法有效性、结构完整性和业务正确性,不能只用单一文本相似度衡量。
让合成数据可靠进入训练集
为了补足复杂样本,我们使用 LLM 辅助扩充数据,并建立一条带质量门槛的数据链路:XML Parser 检查 → Schema 与业务规则校验 → 去重和异常过滤 → 人工抽检或二次标注 → 仅保留可解析或可编译样本。
平衡数据与训练稳定性
复杂样本扩充不仅增加数据量,也用于改善训练集分布。微调阶段结合 batch size、warmup 等超参数调整,让模型更稳定地学习长结构、层级关系和字段约束。
评测与结果
评测覆盖 XML 解析成功率、完整代码准确率、节点与字段级准确率、首行命中率及 BLEU。在项目评测中,首行命中率从 40% 提升至 100%,XML 解析成功率从 20% 提升至 91%。
项目获得一项内部创新奖。这次实践也验证了,领域代码生成的质量不只取决于模型规模,更取决于数据质量、格式约束和贴近真实任务的评测体系。
项目边界
模型研发与原型验证于 2025 年 4 月至 7 月完成;后续部署与内部系统集成尚未完成。由于项目涉及内部保密信息,本案例不展示组织名称、需求样本、系统截图、Demo、代码或集成细节。