使用生成语言模型发现自然语言编程的语法和策略
作者
生成式AI(文本、图像、音乐、视频)大语言模型(LLM)的人机协作软件工程师与开发者AI/ML 研究员与工程师
文献标题
Discovering the Syntax and Strategies of Natural Language Programming with Generative Language Models
文献信息
- 主题领域: 人机交互(Human-Computer Interaction)与自然语言编程工具开发
- 关键词: 自然语言接口, 代码合成, 大型生成式语言模型, 使用者策略, 调适提示, 用户体验评估
研究背景与问题
- 问题描述:
- 虽然大型生成式语言模型(LLM)能够理解自然语言并生成代码或其他内容,但用户在实际使用时仍可能面临障碍。
- 特别是,用户需要探索和学习如何以正确的“语法”与模型交互,即使输入是自然语言。
- 用户对模型能完成的请求范围(复杂性或具体化的程度)缺乏准确的心智模型。
- 研究重要性: 探索自然语言编程工具的现有痛点和用户体验限制,可以推动更为高效的人机协作范式,降低编程的入门门槛。
- 研究动机和相关工作:
- LLM 的引入使得通过提示(Prompts)调整模型生成的输出成为可能。现有的研究和工具(如 GPT-3及其相关演示)已经表明,生成式模型能够将自然语言转换为HTML、SQL等代码。
- GitHub CoPilot等工具已经尝试将基于生成模型的代码建议集成到开发环境中。
解决方案
-
提出的方法与工具:
- 提出并开发了一款名为 GenLine 的工具。
- 该工具通过一个1370亿参数的生成语言模型以及一套设计好的任务特定提示(Prompt),实现了将自然语言直接转换为代码的功能。
- 提供了交互界面,允许用户通过双括号输入自然语言请求,选择任务提示,并浏览或修改生成的代码。
- 例如,[[make this button blue <button>OK</button>]]。
-
解决方案的创新点:
- 混合使用自然语言和代码的输入方式,扩展了输入的灵活性。
- 提供动态替代提示(fallback prompts),帮助用户在最初的自然语言请求失败时重新生成或调整输入。
- 支持多样化请求的可能性(例如,任务过于泛化或过于具体化)。
-
关键技术细节:
- 工具统一使用生成式模型将设计提示转化为代码输出,允许从自然语言到HTML、JavaScript、CSS的转换。
- 实现了一套少样本学习(few-shot learning)提示系统,例如从自然语言描述自动生成代码模板。
- 用户可以调整“温度”(随机性参数)来影响生成结果的多样性。
研究成果
-
用户研究:
- 研究设计:招募了14名具有不同前端开发经验的参与者,完成两个编程任务(构建静态搜索页面和交互式闪卡应用)。
- 数据收集:获取了7小时以上的用户操作录像以及后期访谈反馈。
- 定性与定量分析:
- 任务完成率:约50%的用户成功完成更为复杂(Task 2)的交互式任务。
- 模型输出使用率:少于50%的生成代码被直接接受。
- 参与者对工具提问范围和语法的心智模型存在偏差,仍需大量反复尝试。
-
发现与贡献:
- 使用自然语言代码生成的挑战:
- 用户需要学习工具的“隐式语法”,尽管表面上是自然语言输入。
- 存在请求范围和模型表现的不确定性(例如:能否生成完整功能块)。
- 缺乏对输入中文件上下文或历史的引用支持。
- 用户采纳的调试或修正策略:
- 重写请求(Rewording)。
- 改变温度(调整生成随机性)。
- 扩展或简化输入范围。
- 思考工具的未来潜力:
- 可用于减少繁琐样板代码生成或作为学习编程的辅助工具。
- 使用自然语言代码生成的挑战:
-
设计建议与改进方向:
- 系统提供输入建议以及语义澄清;
- 通过可视化内部模型解释增强用户可控性;
- 开发更强的交互机制,如在提示复杂请求时分解为子任务。
-
局限性与未来方向:
- 受限于模型错误率与早期原型工具的实现。
- 后续可在大规模用户数据中检验策略有效性,特别是关于自动调适提示(Fallback Strategy)。
研究问题 / 现实痛点
这篇论文在当前问题库中对应的问题线索。
help
研究问题
3- 用户在与生成式语言模型进行自然语言编程时,会遇到哪些主要困难?分类: 编程助手与多轮代码支持同类问题arrow_forward
- 用户如何调整输入策略以提高生成代码的可用性?分类: 编程助手与多轮代码支持同类问题arrow_forward
- 生成式语言模型能否在复杂编程任务中通过动态提示有效支持用户?分类: 编程助手与多轮代码支持同类问题arrow_forward
lightbulb
现实痛点
1- 程序员用自然语言生成代码时,需花时间试错语法和调试。分类: 编程助手与多轮代码支持同类问题arrow_forward
- 100%
《它想让我怎么说》:弥合最终用户程序员与代码生成大型语言模型之间的抽象差距
CHI '23· 生成式AI(文本、图像、音乐、视频) +1
- 100%
D-Twins:专为实时无聊干预设计的数字双胞胎
CHI '25· 生成式AI(文本、图像、音乐、视频) +1
- 100%
接受、拒绝还是修正:人机协作中生产力与信任的度量
IUI '24· 生成式AI(文本、图像、音乐、视频) +1
- 80%
通过自动生成的图像画廊探索生成对抗网络(GANs)的方法
CHI '21· 生成式AI(文本、图像、音乐、视频) +2
- 80%
MUD:面向大规模和噪声过滤的现代风格UI建模UI数据集
CHI '24· 生成式AI(文本、图像、音乐、视频) +1
- 80%
Ivie:新生成代码的轻量级锚定解释
CHI '24· 生成式AI(文本、图像、音乐、视频) +2
- 80%
科学组织中知识工作者的生成式AI用途与风险
CHI '25· 生成式AI(文本、图像、音乐、视频) +2
- 80%
生成式AI的角色如何影响人机协作工作中价值感知
CHI '25· 生成式AI(文本、图像、音乐、视频) +1
- 80%
探索空白空间:人机交互数据增强
CHI '25· 生成式AI(文本、图像、音乐、视频) +2
- 80%
GenComUI:探索生成式视觉辅助作为支持任务导向人机通信的媒介
CHI '25· 生成式AI(文本、图像、音乐、视频) +2
基于研究子主题与职业分类的 Jaccard 相似度(≥60%)
快捷操作
广告推荐
学习 AI 编程到 CodeNow
open_in_new打开DOI链接
DOI: https://dl.acm.org/doi/abs/10.1145/3491102.3501870
一眼看懂
fact_check论文快照
dataset
来源
CHI
calendar_month
年份
2022
emoji_events
奖项
未标记奖项
group
作者
8 位作者
sell
研究子方向
生成式AI(文本、图像、音乐、视频)、大语言模型(LLM)的人机协作
work
职业/产业
软件工程师与开发者、AI/ML 研究员与工程师
article
内容状态
已索引正文
hub
相关论文
10 篇相关论文