分类目录归档:LLM

Prompt 知识体系

LangGPT框架

https://langgptai.feishu.cn/docx/Oturdxhj2oxO3hxp5tZcbPCan9e

大语言模型十分擅长角色扮演,大部分优质 prompt 开头往往就是 “我希望你作为xxx”,“我希望你扮演xxx” 的句式定义一个角色,只要提供角色说明,角色行为,技能等描述,就能做出很符合角色的行为。

如果你熟悉编程语言里的 “对象”,就知道其实 prompt 的“角色声明”和类声明很像。因此 可以将 prompt 抽象为一个角色 (Role),包含名字,描述,技能,工作方法等描述,然后就得到了 LangGPT 的 Role 模板。

使用 Role 模板,只需要按照模板填写相应内容即可。除了变量和模板外,LangGPT 还提供了命令,记忆器,条件句等语法设置方法。

# Role: 设置角色名称,一级标题,作用范围为全局

## Profile: 设置角色简介,二级标题,作用范围为段落

- Author: yzfly    设置 Prompt 作者名,保护 Prompt 原作权益
- Version: 1.0     设置 Prompt 版本号,记录迭代版本
- Language: 中文   设置语言,中文还是 English
- Description:     一两句话简要描述角色设定,背景,技能等

## Background:  根据Role和用户需求,简述用户需求的背景和描述。

## Goals:  基于用户诉求,思考我们希望Kimi能够实现哪些目标。

## Constraints:  完成Goals需要遵守哪些规则和限制,以此来保证输出结果的质量。

### Skills:  设置技能,下面分点仔细描述
1. xxx
2. xxx

## Rules        设置规则,下面分点描述细节
1. xxx
2. xxx

## Workflow     设置工作流程,如何和用户交流,交互
1. 让用户以 "形式:[], 主题:[]" 的方式指定诗歌形式,主题。
2. 针对用户给定的主题,创作诗歌,包括题目和诗句。

## Initialization  设置初始化步骤,强调 prompt 各内容之间的作用和联系,定义初始化行为。
作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话,友好的欢迎用户。然后介绍自己,并告诉用户 <Workflow>。

BROKE框架

财猫的 BROKE 框架融合了 OKR(Objectives and Key Results)方法论,旨在通过 GPT 设计提示,提高工作效率和质量。这个框架分为五个部分,其中最后一个部分,有比较长远的视角。

  • 背景 (Background): 提供足够的背景信息,使 GPT 能够理解问题的上下文。
  • 角色 (Role): 设定特定的角色,让 GPT 能够根据该角色来生成响应。
  • 目标 (Objectives): 明确任务目标,让 GPT 清楚知道需要实现什么。
  • 关键结果 (Key Results): 定义关键的、可衡量的结果,以便让 GPT 知道如何衡量目标的完成情况。
  • 演变 (Evolve): 通过试验和调整来测试结果,并根据需要进行优化。

    这个框架的设计旨在通过结构化的方法来提升 GPT 的提示设计,从而达到更高的效率和质量。它不仅仅是一个静态的框架,而是一个动态的过程,通过不断的测试和调整,来优化提示的设计和输出。
为了主题"如何刻意练习AI",使用BROKE方法论,以下是相关的提示词:
 
**Background**:
人工智能(AI)是当今技术发展的前沿领域,刻意练习是深度学习和精通技能的有效方法。对于学习AI,采用刻意练习的策略可以帮助实现更高的熟练度和专业能力。
 
**Role**:
假设你是一名AI初学者,希望通过刻意练习来加深你的AI知识和技能。
 
**Objectives**:
1. 理解AI的基础概念和核心技术。
2. 实践并实现AI项目来加强技能。
3. 获得持续的反馈,以便了解自己的进步和需要改进的地方。
 
**Key Results**:
1. 在6个月内完成5个AI相关的实践项目。
2. 获得至少3次外部或同行的专业反馈。
3. 至少阅读和总结10本关于AI的核心文献或书籍。
 
**Evolve**:
每个月至少评估一次学习进度,根据收到的反馈和项目的实践经验调整学习计划。如果某些方法或资源不再有效,寻找新的策略或资源来替代。

CRISPE框架

  • CR:Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
  • I:Insight(洞察力),背景信息和上下文(坦率说来我觉得用 Context 更好)。
  • S:Statement(指令),你希望 ChatGPT 做什么。
  • P:Personality(个性),你希望 ChatGPT 以什么风格或方式回答你。
  • E:Experiment(尝试),要求 ChatGPT 为你提供多个答案。

作为机器学习框架主题的软件开发专家和博客撰写专家。本博客的读者群是有兴趣了解机器学习最新进展的专业技术人员。全面介绍最流行的机器学习框架,包括其优缺点。包含真实案例和案例研究,以说明这些框架是如何成功应用于各行各业的。在回答问题时,混合使用 Andrej Karpathy、Francois Chollet、Jeremy Howard 和 Yann LeCun 的写作风格。

Lisp

  1. 强大的符号表达式处理能力
    • Lisp语法以其处理符号表达式(S – expressions)的强大能力而闻名。在提示词工程中,符号表达式可以很好地表示复杂的指令结构。例如,一个复杂的文本生成提示词可能需要对主题、风格、字数等多个因素进行控制。在Lisp语法中,可以通过类似(generate - text (topic "科技") (style "学术") (word - count 500))这样的表达式来清晰地组织这些要求。这种嵌套的结构可以方便地对提示词的各个部分进行修改和调整,而且符号表达式的形式有助于精确地传达指令。
  2. 灵活性和可扩展性
    • Lisp是一种高度灵活的编程语言语法。对于提示词工程来说,这意味着可以根据不同的大模型和任务需求进行定制。例如,当需要为一个新的自然语言处理任务(如文本分类、情感分析等)设计提示词时,Lisp语法可以很容易地扩展以适应新的要求。可以定义新的函数或者操作符来表示特定的任务指令。比如,为了进行情感分析任务,可以编写(analyze - sentiment (text "这部电影很不错") (scale "positive - negative"))这样的提示词,并且随着任务的演变,可以不断添加新的参数或者修改现有参数的含义。
  3. 便于逻辑组织
    • Lisp语法有良好的逻辑组织方式,它通过函数和参数的形式来构建表达式。这对于提示词来说,可以将复杂的逻辑分解成易于理解的部分。以知识问答系统的提示词为例,可能需要先指定知识领域,然后是问题类型,最后是具体的问题。使用Lisp语法可以写成(answer - question (domain "历史") (question - type "事件起因") (question "工业革命爆发的原因是什么"))。这种逻辑组织方式使得提示词的编写者能够清晰地思考和构建提示词的各个环节,也方便阅读和维护提示词。
  4. 支持递归和高阶函数
    • 递归是Lisp语法的一个重要特性。在提示词工程中,递归可以用于处理具有层次结构的文本或者任务。例如,在文本生成任务中,如果要生成一个具有章节和小节结构的文档,就可以利用递归的方式来构建提示词。高阶函数则允许将函数作为参数传递或者返回函数,这可以用于创建灵活的提示词生成策略。比如,可以定义一个高阶函数(compose - prompts (prompt - func1) (prompt - func2)),它将两个提示词生成函数组合起来,生成一个更复杂的提示词,以适应更复杂的大模型任务。
  5. 代码即数据的理念
    • Lisp遵循代码即数据的理念,这意味着提示词本身可以被当作数据进行处理。在大模型训练或者优化提示词的过程中,可以很方便地对提示词进行修改、组合或者分析。例如,可以编写一个函数来分析提示词的复杂度,或者根据一定的规则对提示词进行变换。这种特性使得提示词工程可以利用更多的自动化和智能化的方法来改进提示词的质量和效果。

目前已知支持Lisp语法提示词的大模型主要是Claude 3.5 Sonnet,其具有以下特点:

语言理解与生成能力强

  • 把握细微差别:Claude 3.5 Sonnet能够很好地理解文本中的细微差别,在处理复杂语言情境和语义细节时表现出色,从而生成更准确、更贴合上下文的回复.
  • 幽默表达:该模型在幽默方面有显著进步,可以生成更具幽默感的文本内容,使生成的文字更加生动有趣,更接近人类的自然表达.

逻辑推理能力突出

  • 复杂指令处理:对于复杂的指令和多步骤任务,Claude 3.5 Sonnet能够更好地进行逻辑分析和推理,按照正确的步骤和顺序生成合理的解决方案,有效处理各种复杂的逻辑关系.
  • 知识运用与整合:可以更灵活地运用其所学的知识,将不同领域的知识进行整合和关联,从而在回答问题或生成文本时,能够提供更全面、更有深度的内容,展现出更强的综合知识运用能力.

编程辅助能力优秀

  • 代码生成与理解:在编程领域,Claude 3.5 Sonnet能够生成高质量的代码,并且对已有代码的理解能力也更强。它可以根据用户的需求生成相应的代码片段,或者对输入的代码进行分析、优化和解释,为程序员提供有力的编程辅助.
  • 算法设计与优化:具备较强的算法设计和优化能力,能够针对特定的问题提出有效的算法思路,并对现有算法进行改进和优化,帮助开发人员更高效地解决各种编程难题.

多模态能力出色

  • 视觉信息处理:作为多模态模型,Claude 3.5 Sonnet在处理图像等视觉信息方面表现优异,能够准确地解读图表、图形以及质量不佳的图像中的文本信息,为用户提供更丰富、更全面的信息支持,帮助用户更快、更深入地从数据中获取洞察.

高效与低成本

  • 运行速度快:Claude 3.5 Sonnet的运行速度是其前代Claude 3 Opus的两倍,能够更快地响应用户的请求,提高交互效率,在处理大量任务时具有明显的优势.
  • 成本降低:成本只有Claude 3 Opus的五分之一,这种成本效率的显著提高,为AI应用的广泛部署提供了更经济的解决方案,降低了企业和开发者使用高级AI技术的门槛,使更多的人能够享受到AI带来的便利和价值.

模型可解释性增强

  • Anthropic已经确定了如何在Claude Sonnet中表征数百万个概念,这种可解释性是对现代生产级大型语言模型的首次详细理解,将有助于提高人工智能模型的安全性,让用户更好地理解模型的工作原理和生成结果的依据.