趋近智
本次动手实践练习将迭代设计和评估应用于提示工程 (prompt engineering)的实际情境。通常,第一次尝试的提示词 (prompt)不会产生理想的结果。此过程包括获取一个效果不佳的提示词,分析其不足之处,并系统地完善它,以提高大型语言模型(LLM)输出的质量、一致性和结构。
假设您有一些客户反馈邮件,需要从中提取特定信息:客户的主要情感(正面、负面、中立)、提及的产品(如果有),以及对反馈核心问题或赞扬的简要总结。
初始情境:
您将从包含多封客户邮件的一大段文本开始。以下是代表一封邮件的片段:
主题:喜欢新的Xylos功能!
团队您好,
只想说Xylos平台的最新更新,尤其是仪表板自定义功能,非常棒!它让我的工作流程顺畅了许多。我确实注意到一个小毛病,日期筛选器有时会意外重置,但总体来说,这是一个巨大的改进。请继续保持出色的工作!
此致,
Alex Chen
效果不佳的提示词 (prompt)(尝试1):
这是一些客户反馈:
[在此插入邮件文本]
这份反馈是关于什么的?
典型输出(尝试1):
LLM可能会回应如下内容:
这份反馈是关于Xylos平台更新的。客户喜欢仪表板自定义功能,但发现日期筛选器有一个小毛病。他们认为总体来说这是一个很大的改进。
尝试1的分析:
尽管LLM理解了基本内容,但其输出在我们的目标方面存在几个问题:
让我们完善提示词 (prompt),使其对任务和期望的输出格式更具体。我们将使用清晰的指示,并要求采用像JSON这样的结构化格式,这更容易让应用程序解析。
改进的提示词(尝试2):
分析以下客户反馈邮件。提取主要情感(正面、负面或中立)、提及的具体产品(如果有,否则使用“无”),以及反馈核心要点的简洁总结(1-2句话)。将输出格式化为JSON对象,包含键:“sentiment”、“product”和“summary”。
反馈邮件:
'''
主题:喜欢新的Xylos功能!
团队您好,
只想说Xylos平台的最新更新,尤其是仪表板自定义功能,非常棒!它让我的工作流程顺畅了许多。我确实注意到一个小毛病,日期筛选器有时会意外重置,但总体来说,这是一个巨大的改进。请继续保持出色的工作!
此致,
Alex Chen
'''
输出:
预期输出(尝试2):
{
"sentiment": "Positive",
"product": "Xylos",
"summary": "客户赞赏Xylos平台更新中的仪表板自定义功能,但报告了日期筛选器重置的小错误。"
}
尝试2的分析:
这明显更好了!
如果反馈更模糊或者没有提及产品怎么办?让我们考虑这样的反馈:
主题:登录问题
我今天早上似乎无法访问我的账户。它一直在转圈。是不是有什么问题?- Sam
使用提示词 (prompt)2可能会产生:
{
"sentiment": "Negative",
"product": "None",
"summary": "客户无法登录账户,遇到了无限加载的问题。"
}
这很好,但也许我们想确保总结总是捕捉负面反馈的主要问题或正面反馈的主要亮点。我们可以稍微调 (fine-tuning)整指示。
进一步改进的提示词(尝试3):
您是一位分析反馈的客户支持助理。分析以下客户反馈邮件。确定主要情感(严格分类为“正面”、“负面”或“中立”)。识别提及的具体产品(如果没有提及特定产品,则使用“无”)。创建一个简洁的总结(1-2句话),如果情感是负面/中立,则侧重于核心问题;如果是正面,则侧重于主要赞扬。
将结果输出为JSON对象,包含键:“sentiment”、“product”和“summary”。
反馈邮件:
'''
[在此插入邮件文本]
'''
JSON 输出:
此版本增加了一个“角色”(客户支持助理),并根据情感稍微调整了总结的指示。这增加了可靠性,能更精确地引导LLM处理不同类型的反馈。
我们如何知道我们的提示词 (prompt)正在变好?
您可以创建一组包含不同邮件的小型测试集,并针对它们运行每个提示词版本,将输出与手动创建的“理想”提取结果进行比较。这构成了系统评估的依据,这对于构建可靠的LLM应用程序来说非常重要。
提示词优化的迭代过程包括生成输出、分析其不足、根据分析完善提示词,并评估新的输出。
这种动手实践的过程表明,提示词工程并不总是立即找到一个“神奇”的提示词。它通常是一个有条不紊的循环过程,包括创建、测试、分析和完善,以引导LLM生成您的应用程序所需的精确输出。在构建自己的提示词时,请牢记这些迭代完善和仔细评估的原则。
简洁的语法。内置调试功能。从第一天起就可投入生产。
为 ApX 背后的 AI 系统而构建
这部分内容有帮助吗?
© 2026 ApX Machine LearningAI伦理与透明度•