提示词工程师(Prompt Engineer)是在与人工智能模型交互时,负责设计和优化提示的专业人员。他们的目标是通过精心构造的提示,引导模型产生准确、有用和相关的回答。
主要职责包括:
提示词工程师需要具备以下技能和知识:
以下是一些提示词工程师工作的实际案例: 无需微调,仅用提示词工程就能让 LLM 获得 tool calling 的功能。其实现原理主要有两部分代码组成:提示词注入和工具结果回传。提示词注入用于将工具信息以及使用工具的提示词添加到系统提示中。工具结果回传则是解析 tool calling 的输出,并将工具返回的内容再次嵌入 LLM。
在生成式 AI 模型中,提示词工程是一门新兴的学科,它塑造了模型的交互和输出。提示词是用户与模型沟通愿望的文本界面,可从简单问题到复杂任务,包括指令、问题、输入数据和示例等。提示词工程的核心在于制作出能实现特定目标的最佳提示词,这不仅要指导模型,还需深刻理解模型能力和局限性及所处上下文。此外,提示词工程是一个迭代和探索的过程,类似于传统软件工程实践,且需要适应新范式。本文旨在深入探讨这个新兴领域,重点关注其在 LLM 中的应用,且多数技术也适用于多模态生成式 AI 模型。
提示词工程师(Prompt Engineer)是指在与人工智能模型进行交互时,负责设计和优化提示的专业人员。他们的目标是通过精心构造的提示,引导模型产生准确、有用和相关的回答。作为提示词工程师,他们需要具备一定的领域知识、理解人工智能模型的能力以及对用户需求的敏感性。提示词工程师的主要职责包括:设计提示:提示词工程师需要根据用户需求和模型能力设计有效的提示。他们需要考虑提示的长度、结构、措辞和信息量等因素,以确保提示能够清晰地传达用户意图并引导模型生成满意的结果。优化提示:提示词工程师需要不断优化提示,以提高模型的性能。他们可以通过收集用户反馈、分析模型结果和实验不同的提示策略等方式来优化提示。评估提示:提示词工程师需要评估提示的有效性。他们可以使用各种指标来评估提示,例如模型的准确率、流畅度和相关性等。提示词工程师需要具备以下技能和知识:领域知识:提示词工程师需要对他们所工作的领域有深入的了解,以便能够设计出有效的提示。自然语言处理(NLP):提示词工程师需要了解NLP的基本原理和技术,以便能够理解和生成自然语言文本。人工智能(AI):提示词工程师需要了解AI的基本原理和技术,以便能够理解和使用AI模型。沟通能力:提示词工程师需要具备良好的沟通能力,以便能够与用户、团队成员和其他利益相关者有效沟通。提示词工程师是一个新兴的职业,随着人工智能技术的不断发展,对提示词工程师的需求将会越来越大。以下是一些提示词工程师工作的实际案例:
本文采用的提示词工程主要有两部分代码组成:提示词注入和工具结果回传。提示词注入用于将工具信息以及使用工具的提示词添加到系统提示中。工具结果回传则是解析tool calling的输出,并将工具返回的内容再次嵌入LLM。[heading2]1、提示词注入阶段[content]INSTRUCTION为最后注入到系统提示中的字符串,他又包含了TOOL_EAXMPLE、tools_instructions、REUTRN_FORMAT三个部分。TOOL_EAXMPLE用于提示LLM如何理解tool以及如何使用tool。在编写TOOL_EAXMPLE时,请注意用一些无关紧要的工具作为示例,例如本文使用的将数字加一和数字减一的工具,从而避免LLM混淆真正可以使用的工具与示例工具。tools_instructions是由目前通用的工具字典转换成LLM可读的工具列表。实际使用LLM时,可以通过输入不同的工具来动态调整tools_instructions,让LLM得知目前可用的工具有哪些以及如何使用。REUTRN_FORMAT定义了调用API的格式。[heading2]2、工具结果回传阶段[content]利用正则表达式抓取输出中的"tool"和"parameters"参数。对于interpreter工具,使用了另一种正则表达式来提取LLM输出的代码,提高LLM使用interpreter工具的成功率。本文使用代码如下:通过识别LLM返回的调用工具的字典,提取出对应的值,再传入相应的工具函数,最后将工具返回的结果以observation的角色返回给LLM。对于一些不接受observation、tool、function角色的LLM接口,可以改为回传给user角色,例如:通过以上提示词工程,可以避免微调,让完全没有tool calling能力的LLM获得稳定的tool calling能力。
在生成式AI模型中,提示词工程是一门新兴的学科,它塑造了这些模型的交互和输出。提示词是用户与模型沟通愿望的文本界面,无论是在像DALLE-3或Midjourney这样的图像生成模型中描述图像,还是在像GPT-4和Gemini这样的LLM中提出复杂的问题。提示词可以是简单的问题到复杂的任务,包括指令、问题、输入数据和示例,以指导AI的响应。提示词工程的核心在于制作出能够实现特定目标的最佳提示词。这个过程不仅仅是指导模型,还涉及到对模型能力和局限性的深刻理解,以及它所处的上下文。例如,在图像生成模型中,提示词可能是对期望图像的详细描述,而在LLM中,它可能是一个包含各种类型数据的复杂查询。提示词工程不仅仅是构建提示词,它还需要结合领域知识、对AI模型的理解,以及一种系统化的方法来为不同情境定制提示词。这可能包括创建可以根据给定数据集或上下文进行程序化修改的模板。例如,基于用户数据生成个性化响应可能会使用一个动态填充相关信息的模板。此外,提示词工程是一个迭代和探索的过程,类似于传统软件工程实践,如版本控制和回归测试。这个领域的快速增长表明它有潜力彻底改变机器学习的某些方面,超越传统的特征或架构工程方法,尤其是在大型神经网络的背景下。另一方面,传统工程实践,如版本控制和回归测试,需要适应这个新范式,就像它们适应其他机器学习方法一样[1]。本文旨在深入探讨这个新兴领域,探索其基础方面和高级应用。我们将重点关注提示词工程在LLM中的应用。然而,大多数技术也可以应用于多模态生成式AI模型。