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

【2024最全最细LangChain教程-12】Agent智能体(一) 有很多教程把Agent称为“代理”,我觉得这个翻译太没意思了,一来和Proxy很容易混淆,二来一点都不酷。之所以把Agent翻译成智能体,是因为Agent可以(在LLM推理分析的帮助下)可以自己识别、选择和使用工具,这个就是智能体的表现。人之所以能走上进化的道路,一来是发明了语言,二来是学会了使用工具。就这两点来看,把目前的Agent称为智能体一点也不为过。 阅读详情

图片

❝

最近,人工智能领域的泰斗吴恩达教授提出了一个观点,即通过智能体工作流构建的AI在某些应用场景中的表现甚至可以超越GPT-4。他认为,智能体工作流将是推动今年人工智能发展的重要趋势。本文将深入探讨这一理念,并以LangGraph为例,实现一个能够自我反思和优化代码的智能体。

Agent开发的四种设计模式

在吴恩达教授的演讲中,他提到了四种可以显著提升AI智能体性能的设计模式:

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

在这里插入图片描述

反思(Reflection)的深度解析

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

反思的过程

图片

反思过程通常包括以下几个步骤:

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

❝

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

在这里插入图片描述

反思的重要性

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

基于LangGraph的代码智能体实战

在这里插入图片描述

接下来,我们将使用LangGraph来实现一个具有反思能力的代码智能体。我们将分步骤进行,每一步都会有相应的代码示例。
在这里插入图片描述

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

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

在构建智能体系统时,状态管理是非常关键的。我们需要一个状态类来跟踪智能体的状态,这包括问题的当前描述、已生成的代码、迭代次数等信息。

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

这个GraphState类是一个简单的字典,它允许我们存储和检索智能体的状态信息。这使得我们可以在智能体的不同部分之间传递信息,并在整个工作流中保持状态的一致性。

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

智能体的工作流程通常包括多个步骤,每个步骤都由一个特定的智能体来执行。在这个例子中,我们有两个智能体:一个代码生成器和一个代码导师。

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

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

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

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

智能体之间的交互流程是工作流的核心。我们需要定义一个图结构,指定智能体之间的通信路径和条件。

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节点,进行下一轮迭代。这个过程会持续进行,直到我们得到正确的代码,或者达到了预设的迭代次数上限。

案例总结

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

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

结语

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

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

让AI给你写代码(五)—— 应用Agent,理解Agent,走进现实世界 本文想解决一个问题,理解Agent有啥具体的作用?所谓读书千遍,不如动手一试,我们还是借助于上一篇,,可以根据提示(prompt)生成代码的Agent,来解决本系列一开始的问题,提取股票信息的一些信息,例如当前股价。 阅读详情

相关推荐

Agent之推理模式:Reflection、Reflexion、LATs

反思的定义:LangChain博客的介绍说是一种用来提供Agent质量和成功率的。归根结底,核心还是prompt的设计。用额外的计算来获得更好的输出质量,这点有点像CoT和ToT的设计。但与之不同的是,CoT和ToT是和LLM单轮的交互,而Reflection一般是和LLM多轮的交互(封装在Agent框架当中),尽管看起来和人类的交互是单轮的。

谁怕平生太急 4561

本地环境部署LangGraph

除可视化UI外,可通过Python SDK(同步/异步)或REST API直接调用本地服务器接口,验证应用功能。通过CLI从官方模板创建新项目,快速生成可扩展的基础架构(示例使用。(可免费注册获取),用于后续应用的追踪、调试与可观测性支持。命令启动本地API服务器,默认启用。进入项目根目录,以“编辑模式”(示例文件,需基于该文件创建。

W3508559248的博客 2273

Meta AI新动向:Llama 4瞄准GPT-4,Agent技术或成研发重点

这可能包括增加模型的参数数量、优化模型架构、改进训练算法、使用更多和更多样化的数据集进行预训练和微调,以及探索新的技术来提升模型的生成能力和理解复杂任务的能力。此外,Meta可能会采用最新的技术,如动态自适应模块(MM-Adapter),这种技术可以根据输入指令的模态选择最佳的适应路径,并在训练过程中只引入少量额外参数,以提高多模态处理的效率和灵活性。综上所述,Llama 4模型的研发目标是在保持或超越Llama 3的基础上,实现更广泛的功能和更高的性能,以满足更复杂的自然语言处理任务和应用场景的需求。

百态·数智思维 | 聚焦大数据、量化与未来AI 1443

GPT-4 又进化了!画图、插件、代码等能力被整合,网友:“更像是 AI Agent 了!”...

整理 | 朱珂欣 出品 | 优快云程序人生(ID:coder_life)近日,OpenAI 再次闷声放大招!用灰度测试的方式,向不少用户暗戳戳的「剧透」了最新进化版的 GPT-4 。据悉,新版本能使用户无需切换即可访问所有 GPT-4 工具,包括浏览和 DALL·E 3。为此,该功能被许多用户称之为 “ALL TOOLS 模式” !上传任意文档,即可分析在过去, GPT-4 的文档分析功能可...

程序人生的博客 7178

AI Agent是什么? 和GPT的区别联系又是什么?

AI Agent(人工智能代理)是一种能够自主行动、制定决策并与环境交互的人工智能系统。它不仅仅是被动地响应输入,而是具备主动性和目标导向性的智能体。:能够在没有人类直接干预的情况下独立完成任务。:通过各种"传感器"(如API、数据接口等)感知和理解环境。:有明确的目标或任务,并能制定计划来实现这些目标。:可以通过"执行器"(如API调用、代码执行等)对环境进行操作和改变。:能够从经验中学习,调整自己的行为以适应变化。

AI Agent 首席体验官 1692

大模型之带你了解plugins、GPTs的前生今世,GPT-4 turbo何以让众多创业者一夜无眠,及主要应用:RAG、Agent

Plugins:侧重于与外部系统的交互和集成。Actions:侧重于在对话中直接执行特定任务,提供了更多样化的内部功能。这里的Agent 指的是智能体,可以追溯到明斯基的《society of mind》一书。在那本书中,明斯基对Agent的定义有点抽象——“社会中某个个体经过协商后可求得问题的解,这个个体就是agent”。在计算机领域,agent是一种通过传感器感知其环境,并通过执行器作用于该环境的实体,因此,可以把实体定义为一种从感知序列到实体动作的映射。

weixin_42924914的博客 1882

基于 GPT 实现 Agent ️

在 LangChain 中,Agent 通过调用 LLM(Language Logic Model)和各种工具来完成用户的指令,这种设计使得 Agent 能够处理各种复杂的任务,并且可以通过添加新的工具来扩展其功能。LangChain 的 Agents 概念,就是针对于类似的场景,结合 LLM,可以自动帮你进行处理,需要走具体哪个服务,这个服务需要什么参数,从而给出对应的输出。,但是用户输入的格式是不确定的,我们往往需要根据用户的输入,从而去判断用户的一个意图,从而去调用对应服务,返回最终的结果。

python12345678_的博客 1539

牛叉!UConn | 提出代码生成大模型:AutoCoder,性能超越GPT-4o!

代码生成是当前软件开发人员的必备工具。它在代码标准化、软件原型设计、降低代码错误、复杂系统开发等方面,极大的提高了开发人员的工作效率。最近随着大模型技术(GPT-4、GPT-4o、 CodeQwen1.5 等)的发展,其在代码生成方面取得了重大的进步。这些模型在代码生成方面展现出了很高的准确性,并已实际应用在了软件开发中。训练大模型需要大量的高质量数据,这对于需要高精度的代码生成任务尤其重要。OpenAI 就曾经找人注释 Code Instruct 数据集来训练 InstructGPT。然而,

具身机器人和通用AI 1582

单Agent崩溃实验,Claude竟完胜GPT4!

博客中表示,多Agent协作可能是解决方案,让不同Agent负责不同领域,通过协作完成复杂任务。但是仍然需要去探索 跨领域、更长链路、多Agent架构等方面的优化。

h1453586413的博客 1109

【Unity】Unity性能分析解决方案——UPR

由Unity中国团队提供的一套性能优化解决方案,其是一系列性能工具的集合,并可将收集的数据进行可视化。

Davidorzs的博客 1009

lgv20刷twrp_LG港版v20 root

这是LG港版v20 root,整理了一下有关LG港版v20的官方固件包了,有没有需要的呢,这里把固件包整理一下也是方便大家以后好下载了,因此有一些机友还是不知道在哪里下载官方的rom包,在这里说的固件rom包也就是原版的系统包了,大家可以放心的使用,这些系统包也都是支持线刷的,大家下载下来解压出来根据里面的相关教程来操作就可以了,很简单的,如果你也需要的话就一起来看看吧。软件提示注意!! 此过程会...

weixin_33212263的博客 5389

释放高级功能:Nexusflows Athene-V2-Agent在工具使用和代理用例方面超越 GPT-4o

在不断发展的人工智能领域,Nexusflows 推出了 Athene-V2-Agent 作为其模型系列的强大补充。这种专门的代理模型设计用于在功能调用和代理应用中发挥出色作用,突破了人工智能所能达到的极限。

weixin_41446370的博客 1968

UltraScale+ FPGA中GTY收发器参考时钟的跨Bank共享机制解析

本文深入解析了UltraScale+ FPGA中GTY收发器参考时钟的跨Bank共享机制,详细介绍了时钟布线架构、SLR区域限制及Vivado工程配置要点。通过实际案例和优化建议,帮助工程师解决高速串行通信中的时钟共享问题,提升系统性能。

weixin_29280219的博客 632

GPT实战系列-如何让LangChain的Agent选择工具

LangChain使构建由LLMs驱动的应用程序变得简单,使用LangChain,可以在统一的界面中轻松与不同类型的LLMs进行交互,管理模型版本,管理对话版本,并将LLMs连接在一起。

Alex_StarSky的博客 2236

基于稀疏表示字典学习的图像超分辨率-杨建超论文解析

文章:《Image Super-Resolution via Sparse Representation》 作者:杨建超 信号稀疏的定义: 令字典D的原子个数M,信号维度为N,则有以下三种关系: M = N时,D为完备的; M > N时,D为冗余的; M>>N时, D为过完备的。 图解如下: 借鉴了压缩感知的思想,通过对大量低分辨率图像和高分辨...

ycc18829026593的博客 7638

【ATC/DTC方法第一期】经典平均/昼夜温度周期ATC/DTC方法介绍(含Python代码实现)

【ATC/DTC方法第一期】经典平均/昼夜温度周期ATC/DTC方法介绍(含Python代码实现)

WW、forever的博客 486

【有啥问啥】GPT-4从0到1搭建一个Agent简介

在人工智能领域,Agent是一种能够感知环境并采取行动以实现特定目标的系统。本文将简单介绍如何基于GPT-4搭建一个Agent。本文详细介绍了如何基于GPT-4从0到1构建一个Agent,包括感知、决策和行动模块的实现,以及如何将GPT-4与强化学习方法结合,进一步优化智能体的表现。通过具体的代码示例,展示了Agent的基本架构和工作原理。希望对各位在构建智能Agent方面有所帮助。

Chauvin的博客 1957

学Simulink--基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模示例

本文详细介绍了基于Simulink的无迹卡尔曼滤波(UKF)目标跟踪仿真建模方法。首先分析了UKF相比EKF在强非线性场景下的优势,包括无线性化误差、计算效率高和鲁棒性强等特点。接着阐述了UKF的核心原理,重点讲解了无迹变换(UT)的三个关键步骤:Sigma点生成、非线性传播和加权统计重构。文章还详细说明了二维机动目标的状态向量定义、非线性状态转移模型和雷达观测模型。 在Simulink实现部分,提供了完整的建模步骤和核心代码,包括目标运动模型、雷达传感器模型和UKF算法模块的实现。通过蛇形机动场景的仿真实

xiaoheshang_123的博客 89

绝美无痕,比你还会P图的Agent!仅通过自然语言指令,灵活使用数百工具,超越GPT-4o达60%

照片精修是专业摄影的核心环节,但传统工具如Lightroom操作复杂,而AI方案(如GPT-4o)常因。:确保模型精确选择工具(如"曝光补偿"而非"对比度")并设置合理参数值(如曝光+0.5而非+2.0)。:人像(40.8%)、风光(33.3%)、街景(5.7%)、静物(20.2%),通过"AI代理+专业软件"融合实现"人类创意+机器执行"的协作范式。根本原因:缺乏实时视觉反馈的"顿悟时刻"(对比数学推理的逐步验证)"理解用户意图 → 分析美学缺陷 → 选择工具 → 设置参数"

zenRRan的博客 1574

SOME/IP协议详解「1.1·面向服务与面向信号」

面向信号和面向服务的区别,和举例子

雪云飞星的博客 5656

【数字IC基础】DFT(Design For Test)可测性设计

【数字IC基础】DFT(Design For Test)可测性设计

努力,加油每一天鸭~ 3467

GPT-5.4 发布:Computer Use 超越人类,Tool Search 让 Agent 用工具省了一半 token

OpenAI 发布 GPT-5.4,OSWorld 达 75% 超越人类基线,Tool Search 减少 47% token 用量,1M 上下文支持长任务,整合编程、推理与 Computer Use 能力。

石臻说AI(szzdzhp001) 【原名 石臻臻的杂货铺】 2863

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

智谱GLM-4.7深夜炸场!登顶开源编程模型王座,代码能力超越GPT-5,仅需 Claude 1/7的价格!

GLM-4.7 已经支持了主流的 Agent 框架,如 Claude Code、Roo Code 等。也就是说,如果你订阅了 GLM Coding Plan,现在就可以直接升级使用了。此外,GLM-4.7 的模型权重(358B 参数)也已经开源发布在 HuggingFace 上,可以实现本地部署。这个12月,智谱卯足了劲儿。一边是冲刺IPO上市,递交招股书;一边是新模型连发不断:AutoGLM、GLM-4.6V……现在又迎来了一位开源编程SOTA选手——GLM 4.7。

2501_94005722的博客 1499

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

上一篇: 为什么说大模型深度学习的未来?来说一说大模型的重要性和影响
下一篇: 李彦宏最新演讲:为什么大型模型即将改变世界?
AI大模型_学习君
博客等级 码龄3年 6138粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值