Skip to content

比较提示

Prompt Engineering - 设计比较类 Prompt

Section titled “Prompt Engineering - 设计比较类 Prompt”

比较类 Prompting 是一种引导大型语言模型(Large Language Models, LLMs),例如 ChatGPT,比较和对比不同选项、选择、产品、想法或场景的技术。这使用户能够获得关于各种替代方案的优点、缺点、相似点和差异的宝贵见解,从而辅助决策和问题解决过程。

比较类 Prompting 包括设计明确指示 LLM 分析和比较两个或多个项目的 prompt。通过提供清晰的比较基础并指定要比较的项目,用户可以获得结构良好、信息丰富的响应,这些响应突出显示了关键的区别和共同点。

这项技术提供了几个优势:

  • 知情决策:用户可以通过了解不同选项的相对优势和劣势来做出更明智的决策。
  • 全面分析:它提供了一种结构化的方式来并行分析多种替代方案,考虑各种因素。
  • 问题解决辅助:通过比较不同解决方案的潜在结果或方法,帮助评估它们解决问题的可行性。
  • 澄清复杂选择:将复杂的比较分解为易于理解的组成部分。

设计有效的比较类 Prompt:

要实现比较类 Prompting,请创建清晰说明以下内容的 prompt:

  • 要比较的项目(例如,“比较 Python 和 JavaScript 在 Web 开发中的应用”)。
  • 比较的方面或标准(例如,“重点关注性能、易学性和社区支持”)。
  • 期望的输出格式(例如,“列出每个项目的优点和缺点”,“提供一个摘要表格”)。

一个基本的比较类 prompt 示例:

User: 比较一下远程工作与办公室工作的优缺点。
LLM: 好的,以下是远程工作与办公室工作的优缺点比较:
**远程工作:**
* **优点:**
* 灵活的工作时间表和地点。
* 没有通勤时间,有助于改善部分人的工作与生活平衡。
* 潜在的成本节约(交通、餐饮、工作服装)。
* 雇主可以接触到全球人才库。
* **缺点:**
* 可能导致社交孤立和团队凝聚力降低。
* 家庭干扰,难以区分工作和生活。
* 需要自律和动力。
* 可能出现技术问题(互联网、设备)。
**办公室工作:**
* **优点:**
* 更轻松的协作和即时沟通。
* 工作和家庭生活界限分明。
* 更强的团队协作和公司文化建设。
* 可使用办公室资源和 IT 支持。
* **缺点:**
* 通勤时间和成本。
* 工作时间表和地点灵活性较低。
* 可能受到办公室干扰。
* 雇主的管理成本更高。

基于多个标准的比较:

User: 比较两种项目管理方法论:Agile 和 Waterfall。重点比较它们在需求变化的项目中的适用性、团队协作方面以及风险管理方法。总结哪种方法更适合哪种类型的项目。
LLM:(LLM 将会根据这些具体标准提供详细比较和总结。)

比较类 Prompting 可以应用于各种场景:

  • 产品/服务比较:帮助消费者或企业在不同产品或服务之间做出选择(例如,“比较 iPhone 15 Pro 和 Samsung S24 Ultra,重点关注相机、电池和价格”)。
  • 技术选择:评估不同编程语言、框架或工具在特定项目中的适用性。
  • 策略评估:评估不同的业务策略、营销方法或投资方案。
  • 政策分析:比较各种政策选项,了解其潜在影响和有效性。

为了最大限度地利用比较类 Prompting:

  • 明确说明项目:清晰地命名你要比较的项目。
  • 定义比较标准:如果你心中有特定的方面(例如,成本、性能、易用性),请说明它们。否则,LLM 将选择常用标准。
  • 请求平衡的观点:要求列出优点和缺点,或优势和劣势,以进行公平的比较。
  • 指定输出格式:要求输出表格、列出优缺点要点或提供摘要可以使信息更易于理解。
  • 使用客观语言:构建你的 prompt 以鼓励客观分析,而不是带有偏见的分析。

让我们探讨一个使用 Python 脚本并通过 OpenAI API 与 LLM 交互来使用比较类 prompt 的实际示例。

import openai
import os
# 推荐:通过环境变量设置你的 API 密钥。
# openai.api_key = os.getenv("OPENAI_API_KEY")
# 在本教程中,使用占位符。请替换为你实际的密钥。
openai.api_key = 'YOUR_API_KEY'
def generate_comparative_analysis(item1, item2, criteria=None, output_format="a balanced overview of pros and cons for each"):
prompt_content = f"Please compare and contrast '{item1}' and '{item2}'."
if criteria:
prompt_content += f" Focus your comparison on the following criteria: {', '.join(criteria)}."
prompt_content += f" Provide {output_format}."
messages = [
{"role": "system", "content": "You are an AI assistant skilled in providing clear and objective comparisons."},
{"role": "user", "content": prompt_content}
]
try:
response = openai.chat.completions.create(
model="gpt-3.5-turbo", # 或使用更新的模型,例如 gpt-4o-mini
messages=messages,
max_tokens=800, # 根据需要调整以获得更全面的比较
temperature=0.5,
n=1,
stop=None
)
return response.choices[0].message.content.strip()
except Exception as e:
return f"An error occurred: {e}"
# 示例用法:
item_a = "Electric Cars (EVs)"
item_b = "Traditional Gasoline Cars"
comparison_criteria = ["environmental impact", "running costs", "initial purchase price", "refueling/recharging convenience", "range anxiety"]
analysis_output = generate_comparative_analysis(item_a, item_b, criteria=comparison_criteria, output_format="a detailed comparison structured with pros and cons for each, followed by a summary statement.")
print(analysis_output)

该脚本将产生详细的比较。以下是输出的缩略示例:

以下是电动汽车 (EVs) 和传统汽油汽车的详细比较,重点关注环境影响、运行成本、初始购买价格、加油/充电便利性以及续航里程焦虑,后附总结说明。
**电动汽车 (EVs):**
* **优点:**
* **环境影响:** 尾气排放显著降低(使用时为零),有助于改善空气质量。生命周期排放取决于电力来源,但通常随时间推移低于汽油车。
* **运行成本:** 燃油成本较低(电力 vs 汽油),且通常维护成本较低(活动部件较少)。
* **加油/充电便利性:** 可以在家过夜便捷充电。公共充电基础设施正在不断发展。
* **缺点:**
* **初始购买价格:** 通常比同等汽油车型的前期成本更高,尽管政府补贴可以抵消一部分。
* **加油/充电便利性:** 公共充电可能比汽油车加油花费更长时间。某些地区的充电基础设施仍在建设中。
* **续航里程焦虑:** 尽管正在改善,但一些用户可能会担心电池续航里程,尤其是在长途旅行时。
**传统汽油汽车:**
* **优点:**
* **初始购买价格:** 通常前期成本较低。
* **加油/充电便利性:** 完善且快速的加油网络(加油站)。
* **续航里程焦虑:** 通常续航里程更长,快速加油消除了大多数用户的续航担忧。
* **缺点:**
* **环境影响:** 产生尾气排放(CO2、NOx、颗粒物),导致空气污染和气候变化。
* **运行成本:** 受价格波动影响,燃油成本较高。更复杂的发动机可能随时间推移需要更多维护。
**总结说明:**
EVs 提供了显著的环境和运行成本优势,并可在家庭便捷充电,但通常初始价格较高,并且在长途旅程中可能存在续航里程焦虑或充电时间担忧。汽油车通常前期购买成本较低,拥有完善且快速的加油基础设施,典型续航里程更长,但环境影响更大,并且持续的燃油成本较高。最佳选择取决于个人优先事项、驾驶习惯、预算以及充电基础设施的可及性。

比较类 Prompting 是一项有价值的技能,可以利用 LLMs 分析替代方案,从而增强决策过程。通过清晰定义要比较的项目、比较标准和期望的输出格式,用户可以获得富有洞察力且结构化的分析。

随着你将比较类 Prompting 融入与 LLMs 的交互中,你可以期待收到有理有据的评估,以支持你在各个领域评估不同选项。