从提示设计到智能体流程
第 1 阶段 – 提示设计(Prompt Engineering)
在开发新的大语言模型应用原型时,通常首先构建一个围绕特定提示的简单应用。我们利用 API 调用这个简单提示,并将结果返回给用户。这是一种基础实践,帮助我们评估对用户的价值。然而,这一阶段容易被竞争对手复制。
第 2 阶段 – 提示架构(Prompt Architecture)
例如,思维链(Chain of Thought)、自洽提示(Self-consistency prompting)、退后提示(Step-back prompting)和验证链(Chain of Verification)等,是一些先进的提示技术。这些技术需要多步骤的执行。其核心理念是接收用户请求,并通过一系列的推理过程进行处理。
第 3 阶段 – 知识管理平台(Knowledge Management Platform)
此阶段,我们引入了 RAG(Retrieval-Augmented Generation,检索增强生成)、记忆和知识库。我们的应用通过提供外部信息或实时信息并能够记忆之前的交互,从而得到增强。这可以被视作是一个具备状态记忆的大语言模型应用,但其实远不止于此。通过为知识库创建和整理内容,我们为用户提供了更高层次的价值,并为竞争者设置了进入障碍。
第 4 阶段 – 智能体流程(Agent Pipeline)
大语言模型智能体是一个系统,它通过推理来决定执行哪些操作和使用哪些工具来完成当前的任务。这与基于角色的提示设计(例如:“你是律师,请回答这个问题 – ”)相比,智能体拥有更大的差异。从我的观察来看,为了解决一个任务,我们通常需要构建多个智能体,并将它们按照处理流程进行组织。这种流程可以类比为带有中间件的 Web 请求处理流程。
应用案例
以构建一个“与 txt 文件对话”的应用为例,其阶段包括:
-
“这里有一个文档:{DOCUMENT}。请回答用户的问题 – {QUESTION}”
-
“这里有一个文档:{DOCUMENT}。{STEPBACK_CONTEXT}请回答用户的问题 – {QUESTION}”,其中 STEPBACK_CONTEXT 是对大语言模型的额外调用,用以根据用户问题生成一个退后问题,并将其作为上下文嵌入。
-
“这里有一个文档:{DOCUMENT}。这里是额外的上下文:{MEMORY}。{STEPBACK_CONTEXT}请回答用户的问题 – {QUESTION}” – 在这里,我们增加了 MEMORY,它可以是来自知识库的额外信息或是与用户之前对话的摘要。
-
“这里有一系列工具:WEB_SEARCH, DOCUMENT, …. 。选择合适的工具并提出一个算法来回答用户的问题 – {QUESTION}”
关于这个主题的一些文章包括:
-
https://cobusgreyling.medium.com/large-language-model-llm-disruption-of-chatbots-8115fffadc22 – 大语言模型(LLM)对聊天机器人的颠覆
-
https://towardsdatascience.com/prompt-architecture-bd8a07117dab – 是时候开始讨论大语言模型中的提示架构了吗?
-
https://www.ionio.ai/blog/what-is-llm-agent-ultimate-guide-to-llm-agent-with-technical-breakdown – 什么是大语言模型智能体?大语言模型智能体的终极指南【技术分解】