0Pricing
AI Prompt Engineering · 课时

基于之前的响应继续操作

了解多轮对话:在后续提示中引用之前的输出

基于之前的响应继续操作 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 4 节课。

多轮对话

与人工智能模型进行多轮对话是一种协作式构建——每次交流都会增加新的内容,而不是替换之前已有的内容。

这不同于通过后续提示词修复错误。基于先前的响应继续构建,意味着将模型之前的输出作为原材料:扩展它、从中进行选择、重新组合,或用新的视角审视它。

掌握这种模式后,您就能生成复杂且层次丰富的输出,而这是单条提示词无法实现的。

引用之前的输出

最简单的构建模式,就是引用模型刚刚写出的内容:

  • "根据您上面写的内容,最大的三个风险是什么?"
  • "请采用您描述的框架,并将其应用到医疗保健场景中。"
  • "请使用您上一次响应中的语气,重写下面这段新文字。"
  • "在您生成的列表中,您会优先处理哪一项?为什么?"

这些引用能让模型立足于自己之前完成的工作,从而在不同轮次之间保持连贯性。

选择并扩展

当模型生成一个列表或一组选项时,您可以选择其中一项并要求模型进一步展开:

  • "请从您的列表中选取第二个选项,并将其扩展为完整计划。"
  • "我最喜欢第三种方法。请为它撰写一份 300 字的实施指南。"
  • "选项 B 最接近我的需求。请通过具体步骤和时间安排进一步完善它。"

这种模式对于构思流程非常有效:在一轮中生成选项,在下一轮中选择并完善。

使用之前响应中的结构

您可以要求模型将某个响应中的结构应用到新内容上:

  • "请使用您上一次响应中的相同结构,分析竞争对手 B。"
  • "请将相同的五部分格式应用到这款新产品上。"
  • "请遵循您上面创建的大纲,但将其内容改写为面向 B2B 受众,而不是 B2C 受众。"

这对于创建一致且相互对应的文档非常有用,例如需要针对多个主题遵循同一模板的报告、比较和分析。

逐步深入:一轮一轮地深入

多轮对话可以让您逐步增加内容的深度:

  1. 第 1 轮:"请为我概述机器学习流水线。"
  2. 第 2 轮:"请深入讲解数据预处理步骤。"
  3. 第 3 轮:"请为如何处理该预处理步骤中的缺失值提供一个 Python 代码示例。"
  4. 第 4 轮:"现在请在该代码示例中加入错误处理和日志记录。"

每一轮都会进一步聚焦一个层级。与在一个复杂提示中一次性要求所有内容相比,这种方式更容易控制。

交叉引用之前的多轮内容

在较长的对话中,您可以汇总之前多轮中的不同内容:

  • "请结合第 2 轮中的用户画像和第 4 轮中的产品功能,为每个用户画像撰写有针对性的推介词。"
  • "请结合您之前识别出的风险和上一次响应中的缓解策略,创建一个风险矩阵。"

当每一轮都生成了标注明确、彼此独立的内容时,这种方法效果最好。如果之前的内容杂乱无章,您和模型都会难以进行交叉引用。

上下文窗口的限制

多轮对话有一个实际限制:模型的上下文窗口。每条消息——包括您发送的消息和模型的消息——都会包含在发送给 API 的上下文中。随着对话不断变长,较早的消息可能会被截断。

实用策略:

  • 当不再需要完整保留之前轮次的详细内容时,对其进行总结和压缩
  • 当主题发生根本变化时,开始新的对话
  • 让每次响应都保持简洁,以延伸模型能够回溯查看的范围

在代码中管理多轮上下文

在 Python 中,您可以将每一对消息追加到对话历史列表中,以维护多轮上下文:

import openai

client = openai.OpenAI(api_key='sk-...')

conversation = []

def chat(user_message):
    conversation.append({'role': 'user', 'content': user_message})

    response = client.chat.completions.create(
        model='gpt-4o-mini',
        messages=conversation
    )

    reply = response.choices[0].message.content
    conversation.append({'role': 'assistant', 'content': reply})
    return reply

# Turn 1: Generate options
print(chat('Give me 3 app name ideas for a meditation app.'))

# Turn 2: Select and expand
print(chat('Take the second option and write a tagline and a 50-word app description for it.'))

# Turn 3: Apply structure to another item
print(chat('Now do the same for the first option: tagline and 50-word description.'))

清晰地定位引用内容

引用之前的输出时,请准确说明您的指代对象。含糊的引用会导致模型自行猜测:

  • 含糊:"请展开讲讲您之前说过的内容。"
  • 清晰:"请展开讲讲您上一次响应中的第三个要点——关于入职流程阻力的那一点。"

如果之前的响应包含多个部分,请说出部分的名称。如果它是一个列表,请引用项目编号。您对引用内容的定位越准确,模型就越能可靠地遵循您的要求。

分阶段构建文档

多轮构建非常适合创建报告、计划或提案等结构化文档:

  1. 第 1 轮:生成大纲
  2. 第 2 轮:撰写第 1 部分
  3. 第 3 轮:撰写第 2 部分(保持与第 1 部分相同的语气)
  4. 第 4 轮:根据第 1 部分和第 2 部分撰写执行摘要

这种分阶段的方法让您可以在进入下一部分之前控制每一部分的内容,也能让您在文档编写过程中调整方向,而不必丢弃已经完成的全部内容。

构建失败时:失去上下文脉络

当模型无法继续追踪之前的上下文时,多轮构建可能会出现问题。失去上下文脉络的迹象包括:

  • 模型与自己两轮之前说过的内容相矛盾
  • 模型忽略了对话早期确定的限制条件
  • 模型不再使用您构建的具体框架,而是退回到通用建议

解决方法:不要假设模型还记得关键上下文,而应在下一条消息中明确重述。"正如我们已经确定的那样,受众是非技术背景的管理人员。考虑到这一点……"

知识检查:多轮构建

您进行了三轮对话。第 1 轮生成了一份包含五个部分的商业报告大纲。第 2 轮生成了第 1 部分“市场分析”的完整文本。现在,您希望第 2 部分“竞争格局”遵循与第 1 部分相同的结构和语气。

下面哪个第 3 轮提示最有效?

回顾:基于之前的响应继续构建

多轮对话是逐步构建复杂输出的有效方式。关键技巧包括:通过名称或编号引用之前的输出,选择并扩展特定项目,将一个响应中的结构应用到新内容,以及一轮一轮地逐步深入。

准确定位引用内容,并了解上下文窗口的限制,是避免多轮对话失去连贯性的主要技能。

在下一课中,您将学习何时应该放弃当前对话并开始新的对话,而不是继续在其基础上构建。

常见问题解答

「基于之前的响应继续操作」课时是免费的吗?

是的 — 「基于之前的响应继续操作」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 4 节课。

「基于之前的响应继续操作」这节课中我会学到什么?

了解多轮对话:在后续提示中引用之前的输出 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 AI Prompt Engineering 需要有经验吗?

无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「基于之前的响应继续操作」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 AI Prompt Engineering 课中编写并运行代码吗?

能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 阅读和评估人工智能输出
  2. 编写有效的后续提示
  3. 基于之前的响应继续操作
  4. 何时优化,何时重新开始
← 返回 AI Prompt Engineering