美文网首页@IT·互联网想法
关于agent与面向对象

关于agent与面向对象

作者: 真阿当 | 来源:发表于2024-06-05 16:54 被阅读0次

都说ai agent是未来,是行业落地,是AGI的关键。我一直在想agent和面向对象有什么区别?有什么是面向对象做不了,需要用agent的?

agent里大部分概念其实和面向对象是对应的,没有太多新东西。长期记忆对应数据库,短期记忆对应内存,action对应对象方法,状态和计划对应面向对象编程的各种if else就好,所谓目标,就是抽象层级高一些的方法就是。抽象层级高的方法,内部if else判断多写一些,调用抽象层级低的action,不和agent所谓ReAct效果一模一样吗?

如果你说区别在于plan是LLM做的,而if else是人脑做的,那么问题来了:你设计个系统,要不要做黑盒和白盒测试?白盒测试不就是验证LLM是不是按你设想的if else在制定plan? 边界测试时,是不是就是在测plan会不会自动调整,和测边界情况的if else有什么不同?甚至不到测试阶段,你写action时就已经人脑想好了各种if else,各种plan了,对吧?也就是说,就算有LLM做plan,但人脑做plan的工作还是省不掉!工作量一点也没少啊!

更严重的问题是:如果ReAct的plan只有一两步,那么还不如直接调action,LLM生成plan简直多此一举;而如果ReAct生成的plan很复杂,有很多步,还有各种边界情况可能不停调整plan,虽然LLM的价值看似大了一些,但因为LLM function calling的准确性问题,哪怕90%的准确率,但多轮step下来,整个plan的准确率会直线下滑,还不如传统编程多写几个if else可控。

multi-agent看似很棒,但其实多agent合作和多对象合作有什么区别?多step的准确性问题不解决,越多agent越不可靠吧。

基本上,agent能做的事情,面向对象都能做,甚至做得更好。agent的王牌是ReAct,输入目标,LLM自动生成plan,代替人脑写if else。agent如果要想立足,真正取代if else硬编码,那么两件事很关键:

补短 — LLM变得更聪明,prompt引导写得再详细清晰一点,从而提高多step的plan的成功率。

扬长 — 1、action写得很丰富,最好高抽象层级和低抽象层级的action都写上。然后充分发挥“用户输入目标,LLM自动生成plan的优势”,把agent内部想象成一个乐高积木,积木越多,越可能搭出各种有趣的成品。action就是积木,LLM就是搭积木的人,而用户尽管提需求。step越意外,agent越强大。产品内测时,就让产品和测试放飞了去提需求,agent越耐燥越好。

2、agent的另一个优势是多模交互和nlp。不同于传统的GUI交互,用户只能点击有限的按钮,触发预设好的step。多模交互和nlp,可以支持用户以更丰富更自由的形式去提需求,配合1中提到的丰富action、聪明的LLM自动生成plan,agent的威力就能最大化了。

agent的潜力暂时还没被发掘出来,最佳实践有待市场先驱们多多努力,打造些成功案例出来。LLM只是起点,agent才是完成形态,我们需要更多聪明脑袋投入进来,早日树立标杆引爆市场。agent火了,从“互联网+”时代才真正交棒到“AI+ ”时代。

相关文章

  • Java基础知识整理

    大纲 面向对象 关于Object类 重要关键字 内部类 抽象类与接口 编码 异常 一. 面向对象 1. 关于面向对...

  • Java学习day-07:面向对象

    一、面向过程和面向对象 1.面向对象与面向过程的区别: 面向对象具有三大特征;封装,继承,多态;面向对象与面向过程...

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • 2019-07-03

    面向对象 面向对象与面向过程 面向对象就是将你的需求抽象成一个对象, 然后针对这个对象分析其特性(属性)与动作(方...

  • 面向对象编程

    关于面向对象编程

  • 【C++】C++学习笔记之十一:面向对象——类之间的三种关系

    C++中关于类的两个概念——基于对象和面向对象 基于对象 描述单个类 面向对象 面向对象编程——OOP(Objec...

  • Java复习笔记——系统整理

    一、面向对象概念 1. 类与对象 1.1 面向过程和面向对象 面向过程 (Procedural Programmi...

  • 2、面向对象

    一、面向对象 定义:面向对象是基于面向过程的。 面向对象与面向过程比较:面向过程:面向过程是以函数为基础,完成各种...

  • 关于面向对象

    面向对象是一种编程思想,编程的实质是对数据的处理,而对象就是处理数据的载体。就好像一个家具工厂,消耗了原材料,获得...

  • web-js-内置对象 面向对象

    内置对象 1、document 2、location 3、Math 面向对象 面向过程与面向对象编程 创建对象的方...

网友评论

    本文标题:关于agent与面向对象

    本文链接:https://www.haomeiwen.com/subject/ccwuqjtx.html