WebDesignIter:共同发展存储库级前端代码生成的设计知识
WebDesignIter: Co-Evolving Design Knowledge for Repository-Level Front-End Code Generation
摘要
前端开发在存储库级别累积更改后的更改,编织复杂的跨文件依赖关系,当前针对单次任务调整的 LLM 编码智能体 无法可靠地跟踪多个迭代,从而导致功能回归和难以维护的代码。我们认为缺失的部分是设计知识:架构原则、模块职责和结构约束,开发人员依靠这些知识来保持代码随着系统扩展而可读、可维护和可演化。为了实现这一点,我们提出了 WebDesignIter,这是一个围绕持久知识图 (WebAppArchKG) 构建的框架,它将存储库结构与设计知识融合在一起,并使两者在整个开发周期中保持同步。 WebDesignIter 分两个阶段工作:基于设计的规划从 WebAppArchKG 中提取历史背景和架构概述,以生成带有相应测试脚本的实施计划,而设计感知生成则通过有针对性的基于 diff 的补丁来执行该计划,并通过沙箱执行和自动语法修复进行验证。在 Web-Bench 上,WebDesignIter 在 9 个基础模型中的平均 Pass@2 增益比现有基线提高了 9.55 个百分点。更重要的是,WebDesignIter 在每个模型配置上都优于每个通用 编码智能体 Claude Code、OpenHands、SWE-Agent、Codex CLI,发布最高的 Pass@1 和 Pass@2,同时消耗更少的 2530 个输入词元。 Ablation 将设计知识列为最有影响力的组件:剥离它会使 Pass@1 下降 11.40 个百分点,其降级远远大于删除代码图检索、基于补丁的生成或沙箱验证,这证实了设计知识从根本上为存储库级代码生成提供了更高效、更可靠的路径。