链载Ai

标题: 从提示工程到Agent工程 [打印本页]

作者: 链载Ai    时间: 前天 10:21
标题: 从提示工程到Agent工程

从提示工程到Agent工程

介绍一个实用的Agent工程框架

简介

自 ChatGPT 推出一年多以来,公众对“人工智能”的看法发生了显著变化。这部分是因为人们对人工智能的认识增加了,但更多的是因为人们意识到,人工智能系统可能(已经)具备了与人类相当的能力和表现。很多方面,ChatGPT 已成为人工智能整体的概念验证演示。这项工作的启动可以追溯到半个多世纪前,现在我们有了有力的证据,表明我们离“制造能够执行需要智能的机器”的现实更近了,用雷·库兹韦尔的定义来说。毫不奇怪,最近几个月围绕人工智能代理的讨论和开发激增。它们体现了人工智能一直以来的目标。

需要明确的是,人工智能代理的概念绝非新鲜事物。我们的想象力已经多次到达那里——《星球大战》中著名的 C-3PO 是最精致的具身人工智能,能够进行人类水平的自然语言理解、对话和自主行动。在更正式的学术环境中,Norvig 和 Russell 的《人工智能:现代方法》教科书指出,智能代理是主要的统一主题。无论是科学还是虚构中诞生的人工智能代理理念,随着 ChatGPT、Claude 和 Gemini 等模型的出现,这些理念似乎都更加可实现。这些模型在各种知识领域中具有广泛的能力,具备强大的理解力和进行人类水平对话的能力。再加上“视觉”和函数调用等新功能,人工智能代理开发的舞台已经搭建好了。

随着我们迅速迈向人工智能代理的发展道路,似乎有必要从提示工程转向更广泛的领域,即代理工程,并建立合适的框架、方法和思维模型来有效设计它们。在本文中,我将探讨一些在大语言模型(LLM)背景下的关键思想和代理工程的基本原则。

让我们从高层次上探索代理工程框架的关键部分。我们首先从“代理能力需求”开始,明确定义代理需要做什么以及它需要达到的熟练程度。在“代理工程和设计”部分,我们评估可用的技术,并开始思考代理的结构和协调。

这个框架的早期阶段旨在成为一个实用的思维模型,虽然并不在所有方面都全面,但我相信从某个地方开始并随着时间的推移进行改进和增强是有价值的。

代理工程框架

简介

构建人工智能代理的目的是什么?它有工作或角色吗?支持目标的行动?还是支持行动的目标?对于某个特定任务,多功能代理是否比多代理群更好?人类语言的美妙之处在于它是灵活的,允许我们以多种方式延伸概念。缺点是这可能导致模糊性。在阐述框架时,我有意避免对关键术语进行语义区分,因为其中许多可以互换使用。相反,我们努力提出广泛应用于人工智能代理工程的概念。因此,这个阶段的框架更多的是一个指导代理工程思维过程的思维模型。核心思想相对简单,如下图所示:

代理能力需求

要完成的工作

设计人工智能代理的第一步是明确代理应该做什么。代理需要完成的主要工作、任务或目标是什么?这可以被框定为一个高层次的目标,或者分解为具体的工作和任务。您可能决定使用多代理群的方法,并为每个代理分配一个任务。语言和详细程度可以有所不同。例如:

注意,在这两种情况下,“工作”、“任务”、“目标”等标签可以在代理应该做什么的上下文中互换使用。

完成工作的行动

一旦定义了要完成的工作,下一步是确定代理需要执行的具体行动。重点从简单定义代理应该实现的目标转移到通过具体行动来完成这些目标。在此阶段,开始考虑代理的适当自主程度也很重要。例如:

对于内容创作代理,行动可能包括:

内容创作代理可以自主生成和撰写内容,由人类编辑提供最终批准。或者,一个单独的代理编辑可以进行初审,然后由人类编辑介入。

所需的能力

现在我们已经概述了代理需要采取的行动,以完成工作,我们继续阐述实现这些行动所需的能力。这些能力可以包括从自然语言对话、信息检索、内容生成、数据分析到持续学习等。它们也可以在更技术层面上表达,例如 API 调用、函数调用等。例如,对于我们的内容创作代理,所需能力可能包括:

重要的是,最终要关注以不限制选择和最终选择哪种技术的方式来表达这些能力。例如,尽管我们都非常钟爱大语言模型(LLMs),但大行动模型(LAMs)正在迅速发展,可能在实现所需能力方面具有相关性。

所需能力的熟练程度

确定代理执行其工作的能力是关键步骤,但同样重要的是评估和定义每项能力所需的熟练程度。这涉及设定必须满足的具体基准和性能指标,以使代理及其能力被认为是熟练的。这些基准可以包括准确性、效率和可靠性。

例如,对于我们的内容创作代理,所需的熟练程度可能包括:

代理工程与设计

将所需熟练程度映射到技术和方法

一旦明确了所需能力和熟练程度,下一步就是确定如何满足这些需求。这涉及评估包括 LLMs、RAG、Guardrails、专用 API 以及其他机器学习/人工智能模型在内的快速增长的可用技术和方法,以评估它们是否能达到所需的熟练程度。在所有情况下,考虑任何给定技术或方法在高层次上的最佳用途以及成本/效益的影响是有帮助的。我将在这里粗略讨论一些,但规模和范围有限,因为可能性无穷无尽。

广泛知识熟练度

广泛知识指的是对各种主题和领域的普遍理解和信息。这种知识对于创建能够有效对话、理解上下文并在各种主题中提供相关响应的人工智能代理至关重要。

特定知识熟练度

特定知识涉及对特定领域或主题的深入理解。这种知识对于需要详细专业知识和熟悉专门内容的任务是必要的。我们可以考虑哪些技术/方法来实现我们的熟练度目标?

M 能够因为其广泛的知识熟练度而在上下文中“理解”。

精确信息

精确信息指的是对需要确切答案的任务至关重要的高度准确和具体的数据点。

代理的结构和协调

现在我们已经牢牢掌握了代理的工作是什么,所需的能力和熟练程度以及可用的技术,我们将重点转向代理的结构和协调,或者是在单一配置中,或者在某种类型的群体或生态系统中。应该将能力注册到一个代理,还是每个能力分配给在群体中操作的唯一代理?我们如何开发能够以最小努力重新利用的能力和代理?这个话题本身涉及多篇文章,所以我们在这里不会进一步深入探讨。在某些方面,这就是“橡皮与路面的接触”,我们将多种技术和方法结合起来,为我们的代理注入生命。

结论

从提示工程到代理工程的旅程才刚刚开始,在这个过程中有很多东西需要学习和改进。这个初步的代理工程框架提出了一种实用的方法,通过概述一个高层次的思维模型来设计人工智能代理,可以作为这一演变的有用起点。用于构建代理的模型和技术将继续不断增多,产生对从任何一个特定技术或技术类别中抽象出框架的明确需求。通过清晰定义代理需要做什么,概述完成这些任务所需的行动,并明确必要的能力和熟练程度,我们为我们的设计和工程工作奠定了坚实而灵活的基础。这进一步为我们代理及其能力的改进和演变提供了结构。







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5