提示词工程手册学习
尽量说做什么,而不是说不做什么。
(bad)提示:
以下是向客户推荐电影的代理程序。不要询问兴趣。不要询问个人信息。
客户:请根据我的兴趣推荐电影。
代理:
输出:
当然,我可以根据你的兴趣推荐电影。你想看什么类型的电影?
你喜欢动作片、喜剧片、爱情片还是其他类型的电影?
(good)提示:
以下是向客户推荐电影的代理程序。代理负责从全球热门电影中推荐电影。
它应该避免询问用户的偏好并避免询问个人信息。如果代理没有电影推荐,
它应该回答“抱歉,今天找不到电影推荐。”。
```顾客:请根据我的兴趣推荐一部电影。
客服:
输出:
抱歉,我没有关于你兴趣的任何信息。
不过,这是目前全球热门的电影列表:[电影列表]。希望你能找到喜欢的电影!
参考:https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api
提示词示例:
让模型给出具体回答的最佳方法之一是改善提示的格式。
输入
Answer the question based on the context below. Keep the answer short and concise. Respond "Unsure about answer" if not sure about the answer.
Context: Teplizumab traces its roots to a New Jersey drug company called Ortho Pharmaceutical. There, scientists generated an early version of the antibody, dubbed OKT3. Originally sourced from mice, the molecule was able to bind to the surface of T cells and limit their cell-killing potential. In 1986, it was approved to help prevent organ rejection after kidney transplants, making it the first therapeutic antibody allowed for human use.
Question: What was OKT3 originally sourced from?
Answer:
输出:
Mice.
文本分类
到目前为止,你已经使用了简单的指令来执行任务。作为提示词工程师,你需要更擅长提供更好的指令。但这还不是全部!你还会发现,在更困难的用例中,仅仅提供指令是不够的。这就是你需要更多考虑上下文和其他元素(在提示词中使用)的地方。你可以提供的其他元素包括输入数据或示例。
提示词:
Classify the text into neutral, negative or positive.
Text: I think the food was okay.
Sentiment:
输出:
Sure! Black holes are regions of spacetime where the gravitational force is so strong that
nothing, not even light, can escape from it. They are created when a very massive star
dies and its core collapses in on itself, forming a singularity of infinite density. The
intense gravity of the singularity pulls in all the matter and radiation around it,
creating the black hole.
Few-shot COT
即一步步思考,将问题分解,一个个解决,给他提供一个思维链。
zero-shot
tree of thought
CO-START提示词框架。

即为: 上下文+目标+风格+语调+听众(受众)+回应类型
************** 2026.04.03*************

要精准回答浅层的样本问题,则采取下面方法:
少量样本提示:
对于稍微复杂的任务,想要更精确的回答,可以给一些例子。具体如下:
输入:
这太棒了!// Negative
这太糟糕了!// Positive
哇,那部电影太棒了!// Positive
多么可怕的节目!//
输出:
Negative
要精准回答有深度的问题,可以采取下面办法:
思维链(CoT)提示: 在最后添加上提示词,’让我们逐步思考‘。
- 阶段1:问题聚类:将给定问题划分为几个聚类
- 阶段2:演示抽样:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链
推理增强方法:
自我一致性(Self-Consistency):自我一致性旨在“替换链式思维提示中使用的天真贪婪解码方法”。其想法是通过少样本 CoT 采样多个不同的推理路径,并使用生成结果选择最一致的答案(出现结果次数最多的答案)。这有助于提高 CoT 提示在涉及算术和常识推理的任务中的性能。(原理就是让模型在用思维链推理的时候,尽量选择前后一致性强的推理路径,避免过于发散)
理解成一句话:不要相信模型第一次想到的那条推理链,而要让它“多想几种办法”,最后用“多数一致”的答案作为输出。
Self-Consistency:不只生成一条推理链,而是生成多条不同的推理链,然后对最终答案做聚合。
思维树(ToT):每一步都会生成多种思维路径,而每个步骤保留最优的(best) 几个候选项。这几个解包含局部最优姐,次优解,可能解 ,如果遇到不可能的局部解,就直接消除掉(即终止该思维链路),一步步推理下去。

可供参考的提示词:
假设三位不同的专家来回答这个问题。
所有专家都写下他们思考这个问题的第一个步骤,然后与大家分享。
然后,所有专家都写下他们思考的下一个步骤并分享。
以此类推,直到所有专家写完他们思考的所有步骤。
只要大家发现有专家的步骤出错了,就让这位专家离开。
请问...
方向性刺激提示
Li 等人,(2023)提出了一种新的提示技术,以更好地指导 LLM 生成所需的摘要。
训练了一个可调节的策略 LM 来生成刺激/提示。越来越多地使用RL来优化 LLM。
下图显示了方向性刺激提示与标准提示的比较。策略 LM 可以很小,并且可以优化以生成指导黑盒冻结 LLM 的提示。
ReAct 框架 (推理-搜索-观察-推理-搜索-观察...)
ReAct 框架允许 LLMs 与外部工具交互来获取额外信息,从而给出更可靠和实际的回应。
您可以在这里找到这些代码: https://github.com/dair-ai/Prompt-Engineering-Guide/blob/main/notebooks/react.ipynb
Active-Prompt:
第一步是使用或不使用少量 CoT 示例查询 LLM。对一组训练问题生成 k 个可能的答案。基于 k 个答案计算不确定度度量(使用不一致性)。选择最不确定的问题由人类进行注释。然后使用新的注释范例来推断每个问题。

https://arxiv.org/pdf/2302.12246.pdf
自我反思(Reflexion)——通过这个来拓展和强化ReAct框架
- 参与者(Actor):根据状态观测量生成文本和动作。参与者在环境中采取行动并接受观察结果,从而形成轨迹。链式思考(CoT) 和 ReAct 被用作参与者模型。此外,还添加了记忆组件为智能体提供额外的上下文信息。
- 评估者(Evaluator):对参与者的输出进行评价。具体来说,它将生成的轨迹(也被称作短期记忆)作为输入并输出奖励分数。根据人物的不同,使用不同的奖励函数(决策任务使用LLM和基于规则的启发式奖励)。
- 自我反思(Self-Reflection):生成语言强化线索来帮助参与者实现自我完善。这个角色由大语言模型承担,能够为未来的试验提供宝贵的反馈。自我反思模型利用奖励信号、当前轨迹和其持久记忆生成具体且相关的反馈,并存储在记忆组件中。智能体利用这些经验(存储在长期记忆中)来快速改进决策
定义任务-生成轨迹-评估-执行反思-生成下一条轨迹...... 说白了就是多了一个评估过程然后进行反思。,

何时需要自我反思:
-
智能体需要从尝试和错误中学习:自我反思旨在通过反思过去的错误并将这些知识纳入未来的决策来帮助智能体提高表现。这非常适合智能体需要通过反复试验来学习的任务,例如决策、推理和编程。
-
传统的强化学习方法失效:传统的强化学习(RL)方法通常需要大量的训练数据和昂贵的模型微调。自我反思提供了一种轻量级替代方案,不需要微调底层语言模型,从而使其在数据和计算资源方面更加高效。
-
需要细致入微的反馈:自我反思利用语言反馈,这比传统强化学习中使用的标量奖励更加细致和具体。这让智能体能够更好地了解自己的错误,并在后续的试验中做出更有针对性的改进。
-
可解释性和直接记忆很重要:与传统的强化学习方法相比,自我反思提供了一种更可解释、更直接的情景记忆形式。智能体的自我反思存储在其记忆组件中,让分析和理解其学习过程变得更加简单。
自我反思在以下任务中是有效的:
- 序列决策:自我反思提高了智能体在 AlfWorld 任务中的表现,涉及在各种环境中导航并完成多步目标。
- 推理:自我反思提高了 HotPotQA 上智能体的性能,HotPotQA 是一个需要对多个文档进行推理的问答数据集。
- 编程:自我反思的智能体在 HumanEval 和 MBPP 等基准测试上编写出了更好的代码,在某些情况下实现 SOTA 结果。
以下是自我反思的一些限制:
- 依赖自我评估能力:反思依赖于智能体准确评估其表现并产生有用反思的能力。这可能是具有挑战性的,尤其是对于复杂的任务,但随着模型功能的不断改进,预计自我反思会随着时间的推移而变得更好。
- 长期记忆限制:自我反思使用最大容量的滑动窗口,但对于更复杂的任务,使用向量嵌入或 SQL 数据库等高级结构可能会更有利。
- 代码生成限制:测试驱动开发在指定准确的输入输出映射方面存在限制(例如,受硬件影响的非确定性生成器函数和函数输出)。
Reflexion: Language Agents with Verbal Reinforcement Learning
多模态思维链提示方法

- 语言不是你所需要的全部:将感知与语言模型对齐(2023年2月)
参考:
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)