提示词工程(Prompt)

提示词工程:

是一项通过优化提示词(prompt)和生成策略,从而获得更好的模型返回结果的工程技术。

使用Prompt的两种目的:

  • 获得具体问题的具体结果
  • 固化一套prompt到程序中,成为系统功能的一部分。

提示词工程的构成:

  • 提示(instruction):描述要让它做什么?
  • 上下文(context):给出与任务相关的背景信息。
  • 例子(example):给出一些例子,让模型知道怎么恢复。
  • 输入(input):任务的输入信息。
  • 输出(output format):输出的格式,想要什么形式的输出。
  • 角色:给AI一个最匹配任务的角色。

定义提示词:

复制代码
instruction="""描述让它做什么?"""
context="""内容背景"""
query=""""问题"""
prompt=f"""
    {instruction}
    
    ###上下文
    {context}
    
    ###问题
    {query}
"""

response=generate_responses(prompt)
print(response)


或:
#不是从给出的内容回答问题,而是从它的知识库去回答问题
prompt=f"""问题"""
response=generate_response(prompt)
print(response)

Json格式: {"[具体问题]":"[答案]"

高质量prompt核心要素: 具体,丰富,少歧义。

shot learning样本学习:

  • one-shot learning:只有一个example
  • few-shot learning:多个example
  • zero-shot learning:不给任何的example

让提示词更加稳定的输出:

  • 好的提示词需要不断地优化
  • 说清楚自己到底想要什么,要具体
  • 不要让机器人去猜测太多,为了不让机器人去猜测,我们就需要告诉细节。
  • 提示词工程有一些技巧,灵活掌握,事半功倍。

提示词帮助用户控制语言模型输出,生成适合的特定需求,4个关键要素:

  • 角色定位:明确Bot的身份,建立专业形象。
  • 技能描述:清晰的目标,让Bot知道做什么。
  • 输出格式:结构化回复要求,确保输出规范。
  • 约束条件:限制不当行为,保证安全合规。
规范的Prompt 不规范的Prompt
角色设定,格式强约束,目标具体化,Few-shot示例 指令模糊,无格式约束,零示例示范,依赖模型自身发挥
  • 我们发给大模型的Prompt,不会改变大模型的参数
  • 多轮对话,需要每次都把对话历史带上
  • 和大模型对话,不会让他变聪明或变笨。
  • 但对话历史数据,可能会被用去训练大模型

思维链:

把一个复杂的任务,拆解成多个稍微简单的任务,让大语言模型分布来思考问题。

原理: 让AI生成更多相关的内容,构成丰富的上下文,从而提升下文正确的概率,对涉及计算和逻辑推理等复杂问题,尤为有效。

思维树:

  • 在思维链的每一步,采样多个分支
  • 拓扑展开式一棵思维树
  • 判断每个分支的任务完成度,以便进行启发式搜索
  • 设计搜索算法
  • 判断叶子节点的任务完成的正确性
相关推荐
MRDONG120 小时前
Prompt 到 Context 再到 Harness:AI 工程范式的三次跃迁
人工智能·语言模型·prompt
YXWik61 天前
Langchain4j(3) Prompt 提示词工程 + PromptTemplate + SystemMessage 高级用法
java·ai·prompt
abigale032 天前
Langchain入门到实战开发智能体教程(LLM+RAG+OpenAI+Agent)-下
langchain·prompt
IT枫斗者2 天前
MSE Nacos Prompt 管理:AI Agent 配置的工程化治理实践
网络·人工智能·websocket·网络协议·prompt·jar
码头码农2 天前
Prompt进阶:9个月总结的核心工作流,让AI进入工程流程
人工智能·prompt
微臣愚钝2 天前
prompt
人工智能·深度学习·prompt
是小蟹呀^3 天前
【总结】提示词工程
python·llm·prompt·agent
卷卷说风控3 天前
Claude Code 技术架构深扒:Prompt / Context / Harness 三维设计实践
人工智能·架构·prompt