Prompt Engineering,提示工程

ops/2024/9/23 9:31:35/

什么是提示工程?

提示工程也叫【指令工程】。

  • Prompt发送给大模型的指令。比如[讲个笑话]、[用Python编个贪吃蛇游戏]、[给男/女朋友写情书]等
  • 看起来简单,但上手简单精通难
    • [Propmpt]是AGI时代的[编程语言]
    • [Propmpt]是AGI时代的[软件工程]
    • [提示工程]是AGI时代的[程序员] 
  • 学会提示工程,就好比学会使用电脑学鼠标、键盘一样,是AGI时代的基本技能
  • 提示工程[门槛低,天花板高],所以有人对称prompt为[咒语]
  • 但专门的[提示工程师]不会长久,因为每个有都要会[提示工程],AI的进化会让提示工程越来越简单

如果人人都会,那我们应该如何建立优势?

1、我们要懂原理,会把AI当人看,所以知道:

  • 为什么有的指令有效,有的指令无效

  • 为什么同样的指令有时有效,有时无效
  • 怎么提升有效的概率 

2、我们懂编程

  • 知道哪些问题用提示工程解决更高效,哪些用传统编程更高效

  • 能完成和业务系统的对接,把效能发挥到极致 

Prompt的典型构成 

不要固守[模版]。模版的价值是提醒我们加漏掉什么,而没有必要遵守模板才行。

角色:给AI定义一个最匹配任务的角色。比如:[你是一个软件工程师]  [你是一个小学老师]

指示:对任务进行描述

上下文:给出与任务相关的其它背景信息(尤其在多轮交互中)

例子:必要时给出格式描述,以便后继模块自动解析模型的输出结果,比如(JSON\XML)

[定义角色]为什么有效?

  • 模型训练者也没想过会这样,完全是大家[把Ai当人看]玩出一个用法

  • 实在传得太广,导致现在的大模型训练数据里充满了角色定义,所有更有效了

  • 有一篇论文的现象,可以说明为啥[你是一个xxx]特别有效 

大模型对prompt开头和结尾的内容更敏感 

先定义角色,其实就是在开关把问题域收窄,减少二义性。 

  • 大模型如何使用长上下文信息?斯坦福大学最新论文证明,你需要将重要的信息放在输入的开始或者结尾处!
  • Lost in the Middle: How Language Models Use Long Contexts

对话系统的基本模块和思路

核心思路:

  • 把输入的自然语言对话,转成结构化的表示
  • 从结构化的表示,生成策略
  • 把策略转成自然语言转出 

http://www.ppmy.cn/ops/21906.html

相关文章

算法学习笔记Day9——动态规划基础篇

一、介绍 本文解决几个问题:动态规划是什么?解决动态规划问题有什么技巧?如何学习动态规划? 1. 动态规划问题的一般形式就是求最值。动态规划其实是运筹学的一种最优化方法,只不过在计算机问题上应用比较多&#xff…

Docker 的基本概念和优势

Docker 是一种开源的容器化平台,它通过将应用程序及其依赖的库、配置文件等打包成一个称为容器的独立单元来简化应用程序的部署和管理。 Docker 的基本概念包括以下几个要点: 容器:容器是一种轻量级的虚拟化技术,它使用操作系统级…

iOS OC项目中引入SwiftUI文件

iOS OC项目中引入SwiftUI文件 1、创建SwiftUI文件 2、第一次创建时,Xcode会提示桥接,选择 Creat Bridging Header即可。 3、创建swift管理类 /**在UIKit中使用SwiftUI,需要使用UIHostingController对SwiftUI进行包装,返回的是U…

第五篇:Python面向对象深潜:打造弹性的代码架构

Python面向对象深潜:打造弹性的代码架构 1 引言 在编程世界的历史长河中,面向对象编程(Object-Oriented Programming, OOP)无疑是其中最耀眼的篇章之一。在Python这门语言的范畴内,OOP不仅仅是一个编程范式&#xff0…

c++day5

class Person { string name; int *age; } class Stu:public Person { const double score; } #include <iostream>using namespace std; class Person { private:string name;int *age; public://无参构造Person() {}//有参构造Person(string name,int age):name…

面试中遇到的软件测试场景题总结1

场景1 问题描述 类似于12306的卖票机制&#xff0c;如果现在有四站分别 为A、B、C、D&#xff0c;分别有80、10、5、5张票&#xff0c;那么如何对它的买票机制进行测试呢&#xff1f; 解决方案 1&#xff09;测试思路 12306类似的卖票机制&#xff0c;主要目的是确保卖票和…

K8s: 持久化存储之卷, NFS卷

卷 Volume 1 ) 概述 容器中的文件在磁盘上是临时存放的&#xff0c;这给容器中运行的特殊应用程序带来一些问题 首先&#xff0c;当容器崩溃时&#xff0c;kubelet 将重新启动容器&#xff0c;容器中的文件将会丢失——因为容器会以干净的状态重建其次&#xff0c;当在一个 Po…

Rust 动态数组Vector

导航 一、动态数组是什么&#xff0c;怎么用1、动态数组Vector是什么2、动态数组怎么用&#xff08;1&#xff09;创建动态数组&#xff08;2&#xff09;尾部追加元素&#xff08;3&#xff09;尾部删除元素&#xff08;4&#xff09;删除指定位置元素&#xff08;5&#xff0…