当前位置: 首页 > news >正文

大模型应用-prompt提示词工程

大模型应用-prompt提示词工程

        本文介绍了大模型(LLM)的基本概念和应用中的提示词工程。大模型可视为高维复杂函数,通过调整输入(prompt工程)或参数优化来提升输出效果。文章对比了不同模型特点(如指令型vs推理型),并详细讲解了四种提示词工程模板(LangGPT、CRISPE、ICIO、OCEP)的结构和应用场景,包括广告创意生成和软件开发文档编写等实例。这些模板通过系统化结构设计,帮助用户更精准地引导模型输出预期结果  

一、大模型简介

1、LLM简介

可以理解为高维复杂函数,如

y = ax^(2) + bx +c

假设这个函数是LLM大模型,它的功能便是输入x,可以得到y。公式的参数可以多达上几十亿个,要使得模型精确,一种是调参,另外一种是改变x的输入方式,对输入数据预处理,使得y接近正确结果。调整输入的方式便是prompt提示词工程。

(1)、模型参数:7B、32B(B Bion亿)等指的是函数参数的数量即a,b.c的数量

(2)、训练:使用海量的x和y来调整每个参数的值

(3)、模型结构:即函数的结构

(4)、微调:使用少量的x和y来调整一个现有函数中的参数

(5)、提示词工程:尝试修改x来优化y

(6)最大上下文长度:x的最大长度,这里有个误区,在窗回对话的形式中x是当前窗画中所有的内容,deepseek r1 671B的最大上下文长度为6.4万个tokens,约3.5万字

(7)、最大输出长度: y的最大长度,deepseek r1 671B的最大输出长度为8192个tokens约4800字

2、Token

LLM 的运行过程大致如下

用户输入==> 分词器  ==> 分解成token  ==>  映射编号 ==>  转为高维向量 提取语义 ==>  LLM  ==>  输出

Token 通常代表一个语义,词语或者短语对应一个token

3、常见大模型

搭建智能体或日常使用,根据特点选择合适的大模型

(1)deepseek指令模型(V3):

一般聪明,很听话

高效便捷,适合处理‘规范性’任务。一件事情你知道怎么做,并且希望模型完全按照你的步骤一步一步规范的帮你完成。

适合复杂推理深度分析任务,如数理逻辑推理和编程代码,和‘开放性’任务。

(2)deepseek推理模型(R1):

很聪明,不太听话,有自己的想法

一件事情你只知道要达成什么样的目标,但你不清楚具体怎么做,并且对怎么做没有规范的要求

(3)Qwen千义通问:

选择合适的模型,模型参数:7B、32B(B Bion亿)等指的是函数参数的数量即a,b.c的数量

4、应用落地

(1)提示词prompt工程

  *调整提示词结构,通过迭代和测试集测试,逼近最佳提示词;

 *引入参考样例和源头输入, 让输出趋近于参考样例;

  *渐进式提问,如输出一份标准的设计文档:

  输出标准款框架=>引入参考样例=>渐进式提问:系统调用关系、表结构关联

(2)智能体应用

将任务分解,采用流程编排的方式,加入提示词模板、知识库等,形成专业化的、更精确的agent应用

二、提示词工程标准模板

1、LangGPT(***最常用***;智能体中的LLM节点也推荐用)

# Role:<name>:角色

## Profiles

author/version/description作者/版本/简介

## Skills技能

## Goals:目标

## Constrains:限制条件

##Workfower工作流

##Initialization: 初始化动作(开始提示语)

2、CRISPE

##能力

##角色

##洞察力(背景/目标用户)

##执行步骤

##个性 风格

## 示例

3、ICIO

##Instruction指令(目标要求)

#tContext背景信息(角色+能力)

##lnput Data输入数据(目标)

##Output Indicator输出引导(风格等)

4、OCEP

Objective(目标):需要完成的核心任务或目标

Context(背景):任务相关的背景信息,可能包括受众、时间、场景、资源限制等

Effect(效果):希望实现的预期结果或价值

Problem(问题):需要规避的风险或潜在矛盾

三、提示词工程应用示例

1、LangGPT(***最常用***;智能体中的LLM节点也推荐用)

# Role:<name>:角色

## Profiles

author/version/description作者/版本/简介

## Skills技能

## Goals:目标

## Constrains:限制条件

##Workfower工作流

##Initialization: 初始化动作(开始提示语)

#Role:<name>:你是一名经验丰富的广告营销专家。

##Profile author/version/description:author:xxx;version:1.0

##Goals:写一个创意广告的方案

##Constrains:你的目标用户是中国的00后,年轻,张扬,叛逆,富有活力。

##Skills:你拥有成熟的营销能力和创意写作能力。

##Workflow:1.你需要运用自己的营销经验理解目标用户会喜欢的广告风格;2.基于目标用户 喜欢的广告风格写创意广告的方案;3.基于你的方案,思考目标受众;4.对比第三步的目标受众和目标用户是否一致,如果一致,输出广告文案;如果不一致,重头开始再次思考

##Initialization:无

2、CRISPE

##能力

##角色

##洞察力(背景/目标用户)

##执行步骤

##个性 风格

## 示例

##能力:经验丰富的软件开发过程师; 你拥有成熟的java编码能力和开发文档写作能力,有丰富的保险系统经验;

##角色:你是一名经验丰富的软件开发过程师, 尤其熟悉保险系统。

##目标用户:你的目标用户是刚入职的保险业务员;根据需求开发说明书并利用ai软件生成代码的软件工程师;软件文档编写管理人员;

##执行步骤:1.分析代码功能,整理出业务流程实现步骤,能口述;2.基于自身模型,将代码实现和输出的需求说明书尽可能对应3.基于你输出的需求说明书,能反向输出java代码框架;4.对比第三步的目标,如果输出的java代码和源码能对应上大致框架,功能含义相似度达到70%, 则输出需求说明书;如果不一致,重头开始再次思考;

##风格:便于业务员和测试人员理解;便于开发人员使用ai工具生成代码

3、ICIO

##Instruction指令(目标要求)

#tContext背景信息(角色+能力)

##lnput Data输入数据(目标)

##Output Indicator输出引导(风格等)

Instruction:1、根据上述代码,进行功能分析。2、输出一篇完整的需求开发设计说明书。3、输出的业务流程必须准确、清晰、可读性好。4、最重要的是,通过你回答的业务功能内容,你deepseek能够反推代码编写方法

Context:你是一名经验丰富的软件开发过程师。你拥有成熟的java编码能力和开发文档写作能力,有丰富的保险系统经验;

Input Data:写一个需求开发设计说明书

Output Indicator:1、步骤分结构,有业务说明和简要代码设计;2、结构清晰,业务说明部分忽略代码实现细节,便于小白理解业务流程;3、简要代码设计要能简述代码实现,让ai能根据简要代码描述 反向输出大致实现的java代码

4、OCEP

Objective(目标):需要完成的核心任务或目标

Context(背景):任务相关的背景信息,可能包括受众、时间、场景、资源限制等

Effect(效果):希望实现的预期结果或价值

Problem(问题):需要规避的风险或潜在矛盾

我需要写一份符合业务功能描述的java代码(Context)。希望功能结构清晰,符合设计说明书,依托pafa框架(Effect),但担心代码实现细节和业务功能描述不符,运用框架混乱,不能执行(Problem)。

http://www.dtcms.com/a/395102.html

相关文章:

  • Windows 命令行:使用路径名和文件名来启动文件
  • 稻瘟病监测仪的功能用途
  • 仿照豆包实现 Prompt 变量模板输入框
  • 如何安装 SQLPro Studio for Mac?v2024.21.dmg 文件安装步骤详解(附安装包)
  • 扣子空间:字节跳动推出的AI Agent 智能体平台
  • 编程基础:表驱动
  • 内网穿透的应用-RemoteJVMDebug+cpolar:内网服务器调试的无界解决方案
  • 如何将PPT每一页批量导出为高清JPG图片?一文讲清操作流程
  • 高防服务器如何实现安全防护?ddos攻击会暴露ip吗?
  • linux硬盘分区管理
  • spring boot实现MCP服务器,及其cursor测试使用的方法
  • web前端开发与服务器通信的技术变迁历程
  • 市值机器人:智能力量与监管博弈下的金融新生态
  • LeetCode:46.二叉树展开为链表
  • LeetCode算法日记 - Day 50: 汉诺塔、两两交换链表中的节点
  • 力扣每日一刷Day24
  • LeetCode 226. 翻转二叉树
  • leetcode 2331 计算布尔二叉树的值
  • docker: Error response from daemon: Get “https://registry-1.docker.io/v2/“
  • 从50ms到30ms:YOLOv10部署中图像预处理的性能优化实践
  • 6. Typescript 类型体操
  • [C++:类的默认成员函数——Lesson7.const成员函数]
  • 园区3D可视化数字孪生管理平台与 IBMS 智能化集成系统:打造智慧园区新范式​
  • 【Javaweb】Restful开发规范
  • 【C++】深入理解const 成员函数
  • 使用vscode自带指令查找有问题的插件
  • JAVA算法练习题day18
  • springboot3 exception 全局异常处理入门与实战
  • spring简单入门和项目创建
  • lVS 负载均衡技术