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中定义循环:


  1. from langgraph.graph import MessageGraph
  2. builder = MessageGraph()
  3. builder.add_node("generate", generation_node)
  4. builder.add_node("reflect", reflection_node)
  5. builder.set_entry_point("generate")
  6. def should_continue(state: List[BaseMessage]):
  7. if len(state) > 6:
  8. return END
  9. return "reflect"
  10. builder.add_conditional_edges("generate", should_continue)
  11. builder.add_edge("reflect", "generate")
  12. graph = builder.compile()
  1. MessageGraph

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

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

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

3.2

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

3.2 工具使用(Tool Use)

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

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

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

  1. from langgraph.graph import END, MessageGraph
  2. MAX_ITERATIONS = 5
  3. builder = MessageGraph()
  4. builder.add_node("draft", first_responder.respond)
  5. builder.add_node("execute_tools", execute_tools)
  6. builder.add_node("revise", revisor.respond)
  7. # draft -> execute_tools
  8. builder.add_edge("draft", "execute_tools")
  9. # execute_tools -> revise
  10. builder.add_edge("execute_tools", "revise")
  11. # Define looping logic:
  12. def event_loop(state: List[BaseMessage]) -> str:
  13. # in our case, we'll just stop after N plans
  14. num_iterations = _get_num_iterations(state)
  15. if num_iterations > MAX_ITERATIONS:
  16. return END
  17. return "execute_tools"
  18. # revise -> execute_tools OR end
  19. builder.add_conditional_edges("revise", event_loop)
  20. builder.set_entry_point("draft")
  21. 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的设计模式”的评论:

还没有评论