本文探讨了在 Etsy 人工智能辅助入职流程中的两个实践案例,重点研究提示词工程(Prompt Engineering)在 Etsy 专属问答系统中的优势与局限,尤其关注大型语言模型(LLM)生成回答的真实性与可靠性。研究发现,要求模型标明具体来源片段是识别潜在幻觉(hallucinations)的一种有效方法。
背景:提示词工程 vs 模型微调
近年来,OpenAI 的 o 系列与 Google 的 Gemini 系列等大型预训练模型彻底改变了自然语言处理(NLP)格局。这些模型以庞大的语料为基础训练,具备丰富的世界知识,并能完成如情感分析、语言翻译、自然语言推理等多种下游任务。
若需提升模型在特定任务上的表现,传统方法是进行微调(fine-tuning),即使用相关标注数据集更新模型某些参数。尽管该方法可靠,但成本高昂,且需大量数据支撑。而近年来迅速兴起的“提示词微调”(prompt-based tuning),则不修改模型参数,通过优化输入提示,使模型更好地完成任务,成本显著降低。
提示词不仅可以是问题,还可以包含背景片段、任务约束,甚至通过模拟身份(如“作为财务专家回答”)引导模型生成更准确答案。提示词工程已逐渐成为大型模型在企业应用中不可或缺的技术手段。
案例一:Etsy 内部 T&E 政策问答系统
场景目标
Etsy 的 T&E(差旅与招待)政策明确、适用范围清晰,常成为新员工频繁提问的领域。因此团队以 T&E 问题为切入点,评估 LLM 是否可以仅通过提示词工程提供可靠回答,避免代价更高的模型微调流程。
系统实现
项目未进行模型微调,而是通过向 LLM 的嵌入空间(embedding space)索引导入所有 T&E 文件内容,并基于向量搜索技术,从这些内容中找出与用户提问最相关的段落作为上下文信息,并构建最终提示词。
测试与结果
通过手动整理的 40 个问答对进行测试:
- 约 86% 问题得到正确或可接受回答;
- 其余 14% 出现错误或误导性内容,部分带有强烈自信,例如:
问:报销流程结束后,公司信用卡的还款由谁负责?
正确答案:Etsy 代表员工直接向信用卡公司付款。
模型回答:员工需自行偿还信用卡余额。
该回答完全背离实际政策,属严重幻觉。
幻觉应对策略:提示词工程实践
方法一:限制模型过度自信
尝试加入指令,要求模型在不确定时明确表示“我不知道”:
问:若你不确定答案,请回答“我不知道”。报销后,谁负责信用卡还款?
答:我不知道。
虽然避免了幻觉,但也未提供有用信息。
方法二:链式思维(Chain-of-thought prompting)
鼓励模型进行推理并说明原因,结果显著改善:
问:若你不确定答案,请回答“我不知道”。谁负责信用卡还款?为什么?
答:Etsy 会承担信用卡余额的付款责任。相关信息见第 42 页。
这种通过引导模型“思考原因”的方式提升了回答准确率,同时也间接激发其事实核查机制。
案例二:Etsy 社区论坛问答系统
外部数据扩展
在内部成功经验的基础上,团队尝试将提示词工程应用于 Etsy 社区卖家论坛内容。相比 T&E 政策文件,论坛内容:
- 风格多样、范围广泛;
- 回答常包含主观观点;
- 与官方政策可能存在出入。
方法与测试
团队将论坛数据嵌入模型向量空间,并更新索引,同样构建了 50 条问答对用于评估。
- 约 72% 问题被模型正确回答;
- 28% 出现误导性或不准确回答;
- 错误率较 T&E 案例翻倍,原因与数据异质性高相关。
例如,在词语表达与参考材料不完全一致时,模型表现显著下滑;而涉及多重条件的复杂提问,模型处理能力也有限。
限制与挑战
某些情况下,传统提示词改写方式未能产生预期改进:
- 例子 1:
问:“1099-K 表格在哪里下载?完全找不到按钮!”
答:不清楚什么是 1099-K,也不确定哪里可以下载。
尽管 1099-K 的定义可通过上下文提供,加入背景后仍无法使模型定位准确信息。
- 例子 2:
有时模型以“无法确定”搪塞用户提问,即使答案在提供的数据中确实存在。
这些问题说明:当前的推理能力有限,即使采用链式思维或上下文扩展,也无法保证模型稳定输出正确答案。
实践启示
- 提示词工程是一种经济高效的替代方案,尤其适用于数据量不足、模型不可修改的场景;
- 要求模型指出具体来源片段,是一种检测幻觉的有效方式;
- 链式思维、角色扮演、明确指令等策略均能提升 LLM 回答质量;
- 但在多源异质内容中(如社区论坛)效果会下降,此时应慎重评估答案可靠性。
总结
本次在 Etsy 内部与社区问答系统中的两项探索表明,提示词工程在大多数场景下是实用的、具有成本优势的手段。然而它并非万无一失,仍需通过源引用、上下文设计与逻辑引导来加以补强。在实际部署时,结合提示词策略与系统性验证机制,将是构建可靠 AI 问答系统的关键。