当前位置:首页 > 科技  > 软件

超越GPT4的Agent,我用代码实现了!

来源: 责编: 时间:2024-04-08 17:19:04 108观看
导读Agent开发的四种设计模式在吴恩达教授的演讲中,他提到了四种可以显著提升AI智能体性能的设计模式:反思(Reflection):智能体审视自己的工作,并提出改进的方法。使用工具(Tool use):智能体利用网络搜索、代码执行等工具来收集信

Agent开发的四种设计模式

在吴恩达教授的演讲中,他提到了四种可以显著提升AI智能体性能的设计模式:5Fr28资讯网——每日最新资讯28at.com

  1. 反思(Reflection):智能体审视自己的工作,并提出改进的方法。
  2. 使用工具(Tool use):智能体利用网络搜索、代码执行等工具来收集信息、采取行动或处理数据。
  3. 规划(Planning):智能体制定并执行多步骤计划来达成目标。
  4. 多智能体协作(Multi-agent collaboration):多个智能体共同工作,通过分配任务和讨论来提出更优的解决方案。

图片图片5Fr28资讯网——每日最新资讯28at.com

反思(Reflection)的深度解析

在吴恩达教授提出的AI智能体工作流中,反思(Reflection) 是一个关键的概念,它指的是智能体在完成任务后,能够自我审视其产出,并主动寻找潜在的改进空间。这种能力不仅对于提升智能体的性能至关重要,也是模拟人类学习过程的关键环节。5Fr28资讯网——每日最新资讯28at.com

反思的过程

图片图片5Fr28资讯网——每日最新资讯28at.com

反思过程通常包括以下几个步骤:5Fr28资讯网——每日最新资讯28at.com

  1. 产出生成:智能体根据给定的任务或问题生成初始的解决方案或产出。
  2. 自我评估:智能体审视自己的产出,检查是否存在错误、不足或可以改进的地方。
  3. 反馈整合:智能体根据自我评估的结果,对产出进行修改和优化。
  4. 迭代循环:智能体重复上述过程,通过不断的反思和改进,逐步提升产出的质量。

5Fr28资讯网——每日最新资讯28at.com

吴恩达教授通过一个代码生成的例子来阐释了反思技术。假设我们要求一个代码智能体为特定任务编写代码,它将根据提示生成代码。然后,我们可以要求智能体检查这段代码的正确性、风格和效率,并提出改进建议。这个过程可以通过多次迭代来不断优化代码。5Fr28资讯网——每日最新资讯28at.com

图片图片5Fr28资讯网——每日最新资讯28at.com

反思的重要性

反思技术的重要性在于它模拟了人类解决问题的方式。在面对复杂问题时,我们往往会先尝试一种解决方案,然后评估其效果,根据反馈进行调整,最终得到一个更好的解决方案。通过在AI智能体中实现这一过程,我们可以使其更加接近人类的思维方式,从而在各种任务中表现得更加出色。5Fr28资讯网——每日最新资讯28at.com

基于LangGraph的代码智能体实战

图片图片5Fr28资讯网——每日最新资讯28at.com

接下来,我们将使用LangGraph来实现一个具有反思能力的代码智能体。我们将分步骤进行,每一步都会有相应的代码示例。5Fr28资讯网——每日最新资讯28at.com

图片图片5Fr28资讯网——每日最新资讯28at.com

为了进一步充实和细化最后的代码实战章节,我们将深入探讨每个步骤的细节,并提供更多的代码示例和解释,以便读者更好地理解如何实现一个具有反思能力的代码智能体。5Fr28资讯网——每日最新资讯28at.com

1. 定义智能体间的消息通道

在构建智能体系统时,状态管理是非常关键的。我们需要一个状态类来跟踪智能体的状态,这包括问题的当前描述、已生成的代码、迭代次数等信息。5Fr28资讯网——每日最新资讯28at.com

from typing import Dict, TypedDictclass GraphState(TypedDict):    keys: Dict[str, any]

这个GraphState类是一个简单的字典,它允许我们存储和检索智能体的状态信息。这使得我们可以在智能体的不同部分之间传递信息,并在整个工作流中保持状态的一致性。5Fr28资讯网——每日最新资讯28at.com

2. 定义代码助手agent和编程导师agent

智能体的工作流程通常包括多个步骤,每个步骤都由一个特定的智能体来执行。在这个例子中,我们有两个智能体:一个代码生成器和一个代码导师。5Fr28资讯网——每日最新资讯28at.com

详细代码见github:https://github.com/q2wxec/langgraph-demo5Fr28资讯网——每日最新资讯28at.com

def generate(state: GraphState):    # 代码生成器智能体的实现    # ...    passdef code_mentor(state: GraphState):    # 代码导师智能体的实现    # ...    pass

generate函数负责根据当前状态和问题生成代码。如果生成的代码在之前的迭代中被标记为不正确,它将使用反馈来改进代码。code_mentor函数则扮演一个导师的角色,评估生成的代码,并提供是否正确的判断以及改进的建议。5Fr28资讯网——每日最新资讯28at.com

3. 定义多智能体交互流程

智能体之间的交互流程是工作流的核心。我们需要定义一个图结构,指定智能体之间的通信路径和条件。5Fr28资讯网——每日最新资讯28at.com

from langgraph.graph import END, StateGraph# 定义工作流图workflow = StateGraph(GraphState)# 添加节点和边workflow.add_node("generate", generate)workflow.add_node("code_mentor", code_mentor)workflow.set_entry_point("generate")workflow.add_edge("generate", "code_mentor")workflow.add_conditional_edges(    "code_mentor",    decide_to_finish,    {        "end": END,        "generate": "generate",    },)# 编译工作流app = workflow.compile()# 运行工作流app.invoke({"keys":{"question":"如何实现归并排序算法?","iterations":0}})

在这个流程中,我们首先从generate节点开始,生成初始代码。然后,我们根据code_mentor节点的反馈,决定是继续生成代码还是结束流程。如果代码被认为不正确,我们将回到generate节点,进行下一轮迭代。这个过程会持续进行,直到我们得到正确的代码,或者达到了预设的迭代次数上限。5Fr28资讯网——每日最新资讯28at.com

案例总结

通过这个实战示例,我们展示了如何使用LangGraph来构建一个具有反思能力的代码智能体。这个过程不仅涉及到代码的生成和评估,还包括了智能体之间的协作和信息交换。这种工作流的设计模式能够有效地提升智能体的性能,并使其更加接近人类的解决问题的方式。5Fr28资讯网——每日最新资讯28at.com

在实际应用中,这种方法可以用于自动代码审查、智能编程助手、自动化测试等场景。随着AI技术的不断进步,我们期待看到更多采用这种工作流的智能体出现,并在各个领域发挥重要作用。5Fr28资讯网——每日最新资讯28at.com

结语

通过本文的介绍和实战示例,我们可以看到,智能体工作流和反思技术在提升AI性能方面的巨大潜力。随着技术的发展,我们有理由相信,未来的AI将更加智能、高效,能够更好地服务于人类社会。让我们共同期待并推动这一领域的进步。5Fr28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-82036-0.html超越GPT4的Agent,我用代码实现了!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: React Router v6 完全指南,超实用!

下一篇: 基于TTL 解决线程池中 ThreadLocal 线程无法共享的问题

标签:
  • 热门焦点
  • 官方承诺:K60至尊版将会首批升级MIUI 15

    官方承诺:K60至尊版将会首批升级MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版将会搭载天玑9200+处理器和独显芯片X7的同时,Redmi给出了官方承诺,K60至尊重大更新首批升级,会首批推送MIUI 15。也就是说虽然
  • 6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    6月安卓手机性能榜:vivo/iQOO霸占旗舰排行榜前三

    2023年上半年已经正式过去了,我们也迎来了安兔兔V10版本,在新的骁龙8Gen3和天玑9300发布之前,性能榜的榜单大体会以骁龙8Gen2和天玑9200+为主,至于那颗3.36GHz的骁龙8Gen2领先
  • 掘力计划第 20 期:Flutter 混合开发的混乱之治

    掘力计划第 20 期:Flutter 混合开发的混乱之治

    在掘力计划系列活动第20场,《Flutter 开发实战详解》作者,掘金优秀作者,Github GSY 系列目负责人恋猫的小郭分享了Flutter 混合开发的混乱之治。Flutter 基于自研的 Skia 引擎
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 不容错过的MSBuild技巧,必备用法详解和实践指南

    不容错过的MSBuild技巧,必备用法详解和实践指南

    一、MSBuild简介MSBuild是一种基于XML的构建引擎,用于在.NET Framework和.NET Core应用程序中自动化构建过程。它是Visual Studio的构建引擎,可在命令行或其他构建工具中使用
  • 之家push系统迭代之路

    之家push系统迭代之路

    前言在这个信息爆炸的互联网时代,能够及时准确获取信息是当今社会要解决的关键问题之一。随着之家用户体量和内容规模的不断增大,传统的靠"主动拉"获取信息的方式已不能满足用
  • ESG的面子与里子

    ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大“烤”之下的除了众生,还有各大企业发布的ESG报告。ESG是“环境保
  • 国行版三星Galaxy Z Fold5/Z Flip5发布 售价7499元起

    国行版三星Galaxy Z Fold5/Z Flip5发布 售价7499元起

    2023年8月3日,三星电子举行Galaxy新品中国发布会,正式在国内推出了新一代折叠屏智能手机三星Galaxy Z Fold5与Galaxy Z Flip5,以及三星Galaxy Tab S9
  • OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    OPPO K11评测:旗舰级IMX890加持 2000元档最强影像手机

    【Techweb评测】中端机型用户群体巨大,占了中国目前手机市场的大头,一直以来都是各手机品牌的“必争之地”,其中OPPO K系列机型一直以来都以高品质、
Top