提示工程

给出明确的具体指令

1. 使用定界符

  • 使用类似"""之类的定界符告诉gpt这是需要阅读的材料而不是任务

2. 要求格式化输出

  • 比如json的形式,这样你可以直接将结果绑定到结构体,实现rpc功能
    • 可以让他给出具体的终端命令,并且和结果格式化成json,这样chatgpt就可以真正调用你的电脑,实现和硬件的交互功能
  • 比如html的形式,这样可以直接根据提示返回前端界面

3. 给出例子

  • 类似先给出一个example,要求gpt模仿其生成,会更加精确

4. 尝试修改temperature

  • temperature是一个参数(在api调用接口时候使用),默认是0,当这个参数越大的时候,结果的精确度越低,但是创造力会更加强大(有点类似bing的创造力模式)

给模型思考的时间

  • 如果让模型快速判断快速生成,模型只能生成一个大概的内容,字数和内容深度都不够,因为模型类似人类看一眼而没有思考

1. 描述一个任务的具体步骤

  • 通过任务的具体的步骤(其实这个步骤可以通过之前对话生成),每次对话让他解决其中的一个步骤

比如让他写论文,应该第一步让他先写大纲,然后每一条单独去问去写,而不是直接让他写,模糊的目标只有模糊的结果

2. 在模型下结论之前,指导它自己解决

  • 比如让他判断计算是否正确时候,可以先让他自己解决,然后对结果进行对比,再下结论,延长模型的思考过程

不停地改善提示语句

  • 通过不停微调提示语句,让其扮演一个特定的角色

总结工程

  • 这是传统npl算法工程是训练的重点

1. 将总结汇报侧重在某个点

  • 比如向某个具体人群的汇报,这样就会更加具象化

2. 可以将大量的数据生成摘要

  • 可以用于评论分析方面,这样可以快速简化内容

3. 可以用于情感分析

  • 让其对情感进行分析并输出json,方便批量统计数据特性

4. 可以用于判断是否包含某个主题

  • 典型的打标行为,给推荐系统打上tag的行为,可以让其堆每个tag打分并格式化成json输出

其他领域

文本翻译

1. 个性化翻译

  • 类似转换官方翻译,口语翻译之类的提示词

2. 纠正语法错误

文本扩写

1. 提取情绪并应用情绪

  • 扩写之前可以向他提出详细的要求

聊天机器人

  • 这部分可以输入自己的信息训练出一个个人的模型
    • 假设你是xxx,你会在yyy的场合下做什么

1. 使用system上下文

  • system作为上下文的时候,相当于基础设定而不是假设,这样可以让角色的扮演更加真实

解决问题

核心特点

  • 大语言模型特点:垃圾输入,垃圾输出
    • 如果我想让你xxx,我应该给你输入什么信息
  • how类问题核心在于路径的获取
    • 明确目标->寻找路径->获取工具
  • why类问题核心在于事实推理

沟通视窗

盲区问题(获取信息)

  • 我先了解xxx,我应该向你问什么问题
  • 列出xxx领域50个概念和解释,详细介绍xxx

公开区域问题(检验/扩充认知)

  • 对于xxx,你认为什么是我应该掌握的要点
  • 我理解xxx是yyy的,你觉得我的理解对吗
  • 我先深入学习xxx,可以推荐一些学习资源和路径吗

隐私区域问题

  • 这种得详细描述整体要 ai 去做的事情, 因为这部分如果不详细描述 ai 生成的和你得到的差距很大, 需要一步一步列举

未知象限

  • 这部分只能和 ai 一起去探索, 不停改进自己的提示词和技巧和
达克效应

  • 使用chatgpt方向提问能力
  • 为了测试我对xxx的认识,提问10个问题检验我的水平
  • 我已经熟悉xxx,我是否还需要了解什么

隐私区

  • 介绍背景后让他分析可能的影响

其他

有趣的用法

  • 确认主题->AI思维导图(大纲)->AI文章生成->AIppt生成

提示词类型

提示词框架

背景/上下文/清晰度(范围)/情况/问题
    背景信息:
    做事情的上下联系
    做事的范围, 受众
    问题: 核心要解决的问题
角色
行动
    支持: 为大模型提供该行动的额外信息或资源
    技术: 具体调用的程序或软件
    任务: 具体执行任务
    步骤: 期望采取的详细步骤
    计划: 行动方案
目的/目标/结果/期望/预期方案

演变/评估
    执行后期望演变的样子
    行动后对效果的评估或分析
个性
    语气
格式:输出格式, 控制回复量

实验/示例: 多个示例,(有示例有时候可以省略语气和格式)
    示例
    要求生成几个例子
  • 相关关键词
Background:背景
Profile:概述
Role:角色
Task:任务
Request:需求
Purpose:目的
Skills:技能
Capabilities:能力
Constrains:约束
Attention:注意事项
Improtant:重要
Goals:目标
Objectives:目的
Definition:定义
Tone:文风
Value:用途
Format:格式
Notes:注释
Insight:见解
Statement:声明
Input:输入
Scenario:场景/脚本
Output:输出
Result:结果
Workflows:工作流
Step:步骤
Action:行动
Expectation:预期
Output indicatot:输出引导
Key result:关键结果
Conntext:上下文
Example:示例
Evole:实验改进
Initialization:初始化

有用技巧/提示词

压制幻觉

  1. 必须仔细校验无误以后再输出。
  2. 多用Improtant。
  3. 思考过程中如有任何不清晰或存疑之处,请勿自己揣测,而应向我提问求证,以保证理解的准确性;
    1. 这个非常重要,无论什么时候都应该加上

思维链条

这部分其实绝大多数ai工具的系统提示词会自动有

  • step by step(一步一步)
  • 强制思考

自我检查

  • 在正式输出之前,请对整个回答再通读一遍,检查是否有任何错别字、标点误用或者语病等,力求做到完美无瑕。(case, 其他情况自行变通)

输出格式

  • 使用markdown输出
  • 使用```、---、===、“”等分隔符,区分提示与示例。
  • 使用‹›、【】、[]等不同括号区分不同层级的标签

参考:

  • https://space.bilibili.com/15467823/video