提示词工程是一门在 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模型。
然而,随着企业面临的挑战日益复杂,简单的提示词往往无法满足需求。例如,当我们要求AI “分析我们的市场状况”时,可能得到的只是一些浅显的观察。这种简单提示无法充分利用AI的潜力,也无法应对复杂的商业问题。正是这种局限性推动了更先进提示技巧的发展,如思维链(Chain of Thought,CoT)、思维树(Tree of Thoughts,ToT)和思维图(Graph of Thoughts,GoT)等。这些高级技巧能够引导AI进行更深入的分析、探索多种可能性,并处理复杂的推理任务。在接下来的内容中,我们将深入探讨这些先进的提示词工程技巧,了解它们如何应用于企业决策、创新和战略规划等关键领域。通过掌握这些技巧,企业领导者将能够更有效地利用AI技术,在竞争激烈的商业环境中保持领先地位。我们和AI交互的时候,缺乏背景的了解,为了更好把前因后果告诉它,让它好好干活,就有了提示词的关键要素,有了很多框架。比如去年新加坡提示词工程比赛冠军用到的一个框架。