DynEx:具有结构化设计探索的动态代码合成以加速探索性编程
荣誉提名作者
研究背景与问题
-
发现的问题或挑战:
当前基于大语言模型(LLM)的代码生成工具主要集中于技术实现,而缺乏用以支持用户探索设计空间的功能。大部分工具通过指令生成代码,但忽略了设计阶段的用户体验,例如如何将抽象概念有效地转换为具体实现,以及如何保证设计兼顾目标用户需求。用户容易陷入设计固定化(Design Fixation),即单一路径的技术实现,而忽略了潜在的多样化解决方案。 -
问题的重要性:
在现代用户界面(UI)设计和快速原型开发中,探索性编程被认为至关重要,特别是在需要快速迭代以测试真实设计效果的情况下。现有工具的局限性导致创意受阻滞,难以快速生成用户中心化且复杂的原型。 -
研究动机与相关工作:
研究借鉴了设计空间探索中四种经典类别(例基探索、反思探索、遗传探索、维度探索)的启发,并结合LLM的能力,提出支持用户从想法到功能性原型的整个设计到实现的流程。此项目与Claude Artifact等现有工具进行对比,希望通过引入结构化设计矩阵(Design Matrix)和模块化分步实现(Modular Stepwise Implementation)解决现有问题。
解决方案
-
方法或解决方案:
作者提出了DynEx系统,该系统包含两个主要阶段:- 设计矩阵(Design Matrix) - 基于用户输入的问题,指导用户在三个维度(目标用户、方法论、交互模式)上探索设计空间,并将抽象想法具体化。
- 模块化分步实现(Modular Stepwise Implementation) - 将生成的设计转化为分步实现的代码,每步单独生成、测试并获得用户反馈。
-
解决方案的创新之处:
- 将设计过程显式分为三个维度——目标用户(Person)、方法(Approach)和交互(Interaction),并针对每个维度进一步细化为“想法(Idea)”和“落地(Grounding)”的两个层次。
- 引入自调用多模态LLM,使原型具备动态生成占位数据、图像及推荐功能,模拟真实用户体验。
- 通过封装LLM,支持模块化的步骤生成,确保代码片段独立且易于调试,避免不必要的遗留错误。
-
实施步骤与技术:
- 用户通过Design Matrix探索问题空间,填写“目标用户”的需求、“方法”的核心算法或策略,以及“交互”的实现模式。
- 系统基于上述信息生成项目需求(technical requirements)和技术规范(specification)。
- 按模块化步骤实现编码,每个步骤独立测试和调整,包括:
- 基础HTML架构
- 功能性模块(例如Flashcards组件、Quiz模块)
- 调用外部API(如OpenAI GPT4/DALL-E)生成动态数据
- 用户可通过调试实时完善UI,并在最终原型完成后探索多个变体。
研究成果
-
具体成果:
- 系统结构化设计探索:用户能够系统化地定义目标用户、设计方法和交互模式,大幅减少设计模糊性及遗漏关键需求。
- 功能性原型的开发:DynEx通过模块化的方式快速实现代码生成,并支持高度灵活的调试。
- 更高的设计多样性:用户研究表明,相较于Claude Artifact,DynEx生成的应用在设计复杂性和功能完整性上更胜一筹。
-
与现有解决方案的比较优势:
- DynEx启发了更广泛的设计探索,避免了现有解决方案中常见的设计固定化。
- 提供了用户友好的模块化步骤及自调用API功能,生成的原型更贴近真实应用。
- 支持从结构化问题出发的整体解决方案,比单纯生成代码的工具更全面。
-
实验或评估结果: 在对比研究中,参与者使用DynEx后报告更高的发散性探索评分(平均6.1/7,高于Claude Artifact的4.0/7)。此外,DynEx获得了对开发复杂原型的更高评价(平均4.9/7,高于Claude Artifact的3.7/7)。
在NASA-TLX评估下,尽管两者在“精神负荷”等细节上无显著差异,然而DynEx在任务完成度(performance)上的评分显著优于对手(p = 0.003)。 -
局限性与未来方向:
- DynEx目前的设计矩阵尚未涵盖更多维度(如利益相关者、现有解决方案)和更高的细化层次。
- 使用Claude 3.5 Sonnet进行代码生成时,因Token上限(4096 tokens)限制代码行数,会影响复杂功能的实现。
- 用户反映生成速度较慢,未来可通过优化代码清洗和调试流程,增强用户体验。
- 后续建议针对更多非技术背景用户群体以及更广泛工具展开横向研究,以验证DynEx的普适性。
通过DynEx整合设计探索与代码实现的能力,不仅提升了现有工具的不足,还为更高效的探索性编程提供了坚实的技术基础。
研究问题 / 现实痛点
这篇论文在当前问题库中对应的问题线索。
研究问题
3- 目前的代码生成工具如何影响用户在界面设计中的探索性编程?分类: 代码与编程辅助创作同类问题arrow_forward
- 如何通过设计矩阵和模块化分步实现来支持用户从创意到功能原型的开发?分类: 代码与编程辅助创作同类问题arrow_forward
- 与现有的代码生成工具相比,DynEx如何提升设计多样性和功能完整性?分类: 代码与编程辅助创作同类问题arrow_forward
现实痛点
1- 用户难以将抽象创意转化为符合需求的交互界面原型。分类: 代码与编程辅助创作同类问题arrow_forward
- 100%
面向快速交互式机器学习:无表示分类的权衡评估
IUI '19· 大语言模型(LLM)的人机协作 +1
- 80%
EvalLM:基于用户定义标准的大语言模型提示的交互式评估
CHI '24· 大语言模型(LLM)的人机协作 +1
- 80%
RAG无延迟:使检索增强生成管道的“假设”分析成为可能
CHI '26· 大语言模型(LLM)的人机协作 +1
- 80%
PDFChatAnnotator:用于PDF格式目录的人机协作多模态数据标注工具
IUI '24· 大语言模型(LLM)的人机协作 +1
- 75%
MAPLE:利用大型语言模型嵌入的移动应用预测
UbiComp '24· 大语言模型(LLM)的人机协作
- 75%
LlamaTouch:一个可信且可扩展的移动UI任务自动化测试平台
UIST '24· 大语言模型(LLM)的人机协作
- 67%
从丢弃到带走:生成式人工智能与氛围编程如何加速不同技术水平的原型开发
CHI '26· 生成式AI(文本、图像、音乐、视频) +2
- 60%
CFar:一种提高协作代码审查中沟通、生产力和审查质量的工具
CHI '18· 开源协作与代码审查 +1
- 60%
使用在线论坛描述电子表格软件中的可扩展性问题
CHI '18· 用户研究方法(访谈、调查、观察) +1
- 60%
ResearchIME:一款用于研究野外自由输入行为的移动键盘应用程序
CHI '18· 用户研究方法(访谈、调查、观察) +1
基于研究子主题与职业分类的 Jaccard 相似度(≥60%)