「吴恩达Agentic AI 模块2」反思设计模式学习指南

测验

简答题

说明: 请根据提供的学习材料,用2-3句话简要回答以下问题。

  1. 什么是反思设计模式(Reflection Design Pattern)?
  2. 与直接生成相比,反思设计模式的主要优势是什么?
  3. 在反思过程中,为什么“外部反馈”(External Feedback)如此重要?
  4. 什么是“零样本提示”(Zero-Shot Prompting),它与“直接生成”有何关系?
  5. 在为反思设计模式编写提示(prompt)时,有哪些关键技巧可以提高其有效性?
  6. 多模态模型(Multimodal Model)如何在图表生成工作流程中应用反思模式?
  7. 什么是“客观评估”(Objective Evals),请以数据库查询为例说明其应用。
  8. 在进行主观评估时,为什么使用“评分标准”(Rubric)通常比直接让大型语言模型(LLM)作为裁判进行比较更好?
  9. 请列举一个使用软件工具为反思过程提供外部反馈的具体例子。
  10. 何时应该考虑在工作流程中加入反思,特别是当提示工程(prompt engineering)遇到瓶颈时?

答案解析

  1. 什么是反思设计模式(Reflection Design Pattern)? 反思设计模式是一种工作流程,它模仿人类反思和改进自己工作的方式。在这个模式中,一个大型语言模型(LLM)首先生成一个初步的输出(如草稿代码或邮件),然后由同一个或另一个LLM对该草稿进行审视、批判和改进,从而生成一个更高质量的最终版本。
  2. 与直接生成相比,反思设计模式的主要优势是什么? 研究表明,在多种任务上,反思设计模式能够显著提升系统性能。与直接生成的一次性输出相比,反思通过增加一个审视和修正的步骤,可以发现并修复初稿中的错误、遗漏或不清晰之处,从而得到更准确、更完善的结果。
  3. 在反思过程中,为什么“外部反馈”(External Feedback)如此重要? 外部反馈为LLM提供了来自模型外部的新信息,这使得反思过程更加强大和深入。例如,执行代码后得到的错误信息或通过网络搜索核查的事实,都为LLM提供了具体的、客观的修正依据,使其能够更有效地发现并解决问题,而不是仅仅基于已有的信息进行推断。
  4. 什么是“零样本提示”(Zero-Shot Prompting),它与“直接生成”有何关系? 零样本提示是指在不向LLM提供任何输入-输出示例的情况下,仅通过指令来让其生成答案。这种方式通常被视为“直接生成”,因为它要求模型一步到位地直接产出最终结果,而没有像一样本(one-shot)或少样本(few-shot)提示那样提供参考范例。
  5. 在为反思设计模式编写提示(prompt)时,有哪些关键技巧可以提高其有效性? 为了编写有效的反思提示,首先应明确指示模型需要“审阅”或“反思”初稿。其次,提供一套清晰的评估标准(criteria),例如检查域名是否易于发音、邮件语气是否恰当或代码是否清晰完整,这样可以更好地引导LLM关注你最关心的方面。
  6. 多模态模型(Multimodal Model)如何在图表生成工作流程中应用反思模式? 在图表生成中,一个LLM首先根据数据生成初始代码(v1)和图表。然后,一个能够处理图像输入的多模态模型会同时接收这段代码和生成的图表图像,通过视觉推理(visual reasoning)来评判图表的清晰度和美观度,并提出改进建议,最终生成更新后的代码(v2)以绘制出更好的图表。
  7. 什么是“客观评估”(Objective Evals),请以数据库查询为例说明其应用。 客观评估是指当任务存在明确的正确答案时,用来衡量系统性能的方法。在数据库查询的例子中,开发者会创建一个包含多个问题和其“标准答案”(ground truth answers)的评估集。通过比较系统在有反思和无反思两种情况下给出正确答案的百分比(例如95% vs 87%),就可以客观地判断反思步骤是否有效提升了查询的准确性。
  8. 在进行主观评估时,为什么使用“评分标准”(Rubric)通常比直接让大型语言模型(LLM)作为裁判进行比较更好? 直接让LLM比较两个主观输出(如两张图表)的效果不佳,因为它可能存在位置偏见(position bias),即倾向于选择第一个选项,并且其判断标准不稳定。而使用评分标准,通过让LLM根据一系列明确的、二元的标准(如有无标题、坐标轴标签是否清晰等)对单个输出进行打分,可以得到更一致、更可靠的评估结果。
  9. 请列举一个使用软件工具为反思过程提供外部反馈的具体例子。 一个例子是使用单词计数工具来辅助文案写作。如果LLM生成的博客文章草稿超过了字数限制,一个简单的代码工具可以精确计算出单词数量,并将这个“超出限制”的信息作为外部反馈提供给LLM,指导它在下一稿中缩减篇幅以满足要求。
  10. 何时应该考虑在工作流程中加入反思,特别是当提示工程(prompt engineering)遇到瓶颈时? 当你通过不断调整和优化提示(即提示工程)发现性能提升逐渐趋于平缓,投入更多努力也难以获得显著改善时,就应该考虑加入反思。引入反思,特别是带有外部反馈的反思,可以将性能曲线从停滞的平台期提升到一个新的、更高的改进轨道上。

论述题

说明: 请思考以下问题,并准备以论文形式进行深入探讨。这些问题没有提供标准答案。

  1. 详细论述反思设计模式在代码生成任务中的完整应用流程。请结合“外部反馈”的概念,解释从生成第一版代码到产出优化后代码的每一步,并分析为何执行代码并获取错误日志是提升反思效果的关键。
  2. 对比并分析“直接生成”(零样本提示)与“反思工作流程”的异同。请根据学习材料中的信息,探讨在哪些应用场景下反思模式的优势最为明显,以及在哪些情况下可能不需要使用这种更复杂的模式。
  3. 深入探讨评估(Evals)在构建Agentic工作流程中的重要性。请分别以“数据库查询”(客观评估)和“图表生成”(主观评估)为例,阐述两种评估方法的具体实施步骤、挑战以及如何通过有效的评估来指导和优化提示的设计。
  4. “外部反馈使反思变得更加强大。”请围绕这一核心论点,从材料中找出并详细阐述三个不同类型的外部反馈示例(例如,工具执行结果、网络搜索、模式匹配),并分析它们各自是如何为LLM提供新信息以驱动更深层次的改进。
  5. 假设你需要构建一个AI代理来为初创公司构思域名。请基于本模块学习的原则,设计一个完整的工作流程。你的设计应包括:初始生成提示、包含明确标准的反思提示、以及一种评估最终域名质量的方法(可以是主观或客观的)。

关键术语词汇表

术语 (中文) 术语 (英文) 定义
反思设计模式 Reflection Design Pattern 一种工作流程,其中LLM生成一个初步输出,然后对其进行审视和改进,以产生一个更高质量的最终版本。
直接生成 Direct Generation 一种工作流程,即通过单个提示让LLM一次性生成最终答案,不经过审阅或修改步骤。
零样本提示 Zero-Shot Prompting 在提示中不包含任何输入-输出示例,仅给出指令让LLM完成任务。这通常等同于直接生成。
一样本/少样本提示 One-shot / Few-shot Prompting 在提示中包含一个或多个期望的输入-输出示例,以引导LLM生成符合格式或风格的答案。
外部反馈 External Feedback 来自LLM外部的新信息,例如执行代码后的错误消息、网络搜索结果或工具的输出,用于增强反思过程。
推理模型/思考模型 Reasoning Models / Thinking Models 擅长发现错误的特定类型LLM,在反思步骤中用于检查和修正初稿时可能表现更佳。
多模态模型 Multimodal Model 能够处理多种类型输入(如文本和图像)的LLM。在反思中,它可以审视生成的图像并提出改进建议。
评估 Evals / Evaluations 用于衡量系统性能的系统化方法,对于判断反思等工作流程是否有效以及如何优化提示至关重要。
客观评估 Objective Evals 当任务存在明确的正确或错误答案时使用的评估方法,例如通过对照标准答案来计算准确率。
主观评估 Subjective Evals 当任务没有唯一的正确答案,需要评估质量、美观度等主观标准时使用的方法。
LLM作为裁判 LLM as a Judge 一种评估方法,即让LLM直接比较两个输出并判断哪个更好。这种方法存在偏见,效果通常不佳。
位置偏见 Position Bias LLM作为裁判时表现出的一种倾向,即更频繁地选择它看到的第一个选项,无论其质量如何。
评分标准 Rubric 一套用于评估的明确标准或准则。在主观评估中,让LLM依据评分标准对单个输出打分,比直接比较更可靠。