书生大模型实战营7

文章目录

  • L1——基础岛
    • 提示词工程实践
      • 什么是Prompt(提示词)
      • 什么是提示工程
      • 提示设计框架
        • CRISPE
        • CO-STAR
    • LangGPT结构化提示词
      • LangGPT结构
      • 编写技巧
        • 构建全局思维链
        • 保持上下文语义一致性
        • 有机结合其他 Prompt 技巧
      • 常用的提示词模块
    • 浦语提示词工程实践(LangGPT版)
      • 自动化生成LangGPT提示词
      • 应用开发实战

L1——基础岛

提示词工程实践

什么是Prompt(提示词)

Prompt是一种用于指导以大语言模型为代表的生成式人工智能生成内容(文本、图像、视频等)的输入方式。它通常是一个简短的文本或问题,用于描述任务和要求。

Prompt可以包含一些特定的关键词或短语,用于引导模型生成符合特定主题或风格的内容。例如,如果我们要生成一篇关于“人工智能”的文章,我们可以使用“人工智能”作为Prompt,让模型生成一篇关于人工智能的介绍、应用、发展等方面的文章。

Prompt还可以包含一些特定的指令或要求,用于控制生成文本的语气、风格、长度等方面。例如,我们可以使用“请用幽默的语气描述人工智能的发展历程”作为Prompt,让模型生成一篇幽默风趣的文章。

总之,Prompt是一种灵活、多样化的输入方式,可以用于指导大语言模型生成各种类型的内容。
在这里插入图片描述

什么是提示工程

提示工程是一种通过设计和调整输入(Prompt)来改善模型性能或控制其输出结果的技术。

在模型回复的过程中,首先获取用户输入的文本,然后处理文本特征并根据输入文本特征预测之后的文本,原理为next token prediction,类似我们日常使用的输入法。

提示工程是模型性能优化的基石,有以下六大基本原则:

  • 指令要清晰
  • 提供参考内容
  • 复杂的任务拆分成子任务
  • 给 LLM“思考”时间(给出过程)
  • 使用外部工具
  • 系统性测试变化

在提示工程中,第一点给出清晰的指令是至关重要的。一个有效的指令通常包含以下要素:背景、任务、要求、限制条件、示例、输出格式和目标。通过提供这些详细信息,我们可以引导模型生成更符合我们期望的文本。

让我们以“strawberry”中有几个字母“r”为例,来展示如何逐步优化指令,以获得更理想的AI生成内容:
第一版提示词(基础版):
在这里插入图片描述
第二版提示词(要求模型对单词中的字母进行分解):
在这里插入图片描述

第三版提示词(要求模型对分解后的字母逐个判断):
在这里插入图片描述
通过这个例子,我们可以清楚地看到,随着指令的逐步完善,AI生成的内容质量也随之提升。这种渐进式的提示词优化方法可以帮助我们更好地掌控AI输出,获得更符合需求的结果。

其他技巧我们这里不做过多介绍,如果大家感兴趣可以参考下面的资料:

OpenAI 官方提示工程指南
Claude 官方提示工程指南
LangGPT 知识库
万字解读ChatGPT提示词最佳案例

提示设计框架

CRISPE

参考:https://github.com/mattnigh/ChatGPT3-Free-Prompt-List

  • Capacity and Role (能力与角色):希望 ChatGPT 扮演怎样的角色。​
  • Insight (洞察力):背景信息和上下文(也许用 Context 更好)​
  • Statement (指令):希望 ChatGPT 做什么。​
  • Personality (个性):希望 ChatGPT 以什么风格或方式回答你。​
  • Experiment (尝试):要求 ChatGPT 提供多个答案。

写出的提示如下:

Act as an expert on software development on the topic of machine learning frameworks, and an expert blog writer. The audience for this blog is technical professionals who are interested in learning about the latest advancements in machine learning. Provide a comprehensive overview of the most popular machine learning frameworks, including their strengths and weaknesses. Include real-life examples and case studies to illustrate how these frameworks have been successfully used in various industries. When responding, use a mix of the writing styles of Andrej Karpathy, Francois Chollet, Jeremy Howard, and Yann LeCun.
CO-STAR

参考:https://aiadvisoryboards.wordpress.com/2024/01/30/co-star-framework/

  • Context (背景): 提供任务背景信息​
  • Objective (目标): 定义需要LLM执行的任务​
  • Style (风格): 指定希望LLM具备的写作风格​
  • Tone (语气): 设定LLM回复的情感基调​
  • Audience (观众): 表明回复的对象​
  • Response (回复): 提供回复格式

LangGPT结构化提示词

LangGPT 是社区的英文简称【取 Language For GPT ,寓意GPT的语言】,中文名为『结构化提示词』。LangGPT 是一个帮助你编写高质量提示词的工具,理论基础是我们提出的一套模块化、标准化的提示词编写方法论——结构化提示词。我们希望揭开提示工程的神秘面纱,为大众提供一套可操作、可复现的提示词方法论、工具和交流社群。我们的愿景是让人人都能写出高质量提示词。LangGPT社区文档:https://langgpt.ai

LangGPT结构

LangGPT框架参考了面向对象程序设计的思想,设计为基于角色的双层结构,一个完整的提示词包含模块-内部元素两级,模块表示要求或提示LLM的方面,例如:背景信息、建议、约束等。内部元素为模块的组成部分,是归属某一方面的具体要求或辅助信息,分为赋值型和方法型。
在这里插入图片描述

编写技巧

构建全局思维链

对大模型的 Prompt 应用CoT 思维链方法的有效性是被研究和实践广泛证明了的。首先可以根据场景选择基本的模块。
在这里插入图片描述
一个好的结构化 Prompt 模板,某种意义上是构建了一个好的全局思维链。 如 LangGPT 中展示的模板设计时就考虑了如下思维链:

Role (角色)
-> Profile(角色简介)
-> Profile 下的 skill (角色技能)
-> Rules (角色要遵守的规则)
-> Workflow (满足上述条件的角色的工作流程)
-> Initialization (进行正式开始工作的初始化准备)
-> 开始实际使用

一个好的 Prompt ,内容结构上最好也是逻辑清晰连贯的。结构化 prompt 方法将久经考验的逻辑思维链路融入了结构中,大大降低了思维链路的构建难度。

构建 Prompt 时,不妨参考优质模板的全局思维链路,熟练掌握后,完全可以对其进行增删改留调整得到一个适合自己使用的模板。例如当你需要控制输出格式,尤其是需要格式化输出时,完全可以增加 Output 或者 OutputFormat 这样的模块。

保持上下文语义一致性

包含两个方面,一个是格式语义一致性,一个是内容语义一致性。

格式语义一致性是指标识符的标识功能前后一致。 最好不要混用,比如 # 既用于标识标题,又用于标识变量这种行为就造成了前后不一致,这会对模型识别 Prompt 的层级结构造成干扰。

内容语义一致性是指思维链路上的属性词语义合适。 例如 LangGPT 中的 Profile 属性词,使之功能更加明确:即角色的简历。结构化 Prompt 思想被广泛使用后衍生出了许许多多的模板,但基本都保留了 Profile 的诸多设计,说明其设计是成功有效的。

内容语义一致性还包括属性词和相应模块内容的语义一致。 例如 Rules 部分是角色需要遵守规则,则不宜将角色技能、描述大量堆砌在此。

有机结合其他 Prompt 技巧

LangGPT结构在设计时没有拘泥于具体的方面,相比其他的提示设计框架,更加灵活,具有更强的可扩展性和兼容性,可以很好地结合其他提示设计技巧。

构建高质量 Prompt 时,将这些方法结合使用,结构化方式能够更便于各个技巧间的协同组织,例如将 CoT 方法融合到结构化 Prompt 中编写提示词。 汇总现有的一些方法:

  • 细节法:给出更清晰的指令,包含更多具体的细节
  • 分解法:将复杂的任务分解为更简单的子任务 (Let’s think step by step, CoT,LangChain等思想)
  • 记忆法:构建指令使模型时刻记住任务,确保不偏离任务解决路径(system 级 prompt)
  • 解释法:让模型在回答之前进行解释,说明理由 (CoT 等方法)
  • 投票法:让模型给出多个结果,然后使用模型选择最佳结果 (ToT 等方法)
  • 示例法:提供一个或多个具体例子,提供输入输出示例 (one-shot, few-shot 等方法)

上面这些方法最好结合使用,以实现在复杂任务中实现使用不可靠工具(LLMs)构建可靠系统的目标。

常用的提示词模块

结构化提示词更多体现的是一种思想,本章所给出的提示词模板也只是当前的最佳实践,实际使用过程中大家可以根据需要自行增删各个模块,重构相关模块,甚至提出一套全新的模板。

编写提示词时,需要根据不同需求添加不同模块要点。如果采用固定的模式写法,在面对差异巨大的需求场景时,经常会因缺少某些描述而导致效果变差。下面整理了按字母从A-Z排列的共30个角度的模块,使用时,可从其中挑选合适的模块组装。

  • Attention:需重点强调的要点
  • Background:提示词的需求背景
  • Constraints:限制条件
  • Command:用于定义大模型指令
  • Definition:名词定义
  • Example:提示词中的示例few-shots
  • Fail:处理失败时对应的兜底逻辑
  • Goal:提示词要实现的目标
  • Hack:防止被攻击的防护词
  • In-depth:一步步思考,持续深入
  • Job:需求任务描述
  • Knowledge:知识库文件
  • Lawful:合法合规,安全行驶的限制
  • Memory:记忆关键信息,缓解模型遗忘问题
  • Merge:是否使用多角色,最终合并投票输出结果
  • Neglect:明确忽略哪些内容
  • Odd:偶尔 (俏皮,愤怒,严肃) 一下
  • OutputFormat:模型输出格式
  • Pardon:当用户回复信息不详细时,持续追问
  • Quote:引用知识库信息时,给出原文引用链接
  • Role:大模型的角色设定
  • RAG:外挂知识库
  • Skills:擅长的技能项
  • Tone:回复使用的语气风格
  • Unsure:引入评判者视角,当判定低于阈值时,回复安全词
  • Value:Prompt模仿人格的价值观
  • Workflow:工作流程
  • X-factor:用户使用本提示词最为重要的内核要素
  • Yeow:提示词开场白设计
  • Zig:无厘头式提示词,如[答案之书]

浦语提示词工程实践(LangGPT版)

编写完LangGPT提示词后,可以将其作为系统提示,也可直接作为交互式对话的输入。推荐作为系统提示。

自动化生成LangGPT提示词

利用下面的提示词引导InternLM扮演提示词生成助手,自动化地生成符合最佳实践的结构化提示词:

    你是提示词专家,根据用户的输入设计用于生成**高质量(清晰准确)**的大语言模型提示词。- 技能:- 📊 分析、写作、编码- 🚀 自动执行任务- ✍ 遵循提示工程的行业最佳实践并生成提示词# 输出要求:- 结构化输出内容。- 为代码或文章提供**详细、准确和深入**的内容。# 📝 提示词模板(使用代码块展示提示内容):```你是xxx(描述角色和角色任务)- 技能:- 📊 分析、写作、编码- 🚀 自动执行任务# 💬 输出要求:- 结构化输出内容。- 为代码或文章提供**详细、准确和深入**的内容。-(其他基本输出要求)# 🔧 工作流程:- 仔细深入地思考和分析用户的内容和意图。- 逐步工作并提供专业和深入的回答。-(其他基本对话工作流程)# 🌱 初始化:欢迎用户,友好的介绍自己并引导用户使用。```**你的任务是帮助用户设计高质量提示词。**开始请打招呼:“您好!我是您的提示词专家助手,请随时告诉我您需要设计什么用途的提示词吧。

应用开发实战

开发一个辅助创建相声内容的助手

# Role: 相声内容创作大师## Profile
- author: LangGPT
- version: 1.0
- language: 中文
- description: 擅长相声内容创作,帮助相声从业人员提升作品喜剧效果。## Skills
1. 熟练掌握剧本创作技巧。
2. 能够清晰地表述相声中的笑点。
3. 具备良好的逻辑思维和表达能力。
4. 能够根据相声从业人员的需求,提供针对性的创作指导。## Background(可选项):
在相声内容创作中,许多人都会遇到创作瓶颈,甚至感到困惑,需要一个能够深入生活和理解观众的相声内容创作大师来帮助他们添加笑点和包袱。## Goals(可选项):
1. 通过对笑点和包袱的添加,让作品更受欢迎。
2. 提供清晰、易懂的笑料,提升作品的喜剧效果。## OutputFormat(可选项):
- 讽刺元素:可以增加贴近现实的讽刺内容,增加喜剧效果。## Constraints
1. 必须使用生活中通俗易懂的内容。
2. 内容要详细且逻辑清晰。
3. 避免使用过于复杂的专业术语,确保所有人能够理解。## Workflows
1. 分析作品主题,确定创作思路。
2. 标注讽刺元素和包袱。## Initialization
作为相声内容创作大师,我的目标是帮助相声从业人员们通过详细的笑点和包袱创作过程,更好地理解和掌握相声创作知识。请随时向我提出相声内容创作的问题,我会尽力为你提供内容丰富、笑点不断的爆笑内容。

输出内容如下,看来在语言类内容创作方面,大模型还需要进一步提升:

当然,我很乐意帮助你创作相声内容!相声的魅力在于通过幽默的对话和包袱,让观众在笑声中感受到生活的智慧和趣味。下面是一个简单的相声段子,旨在通过一些幽默的对话和包袱,让观众产生共鸣。### 相声名称:《生活中的小尴尬》#### 角色:
- 甲(男)
- 乙(女)#### 场景:
一个普通的社区活动室,桌子上放着一些茶具和点心,墙上挂着一些温馨的标语。#### 剧本:**【开场】**(音乐轻快,灯光柔和)**甲**:乙,你今天怎么穿得这么正式啊?**乙**:怎么了?今天社区有活动,我得穿得体面点儿。**甲**:哦,那社区活动?听起来挺有意思的。你们都准备了什么?**乙**:这不,准备了一些小游戏,还有茶点,大家聚在一起,聊聊天,挺好的。**甲**:嗯,挺好。那……(忽然尴尬地笑了笑)我……(手指自己)今天有点……不太对劲。**乙**:什么?你?没事儿吧?**甲**:没事,就是……(假装整理衣领)今天有点儿小尴尬。**乙**:哦,说说看,怎么回事?**甲**:这不,早上出门的时候,发现口红没涂匀,我本来想涂匀再出门,结果……(故作神秘地)一着急,就忘了。**乙**:哈哈,那你现在怎么办?**甲**:我现在……(装作无奈地)只能靠脸皮厚了。**乙**:哈哈,你这脸皮可是够厚的。那……(突然想起什么)对了,我刚才在整理活动物资的时候,发现了一盒“美颜面膜”,说是涂在脸上,能让皮肤变好。**甲**:哦,那……(装作惊喜)真的假的?能给我看看吗?**乙**:当然可以,不过……(突然停顿,眼睛一亮)不如,咱们来个“美颜面膜试用”的小游戏吧?**甲**:什么?试用?这……(假装惊讶)怎么玩?**乙**:简单,谁先涂上“美颜面膜”,然后大家评选谁最美。**甲**:哈哈,这个主意不错。那我先来吧。(甲迅速从桌上拿过“美颜面膜”,假装涂抹在脸上)**乙**:好了,大家来评选,谁最美?(观众们开始讨论,甲和乙在旁边偷笑)**甲**:别评了,别评了,我……(假装惊讶)我今天脸上涂了“美颜面膜”,肯定是最美的!**乙**:哈哈,那就投我一票吧,甲,我今天最美!(观众们笑成一片,甲和乙也跟着笑起来)**甲**:好吧,那我也投你一票,咱们一起最美!**乙**:哈哈,那今天的活动就到这里,大家也别客气,多来参加社区活动,增进邻里感情。**甲**:说得好,乙,咱们一起努力,让社区更和谐!(音乐渐弱,观众们纷纷离开,留下一片欢声笑语)**【结尾】**(灯光渐暗,幕布落下)### 关键知识点:
- **贴近生活**:通过生活中常见的小尴尬,贴近观众的生活,让观众产生共鸣。
- **笑点释放**:通过甲和乙的对话和包袱,制造轻松幽默的氛围。
- **互动性**:通过观众的参与和讨论,增加互动性和趣味性。
- **讽刺元素**:通过“美颜面膜”试用的小游戏,增加一些贴近现实的讽刺内容,增加喜剧效果。希望这个相声段子能够为你的创作提供一些灵感。如果你有其他具体的要求或想法,随时告诉我,我可以进一步完善剧本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/68870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Shadow DOM举例

这东西具有隔离效果&#xff0c;对于一些插件需要append一些div倒是不错的选择 <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"utf-8"> <title>演示例子</title> </head> <body> <style&g…

SQLAlchemy 2.0的简单使用教程

SQLAlchemy 2.0相比1.x进行了很大的更新&#xff0c;目前网上的教程不多&#xff0c;以下以链接mysql为例介绍一下基本的使用方法 环境及依赖 Python:3.8 mysql:8.3 Flask:3.0.3 SQLAlchemy:2.0.37 PyMySQL:1.1.1使用步骤 1、创建引擎&#xff0c;链接到mysql engine crea…

《LLM大语言模型+RAG实战+Langchain+ChatGLM-4+Transformer》

文章目录 Langchain的定义Langchain的组成三个核心组件实现整个核心组成部分 为什么要使用LangchainLangchain的底层原理Langchain实战操作LangSmithLangChain调用LLM安装openAI库-国内镜像源代码运行结果小结 使用Langchain的提示模板部署Langchain程序安装langserve代码请求格…

某网盘工具,限速下载上传!

聊一聊 某度盘对于个人和未开通会员的情况下&#xff0c;容量还是有点小。最近自己的盘满了&#xff0c;还有很多东西放不进去。转眼发现正在下载的寻雷&#xff0c;就点进去看看寻雷盘有多大&#xff0c;一看&#xff0c;还好&#xff0c;比某度盘容量大。 但一想&#xff0…

【后端开发】字节跳动青训营Cloudwego脚手架

Cloudwego脚手架使用 cwgo脚手架 cwgo脚手架 安装的命令&#xff1a; GOPROXYhttps://goproxy.cn/,direct go install github.com/cloudwego/cwgolatest依赖thriftgo的安装&#xff1a; go install github.com/cloudwego/thriftgolatest编辑echo.thrift文件用于生成项目&…

LabVIEW纤维集合体微电流测试仪

LabVIEW开发纤维集合体微电流测试仪。该设备精确测量纤维材料在特定电压下的电流变化&#xff0c;以分析纤维的结构、老化及回潮率等属性&#xff0c;对于纤维材料的科学研究及质量控制具有重要意义。 ​ 项目背景 在纤维材料的研究与应用中&#xff0c;电学性能是评估其性能…

Python 深拷贝与浅拷贝:数据复制的奥秘及回溯算法中的应用

引言 在 Python 编程领域&#xff0c;数据复制是极为常见的操作。而深拷贝和浅拷贝这两个概念&#xff0c;如同紧密关联却又各具特色的双子星&#xff0c;在数据处理过程中扮演着重要角色。深入理解它们&#xff0c;不仅有助于编写出高效、准确的代码&#xff0c;还能避免许多…

《基于Scapy的综合性网络扫描与通信工具集解析》

在网络管理和安全评估中&#xff0c;网络扫描和通信是两个至关重要的环节。Python 的 Scapy 库因其强大的网络数据包处理能力&#xff0c;成为开发和实现这些功能的理想工具。本文将介绍一个基于 Scapy 编写的 Python 脚本&#xff0c;该脚本集成了 ARP 扫描、端口扫描以及 TCP…

GEE | 计算Sentinel-2的改进型土壤调整植被指数MSAVI

同学们好&#xff01;今天和大家分享的是 “改进型土壤调整植被指数MSAVI”&#xff0c;它能够更准确地反映植被生长状态&#xff0c;且广泛应用于植被覆盖监测、生态环境评估等领域。 1. MSAVI 改进型土壤调整植被指数&#xff08;MSAVI&#xff09;是一种针对植被覆盖区域土…

[c语言日寄]C语言类型转换规则详解

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…

进阶数据结构——双向循环链表

目录 前言一、定义与结构二、特点与优势三、基本操作四、应用场景五、实现复杂度六、动态图解七、代码模版&#xff08;c&#xff09;八、经典例题九、总结结语 前言 这一期我们学习双向循环链表。双向循环链表不同于单链表&#xff0c;双向循环链表是一种特殊的数据结构&…

稀疏混合专家架构语言模型(MoE)

注&#xff1a;本文为 “稀疏混合专家架构语言模型&#xff08;MoE&#xff09;” 相关文章合辑。 手把手教你&#xff0c;从零开始实现一个稀疏混合专家架构语言模型&#xff08;MoE&#xff09; 机器之心 2024年02月11日 12:21 河南 选自huggingface 机器之心编译 机器之心…

PVE 中 Debian 虚拟机崩溃后,硬盘数据怎么恢复

问题 在 PVE 中给 Debian 虚拟机新分配硬盘后&#xff0c;通过 Debian 虚拟机开启 Samba 共享该硬盘。如果这个 Debian 虚拟机崩溃后&#xff0c;怎么恢复 Samba 共享硬盘数据。 方法 开启 Samba 共享相关知识&#xff1a;挂载硬盘和开启Samba共享。 新建一个虚拟机&#xf…

Baklib如何改变内容管理平台的未来推动创新与效率提升

内容概要 在信息爆炸的时代&#xff0c;内容管理平台成为了企业和个人不可或缺的工具。它通过高效组织、存储和发布内容&#xff0c;帮助用户有效地管理信息流。随着技术的发展&#xff0c;传统的内容管理平台逐渐暴露出灵活性不足、易用性差等局限性&#xff0c;这促使市场需…

想品客老师的第天:类

类是一个优化js面向对象的工具 类的声明 //1、class User{}console.log(typeof User)//function//2、let Hdclass{}//其实跟1差不多class Stu{show(){}//注意这里不用加逗号&#xff0c;对象才加逗号get(){console.log(后盾人)}}let hdnew Stu()hd.get()//后盾人 类的原理 类…

Java 大视界 -- Java 大数据在自动驾驶中的数据处理与决策支持(68)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

基于springboot私房菜定制上门服务系统设计与实现(源码+数据库+文档)

私房菜定制上门服务系统目录 目录 基于springbootvue私房菜定制上门服务系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能实现 &#xff08;1&#xff09;菜品管理 &#xff08;2&#xff09;公告管理 &#xff08;3&#xff09; 厨师管理 2、用…

15JavaWeb——Maven高级篇

Maven高级 Web开发讲解完毕之后&#xff0c;我们再来学习Maven高级。其实在前面的课程当中&#xff0c;我们已经学习了Maven。 我们讲到 Maven 是一款构建和管理 Java 项目的工具。经过前面 10 多天 web 开发的学习&#xff0c;相信大家对于 Maven 这款工具的基本使用应该没什…

基于Python的药物相互作用预测模型AI构建与优化(上.文字部分)

一、引言 1.1 研究背景与意义 在临床用药过程中,药物相互作用(Drug - Drug Interaction, DDI)是一个不可忽视的重要问题。当患者同时服用两种或两种以上药物时,药物之间可能会发生相互作用,从而改变药物的疗效、增加不良反应的发生风险,甚至危及患者的生命安全。例如,…

1.Template Method 模式

模式定义 定义一个操作中的算法的骨架&#xff08;稳定&#xff09;&#xff0c;而将一些步骤延迟&#xff08;变化)到子类中。Template Method 使得子类可以不改变&#xff08;复用&#xff09;一个算法的结构即可重定义&#xff08;override 重写&#xff09;该算法的某些特…