中文指令遵循能力对比:不只是"看得懂中文"
“这个模型中文能力不错”和”这个模型能准确遵循中文指令”是两个经常被混为一谈、但实际差异很大的说法。前者说的是语义理解——模型能不能读懂一段中文、能不能生成通顺的中文;后者说的是指令遵循——给出一个带具体约束的中文指令,模型能不能精确执行这个约束,而不是”大致做对了但细节跑偏”。
一个模型完全可以中文语义理解很强(能读懂古文、能听懂弦外之音),但在”用书名号标注这三本书名、每段不超过 80 字、称呼对方一律用您”这类多重格式约束的中文指令下频繁漏掉某一条。这正是本文要聚焦的场景——不是通用的中文理解能力(那部分内容 LLM 中文理解能力实测 已经系统覆盖过),也不是语言无关的通用指令遵循能力(LLM 指令遵循能力横评 讲的是多约束、格式遵循、否定指令这些跨语言通用维度),而是中文语境下特有的、容易被英文中心的评测体系忽略的指令类型。
一、为什么通用指令遵循基准测不出中文特有问题
主流的指令遵循基准(如 IFEval 这一类)设计时大多以英文为第一语言,约束类型集中在”字数范围”、“关键词包含”、“JSON 格式”、“大小写要求”这些语言无关或英文特有的维度。这些维度平移到中文场景后依然有效,但会漏掉一整类中文语法和书写规范特有的约束,比如:
- 量词准确性:“列出三件家具”要求模型正确使用”张桌子""把椅子""个书架”这类量词搭配,而不是笼统地说”三个家具”。
- 敬语与人称一致性:指令要求”全程用敬语称呼对方”,模型需要在长文本中保持”您/贵司/惠顾”这类敬语用词的一致性,而不是中途退回”你/你们”。
- 标点规范:书名号、间隔号、破折号在中文书写规范里有明确使用场景(书名/篇名用书名号,并列的外国人名用间隔号),指令要求”引用的书名统一用书名号标注”时,模型是否会误用引号代替。
- 公文/传统格式的结构要求:比如要求按”总—分—总”结构组织内容,或者按古典书信”称谓—正文—落款”格式输出,这类格式规范本身是中文书面语体系里的知识,不是简单的字数或关键词约束。
- 多重否定与双重否定的准确处理:“不是没有考虑过”这类双重否定句式,指令要求模型基于这类表达做准确的语义判断而不是被否定词干扰。
这些维度在通用指令遵循基准里基本不存在对应测试项,但在实际中文应用场景(合同起草、公文写作、传统文化相关内容生成)里出现频率并不低。
二、测试用例设计:五类中文特有约束
要系统评测这类能力,需要针对性设计测试集。以下是可直接复用的五类用例模板,每类给 3~5 个具体指令即可覆盖基本场景:
1. 量词精确性测试
指令:请列出以下五件物品并搭配正确的量词:桌子、椅子、书、马、船
期望:一张桌子、一把椅子、一本书、一匹马、一艘船
评分方式:逐项核对量词是否符合规范用法,允许方言/口语变体(如”一匹马”也可接受”一头马”在某些语境),但明显错误(“一个马”)判为失败。
2. 敬语一致性测试(长文本场景)
指令:以客服身份给客户写一封 300 字左右的致歉信,全程使用敬语,不能出现"你""你们"
评分方式:统计全文中出现”你/你们”而非”您/贵司”的次数,除以文本长度归一化,短文本容易蒙混过关,必须用有一定长度的文本(200 字以上)测试才能看出模型能否在长距离保持约束。
3. 标点规范测试
指令:介绍《红楼梦》《西游记》《水浒传》三部小说,书名统一用书名号,不要用引号或斜体
评分方式:检查是否全部使用《》,是否有遗漏或替换成引号/加粗等其他标记方式。
4. 结构化中文文体测试
指令:用传统书信格式给一位长辈写一段问候(称谓+正文+落款+日期),日期用农历表述方式
评分方式:结构完整性(四个部分是否齐全)+ 称谓是否符合长辈书信礼貌规范,这一项主观性稍强,建议用 LLM-as-judge 配合明确的评分 rubric,而不是纯规则匹配。
5. 双重否定语义测试
指令:判断"这件事不能说完全没有转机"这句话的态度是偏向乐观还是悲观,只回答"乐观"或"悲观"
评分方式:纯规则匹配即可,答案唯一(正确答案是”乐观”,双重否定表达的是留有余地的正面判断)。
三、测试设计的两个容易踩的坑
坑一:把”能听懂”当成”能遵循”。很多测试只问模型”这个量词对不对”这种理解型问题,模型往往能正确回答,但换成”你来生成一段包含这些量词的文本”这种生成型指令,遵循率会明显下降——理解和生成遵循是两种不同的能力,测试集必须以生成任务为主,纯理解题只能作为前置校验。
坑二:约束数量叠加时的测量误差。单条约束(比如”只用书名号”)的达成率往往看起来不错,但当一条指令同时叠加 3~4 条中文特有约束时(比如同时要求敬语 + 书名号规范 + 字数限制),达成率通常会明显低于各条约束单独测试时的乘积预期,说明约束之间存在相互干扰,模型注意力分配到某一条约束上时容易丢掉另一条。这也是为什么单独测和叠加测都要做,只看单项达成率会高估模型的实际可用性。
四、这些能力在实际业务中的取舍
不是所有应用场景都需要在意这些细节。如果产品场景是日常对话或内容摘要,量词精确性、公文格式这类约束基本不影响用户体验,过度追求反而增加不必要的 prompt 复杂度。但如果产品涉及合同/公文生成、传统文化内容创作、面向企业客户的正式文书场景,这类中文特有的格式规范就是实打实的可用性门槛——用户对着一份带有”一个马""一件椅子”这类量词错误的合同草稿,观感上的减分远超普通对话场景里的类似错误。
建议的做法是:先明确产品场景对这类中文特有规范的敏感度,再决定要不要投入本文这套测试方法论去横向对比候选模型,而不是不分场景地追求”中文指令遵循满分”。
五、结果会随模型迭代变化,测试方法比具体分数更值得沉淀
本文没有给出具体模型的评测分数——原因是模型版本迭代速度很快,今天测出来的具体排名到读者看到这篇文章时大概率已经过时。真正值得沉淀的是测试方法本身:把上面五类用例模板固化成团队自己的测试集,在每次考虑切换或升级模型时用同一套用例跑一遍,看相对表现而不是依赖网上的历史评测结论,这样得到的结论才对当下的选型决策有实际参考价值。
六、相关阅读
需要横向调用多家模型跑同一套中文测试集做对比,用 YoTradeApi 一个接口即可切换调用,不必分别申请和维护各家账号。