代码塑造:使用自由形式AI解释草图进行迭代代码编辑

最佳论文
生成式AI(文本、图像、音乐、视频)大语言模型(LLM)的人机协作AI 辅助创意写作软件工程师与开发者AI/ML 研究员与工程师

研究背景与问题

  • 作者发现了哪些问题或挑战?

    1. 当前的编程主要以文本为中心,而手绘草图常被视为辅助工具,导致编程人员不得不在手绘与编码之间频繁切换,这可能丢失关键想法。
    2. 编程中的手绘草图与代码改动之间缺乏明确的交互机制,对程序员的思维和流程形成了阻碍。
    3. 现有的基于草图的代码生成系统通常针对非程序员,且生成的代码通常不可直接编辑,这对高阶编程任务的适用性有限。
    4. 手绘草图的模糊性和多义性使得系统在解释用户意图时面临困难,而迭代修正这种不明确的解释可能进一步破坏编码流程。
  • 为什么这个问题很重要? 编程任务往往需要程序员通过草图或抽象形式表达复杂的想法,而目前没有一种简单、高效的工具可以直接将自由绘制的草图与实时代码编辑关联起来。解决这一问题,可以减少程序员的认知负担,提高实际开发效率。

  • 研究动机与相关工作

    1. 编程历史发展从手绘笔记、打字机输入到现代文本编辑,已经实现了显著改进,但仍以基于文本输入的范式为主。
    2. 现有对草图转代码的研究(如 SILK、DENIM)集中在早期原型设计或 UI 生成,更关注功能表现,而非草图作为交互媒介的角色。
    3. 近年来,语音、手势等多模态输入技术与大语言模型(LLM)的结合丰富了代码生成的可能形式,激发了将草图作为一种直接、灵活的输入进行深入探索的兴趣。

解决方案

  • 作者提出了哪些方法或解决方案? 作者提出了一种新的编程交互模式——代码塑形(Code Shaping),允许开发者通过直接在代码层和输出层上绘制自由形式的草图,来指导人工智能模型修改代码结构和功能。

  • 该解决方案的创新之处是什么?

    1. 融合草图与代码编辑:将手绘草图与代码改动紧密结合,使草图不只是静态的外部表示,而是动态的交互媒介。
    2. 多层级抽象支持:支持程序员用不同抽象层次(如流程图、伪代码或自然语言)表达意图,并通过 AI 将草图转化为具体代码修改。
    3. 实时迭代改进:通过草图的多轮调整和 AI 的逐步反馈,减少直接文本编码的刚性工作流。
    4. 面向错误的恢复机制:加入对生成错误的透明解释和修复策略。
  • 实施步骤是什么?使用了哪些关键技术?

    1. 用户界面设计
      • 在代码编辑器中叠加绘图层,允许用户自由绘制箭头、注释、伪代码等草图,并实时反映对应的代码修改。
      • 添加功能按钮(如“生成”、“运行”和“提交”)来实现草图到代码的交互转换。
    2. 人工智能解释
      • 使用 GPT-4 模型对草图、代码上下文以及生成历史进行联合解析。
      • 采用语法树(AST)分析来动态识别受影响的代码范围,并通过视觉提示(如注解线、代码高亮)反馈。
    3. 迭代流程
      • 用户通过草图表达意图,模型解释意图并生成代码——用户审阅、修改草图或结果,形成不断优化的闭环工作流。
    4. 探索透明性与可控性
      • 增加始终可见的前馈解释机制(Always-On Feedforward Interpretation),以帮助用户理解和控制生成过程。

研究成果

  • 取得了哪些具体成果?

    1. 验证了代码塑形作为一种交互模式的可行性,编程人员可以通过草图定义功能或调整结构,并与代码视图直接互动。
    2. 分类了程序员使用的草图类型(如功能性、流程性、目标指向性),以及草图在抽象-具体和语义-语法层次上的分布。
    3. 在多阶段研究中,系统迭代改进显著提升了用户满意度(UMUX-LITE从初始 60.82 提高到 82.48)。
    4. 探索了程序员处理 AI 错误的策略,如通过调整草图、注释和直接代码修改来恢复错误。
  • 与现有解决方案相比,它有哪些优势?

    1. 直接性与自由度结合:与通过文本或预定义 GUI 来生成代码的方法相比,草图提供了更自由、更直观的表达方式。
    2. 精细的错误恢复支持:迭代设计中通过“生成意图前可见解释”和双向草图修改减少了因错误解释而引起的挫败感。
    3. 多方式代码编辑的融合:即使是传统代码编辑和草图修正流程之间的无缝结合也得到了很好的用户反馈。
  • 实验或评估结果是什么?

    1. 在三阶段实验中测试了 18 位编程人员,使用 Python 解决实际编程问题:
      • 发现 23.2% 的生成结果需要迭代调整。
      • 进入系统改进阶段后,生成使用率及准确性明显提高,用户更易接受系统(UMUX-LITE:第二阶段 66.23 → 第三阶段 82.48)。
    2. 第三阶段发现,约三分之一的用户显著放弃了键盘操作,仅使用草图完成编程流程。
    3. 用户主动采用跨不同任务的灵活草图方法,显现了草图的灵活性(如箭头被用作语义约束、参数标注等多种功能)。
  • 局限性与未来方向

    1. 手绘草图与代码语法的对齐挑战:模糊的草图表达仍使解释性 AI 在某些任务(如细粒度代码操作)中的表现受限。
    2. 大规模代码适配性:现阶段系统对多文件和大代码库的支持需要强化,例如通过增量语法分析或跨文件依赖管理。
    3. 长时间使用的影响:未来研究应探讨代码塑形对程序员效率、代码质量和长期可维护性的影响。
    4. 技术扩展性问题:需要验证系统在其他编程语言和框架中的适用性。

整篇论文为编程交互模式提供了新视角,代码塑形成功将草图与实时代码编辑结合,为未来研究设计打下了可靠的技术和工具基础。

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/papers/chi/189580/2025

广告推荐

学习 AI 编程到 CodeNow

open_in_new打开DOI链接
DOI: https://dl.acm.org/doi/10.1145/3706598.3713822
一眼看懂

论文快照

fact_check
dataset
来源
CHI
calendar_month
年份
2025
emoji_events
奖项
最佳论文
group
作者
3 位作者
sell
研究子方向
生成式AI(文本、图像、音乐、视频)、大语言模型(LLM)的人机协作、AI 辅助创意写作
work
职业/产业
软件工程师与开发者、AI/ML 研究员与工程师
article
内容状态
已索引正文
hub
相关论文
10 篇相关论文