|
随着 ChatGPT 、 Claude 和 Gemini 等模型的出现,围绕人工智能 Agent 的想法,无论是诞生于科学还是虚构,似乎都更容易实现了。再加上"vision"和函数调用等新功能,人工智能 Agent 的发展大有可为。 当我们沿着人工智能Agent的发展道路前进时,似乎有必要开始从提示词工程过渡到更广泛的 Agent 工程,并建立适当的框架、方法论和思维模型来有效地设计它们。本文将探讨 LLM 背景下的Agent工程的一些关键思想和理念。 让我们从高层次上探讨一下Agent工程框架的关键部分。我们从"Agent能力要求"开始,旨在明确定义Agent需要做什么以及需要多熟练。在"Agent工程与设计"中,我们将对现有技术进行评估,并开始思考Agent的结构和编排。 这一框架的早期阐述旨在提供一个实用的心智模型,诚然并不全面。但我相信,从某处开始,然后逐步完善和提高,这样做是有价值的。 Agent工程框架 简介 建立人工智能Agent的目的是什么?它有工作或角色吗?是行动支持目标?还是目标支持行动?对于某项特定工作,多能力Agent是否比多Agent集群更好?人类语言的魅力在于它的灵活性,允许我们从多个方向对概念进行隐喻扩展。但这样做的弊端是可能导致模糊不清。在阐述该框架时,我有意避免对关键术语进行语义区分,因为其中许多术语可以互换使用。相反,我们努力浮现出一些概念,这些概念可广泛应用于人工智能Agent工程。因此,现阶段的框架更像是一个心智模型,旨在引导有关Agent工程的思维过程。如下图所示,核心思想相对简单明了: 
人工智能Agent被赋予任务 完成任务需要执行行动 执行行动需要能力 能力需要有熟练度要求 所需熟练度需要技术和技巧 技术和技能需要协调
Agent能力要求 要完成的任务 设计人工智能Agent的第一步是清楚地列出Agent应该做什么。Agent需要完成哪些主要工作、任务或目标?这可以是一个高层次的目标,也可以细分为具体的工作和任务。可以决定使用多Agent集群方法,为每个Agent分配任务。语言和详细程度可以有所不同。例如: 请注意,在这两种情况下,工作、任务、目标等标签都可以在Agent应该做的事情中交替使用。 执行任务时需采取的行动 一旦确定了要完成的工作,下一步就是确定Agent针对该工作需要执行的具体行动。工作重点从简单地定义Agent应该实现的目标,转变为通过具体行动来明确实现目标的方式。在这一阶段,开始考虑Agent的适当自主级别也很重要。举例来说: 对于内容创建Agent来说,行动可能包括: 调用其他Agent,了解内容趋势。 根据这些趋势和目标受众的偏好生成内容创意列表。 起草文章或博客文章。
内容创建Agent可以自主生成和起草内容,由人工编辑提供最终审批。或者,在人工编辑介入之前,可以使用单独的Agent编辑器进行初审。 所需要的能力 既然我们已经概述了Agent在执行任务时需要采取的行动,那么接下来我们就需要阐明执行这些行动所需的能力。这些能力包括自然语言对话、信息检索、内容生成、数据分析、持续学习等。它们也可以在更高的技术层面上表达,如:API 调用、函数调用等。例如:对于我们的内容创建Agent来说,所需的功能可能是: 动态调用内容趋势Agent的 API 。 头脑风暴和总结功能。 根据当前主题和趋势生成适当的内容。 根据人类提供的指令编辑内容的能力。
重要的是,最终要把重点放在以不限制选择和最终选择使用哪些技术的方式来表达这些功能上。例如:虽然我们都对 LLM 非常着迷,但大型行动模型( LAM )发展迅速,可能与实现所需的能力相关。 所需的能力熟练度 虽然确定Agent执行任务所需的能力是关键的一步,但评估和定义每种能力所需的熟练度也同样重要。这就需要设定具体的基准和性能指标,必须达到这些基准和指标,Agent及其能力才能被视为熟练。这些基准可以包括准确性、效率和可靠性。 例如,对于我们的内容创建Agent,所需的熟练水平可能包括: Agent工程与设计 将所需能力映射到技术和技巧 一旦明确了所需的能力和熟练度,下一步就是确定我们如何才能满足这些要求。这需要评估快速增长的可用技术和技巧,包括 LLM 、 RAG 、 Guardrails 、专用 API 和其他 ML/AI 模型,以评估它们是否能达到指定的熟练度。在所有情况下,考虑任何特定技术或技巧在高层次上的优势以及成本/效益影响都是有帮助的。我将在这里浅显地讨论几种技术,但范围和规模有限,因为有无数种可能性。 广博知识能力 广博的知识是指对广泛主题和领域的一般理解和信息。这类知识对于创建人工智能Agent至关重要,人工智能Agent可以有效地参与对话、理解上下文并对不同主题做出相关回应。 LLMs -如果你的人工智能Agent需要掌握广泛的知识,那么好消息是 LLM 持续突破的发展。从 Llama3 等开源模型到 OpenAI 、 Anthropic 和谷歌的最新闭源模型,在人类语言和知识的广阔领域提供高密度一致性的技术不乏选择。 提示词工程--这一充满活力且非常活跃的开发领域主要关注如何激活 LLM 所建模的与上下文相适应的知识域。由于语言具有万花筒般的特质,掌握这门艺术可以对我们的Agent能力的熟练度产生巨大影响。 特定知识能力 特定知识涉及对特定领域或主题的深入理解。对于需要详细专业知识和熟悉专业内容的任务来说,这类知识是必不可少的。当我们瞄准能力目标时,可以考虑哪些技术/技巧? 精确信息 精确信息是指高度准确和具体的数据点,对于需要准确答案的任务来说至关重要。 Agent 结构与编排 既然我们已经牢牢掌握了Agent的工作内容、所需的能力和熟练度以及实现这些能力和熟练程度的可用技术,我们就可以将重点转移到Agent的结构和编排上,无论是单独配置还是某种群集或生态系统。是将能力注册到一个Agent上,还是将每种能力分配给一个在群组中运行的独特Agent?我们该如何开发出能够以最小的代价重新利用的能力和Agent?光是这个问题就涉及多篇文章,因此我们在此不再深入探讨。在某些方面,这是"橡胶与道路"的结合点,我们会发现自己正在将多种技术和技巧融合在一起,为我们的Agent注入活力。 结论 从"提示词工程"到"Agent工程"的旅程才刚刚开始,一路上还有很多东西需要学习和完善。这是对"Agent工程框架"的首次尝试,通过勾勒一个高层次的思维模型,提出了一种设计人工智能Agent的实用方法,可作为这一演进过程中的一个有用起点。可用于构建Agent的模型和技术只会继续增加,这就明显需要一种框架,它可以从任何一种特定的技术或技术类别中概括出来。通过明确定义Agent需要做什么、概述执行这些任务所需的操作以及规定必要的能力和熟练度,为设计和工程工作奠定了坚实而灵活的基础。它还为我们的Agent及其能力提供了一个结构,以便随着时间的推移不断改进和发展。
|