RQ2:开发者如何在多轮对话中向ChatGPT提出询问?
这种分层沟通引发了一个关于开发者在多轮对话中表达询问策略的问题。因此,我们引入RQ2,研究开发者在多轮对话中提示的性质。为促进全面分析,我们进一步引入两个子研究问题:
- RQ2.1: 开发者提示在多轮对话中扮演什么角色?此问题旨在对相应多轮对话中每个提示的结构角色进行分类。
- RQ2.2: 多轮对话中的流转模式是什么?基于作为RQ2.1答案提出的分类法,此问题探索多轮对话中这些已识别提示角色的频繁转换模式。
上述子研究问题的答案将为研究人员提供关于开发者通过多轮互动利用ChatGPT的动态和实践的洞察。
4.1 方法
- 最后,第二轮中的两位标注者各自独立标记了剩余数据。
在RQ2.2中,我们使用马尔可夫模型(Gagniuc,2017)通过绘制马尔可夫转移图来分析对话流转模式。马尔可夫转移图是一个有向图,展示了各种状态或节点之间的概率转移。
表4 共享多轮对话中提示的分类法
在我们的案例中,图中的每个节点代表在RQ2.1中开发的特定类别,节点之间的有向边表示基于我们收集的多轮对话从一个分类法转移到另一个分类法的可能性。为了从马尔可夫转移图中提取有意义的洞察,我们提出了以下后处理步骤:
- 我们通过移除概率低于0.05的转移来修剪图,确保关注统计上显著的关系。
- 我们通过移除没有传入和传出边的节点来精炼图结构,除了开始和结束节点。此步骤确保简化,因为我们只保留基本组件。
- 我们系统地重新组织马尔可夫转移图为流程图,以增强其可解释性,提供更易理解的流转模式表示。
4.2 结果
4.2.1 RQ2.1:开发者提示在多轮对话中扮演什么角色?
下面,我们更详细地描述每个类别。
图5 展示多轮对话中常见流转模式的流程图。
4.2.2 RQ2.2:多轮对话中的流转模式是什么?
至于完整流转,我们基于图5识别了以下模式:
- 开始 → 揭示初始任务 → 迭代后续 → 结束
- 开始 → 揭示初始任务 → 精炼提示 →(迭代后续)→ 结束
- 开始 → 揭示初始任务 → 揭示新任务 → 结束
- 开始 → 信息提供 → 揭示初始任务 → …… → 结束
- 开始 → 揭示初始任务 → 请求澄清 → 结束
- 开始 → 揭示初始任务 → 负面反馈 → 结束
流转模式(1)至(3)显示了多轮对话中最常见的开发者-ChatGPT互动流转。初始任务在初始提示中披露,随后是通过迭代后续、提示精炼或揭示新任务旨在改进ChatGPT响应的提示。
模式(4)展示了由开发者向ChatGPT提供信息作为第一步开始的互动流转。然后,初始任务被揭示,随后是类似于(1)至(3)的模式。模式(5)指开发者在揭示初始任务并从ChatGPT接收响应后请求澄清。
模式(6)代表一种互动流转,其中开发者在揭示初始任务并从ChatGPT接收响应后提供负面反馈。尽管自循环从图5中排除,但需要注意的是,某些类型的提示,即那些揭示任务、精炼先前提示、提出迭代后续问题或提供信息的提示,可以重复发生。当开发者在两个连续提示中连续精炼其提示时,可以观察到这种模式的示例。