ShareGPT可通过五种方法构建指令跟随评估基准:一、剥离单轮指令对;二、构建上下文约束测试集;三、注入对抗性扰动;四、角色一致性追踪;五、难度分层混合采样。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望评估大语言模型在真实对话场景中执行用户指令的能力,但发现标准单轮指令集(如Alpaca)无法反映多轮上下文中的指令理解与响应一致性,则可能需要引入具备对话历史结构的数据基准。ShareGPT数据集虽以多轮对话为核心设计,但在指令跟随评估中可通过特定构造方式转化为有效的测试基准。以下是实现该目标的多种方法:
一、提取单轮指令-响应对进行剥离式评估
该方法通过解析ShareGPT中每轮human→gpt交互,将符合明确任务导向的对话片段抽离为独立的instruction-output样本,从而复用标准指令跟随评测流程。其关键在于保留原始语义完整性并剔除依赖前序轮次的隐含上下文。
1、遍历每条ShareGPT对话记录的conversations数组。
2、筛选出from字段为"human"且value内容包含显式动作动词(如“总结”“翻译”“生成”“列出”“解释”)的条目。
3、将该条目的value作为instruction字段,紧随其后的from为"gpt"的value作为output字段。
4、丢弃input为空且无法独立理解的样本(例如“上一条说的对吗?”“继续刚才的话题”)。
5、对保留样本统一添加空字符串input字段,使其结构兼容Alpaca格式校验器。
二、构建带上下文约束的指令重述测试集
该方法模拟真实用户在多轮对话中动态修正或细化指令的行为,用于检验模型是否能在继承历史前提下准确响应新指令。它不破坏ShareGPT原始结构,而是将其转化为可控的评估任务。
1、定位ShareGPT中至少包含三轮以上的对话记录。
2、选取第n轮human发言作为主指令(要求含明确任务意图),将其前n−1轮完整conversations切片作为context输入。
3、将第n轮对应的gpt回复设为标准答案output。
4、人工校验context中是否存在干扰性信息(如无关闲聊、情绪表达),若存在则进行最小化截断,仅保留支撑当前指令所需的最少历史轮次。
5、为每条测试样本标注context_length字段,记录所含历史轮次数,用于后续分层分析。
三、注入对抗性指令扰动生成鲁棒性子集
该方法利用ShareGPT原始对话的高保真特性,在保持语义连贯的前提下,对human指令进行语法变形或语义等价替换,以测试模型对指令表征变化的泛化能力,避免过拟合表面词汇模式。
1、从ShareGPT中抽取1000条含强任务动词的human发言作为原始指令池。
2、对每条原始指令应用三类扰动:同义动词替换(如“概括”→“简述”)、句式重构(主动变被动、长句拆短句)、添加冗余修饰语(如“请务必”“尽可能详细地”)。
3、确保每种扰动生成的新指令与原指令在任务类型和预期输出长度上保持一致。
4、将扰动后指令与对应原始gpt回复配对,构成新测试样本,并标记扰动类型标签。
5、排除导致语义偏移或歧义增大的扰动结果,由两名标注员交叉验证保留率。
四、基于角色一致性约束的跨轮指令追踪评估
该方法聚焦模型在长程对话中维持角色设定与任务目标的能力,适用于评估客服、编程助手等需持续执行特定职能的场景。它利用ShareGPT中已有的system字段与多轮交互联合建模。
1、筛选ShareGPT中包含非空system字段的对话记录。
2、提取system字段内容作为角色约束条件(如“你是一名资深Python工程师”“请用小学五年级学生能听懂的语言回答”)。
3、对每轮human指令进行任务类型标注(知识问答/代码生成/情感支持/逻辑推理),并检查对应gpt回复是否同时满足system角色要求与任务目标。
4、构建追踪链:若某轮指令要求“用表格呈现”,而后续轮次出现同类请求,则需验证回复格式是否持续一致。
5、将违反角色约束或任务一致性的情形标记为failure case,纳入最终错误分析集。
五、混合采样构建难度分层基准
该方法依据ShareGPT对话的内在复杂度指标(如平均轮次、指令嵌套深度、跨轮指代密度)进行分层抽样,形成覆盖易、中、难三级的评估子集,支持细粒度能力归因。
1、计算每条ShareGPT对话的三个复杂度得分:轮次总数、human发言中疑问词/动词密度比、代词(它、这、那、其)在conversations中跨轮共指频次。
2、按三分位数将全部对话划分为低、中、高三组。
3、从每组中随机抽取等量样本(如各200条),确保各组内system字段覆盖率、中英文混合比例相近。
4、对每条样本提取最后一轮human→gpt对作为核心测试项,同时附带前序轮次摘要(不超过50字)作为可选上下文提示。
5、在测试时分别启用与禁用摘要提示,对比模型在有无上下文辅助下的指令执行准确率差异。










