LLM分类本质上是特征工程
「一篇技术文章提出,使用大语言模型做分类任务本质仍是特征工程,只是特征设计从人工编写代码变为用自然语言描述任务与类别。提示词即特征定义,标签描述即特征空间,少样本示例则指明关键差异方向。文章认为分类效果不稳多源于任务定义模糊,开发者应把调优着力点放在特征是否充分上。」
在机器学习的发展史上,特征工程长期占据着核心地位。模型的分类能力如何,很大程度上取决于输入特征是否足够有判别力。一篇出现在 Hacker News 上的技术文章提出了一个值得开发者重新审视的观点:使用大语言模型做分类任务,本质上仍然是特征工程,只不过这一次,特征的设计从人工编写代码变成了用自然语言描述任务与类别。
传统流程通常被拆成两段:先由领域专家从原始数据中抽取特征,再把这些特征交给分类器去学习决策边界。文本分类的经典做法是词袋、TF-IDF、n-gram 等统计特征,配合逻辑回归或梯度提升树。这套流程的瓶颈非常明确,特征的表达能力直接决定了模型的上限,而特征本身又高度依赖人的经验与领域知识。
大语言模型带来的变化,是把这两段流程压缩进同一次前向计算。当开发者给出一段提示词,说明任务是什么、有哪些候选标签、每个标签的判定标准是什么,模型实际上是在内部完成了从原始文本到判别性表示的转换,并直接输出类别。从这个角度看,提示词就是新的特征定义,标签描述就是新的特征空间,而少样本示例则相当于在告诉模型哪些方向上的差异才是真正重要的。
这一视角解释了很多工程实践中观察到的现象。分类效果不稳定时,问题往往不出在模型能力,而出在任务定义模糊:类别边界重叠、缺少反例、没有说明遇到模糊样本时该如何取舍。把这些问题当成提示词调优去处理,容易陷入反复试错的循环;但如果把它当成特征设计问题,思路会清晰得多——先问清楚哪些信息对区分两个类别是必要的,再把这些信息显式地写进上下文。
嵌入向量同样是特征工程的延伸。把文本映射到向量空间后,用最近邻或线性分类头做判别,等于把大语言模型当作一个通用的特征提取器,而真正的分类器仍然由开发者自己训练。这种做法的优势在于可控与低成本,代价则是放弃了模型在生成阶段所具备的推理能力,复杂语义边界可能需要额外的规则来兜底。
标签体系的设计也不容忽视。类别数量、类别之间的层级关系、是否允许一个样本属于多个类别,都会直接影响模型表现。在传统特征工程中,这对应的是输出编码与问题分解;在大语言模型场景中,它体现为是否要把多分类拆成一系列二分类判断,或者先做粗粒度归类再做细粒度区分。
对开发者而言,这个类比的实际价值在于把调优的着力点摆正。与其不断更换模型或堆叠各种技巧,不如先检查特征是否足够:任务描述是否消除了歧义,标签定义是否互斥且完备,上下文里是否包含了做出判断所必需的信息。分类任务的成败,往往在这几行说明文字里就已经决定了大半。
来源:Heooo AI工具导航