0


AI Agent的设计模式

1.概要

吴恩达教授在演讲中着重指出,AI Agent 正在引领工作流程的革新。与传统的工作流程不同,AI Agent 通过迭代和对话式的模式工作,不再是简单的指令执行者,而是能够进行自我反思、规划和修正的参与者。

在传统的工作流程中,用户向 AI Agent 模型输入指令,模型生成回答,这种方式类似于要求人类专家连续不断地完成任务,没有提供反思和修正的空间。

2.AI Agent简述

吴恩达教授在演讲中着重指出,**AI Agent **正在引领工作流程的革新。与传统的工作流程不同,AI Agent 通过迭代和对话式的模式工作,不再是简单的指令执行者,而是能够进行自我反思、规划和修正的参与者。

在传统的工作流程中,用户向 AI Agent 模型输入指令,模型生成回答,这种方式类似于要求人类专家连续不断地完成任务,没有提供反思和修正的空间。

AI Agent 的代理工作流是一个动态的、迭代的过程。AI Agent 首先接收一个大致的任务,然后制定工作计划,执行任务,并在每一步中进行自我评估和修正。AIAgent与其他工具(如:谷歌搜索,谷歌地图,Dell-3,Suno等)结合,形成更高级的Ai模型。Agent是将人类的思维,管理模式,结构化prompt的方法告诉大模型来规划,并调用工具执行,且不断迭代的方法AI Agent更加符合人个性化的需求,满足针对不同场景所需要的不同Ai。

3.AI Agent设计模式

3.1 反思(Reflection)

反思模式允许AI代理审视和评估自身的工作,进行批判性思考,以提升准确性和效率。

我们可以在下面的LangGraph中定义循环:


from langgraph.graph import MessageGraph

builder = MessageGraph()
builder.add_node("generate", generation_node)
builder.add_node("reflect", reflection_node)
builder.set_entry_point("generate")

def should_continue(state: List[BaseMessage]):
    if len(state) > 6:
        return END
    return "reflect"

builder.add_conditional_edges("generate", should_continue)
builder.add_edge("reflect", "generate")
graph = builder.compile()
MessageGraph

表示一个有状态图,其中的“状态”只是一个消息列表。每次调用生成器或反射器节点时,它都会在状态的末尾附加一条消息。生成器节点返回最终结果。

这种简单类型的反射有时可以通过多次尝试改进LLM的输出,并让反射节点在批评输出时采用不同的角色来提高性能。

但是,由于反射步骤没有在任何外部进程中进行,因此最终结果可能不会明显优于原始结果。

3.2

对于每一步,响应者的任务是生成响应,沿着以搜索查询的形式执行附加操作。然后提示修订者反思当前状态。逻辑可以在LangGraph中定义如下:

3.2 工具使用(Tool Use)

模式使AI代理能够利用外部工具和资源,如搜索引擎、APIs等,来扩展功能和提高生产效率。

代理循环的概述如下所示:

对于每一步,响应者的任务是生成响应,沿着以搜索查询的形式执行附加操作。然后提示修订者反思当前状态。逻辑可以在LangGraph中定义如下:

from langgraph.graph import END, MessageGraph

MAX_ITERATIONS = 5
builder = MessageGraph()
builder.add_node("draft", first_responder.respond)
builder.add_node("execute_tools", execute_tools)
builder.add_node("revise", revisor.respond)
# draft -> execute_tools
builder.add_edge("draft", "execute_tools")
# execute_tools -> revise
builder.add_edge("execute_tools", "revise")

# Define looping logic:
def event_loop(state: List[BaseMessage]) -> str:
    # in our case, we'll just stop after N plans
    num_iterations = _get_num_iterations(state)
    if num_iterations > MAX_ITERATIONS:
        return END
    return "execute_tools"

# revise -> execute_tools OR end
builder.add_conditional_edges("revise", event_loop)
builder.set_entry_point("draft")
graph = builder.compile()

该代理可以有效地使用明确的反射和基于Web的引用,以提高最终响应的质量。然而,它只追求一个固定的轨迹,所以如果它走错了一步,这个错误可能会影响随后的决定。

3.3 规划(Planning)

规划模式强调AI代理在面对复杂任务时的系统性规划和步骤分解,展现出前瞻性和策略性思维。

LLMCompiler 是一种代理架构,旨在通过 DAG 中急切执行的任务来加速代理任务的执行。它还通过减少对 LLM 的调用次数来节省冗余令牌使用的成本。下面是其计算图的概述:

3.4 多智能体协作(Multiagent Collaboration)

多智能体协作模式突出了多个AI代理之间的合作和协调,通过互补和协同作用提高整体的执行效率。但这个方向没有案例,现在各家也不允许调用智能体,只能看以后了。

小结

我们期待着新一代的大型语言模型,如GPT-5,能够进一步推动AI代理的发展。未来的AI代理将更加个性化、智能化,它们将深入到每个家庭、每个个人、每个企业的日常生活中,成为我们不可或缺的伙伴。

AI代理的发展是一条漫长而充满挑战的道路,但它也充满了无限的可能性。随着技术的不断成熟和应用场景的不断拓展,我们有理由相信,AI代理将成为通往智能化未来的重要桥梁。

感谢大家的观看,能看我碎碎念到现在,如果可以请点个赞吧,非常感谢。


本文转载自: https://blog.csdn.net/ymyasj/article/details/137927313
版权归原作者 玉阳玄明 所有, 如有侵权,请联系我们删除。

“AI Agent的设计模式”的评论:

还没有评论