如果你想拥有一个熟人的团队,但是又觉得搭建 ide 很 难,那么有没有想过让 ide 帮助你搭建 ide? 第一步,新建一个智能体,点击 ios 里面的新建智能体,然后创建一个空白的智能体,点击下一步给它起一个名字,比如说 a i 智能体,搭建助手,然后就点击下一步就可以了,这些都不用管他技能的话,也不用给他装 就可以。第二步也是最重要的一步,就是点开你新建的智能体的聊天框,然后把这一个提示词给还有这七份协议,这七个协议是数字人团队的灵魂,但这不是我写的,是我一个阿里的朋友分享给我的, 我可以免费的给大家私信我就好。如果不感兴趣的情况下啊,这两个协议呢,给整个团队的角色进行了一个定位,后面呢还有一些各种各样,我也不懂这个东西,其实说 后面这五个协议就是每一个角色的身份定位。比如总经理,你是一个外贸总经理,负责群居操盘,采用捷克威尔骑士的管理,我后面的每一个角色,他的设定都在这里面。 当你把这些发给 ai 之后, ai 就 可以经过一系列的处理,然后搭建出你的外贸团队。 点击右上角的智能体,可以看到每一个 ai 的 配置和设定。比如说这个总经理希尔,可以看到这是 ai 自己编辑的这个智能体是做什么的,然后 他的这个技能可以看下这个技能,这是 ai 自己添加的,包括他的各种设定。其实我们真正来写一个,这个 ai 会帮他给配置清楚。那么最后一步,点击这里有一个加号,新建一个群聊,在创建团队里面,把你已经搭建好的团队成员配置进去, 那么恭喜你终于拥有了一个负责人团队,但是不要忘记两件事情,第一把你的总经理设置为团队的负责人,第二把你的这套话术发给就这个提示词发给 ai, 然后你的 ai 的 智能体的助手就会实时的更新其他智能体的技能。然后这边呢,其实这个文件这个区域呢,就会产出他们做的所有的内容,你可以去看一下这个 ai 的 进度啊,还有他们做的流程。 然后在最后想和把这个视频看到结尾的各位聊一下,因为我也是第一次做自媒体,第一次想把自己在创业路上找到的东西分享给大家。我的第二条视频就是我用 ai 在 国际站上发品的那个视频,没想到会有几百人点赞,有很多创业者联系我,和我聊了很多,这也算是给了我很大的信心。所以在这里呢,我就厚着脸皮给各位 要一个关注和点赞,但是关注我肯定不亏,因为我肯定会继续在这个账号上分享我的 内容。然后我目前的想法是两块,第一呢是互联网的运营,第二呢是 ai 的 使用,如果,如果说你和这两个点切入的话,那我们可以聊上很多,然后 关于我这个账号后面的发展方向,各位也可以帮我支支招。然后最后呢,我想到了一个结尾,叫越分享越成长,我是春秋,想和各位共同成长。
粉丝244获赞858

大家好, cloud 在 发布这个 open 四点六的时候, cloud code 也有一个新的功能,叫 cloud agents teams, 就是 你可以自己开启一个这样的团队去开发功能。那本期视频呢?将从四个方面来介绍一下 agent teams 是 什么, 然后我也结合了一个网页,里面有一些动画特效,来给大家详细的讲解一下 agent teams 和 sub agents 的 区别是什么。因为这两个问题就是什么是 cloud agent teams。 在了解这个 claw 的 teams 之前,我们来看一下整个我们跟 claw 的 进行对话,或者说跟类似的 a 技能对话的一个发展的历程。 那么一开始的时候,当你启动一个这样的 claw 的 实力,那说明对话的时候只有你和这个 claw 的 主主 agent, 我 们把它标志成叫主 agent, 主代理,那这个阶段叫做啊,我们叫做主代理进行对话,那这个阶段叫做独行侠时代,就是只有你和主代理进行一对一的对话, 那这个总对话方式优点就是简单,你说什么他就做什么,大家都是创新的去执行,就是你发布任务执行完成,你看结果,然后再接着发布第二个任务。 那这样的缺点是什么?就是你的上下文窗口有限,就是上下文很容易就被塞满了,比如说你现在要让他进行一个 p r d 文档的书写, 那么生成的这个 prd 文档可能有一万个字,那这一万个字就会占用你跟它对话的这个上下文,那就会触犯压缩,而且你每一次只能做一件事情,对吧?写 prd 文档的时候写 prd 文档,写代码的时候写代码,那为了解决这个三个问题呢? 那就进入了我们的这个 safari 子代这个时代,那子代的时代就是你的有些事情可以分配给其他的这种代理去执行。比如说我刚刚说到的 写 prd 文档,那么你可以有一个叫产品经理的子代理,你发给他,让他去创建这样的 prd 文档,那么他创建 prd 文档生存那一万个字,他是不会在跟跟你的主对话,跟你的主代理之间是不会影响的,不会影响的, 我们假设一下,你跟主代理之间进行了十次对话,产生一百个字,这个时候你需要去创建一个文产产品说明文档,这个时候如果你发给这个 产品经理,让他去创建了吗?产品经理创建了一个一万次的这个文档,他创建完成之后,他自己的上下文就销毁了,然后你这边的上下文还是那十轮对话的上下文, 如果不使用这种子代理,那么你就会把这个 p r d 的 这个整个生成过程产生的上下文塞到这个主对话里面去。所以呢子代理 的出现就解决了这么个非常大的问题,就是断线纹隔离,而且他能并行执行。你在写代码的时候边写边测试,那么你可以设置一个写代码的主代理,主代理就是你写代码,然后子代理去测试你的代码,那这样的话就并行执行,然后还选能选择不同的模型, 对吧?你测试可能是你要求没那么高,要求快速的,那么你会选择一个这种 flash 啊,或者其他的这种型号的模型。但是这种子代理也有什么问题呢?就是每一个 agent 子 agent 之间是不不能沟通,不能交流的, 大家都是独立完成任务,然后告诉一个这样的摘药,给到我,给到你,然后你其实你如果你需要完成的是一系列的任务,比如说你现在做一个从零到一,做一个产品,那这里面涉及到 prd 文档,涉及到前端代码,后端代码, 对吧?测试,那大家其实都是围绕怎么从零到一完成这个产品这一系列的任务来的, 那这个时候你可以想象一下,在一个公司里面,如果你要做一个产品,那么肯定是一个协助的过程, 那前端开发,开发完之后如果有什么问题需要跟后端去对接去沟通,那后端弄完之后可能要找测试去测试,那需每一个人之间是有沟通的。所以呢, it 的 teams 就是 拥有了这些 teams 的 这个优点, 它除了有 sub agents 的 这个特点之外,它又新增了个,新增了些,每一个这样的子代理 agent 之间都是可以发消息来沟通的,那有一个 team leader 来负责整个的这个协调, 整个队伍的这个任务分配协调啊,这个消息的发送啊,或者其他的这种东西,它有一个总的这样的一个去管理,就跟我们真实的团队是一样的,那 这种就做到了真正的就像一个很强大的一个这样有效的这种工作运行的工作方式。所以呢, teams 比这个 subteams 又进行了一个升级。 那我们再往下看,就是用一个公司来比喻理解的话,那普通模式就是你只有你一个人,只有你一个人,你一个人能力是有限的,你只能创建去执行,按顺序执行这个任务。 那纸质问题就是你是一个老板,你派人去帮你查资料,审代码,那么你关注的是这个结果, 你关注的是结果,而且他们各自的这个做的这些事情是没有任何联系的,是断开的。查资料是查资料, 省大脑,省大脑,这两之间是没有任何关联关系的,是不存在,他们需要沟通,不需要去协助,非常独立,所以他们能有拥有独立的上下文,能够干完这个事情就把上下文销毁掉,会影响那 tips, 就是 这些人需要去沟通,去共享或整个任务列表的。所以说 teams 就 非常适合你。这一个大任务里面有很多这样的小任务,那每一段的小任务需要一个人去参与, 而而且是共同去参与,去讨论,而不是像组织人体三倍镜词一样去可以他们的每一个组织人体是没有任何的交流的,零交流 是没有没有这共性的,所以这是两个是非常非常大的区别,你只有把这两个区别搞清楚了,你才能知道什么情况下我要用子代理,什么情况下要去开启一个 teams。 所以 一定要抓住这一点,队员或者说你子代理之间需不需要沟通, 他们是不是做的是同一个事情,只是不同的阶段,不同的角色。那这个时候你就要开启 teams, 如果不需要沟通, 他做的是个独立的事情,那么这个时候就是开启的是紫代理。如果你要开启,或者说开启一个这样的一个 team, 是 吧?他是有这些,比如说有这样的一个三个这样的一个队员,前端后端测试,那么还有一个队长,那队长的任务就是负责创建团队分配任务和协调, 那队员的话就是你要各个去完成自己的这个角色了,那这边呢?还有个任务任务版,那还有个消息可以去沟通, 去沟通,那这这个是他的步骤,创建团队任务拆分,那在后面的实战例子里面可以看到他这个过程,创建团队任务拆分、并行执行、沟通、协调、汇总、清理,那完成之后他是需要去做一个清理团队资源的, 那我们可以来通过这样一个动画来进一步来加深大家对这个 sub agencies 和这个 agent teams 的 一个区别。如果我们现在是子正人体,那我们可以开始来演示,然后点一下,开始演示。第一步就是你自己啊,主对话就是我们刚刚说的开启的这个 cloud code。 好,第一个 ok, 你 现在需要子代理做这三样事情,安全审查员、性能分析师、测试检查员,这三个子代理派出去,那么这三个子代理之间是不存在任何的这个联系的。好,开始干活了, 开始干活了没有? ok, 他 正在干,干活了啊,干完了,这是他的一个结果。第二个这三个是可以并行执行的,这是演示,我们就可以让他那个 是这样。 ok, 他 执行完成之后呢,每个人都会有个结果,看到没有,那这个结果的摘药就会同步给 我们的主绘画,就是你同步给我们的这个主绘画,那么我们可以最后一步就是会,他会把这个生成一个这样的结果啊,就会告诉他,哎, 每一个人不同的结果,让他去拿到,拿到这个摘药去使用。那你对于这个主绘画来说,他是不用关心安全审查员里面到底是怎么去做的,他不用,他只要关注 这一部分东西就行了,他只要关注这本,这部分是会传给先前摘药,是会传给我们的主对话的,就回到我们的跟 cloud, 就 回到我们这个 cloud 的 对话里面去。那么 teams 呢?是什么区别呢?我们也可以看一下。这个好,开始,那这边队长开始组建团队了, 比如说现在要创建一个团队来开发用户登录功能,它这个功能非常小啊,那实际的场景里面这么小的功能是不适合用来开启个 tims 的。 ok, 好, 开始分配任务啊。前端后端测试,那么就会创建一个这样的一个任务列表, 那这个任务列表的话就会分配好谁干什么,谁干什么。那这边的话会有一个这样的一个,比如说测试的话可能会依赖 后端,或者说前端的一些步主要完成它才能测试,那这个时候它就会处于一个 block 状态就阻塞的状态,它是等待的状态啊,它是依赖前面完成之后它才能去完成的。你在开启这个 teams 的 时候, cloud 那 边会告诉你这个有一个 等待的一个状态。 ok, 我 们下一步开始。好,现在就是前端后端同时开始去领任务去开始开发了,对吧?前端前端后端开始领任务去开发了,那只有这个测试现在还在等再进行下一步。好,这个时候我们的前端 在问啊,前端在问,哦,我们需要一个这样的一个接口,他问这个后端我们需要一个接口,那后端就会把这个接口啊告诉他,发给他, 注意啊,这就是一个最大特点,他们之间会通信啊,会沟通,会对话的,他他这边前端拿到之后,他就开始去开发了,所以这一块是非常非常重要,他们之间是可以沟通的。 下一步好,前端他要完成,后端他要完成,前端他要完成后完成,这个时候测试的这个条件已经满足了,这个时候他就需要去进行一个这样的测试了,他就可以开始进入测试了。 ok, 那 整个测试完成之后,那整个任务就完成了,就会告诉队长任务已经完成了, ok, 完成。所以在整个两个对比的过程中,我们就可以明显的看到子正体跟 tms 之间最大的区别就是子正体跟子正体之间,他是 一个是不能沟通,一个是能沟通,他能沟通的,这个为什么能沟通?就在于 teams 的 每一个 agent 都会继承这样的上下文,每个人的上下文都是一样的, 就说相当于你在一个公司里面,你的 teams 每个团队成员对于你现在要做的事情是一定是了解的很清楚了,不然的话就会偏题了,所以这个是非常大的区的区别的。那我们再回到这个啊文档当中, 在前面我们已经讲过了,怎么去,什么是 teams, 什么是 smartins, 相信大家已经有啊,有一定的认识了,那这个时候我们就来个实战,那这个实战呢?就是我们要去开启这样的 cloud agent team, 那 有两种方法,一种是你可以通过这种房间变量的方式去设置一个这样的零使用的,那么你再下一次开启终端设置,这个又没没有了,那么一种永久使用的,就是通过配置的方式就配置到这个 cloud 的 这个 settings 的 目录里面去,那注意啊,就是如果没有的话,你可以新建一个, 然后的话把这个内容保存一下就行了。但是呢,目前因为 cloud agent team 还是个实验性的功能,所以还是比较建议大家使用这种这种方式,如果你想一直用的话,也可以这种方式没问题。 那刚刚说了,终端你可以使用这个啊,自己系统自带的终端,或者使用 v s code 啊 cos 这样的终端也可以使用像 t max 这样的终端,我看这个 t max 好 像不支持 windows, 所以 说大家用普通的终端也可以, 然后使用 agent teams 的 话,就是用关键词啊 agent team 这种方式去使用就行了。 ok, 那 我们就开始看一下这个整个的效果吧,当你把这个 agent teams 在 你的设置文件配置好之后,或者说设置临时变量,那我们就可以开始去使用 agent teams。 那 么在使用 agent teams 的 时候,你可以使用各种终端,比如说你系统自带的终端,或者说使用 vs code, 也可以使用 cos 这样的,它们都有这种终端,那么这些终端的话, 你开启这个 agent teams 之后,是需要通过 shift 加 page up page down 就 上下键来去观看每一个队员的情况,那么你如果需要在一个屏幕里面分屏去显示的话,那么你可以使用这种 tmax 这个这种终端方式。 那如果是你是 mac 电脑端,你装完之后直接启动 tmax 就 行了,那启动完之后呢?那么你就可以去开启我们的 cloud code, 开启完之后, ok, 那 么你就可以去开始我们的这个呃任务了。那么我这边是让他阅读我们这里面有一个 prd 文档,那 这个 prd 里面的文档啊,就是具体的这个网站的内容啊,然后他创建一个这样的 agent teams, 那 这就是一个触发这个关键词,让他知道我们他要去创建一个这样的 teams 去完成开发。那么我是指定了三个这样的队员啊,一个是前端开发,一个这样的 teams 去完成开发。那么我是指定了三个这样的队员啊,让他也可以根据情况来设置队员。 那么这里就是使用关键词的方式去出发的。那么这里呢有为什么会有个 prd 文档?其实我刚开始是也是创建一个团队,团队里面是有产品经理,让产品经理去啊,去生成这样的 prd 文档。但是我发现 所有的队员都会在等待产品经理把 prd 文档写完之后才开始去做,开始去干活,那这样其实是一种变成一种创新的方式了,那所有的队员都在等待一个去完成,就会被堵塞, 那我觉得这样的一个流程是不太适合用 agent teams 的, 所以呢,我用其他的方式去生成这样 p r d。 文档,那么你在生成 p r d。 文档的时候,你也可以开启一个这样 teams, 你 可以去设置一个什么市场调查员,或者说一些行行业的一些分析员,他们这种不同的队员去 通力去协助,然后去生成一个 p r d 文档,那最后再进入到这个开发流程去设置一个,这样我目前的这种 agent teams, 那 这样是比较合适的,就是 teams 最大的用处是 并行去开发,而且能互相沟通,这是他最大的优点,如果你这个任务是串行的,那就会出现很多问题。 ok, 他 这边已经去开启了这个啊,多个这样的考的实力,大家可以看到 会有三个这样的实力啊,分别代表了这三个不同的这个队员,那第一个是前端开发工程师,看到没有?第二个是这个后端开发工程师,那这边的话应该是一个测试 测试工程师,那么他这边就开启呢,就开始去沟通,去沟通了,他们就是相当于是并行去执行这样的事情,那么这边多个队员就开始在这边去 做事情了,比如说测试工程师,他就会去制定这样的测试用力,那么前端就在正在开发前端,那如果说他们之间需要去协调的话,比如说前端在等待后端的接口,他就会给他发信息,告诉他我需要一个后端的接口来帮我去实现, 那它是人们之间是可以互相去沟通交流的,那么在这个后端开发这边的话,它是使用的是 java, 那 其实在我们的 p r d 文档,或者说我们其实应该在里面说明就是使用什么技术栈,这样是更更加好一些, 它自己去根据情况去选了一个这样的技术栈。那么在前面例子里面我使用的是这个啊智普和这个 kimi, 我在整个例子里面其实就是我开始使用的是 kimi, 但很快它这一天的用量就用了,所以它是消耗 token 是 非常非常多的,所以我又把它切成了这个质朴的这个模型。那么之前我也用 opus 四点六,那 那的确是用用不起啊,真的是用不起太太,消耗 token 实在是太多了啊。最后我们来总结一下,就是啊,我们使用 cloud agent teams 的 缺点和使用建议啊,第一个缺点, 第一个缺点这 talk 消耗巨大。第二个就是呢,缺点就是上下文是笼鱼的,就是以我们现在来设计的角度来看,因为每一个 队员他是一个独立的实力,他都要把这些上下文都加载一遍,比如说你的 cloud md 文件,对吧?你的这个 m c p 的 描述,你的 skills 的 这个技能的描述,每个人都是一样的, 每个人都是这样就开启了,你开启了五个队员,那就五个窗口,五个实力,那五个这样的一个上下文。第三个就是我觉得是非常大的一个问题,就是文件冲突, 比如说你如果没有分好每个队员去做什么事情,比如说你开两个后端开发工程师,那么这两个后端开发师可能会对针对同一个文件进行编写,就会产生文件冲突,大家都在抢占这一个文件, 写的东西都在一个文件里面,那就会有问题,所以说这个是一个非常大的问题,你在开启要去使用这个 agent team 的 时候,一定要把模块规划好,或者说你的每一个队员到底要做什么事情,这一定要想好,如果你都没有想好去做的话,那就是跟你不开是一样的, 或者说开之后反而效果没有那么好,所以第四个就是怎么去分配,就我刚刚说的怎么去分配队员,每个队员应该做什么事情,如果存在依赖性强的对吧?你要要 队员 a 完成之后你才能去,队员 b 才能开始去完成,那这样 team c 意识不大的,你创新没有,并且的效率高, 所以这种这也是非常的要依赖经验去来做这个事情。还有一个就是 agent teams 啊,现在是实验功能,就具体以后会发生什么样,或者是具体怎么个样子还不知道, 所以这个东西大家可以去用,但是不建议就说把它作为一个常规的一个开发的东西了,这里非常推荐大家使用三维剑士去完成很多功能,去如何的去利用三维剑士可以极大的提高你的这个效率的。 这边呢,我也是给出自己的建议啊,就是其实根据官方文文档中提到的这个 tims 最佳实践啊,他也在大多都是偏向于探索和辩论, 就是你可以让他多个队员去针对同一个主题来发表自己的意见,那最后得到一个这样综合性的一个结果,这种是没问题,因为 你辩论的话是不存在说去,比如说上面这些问题去文件冲突啊,干什么,大家各抒己见。还有一种像这种多维度的,就大家在不同的维度不同的方向去做事情,也可以避免冲突,然后也可能极大的发挥每一个队员,每一种队员的这个特色或特长。 然后呢,从零到一做 mvp 这个阶段也是适合,因为这里面就是啊,你能够很快去拆分不同的模块,比如说我刚刚引衍生的例子就是一个 mvp 的 产品,它就有几个功能,那你就可以分配 前端后端测试,那很快就是这个东西,就是这个过程就非常的清晰了,前端发展前端,后端开发,后端测试做测试,它不存在有相互交叉的地方。第四个就是 tim 饲料,作用是多个队员并行开发,所以 我一直在强调,如果你这个任务是创行的,互相等待的,那么是不太建议,那这个就是不要为了换个灯泡去召开这个董事会,什么意思呢?就是你不要一个小功能,也是开启这样 team, 那 这样是得不偿失,而且非常非常浪费的。那 ok, 那 本期视频到这里,如果你对 ai 编程有兴趣,可以多多关注。

我研究了三天三夜,终于把 opencloud agent 的 团队搭建彻底跑通了。七个 agent, 一个群聊,自动写作,我只说做什么。 ceo 自动拆解任务,协调各部门,各部门做完自动汇报, 这可能是目前最接近一人公司的玩法。今天我把所有步骤一次性讲清楚,先给大家看看最终效果。这是我搭好的一个七人 agent 的 团队。在飞书同一个群聊里, ceo 负责理解我的需求拆解任务分配给各部门。 产品部负责需求分析和 prd 输出。开发部负责技术方案和代码实现,设计部负责 ui 方案,市场部负责推广策略。 数据库负责数据分析和效果追踪,运维部负责部署和监控。上周,我想做一个 ai 每日早报的自动推送工具。我在群里跟 ceo 说,我想做一个工具,每天早上八点自动抓取 ai 领域的新闻,生成一篇早报,推送到我的社交媒体。 然后 ceo 就 把这个需求拆分成了四个子,人物,产品部定义早报的内容结构和信息源。开发部写下载脚本和推送接口。市场部确定标题风格和受众定位,数据库设计阅读量追踪方案。每个部门各自输出了方案, ceo 汇总之后,给我一份完整的执行计划。 整个过程我只发了一句话,这就是今天我要教大家搭建的东西。在动手之前,先花三十秒了解一下原理,这样后面的操作你才不会懵。 opencloud 的 多 agent 的 机制本质上是这样的,一个 get 位实力多个工作区,每个工作区就是一个独立的 agent, 它们共享一套基础设施,但各自有独立的角色设定模型配置聊天渠道绑定。 理解了这个搭建就变得很简单,总共两个步骤,第一步,在 opencloud 中创建多个 agent。 搭建方式有两种,第一种,通过命令行交互式创建,一行命令搞定,打开终端,运行下面这行命令。这种方式的好处是不用修改配置文件,跟着提示一步步选就行。 第二种方式,直接修改配置文件,适合一次性创建多个 a 键的。打开你的 opencloud 点 json 配置文件,需要修改三个地方 室内配置文件,如图。第二步,配置聊天渠道。很多朋友卡在这一步,不知道怎么在飞书上创建机器人,步骤如下,我知道重复建七个很枯燥,所以我做了一个创建飞书机器人的 skill, 你 把这个 skill 安装给你的 open log, 然后告诉他帮我创建一个飞书机器人,他会自动打开浏览器,自动填写表单,自动完成创建。搭好之后,最有意思的玩法是建立指挥链。 我给 ceo 的 设定是,当用户提出需求时,你需要一、分析需求的本质目的。二、将需求拆解为产品、技术、设计、市场等维度的子任务。三、将子任务分别艾特对应部门,下达清晰的任务指令。四、在所有部门回复后,汇总结果向我汇报。 这样一来,我的工作流就变成了我指挥 ceo, ceo 指挥各部门,我验收最终结果。我只需要跟一个人说话,剩下的全部自动流转。未来的工作可能不需要那么多人了,需要的是一支听话、高效、二十四小时在线的 hr 团队。

他真的把 agent 搭建讲的太清楚了,很多同学都知道二零二六年是 agent 的 风口,但是看到满屏幕代码瞬间懵了。所以我特意花了一点五小时整理出这份从零到一手把手搭建 agent 实战教程,包括从环境准备到运行智能体的全部实现过程, 新手小白都能看懂。学会这些不仅可以打造商用智能体,甚至还可以应聘大模型工程师。如果你也想学好智能体,却不知如何下手,来我这免费领一套大模型,全套学习包,留下学习直接抱走。

探索型的工作会污染上下文,随着 agent 越来越有用,每多一样新的东西,系统的提示就会放大一倍。上下文窗口的填满是不可避免的, 我们来设想一个场景,你让 agent 检查账目里面用了什么测试的光卡。为了回答这个问题,他可能要读五个配置文件,每一个文件有几百行,这些文件的内容会留在消息的历史之中,永久地占据上下文空间。但实际上,这个问题只需要一个词来回答, pytest, 这就是上下文污染的问题。为了完成一个子任务呢,积累了大量对于主任务的无用的信息,所以就引入了我们第四节课程的概念,子智能体,让子智能体拥有干净的上下文,然后去做干净的事情。 子智能体叫 sub agent, 是 一个独立的 agent 的 实力,它有自己全新的消息的历史,那做完一件事情,把结论告诉副 agent, 然后整个历史直接去丢弃。 那副 agent 和子 agent 到底是一个什么样的关系呢?它其实特别像公司里面,比如说主管是副 agent, 它负责整个任务,把具体的调查的工作分配给专员,也就是子智能体。那专员其实是在独立工作的,得出结论之后,只要把结论汇报给主管就可以了,它不需要把所 所有的工作过程的细节都摊在主管的办公室里面,那主管的办公桌,也就是上下文是保持整洁的。而子智能体呢,他可能执行了三十次的工具调用,读了大量的文件。但是对于负 a 症特来说,他收到的只是一句简短的摘药,这就是用计算代价换上下文清洁度的一个权衡, 而且往往是非常值得的。那第四节课子智能体解决了探索性的工作污染上下文的问题,让子智能体去干脏活累活,主 a 症,拿结论保持整体的清洁。但是随 一个 agent 才越来越有用,那另一个问题就是,你希望它懂得东西越来越多,但是每多一样新的东西,系统的提示就会放大一倍。那我们现在来到第五节按需知识,也就是技能加载 skill。 那 一个全能的 agent, 它可能要懂 get 的 工作流,以及代码的审查的规范,或者是测试的最佳时间,以及项目特定的一些约定等等。但如果把这些全部的都塞到我们的系统提示词里面,会消耗大量的 token, 而且大部分内容跟当前的任务是毫无关系的。 假设我们每一个技能或者是每一个功能要两千个 token, 那 有十个技能的话,那就是有两万个 token。 而这些内容在模型处理每一次请求的时候,它都需要重新计算一遍。所以这里设计了一个很好的技能加载机制。 按需加载什么意思呢?就是每次给 ai 发请求的时候,不是把所有技能的所有信息都给 ai, 而是让它根据任务的需求先判断是否需要某个技能,确认之后再去实时读取这个技能的详细说明。技能的加载机制我们分成两层, 第一层,系统提示始终是存在的。系统提示呢,是在对话开始之前就给 ai 的 一段角色设定和行为的规则,你可以把它理解为上岗的培训资料。 在 ai 开始工作之前,你要告诉他你是谁,你能做什么?你应该怎么做?那系统提示呢?它会占用上下文窗口的空间,而且是从第一条消息开始就存在的,永远占据着那块位置。 所以系统提示里面放的东西要非常的精挑细选,会只放技能的名称和简介,大约每个技能有一百个头看。那第二层呢,是工具的调用结果,也就是叫按需加载, 当模型决定需要某个技能的时候,才去调用这个技能,完整的内容才会出现在上下文窗口之中。这是一种很聪明的设计,也是模型知道有哪些工具同时呢,在需要的时候 才打开。那这一套技能加载流程,把知识预加载变成了按需加载,也就是对于上下文的起点来说,它更干净了。但是呢,这个流程也会有一个问题,你会发现所有的优化,比如说此智能体技能加载专用工具,都只是在延续一个根本性的问题的到来, 就是上下文窗口的填满是不可避免的,比如说让他读一个一千行的文件就要四千个 token, 跑一条命令可能就反悔几百行的日制,那做一个稍微复杂的任务,二三十四的工具的调用,轻松就会超过十万 token。 这是物理限制,不是设计的缺陷。 所以我们需要来到第六节课上下文压缩,也就是绕开记忆上线的工程解决方案。 我们刚才提到,上下文最终还是会被耗尽的,无论你怎么设计,随着 hr 工作的时间增长,消息历史会越来越长,这是一个无法回避的物理限制, 现在呢,处理它的方式不是说假装它不存在,而是设计了三层的压缩机制。这个压缩机制也是我认为 cloud code 跟其他的编程工具来说整体效果更好的地方。我们看第一层微压缩,也就是每轮禁默执行, 每一次大模型调用之前,都把三轮以前的工具返回,结果替换成一行占位符。这样做的好处是把原来几 千 token 的 文件内容变成了一行五个词,而且模型还能够看到它做过什么,但是呢,就不再去重复处理那些文件的具体的内容。这一层压缩本质上是无感的, agent 其实也并不知道发生了什么,但是它确实是在持续的节省着空间。接着我们进入到第二层自动压缩, 当 token 超域值时会触发,也就是当 token 数量超过设定的域值的时候,系统会把完整的对话历史保存到 磁盘,防止信息真正的丢失。然后呢,让另外一个大模型把这一段历史摘要成一段简短的文字,接着把这一段摘要替换为全部的历史,然后重新开始。这相当于给 a 层一个记忆的摘要,他知道发生过什么,但是他不再记住每一个细节。第三层主动压缩, 就是模型按需调用,那模型可以自己根据 compact 工具,在感觉上下文快要满之前,主动去触发这个压缩,在 cloud code 里面执行的时候,直接斜杠 compact 就 可以去操作。这里有一个提示啊,这三层压缩都是有代价的, 因为信息会损失。压缩完之后, a 证他可能不记得某一个细节,可能会忘记自己做过什么,这个本质上也不是一个 bug, 而是权衡的结果。一个设计良好的 a 证,他会把关键的状态写到磁盘上,包括任务的文件代码,而不是说去依赖上下文的记忆。 第六节课的上下文压缩让 a 证能够持续的工作了,但是呢,压缩本质上是一种选择性的遗忘,它保留了摘药,但丢失了细节。 这里就带来了一个新的问题,如果目标本身也在上下纹理压缩之后, agent 可能就忘记了他的目标,也就是他连他自己在做什么都不清楚了。那我们应该怎么解决呢?现在让我们来到第七节,让 agent 记住要做什么。

他真的把 agent 搭建想的太清晰了!很多同学都知道二零二六年是 agent 风口,但是在搭建时看到满屏幕代码直接就蒙了。所以我特意花了三点五小时整理出这份 从零到一手把手搭建 agent 的 实战教程,包括从环境准备到运行智能体的全部实现过程, 新手小白都能看懂。学会这些不仅可以打造企业级可落地智能体,甚至可以直接应聘大模型工程师。如果你也想学好 agent, 就 不知如何下手。我这里整理了完整的大模型 agent 学习路线配套教程,感兴趣的宝子可以直接带回家。

这节我们从零开始搭建一下 ic 的 工具所需要的一代环境。首先我们需要配置的是 shell 的 一个环境,也就是 ic 的 工具执行命令的环境。 在开始之前我们需要知道 ic 的 工具最兼容的 shell 是 bash, 然后 ic 的 工具在工作的时候有的会使用默认的 shell, 带来的问题就是如果你使用的是 fish 或者 not shell 之类的现代化一点的 shell, 那 么在它执行命令的时候就会有一些因为 shell 环境引起的问题。 windows 对 于 ai 编辑工具的兼容性很差,很多问题也都是自带的 power shell 和 bash 不 兼容引起的。这时候我们其实就应该知道 ai 环境下的 shell 应该怎么选,最优解其实就是 bash, 其次是大部分兼容 bash 的 z shell, 那么 bash 和 shell 应该怎么去选?如果说你现在使用的就是 shell, 那 么就不用去动,否则就选 bash, 因为 bash 提供的自动补全。高亮显示,我们可以使用 resh 进行一个支持啊。主题的话可以使用 slash shift 配置,让我们开始安装这个 bash, 我 们打开这个官方的一个文档, 根据官方的文档进行一个安装, 让我们扫它一下。 ok, 这个时候可以看到自动补全和这个高亮显示已经是有的了,看起来没有问题,然后这个临时目录就可以删掉, 下面让我们来去把这个效果美化一下。我们使用这个 snapchat, 我 想打开它的这个官方网站,换成中文, 然后使用它默认的这个安装命令安装一下。 这边它的配置方式的话,是在这个八十二 c 最后添加一行内容的话,已经把这个命令写好了, 同样扫死一下,这时候可以看到我们这个炫耀的这个呃显示效果已经变了。然后我们可以去社区配置分享里面找一个这个好看一点的主题,把它替换一下, 可以看到实际上呃已经变了,这边显示的乱码实际上是因为我们没有 note 字体。 然后我们去安装一下袋子的一个字体,这边的话有一个 get 仓库,嗯,正常情况下的话,你可以根据你的一个呃需求,然后找一下你自己想用的一个字体, 它的字体和咱们普通字体的差别的,就就是说它把这个呃图标也加入到了这个字体里面。然后这边我们呃继续使用这个 get brands 的 一个字体, 用这个仓库拉一下, 创建一个本地的字体目录,把这个下载的字体文件夹到对应的目录里,然后这个下载的压缩包就可以删掉了。我们刷新一下字体, 这个时候把这个终端关掉,打开一下,然后去这个首选项里面把这个字体配置一下, 可以看到实际上嗯已经变了。这里还有一个问题,是啊,如果你选择的这个主题是在是带这种 powerline 的 主题,光图默认的这个特密欧有一点兼容性的问题,就是这个地方会有一点错位,你可以安装 kitty 或者 icloud 之类的特密欧进行一个使用,我这边就懒得去装了, 然后把它这个主题换成一个呃简洁的一个主题, 这边使用这个 java 吧。 然后第二步的话是我们需要配置 node js 的 一个环境,很多 agent 自己是就是使用这个 node js 进行一个实现的,还有很多技能中使用的这个脚本也是用 node js 去写的,因此我们需要安装 node js 的 一个环境,这里我们先去装 nvm。 n m 是 node js 的 一个版本管理工具,我们不同的项目可能是呃,需要使用不同的 node js 一个版本,这个时候就不能简单地安装一个 node js 到全屏目录下面了,因此这个呃标准的解决方案的话是使用这个 n m 进行一个管理, ok, 然后按照它这个提示来搜索一下我们的八十八 c, 然后 n m 和看一下,实际上 n m 我 们已经安装上了, 这时候我们安装一个 l t s 的 一个 note g s 的 版本, 用的杠微测试一下, ok, 已经安装完了。然后我们需要安装的是这个 p n p m 和这个自带的这个 n p m 相比, p n p m 更快,然后也更省这个磁通空间。因此我们这个 note g s 的 一个包管理可以选择这个 p n p m, 然后我们这边用这个 n p m 安装到全聚 安装完成,同样去验证一下, ok, 没问题。 这里需要注意的一点的话是这个呃,回头我们安装完 agent 的 这个客户端工具之后啊,需要给他的这个全局的规则文件添加一行,告诉他我们这个 nojs 的 环境用的是这个 n m, 然后我们的报管理器使用的是这个 p n p m。 接下来我们需要安装这个 python 的 一个环境, python 也是必须要装的环境很多的,这个技能的脚本里面使用的是 python, 然后 python 的 包管理器和工具我们就选择 u v 就 可以, u v 的 话是用 rest 去编写的,然后它呃又快又好,就等于之前讲了 node js 中的这个 n m 加 p n p m 该干的活它都干了。 ok, 安装完了,这边按照它的这个命令,我们需要去执行一下这个, 然后让我们来 u v 试一下。 ok, 这个命令已经装上了。 ok, 我 们终于可以开始安装爱奇艺的工具了。这里的话根据我们自己的需求进行一个安装。我这边的话会把 colotodog 的 布袋子,欧根扣的都安装一下, 让我们从 colotodog 的 开始,因为咱们这个频道目前的定位是省钱,所以说咱们用不起 colotodog 的 套餐。这里我们安装一下 cc switch 下一个第一批的包 来,完成之后直接执行命令安装一下, 然后我们打开 cc switch, 然后我们添加一个供应商,这时候根据你自己有的 callin 去选。然后我这边的话是 mini max, 我 复制一下我的 tokyo 的。 ok, 这时候让我们开始安装 kol 的 code。 对, 安装完了,我们执行一下 kol 的 命令。 这个界面其实我们已经可以看到我们的模型已经变成了 mini max。 二点七,说明咱们刚刚在 c c 四位置里面的配置是生效的。那 hello, 测试一下 啊,没有什么问题。然后这个时候我们可以让模型自己把这个啊,我们 node 还有咱们 python 的 这个缓存说明给加到全屏的一个内存文件里。 原格式的话,我们使用 p n p m 安装, p n p m 的 话需要 tab 一下才能安装到全屏。 这里我的一个安装命令写错了,打一下 扣代码的话,因为我们还是一个省钱打法,我们没有 g p t 的 一个套餐。然后我们使用这个,使用这个 openroot 可以 到这边找一下这个, 然后选择我们行的模型,然后我们使用这个模型 同样去打开这个 cc switch 里面加一个。然后我们使用的是 openroot 模型的话换成这个。 然后我们需要回到这边创建一个 i p i k 然后我们使用 ctrl s 命令,这个时候可以看到实际上这边模型已经变成我们切换的这个模型了。然后让我们 hello 测试 一下这边,因为我们实际上没有用 t p t 官方那个模型,这边提示的是原数据未找到,但是没有什么太大的影响, ok, 也没有什么问题。然后我们直接安装勾勾的, 官方扣的默认有免费的模型可以用,嗯,擦一下, 嗯,没毛病。 到此我们就把 iint 的 运营环境搭建好了,在开始实操项目之前,我们还需要补充一下前置的相关的一些实用知识,我这边不会给大家去做 iint 的 相关的一些实用知识,我这边不会给大家去做 i ppt 这东西还是得自己上手看一万遍,不使劲练一下其实就等于没看。因此下一节我会给大家分享如何使用 colode code 学习 colode。

最近网上都在讲这个多 agent 团队。嗯,就是主 agent 带一群小弟干活。我也跟风搭了一个想法,挺简单的,就是一个主 agent 做总入口,然后呃任务丢进去,他自己拆开, 拆完之后呢,分给其他的 agent 去执行,听着是不是很合理?我当时也是这么想的, 但是用了几天,我发现他根本不调用其他的 agent, 他 直接自己建了一个新的子 agent, 子 agent 把活干完立刻就会被销毁,每次都是这样,他从来没有调用过我设的那些 agent, 永远是在新建,用完销毁。 我管这个呢,叫一次性外包啊。嗯,不是你想象的团队作战,就是单次派遣,最主要的是很多任务啊,他需要一个一直能够活着的 agent, 不是 来一下就走的,是他能自己在那跑着持续干活,比如呢,定时巡检,然后持续监控数据等等,或者发现异常先自己处理掉再来通知你。这种活啊,一次性 agent 根本接不住。 我现在还没有找到很好的一个方案, opencloud 里面到底能不能搞出这种自己跑的持久 agent, 还是说这条路本身就走错了呢?评论区聊聊你们有没有遇到过一样的问题。

逼自己练完这四十八页,你的 agent 搭建就很牛了!很早之前就想搭建一个自己的 agent 了,不过一直没抽出时间,最近两天有空就自己搭建了一个智能体,顺便也给同学们写了一个文字版教程,教程内容是针对新手的,小白也可以看懂,想自己搭建智能体的宝子可以抱回家上手练习。

逼自己练完这四十八页,你的 agent 搭建就很牛了!很早之前就想搭建一个 agent 了, 不过一直没抽出时间就自己搭建了一个智能体。最近两天有空,顺便也给同学们写了一个文字版教程,教程内容是针对新手的,小白也可以看懂。想自己搭建智能体的宝子,只要你是我的粉丝,可以抱回家上手练习。

他真的把 agent 搭建讲的太清晰了。很多同学都知道二零二六年是 agent 的 风口,但是在搭建时看到满屏幕代码直接就蒙了。所以我特意花了三点五小时整理出这份从零到一手把手搭建 agent 实战教程,包括从环境准备到运行智能体的全部实现过程, 新手小白都能看懂。学会这些不仅可以打造企业级可落地智能体,甚至可以直接应聘大模型工程师。如果你也想学好 agent, 却不知如何下手。我这里整理了完整的大模型 agent 学习路线配套教程,感兴趣的宝子可以直接带回家学。

很多人可能不知道,让多个 ai agent 协助,最关键的不是它本身有多强,而是中间那个协调器设计的好不好。 很多人以为多智能体就是多开几个 agent 让它们相互对话,结果要么任务没复到为 token, 要么信息遗漏,根本玩不成工作。其实专业的做法是用中心辐射架构,也就是 half spoke 模式,这个架构的核心是协调器 agent, 所有的子 agent 不 能直接对话,必须通过协调器来通信。 协调器负责三件事,任务分解、动态多油,结果聚合。这样一来,整个系统的可观察性和控制力都大幅提升。如何实现呢?分三步,第一步,设计协调器指示词,明确告诉他你是协调器,不要自己干活,只负责分配任务。 第二步,第一 a 诊断工具,每个工具都有一个专门的子 a 诊断,比如说关键词扫描器、深度评估器、风险检测器。第三步,跑起来,协调器会根据任务复杂程度自动选择调用哪些子 a 诊断,最后把结果合成一份完整报告,我们来实测一下,我先用它作为一个求值简历筛选流程,输入一份简历和职位描述, 协调器会自动把任务生成三块,检查关键词匹配评估界面,深度扫描回迁信号,每个子 a 诊断只看自己负责的部分,互不干扰。 最后协调器把三分报告合成一个完整的招聘建议,整个过程不用我手动分配,系统自动。如有,再是一个复杂场景动态选择,如果简历明显不匹配,协调器会跳过详细评估,直接给出结论就是偷看。如果是边缘后选人,他会选择完整流程甚至甚至针对性的面试问题。 成本方面,协调器本身不需要额外费用,就是正常调用科二的 a p i。 如果用嗨酷模型做子 a p i 成本能降到三分之一。部署的话,本地跑配的脚本就行,零部署成本。我是拓普同学,关注我学习更多好用的 ai 教程。

我们今天视频的一个主题是 a 帧的一个概念原理以及构造模式,并且这其中包含了从零打造一个自己的 ai 帧的一个全过程啊,大家是不是等不起了呀?我们一起往下看。 ai 帧又叫 ai 帧,它是一个随着我们大模型热潮而兴起的一个招概念, 虽然 agent 这个词现在被频繁的提起,但是它究竟是什么?什么是 agent? agent 究竟是如何实现的?它是如何运作的啊?很多人其实不太明白,他也搞不清楚,所以说在这个视频里面,我会带你彻底搞明白这两个问题。我们本期视频一共包括这四个部分。首先第一块,什么是 agent? 当然如果你对 agent 这个概念非常了解了,你也可以跳过直接来到我们后面的 react 部分。第二部分是什么呀?就是我们 react 模式的一个运行流程和实现原理。第三部分就是我们自己动手,真正手搓一个 react 模式的一个 agent。 第四个模式啊,第四块就是我们这个 play and execute 模式的一个介绍和整体的一个运行流程。好,我们先来看第一个部分, 什么是 agent? 比如说 type gpt, 比如说千万啊等等这些东西,大家发现它有哪些优点?它是不是 特别擅长回答我问题啊?我问他秦始皇是哪年出生的,这个我肯定不知道,但是大魔仙哪知道?比如我问他特朗普的老家是哪,他是不是也能回答出来?他特别擅长回答问题,但是他是不是有一个问题叫做无法感 知和改变外部的环境?这个问题怎么说呢?我们来看一下哈,这是为什么会有这个问题呢?我们来举个例子就知道了。在这里我让大魔仙帮我写一个俄罗斯方块的小游戏啊,他能回答这个问题,写了很多很多啊,没问题,代码如下,但是我, 我是不是还要需要手动把我这个代码复制到文件里面并执行呀?他并没有办法直接帮我把这个代码复制到文件里边,所以说他是无法改变我们的外部环 境的那感知的。我们来看下一个例子,我这个小游戏里边啊,我想要他帮我加一个功能,或者说我想让他帮我修改一下代码,他必须要他要求什么?要求我们把代码复制给他,他才能够回答。那么就是我这个代码如果在文件里边,他是没办法读取到我的文件的,所以说啊,他是无法感知到我们外部的环境的。总的来说, 我们大模型有这两个问题,一个就是无法感知,一个就无法改变外部的环境,那么我们有没有办法解决掉这个问题呢?当然是有的,我们给大模型使用啊,让它对接上对应的工具就可以了,比如说在这里加上一些什么,如果说给他加上呃, 查看文件的内容的一个工具啊,再加上一个什么?呃,读写读写文件内容,还有查看文件列表啊,我这有文件列表,有哪些文件,然后再加加上一个运行终端命令的一个工具。那么这样哈,我们大模型就相当于有了感官和四肢,有了这些工具,大模型就可以自 自己查询已有的一些文件,自己写入代码,自己运行程序,整个过程中不需要我们插手,完全自动化,就这样把一个大模型和一堆工具组装起来的一个智能程序,我们就把它称为 agent, 通常我们 agent 用一个机器人来表示,这与我们大模型的一个大脑图标有着一个鲜明的对比,并, 毕竟我们 aint 有 着感官和四肢吗?能够独立的做事情了,就像一个机器人一样。我们 aint 的 种类哈,其实有非多非常多种的,我们举个例子,比如说,比如说有咳嗽,或者说我们国产的一个通讯灵码或者 tree 啊,他可以帮我们开发程序,或者说 kimi, 他 有个帮我,可以帮我制作 ppt, 还有一些啊,可以做一些深度剪辑啊啊,这有很多 种的一个 aint 的 类型。好,我们来给大家举一个例子哈,就比如说我在这里刚刚是不是举了一个我们国产的通讯灵码,我就以这个来给大家举个例子,好, 我们来看一下哈,这个是我给大家准备的代码,我们等下来看,我们先来看这里哈,我是通行的码,我这已经开启了我们智能体的功能,我们在这里我们把路径给他,我们要把一些相关信息给他,是不是啊?这是我的路径,然后我让他任务是什么?写一个俄罗斯方块小游戏,然后用这个 html, 然后等等那些实现对不对?并且分解放在不同文件中,我们来运行下它。好, 我们稍等一下,等他执行。看到在这里哈,我们就已经开始啊,他有,因为这个地方我已经有了这个路径,对不对?哈?看他这个终端是他帮我执行的,虽然说报错了,但是是证明他是没问题的,我们可以看他已经开始帮我写入这个代码了,我是自己没有手搓的,可以看到不同代码他已经帮我开始手搓。 这个就是我们这个普通的一个大冒险和 a g 的 一个区别,如果说我用大冒险帮我写的代码,他可以实现,但是我还要自己,比如说生成这个,生成我们刚刚这个目录,对不对? 还要自己来做,但是在这里大冒险已经帮我制作好了,我们耐心等待一下,等他执行这个通讯灵码的,也是非常简单哈,大家只需要在我们这个 id 里面插件就可以找到我们通讯灵码,他是我们阿里的一个非常好用的一个插件啊,什么国产的,虽然说可能没有克数这么好用,但是也已经非常不错了。好,我们稍稍等待一下。 整个的过程,我全程都是我只写着这一行什么提的词,其他都没有自己动手,全部都是大冒险帮我来搞定的。其实是我们的 a 镜呢,真的是要 特别实用,特别方便的一个功能。好,我们现在看一下这个整个的一个运行完毕了,我们来全部都给接受一下。好,接受完之后呢,我们就可以来执行一下这个 html, 来看一下这代码到底怎么样来,看。好,我们来开始看看有没有往下掉呀, 好像是有点问题,但是哈,我们虽然说这代码是有问题的,这很正常啊,因为因为我们不可能就是一次性就给他搞搞成功,但是啊,这个整个的过程我并没有自己来做 啊,是全部都是由我们大模型来帮我们实行的,这就是我们的一个 a 技能的一个运行模式吗?我给我主要是给大家演示这个模式的,如果出错的话,我们后续啊再对他进行一个优化,告诉他没有方块下落,他就再帮我们进行优化,这是没问题的 啊,证明我们这个 a 技能的运行模式是可以成功的。好,接下来我们就来讲一下 a 技能的运行模式。 a 技能运行模式其实有非常多种啊,在这里我们就以锐 x 模式为例, 因为他是我们目前来说大模型,他用的是非常非常多的一种模式。 react 模式,他叫做什么呀?叫做思考和行动,他是先思考并行动,这个是他是二零二二年出来的一篇论文提出来的这一个,呃,一个一个模式哈,大家可以看这是论文的链接,我已经给到大家了,大家如果感兴趣的话可以自己去查看一下啊。在这里我就不再多说了, 基本上看这个就是我们 react 的 一个流程图啊,左边是流程图,右边是我给他写的一个规划,我们来看一下这流程图。首先在我们 a 技能开始之前,我们把问题是不要给到他呀,是不是问题任务就给到他,然后他会生成思考,基 于我们问题,或者说先观察我们这个整个文件列表等等那些东西啊,他会观察我们的环境,因为现在是个 a 技能了嘛,然后接下来就会生成我们的行动,也就是我们的 action, 然后接下来看我们这个 action 是 否等于最终的结束,是否完成了,然后如果是是完成了,我们就输入 answer, 就 输入我们的答案,就结束了。如果说他 不是结束了,不是完成他就是否,然后就执行我们 action, 然后就输出 operation, 然后又来一个循环,我们把这个输出结果,然后加上一些问题,加上等等那些东西,然后重新进一个思考,然后再生成我们行动,然后再进一个循环,使我们 ai 能够内部推理它与外部行动。观察一个循环,使我们 ai 能够内部推理它与外部解决需要多步出 的一个复杂任务,比如说我们复杂的一个问答,或者说自动化的一个工作流,确保我们整个过程是透明的,而且适应性强,我们整个过程都是自己可以看到的。好,我们继续来看这个 react 模式是如何实现的呢?啊,其实它也不是说很复杂的东西,它是通过通过系统 提示词来会实现的。什么是系统提示词呢?啊?我们来看一下哈,就比如说我们模型的一些角色,或者说呃运行的一些规则,再比如说环境的信息等等的一些东西,这些就是我们系统系统提示词。那我们 react 的 这个系统提示词是怎么构建的呢?来看一下,在这里我们一共包含。呃,我们再举个例子哈,这个叫系统提示词。下边是比如说啊,我们系统提示词, 我们先来看一下一个我们系统提示词的一个例子啊,在这里我们来看一下这个系统提示词。做你的回答必须包含这个两个标签,一个叫我们的问题,一个答案是不是, 那么我们的问题是什么叫孙悟空的师傅是谁?那么我们经过大模型的一个转化,我们回复完之后,这是我们的整个一个大模型的回答我们的问题啊。 question 叫做我们孙悟空的师傅是谁,然后我们的 answer 叫做浮提祖师,这是我们整个的一个系统提示词加入的问题,然后生成一个答案,那么哈,我们在这里 知道了什么是系统提示词,就是我们把一些运行规则啊等等的一些角色了都给提前规定好。那么我们来看一下 react 他的提示词到底是怎么样的? 来简单看一下。在这里哈,我是通过 deep seek 给大家演示的,前面这部分是我们的提示词,我给大家看一下。这是啊,首先我们这是前置,我们你要想解决一个问题,你需要把我们的问题拆分成多部,然后每个步骤,你先我们是用什么?用 sauce, 我 们思考,然后啊决定一个 action 行动,然后 收到 operation, 然后持续,呃,然后 find author, 就 会得到一个结果啊,下面的话,每一个步骤都有我们标线来标呃输出对不对?这个是我们两给的两个例子,我们来可以来看一下,这个是我们的问题,是我们这个什么埃菲尔铁塔有多高,然后我们思考啊,可以用思考工具,然后 思考得我们行动吗?就是我们调用工具找到了埃菲尔铁塔,然后返回的结果,然后我们再思考这个,得到答案了,然后这,这是我们最终结果。这我们例子一,例子二的话我就不读了,大家可以看一下啊,你可以如果说你可以自己暂停,然后看一下这个例子。二,我就不再多暂停了,我们直接往下讲啊,好, 下面的话,这是我们一些规,呃,就是我们一些规章制度,就是我们给大冒险一些规则啊,你要严格遵守等等那些东西。然后还有我们的用用可以用到的一些工具,比如说我们读取文件、写论文,还有命令终端,然后还有一些我们的什么,这是我们的系统一些信息。然后这个是我们的一个问题啊,我们的任务在这里 把这给到大模型之后,我们正常来说哈,我们要把系统提示词和我们的问题分开来放,但是在这里哈,我们就因为我们这个 type c 它是没有可以写系统提示词的一个地方,所以说我就写到一起了,它也没有任何问题。我们来看一下,首先第一步它已经看它 上面跟我说,呃,等等那些东西需要创建三文件,然后创建啊,创建等等些东西,大家可以看到,我们第一步是先看一下这个文件哈,叫做这个创建,然后我们又创建,创建了一个什么,这个文件可以看到吗?然后他创建这个文件,我们告诉他,哎,我们写入成功了,这可以看到哈,一个是 action, 这是我们行动要写入这个文件, 是不是?这,我们这是我们那个 action, 然后最后发现他已经写成功了,是不是?但是好在这里他只是调用了这个东西,他其实并没有真的写入哈,因为我们大模型他本身是无法使用这个工具的,他只能够呃,就是呃,启动这个,呃相当于调用这个工具,最终还是工具来 来写我们这个干嘛?写我的文件呢?大家一定要记住这个地方,他只能调用工具,工具来写入,所以说这里我们是没有工具的,所以说我们就只有这些文字,并没有真正的写入,然后我们给他回复写入成功,然后,哎,这个已经创建成功了,下面我们来创建这个,然后我们再和他写写入成功,然后这创建之后我们来整个逻辑,这个我们都不用看哈,我告诉他写入成功之后, 大家发现这个就不一样了,因为我们前面都写成功了。最后啊,我们再经过思考之后,然后可以输出 final answer, 包括这些这些东西,然后等等一些输出,这就是我们整个 react 的 一个逻辑,大家可以看到吗?如果说我发现还没有满足我的最终要求,我就会一直 action, 就是 行动, 直到最终满足我的这个任务,可以输出 final answer 了,它就会输出的 final answer, 这是我们整个的一个逻辑。 好,我们通过这个例子,大家可能哈对这个 react 还是不太了解,因为我们这个例子还是比较笼统的,那么我们下面来看一下 react 的 一个什么呀?一个运行流程图,我们来看一下。 好,我们在这里一共有两个人,一个叫做用户,一个就我们 aint, 我 们一个用户一个 aint, 我 们问他,但是在这里如果说我们想了解 react 的 一个流程图,我们肯定不能把 aint 的 一个流程,我们要把它拆分开, 我们把 react 的 一个 agent 来给它拆分开。首先第一个是什么?我们的模型,我们是不是要调用一个大模型?第二部分就是我们的工具,也就是函数。 第三部分就是我们 agent 的 一个主程序啊,总共包括这三部分,我们把一个 react 的 模式的 agent 拆分成这三部分, 我们再来看一下整个的一个 react 的 一个流程,我们来看一下,首先我们用户是不是要问一个问题,在这里我让他写一个贪吃蛇,告诉我们 a 技能的一个主程序,他刚接下来干嘛要思考,大家记不知道思考行动,先思考我们请求模型之后模型就会思考对不对?给我们一个思考加我们 action 的 行动,我们用户是可以看到的,对不对? 显示我们的思考和行动,就是 toast and action 好, 我们就会干,干嘛?我们 agent 开始调用我们的工具了,其实不是模拟的工具的,是我们 agent 这个程序调用工具的,调用这工具之后返回我们的调用结果,是不是我们去干嘛?又会,我们直可以显示我们的执行结果,接下来我们就会请求模型,然后再进行思考, 在这里我们记住从这个 action 到这个地方,它其实是个循环,我们如果说在这里大家可以看到这个是 find answer, 这个是 action, 如果说 这个也是 action, 是 不是发生循环了?如果这个 action, 我 按住 action 再进行第二个工具,再进行查询结果,再显示结果,我们再请求模型,再思考看是不是最终结果。所以说重点在这个地方,我们来看一下啊,重点是在这个地方, 我们在请求模型之后,模型来思考我们是不是达到了 f n o s 的 条件,如果是达到了,那么我们就结束,如果不是的话,就会一直进行这样一个循环, 大家一定要记好了哈,一定他会一直进入这个循环,只要没达到 final answer, 这是我们的一个条件,刚刚我们之前在那个流程图里也看到过了,是不是 我们在经过很多个循环之后,是吧?我们把所有任务都完成了之后,最终我们就在这里请求模型之后给了我们 final answer, 那 我们判断有了 final answer 之后,我们就会把 final answer 给输出, 这就是我们整个的一个 react 流程。那么接下来我们就来看一下 react 的 一个代码到底是怎么样的。我们从零,我们来手写一个 react 代码。好,大家跟着我的脚步,我们一起来看一下代码, 这里我们全部代码都已经在评论区给大家准备好了,我们大家只需要留言领取就可以了,我们来看一下整个的一个代码。首先最上面这部分我就不多说了,我们导入各种包, 其中这行要注意,这行就是导入我们的提示词,在这里我已经给大家准备好了这我们的提示词,我们需要修改的是哪?需要的修改的是我们这个当前目录,修改成你自己的一个目录,其他都没有任何问题,都不需要改。好回到我们这个代码里了,我们先来看一下最终的一个程序,这是我们最终的一个程序, 这个就是我们一个参数叫做什么?我们那个路径,我们在这里可以看到我们的路径叫做什么 snake, 我 们最终输出的时候要把 snake 给输入进去,这是我们第一个的第一个参数。第二就是我们的工具,我们工具在这我可以看到一共有三个, 我们可以来看一下,叫做第一个就是我们读取我们的文件内容,第二就是我们把指定内容写入到文件。第三个就是我们执行终端的一个命令,我们一共只有这三个 工具就足够了,就足够我们写入一个代码了,我们来去回家看。那么接下来就是我们最重要的一个地方,就是我们这个 agent 的 一个主程序了,就我们 react agent, 它里面一共有什么?有三个参数,一,第一个是我们的工具 tos, 我 们已经给它过了模型,我们使用 gpt 四 o, 我这个路径是吧?我们这操控的路径也已经,我们在我执行的时候会写入,下面就是我们的一个输入,对不对?我们的任务是什么?最终返回的是我们的 final answer, 就 我们最终答案,我们把最终答案给打印出来了,这就是我们的主程序。上面我们这个地方我们就不看了,我们来看一下,往上看哈,我们来看这个地方, 我们来看一下这个 a 键的,这个好,我们来去看,往上看。好,我们来找到这 大家可以看到我们这个 react 是 我们自己定义的一个函数,自己定义的类,我们来看一下这里。首先 第一个我们这个地方,我们把一些什么模型,一些路径,还有我们的 open ai 的 一些参数提前都给他准备好了,是不是?我们一定要记住,我们里边只有这一个是需要我们输入的,其他的我们都需要已经提前设置好了,比如说我们的 open ai 的 api key, 我 们在 e n v 里边已经写好了,这是我们的 base 来, 但如果你跟我的不一样,就按照你自己的来就行了,如果你想使用别的模型,也可以进行适当的修改。接下来我们运行我们 run 函数,就是我们这个运行 a 帧的这函数。在这里 message 就是 我们这个提示词,这个提示词里面一共包括两个,第一个叫做系统提示词,这个系统提示词就是我刚给大家演示的这一块, 这一块是什么?就是我们的一个问题,这两个就是组成了我们的一个提示词。接下来是我们最重要的一个部分,也就是我们 react 的 一个核心部分,大家可以我们看这个 v 循环成立的一个是处对不对?那一直一直循环,直到我们在这里可以看到哪个地方结束,如果是 final answer, 它就去终止了, 我们一定要记住这个地方。所以说我们来看这个循环。首先第一个是请求我的模型,然后我们模型就会根据我们的系统提示词和我们的用户的问题进行思考,思考,我可以看到我思考之后,他就会判断你是否是是 action 还是 find answer。 如果是 action 我 们就往下走,先在这里我们就先不看它,因为我们检测到 action, 我 们就往下走,我们就会执行相应的工具。 在这里可以看到我们把我们在这一步输出的结果也写入到了哪,写入到我们的 message 里面了,也写入到我们是什么,写入到我们的提示词中,所以说我们大模型在进入到下一轮思考的时候,是能看到我们上一轮的答案的, 那么我们大模型能看到答案和我们的问题和我们的一个思考,我们就可以进行下一步思考,判断是否是 find out, 一 步一步直到它判断最终是 find out, 因为我们每一次都会看到上一步的思考结果,我们总有一步是会看到我们已经思考完了是不是?所以说最终就会判断我们输出是不是返回,如果是我们直接返回结果,大家一定要记住这个是我们最重要的一个部分。好,在这里我们已经整个的代码流程就是这样的,我们来给大家简单来执行一下我们的代码。好, 这代码问题我在这里我已经执行过了,我先给他删除掉,我先给他演示一下,我来看一下,演示一下这代码已经非常简单的,在这里我在浏览器打开可以看到我们这个贪吃小游戏还是非常简单的,我们可以运行一下。好,可以看到他是能够跑好,可能是我这个他这个给的方块不太好,我们来重新执行一下。 好,可以看到是有加的,我们基本的一个能力是有的,我再不再多给大家演示了,我们把这个删除掉,重新来做一下。好,现在我的这个 snake 里边是空的,在我们在终端里边执行一下它就可以了。 那大家看到我们是 python 点 a g 的 dy, 就是 我们执行这文件,后面就我们的参数 snake 回车就可以了。 我们要输入任务对不对?我们把任务输入进来,我们的任务就是什么,好,我们的任务就是把这个任务给它复制过来,我们写一个贪吃小游戏等等那些东西给它复制过来,好粘贴回车,那接下来他就会请求模型等等那些返回结果,我们稍微耐心等待一下, 大家可以看到,在这里我们已经找到,我们开始创建,开始写入了,对不对?写入成功,我们来看一下,现在已经开始有东西了,我们来等待一下他调用的输入的这个工具,好,我们已经创建好了,我们来执行一下这个代码,看跟刚刚一样吗? 他发现跟刚刚的还是不太一样,因为我们是大魔仙,帮我们执行肯定是每次都不一样的,这个好快,这个还是没问题,还是可以的 好,大家可以看到吗?整个的一个代码还是没有问题的,如果大家自己可以写一下别的游戏,比如说刚的俄罗斯方块, 如刚刚是不是写失败了?可能是模型的一个能力原因,如果说我刚刚使用的是千万,那如果说我使用什么,使用 g t 四 o 可能就会不一样了,这样给大家相当于给大家留个小作业,大家可以自己去尝试一下,使用我们这个代码来写一个小游戏。 好,我们这个代码就讲到这代码整体来说还是非常简单的,还有一个点我刚忘讲了,在这里大家可以看到吗?我们为什么要写什么?要有一个请问,因为我们终端还是比较重要的,我们一般我们 aint 只要有需要执行终端的一个命令,都会需要行我们用户的,这样才能保证我们整个的一个电脑的一个计算机安全。 好,我们这个代码就找到这,如果你想要这个代码,呃,完成你自己的小游戏,可以直接在我们评论区领取就可以了。好,我们继续往下看。接下来我们大模型就只有 react 一 种模式吗?其实不是的,还有很多种模式。我们再来给大家讲另一种模式叫做规划并执行,它叫做什么?叫做 play and execute。 其实我们很多种,我们这个而且都使用它,比如我们科索,或者说还有 tree, 还有很多个,而且它使用的都是我们这个呸 and sq 的。 把我们的一个大任务拆解成很多小任务在执行我们计划并执行,如果感兴趣可以来到我这个 get up 给他准备的网页,我们可以自己去看一下这整个的一个到底是什么意思。 好,我们就在这里我就不再给大家多讲这个他一些含义了,大家只需要知道我们是先计划后执行,把一个大任务拆分成小任务并执行。我们这个 ag 并不是只有这两种,一个运行模式还有很多种,我们今天就只挑这两种我们用的非常多的一个类型。 好,我们来看一下 play and execute, 我 就不给大家演示代码了,我们直接来看一下它这个运行流程图,在这里我们还是这个 a g 呢,肯定我们想看这个 play and execute 这个流程图,我们肯定不能把它当成一个整体,我要把它拆分成,在这里我给它拆分成四块儿, 第一个叫做 play and 模型,第二个叫做 replay 模型,然后执行 agent, 还有 agent 的 主程序,在这里大家发现一个叫 play and replay, 这个是为什么?因为我们讲的是我们 lunchroom 里面的 play and execute, 它是会根据我们的计划运行状态,并且实时的可以进行对我们的计划进行一个更新, 我们通过思考之后进行更新我们的计划,所以说我们会有一个 play and replay, 如果你现在不理解,没问题,等会我会给大家演示我们的流程图,你可能就了解了。我们来看一下我们把演示来到我们整个的一个流程。首先第一个用户还是先问问题, 在这里我们问的是我们美国总统的家乡在哪?现任我们都知道是特朗普对不对?但是我们大模型他不一定知道,因为我们没有给时间。 好,我们让他给出我们的计划,执行计划,计划如下,我们来看一下好计划是第一步我们先查询当前的时间,然后第二步根据我们查询的对应时间,然后得到我们美国总统的名字。第三步就是查询我们这位美国总统一个家乡,一共这三步来 继续往下看,我们接下来就执行第一步了,对不对?第一步执行完毕之后是结果如下,那么接下来我们就要把 这个这个执行结果和我们之前的一些东西给到我们大模型这两个模型,如果这两个模型我们只是分开了,其实 你用一种大模型也是一样的,只是我们他他做的事是不一样的,你可以是一种大模型,比如说我们都用 g p t 四 o, 可不可以?他两个都可以用 g p t 四 o, 比如说 g p t 杠四 o 他 都可以用这个,只是他两个的功能是不一样的,所以说我给它拆分开了, 让他给出一个新的一个计划。好,我们有了一个第一步的思考结果之后,把这些东西都给到我们 replay 的 模型,它就会生成一个新的执行计划,这个新的执行计划如下,我们就会干嘛?就会重新的执行,一共要执行几轮?大家想想一共要执行三轮,因为我们刚刚他给的我们计划是不是用了三个?所以说我们一共要循环三轮, 大家是不是还是觉得特别笼统?还是觉得我们这个浏览图不够详细?其实是因为大家对我们 replay 这个模型可能是没有实操过。我们来通过一个刚刚就是这个问题,我们来演示一下整个的流程,我们来看一下。首先 我们先来看第一轮我们的问题是什么?我的问题是特朗普的在我们限制美国总统的一个家乡是哪,是吧?我们给了个计划,这是第一个计划是吧?查询当前时间的那些东西。我们把这计划给到大模型之后,他第一步的查询结果,这不是我一个问题,我没有写他这有个问题,查询结果是在这,我们是不是有一个什么一个历史执行结果记录, 那么我们这个历史记录要和我们这个执行计划加上我们的问题一起给到我们这个 replay 模型,然后他就会给我们第二个执行计划, 你看到吗?是不是每一步的一个计划都不一样,是吗?之前是查询当前时间,第二步是查询对应日期的一个美国总统名字,在在这里我们变成了查询二零二五年八月美国总统的名字,是不是接着我们看第二,我们还是把我们这个计划执行,通过我们大步型执行之后,找到提交任务返回的结果,叫做特朗普, 好,这个应该也是非常简单的,对不对?接下来也是得到我们一个历史执行记录,是查询当前的一个时间,等等那些东西得到一个特朗普是不是那么好?我们这是我们第二次的一个第三次,跟之前也一样的,把我们这个问题和我们执行计划和我们的执行记录给到我们大模型,大模型是新的一个执行计 划,看我们第三种是干嘛?把我们的第三步的执行情况,是吗?得到一个历史执行记录,是不是 把我们把这用户问题,我们第三个执行计划和我们历史执行记录。我们给到大屏幕之后,大家想一下这个问题我们还需要 replay 吗?是不是我们已经可以得到 final answer 了?所以说得到一个最终答案,纽约, 我们再回来,我们刚刚这个理论图,我们再来重复来看一遍。我们先用户问我们这个总统的家乡在哪?好,问完之后我们给出一个计划,计划一共一二三,是吧?我们执行第一步的结果,我们把结果 和我们的问题,和我们的什么呀?和我们的计划给到大冒险,又重新生成一个计划,然后循环执行,直到得到一个最终的结果。啊?最终结果答案如下,是什么叫纽约对不对 啊?这个就是我们的 ray pay and execute 的 一个模型,一个运行模式,不能叫做模型。我们今天其实主要讲的就是这些,我们今天从零出发,把我们的 agent 的 这个词拆成了看得见读的懂的一个代码,而且我们自己也可以用得上。 我们先理清了我们第一步干嘛先理清了我们这个思路, agent 它不是一个玄学,而是我们大模型加工具加四个框架的一个智能体。 我们再拆解了 react 的 这个运行方式,想一步做一步,再看一步循环,我们再把它翻译成一个代码的形式,我们亲手跑通了一个 agent, 是 不是? 我们接着又讲了我们 a g t 的 一个另一种模式,呸! and execute 用先想玄学,后分布落地的一个思路,让我们复杂问题也能够轻松的一个拆解, 对不对?最后我们留下了一把钥匙,我把这个代码已经给他准备好了,你自己改两行跑起来,你就有了一个自己的一个 ai g t 概念原理,代码模型都已经到位了,下一步就轮到你了,把我们今天学到的一个知识变成你自己的一个生产力。好,我是阿水,我们下期再见。


这是瞎搞啊,昨天做了一个这个东西,嗯,算是一个 agent 的 管理面板。嗯,昨天做完了以后,它其实只是把框架做出来了,然后呢?也联通了,联通了以后呢?其实是一个,嗯,怎么讲?是 看着这里有,其实有连这个大驴一共有七个 agent, 但实际上它们是一个, 你给谁说话?他只是人格不一样,但所有的记忆都是共享的。那今天呢?我又开始在优化它了,然后上一个视频发出去以后,有很多人找我要这个东西呢,我说这个东西现在还没还没弄好呢,弄好了以后再给大家吧,要不然给你们了以后这东西 不太好用,把人用的懵逼了,怎么办呢?对吧?我们要最终的效果是什么呢?就是这一个人去管理这六个人啊,这六个人有不同的人格,不同的任务线啊,然后不同的工作分工。然后这里的任务面板呢,也是真实的任务面板。那现在呢?它其实是虚拟的,它是虚构出来的, 也就是说我把它重新优化以后,所有的这些责任的在执行命令的时候,在线的就在线,不在线的就不在线,忙碌的就忙碌,他是什么状态就是什么状态。然后这里的面板有几个任务在执行,什么任务已经完成了,然后他都有 非常实时的这种反馈,而不是现在这个,他只是给了一个面板而已。那我把这个整个的逻辑已经 今天呢已经优化了好几版了啊,已经优化了好几版了,然后还有人给我提意见,说这个,嗯, ui 不 太好看,我觉得这个其实无所谓,等把整个的框架搭起来以后,底层逻辑跑通了,跑剩了以后, ui 修改起来我觉得应该不是什么难事啊,到时候征集一下大家意见,觉得应该做成什么样子,征求大家的建议 啊。这个今天已经在这会已经在修改第四次了,已经跑了十一分钟了,再修改了, 大家有什么建议也可以在评论区提出来,然后我根据大家的需求,然后把它改一改,因为这个东西做出来以后,我肯定是要免费送给大家,让大家去体验的啊,大家可以提一下建议,想要什么功能,对吧?

hello, 兄弟们,本期视频以我们上期介绍的 submitant 为基础,继续首搓,我们的 submitant 将是临时派差,把复杂的任务细节隔离出去,办完只回一段话。但是有些任务不是一次性的, 它需要固定的角色长期写作,有人写代码,有人审查,有人查资料,有人负责调度,这就是我们。今天的 submitant 是 派一次差,而我们的 submitant team 呢,是养一只班底。那我们就先来看一看为什么我们的一次性能力不够,需要引入我们的一次 team。 subagent 适合一次性的读文件,查资料,跑代码,它的价值在于隔离上下文,让我们的主绘画不被大量的工具输出所污染。 但是如果我们要做一个 demo 项目呢?我们的流程就会变成 coder 写代码,然后我们的 reviewer 检查代码,检查完之后得到我们的 review, 然后我们的 coder 根据 review 再进行我们修改。我们的代码修改完之后再让它审查一遍,审查完之后才会交给我们的 leader 进行汇报结果。这时候我们就不需要派一次了,而是需要他们长期的,固定的在我们的队伍里面。所以我们本期要解决的问题是如何从临时派工升级到我们的持续写作。接下来我们就先把我们 submitant 和我们 etum 的 边界讲清楚。 submitant 它的生命周期很短,它会创建独立的上下文,然后执行任务,执行完任务之后返回总结,总结之后就会销毁, 所以它就很适合执行我们的探索、搜索、批量读取、拼发、跑工具这些任务。反观我们的 agent team 呢,它的生命周期就更长, 它们会招入队友,然后工作,工作完之后就会进入空闲状态,事后仍然可以接收消息,而不是被销毁。所以它关注的不是单词任务隔离,而是长期的组织写作。这两个能力都不冲突,一个成熟的 agent 可以 同时拥有它们。 总控管理固定的团队,固定的队友,遇到临时的探索,他们也可以派出 sub agents。 接下来就让我们看一下我们的 agent team 在 结构上长什么样。 agent team 不是 把模型调动堆在一起的,它至少有一个总控,一组固定的队友,以及一套通信的方式。总控呢,就负责理解目标,拆任务,召入队友,发消息,然后读回并,然后进行最终的汇总。 每个队友呢,就在自己的县城里独立运行,办完当前的任务之后再回到空闲的状态。在我们这一次教学实践里,我们的通信系统也是非常的朴素,我们每个成员都在这里有一个单独的节省的文件,发消息的话就是追加一堂节省,然后读消息的话就是读取,然后清空。 那么接下来我们就把这个文件邮箱的实线拆开出来,看看我们这里每个队友之间的异步通信,就不引入数据库或者是消息队列了。我们就用最简单的一人一个接收的文件来模拟我们的收件箱,这就是点 tim 文件夹下我们的接收文件模拟收件箱了。 这里我们就看一个简单的例子,我们的 leader 给我们的 alice 发了消息,就让他请检查 bug, 这样的一个消息呢,实际上就是在我们这个 alice 点接受的文件中写入了一行接受,这行消息包含了我们四个核心的子段, 我们的 type, 还有我们的 form, 还有我们的 content 以及我们的 time step。 我 们的 alice 在 读的时候,它会依次全部读,然后把它解析成列表, 之后就把文件清空,这样的话同一条消息就不会被重复处理。我们的发送读取机制简单来说就是两句话,发送就等于追加,读取就等于清空。那么好,我们讲明白了这个异步通信机制之后,我们再来看看我们团队中每个成员是如何定义的。 在点 tim 文件夹下 configure 在 监视文件是我们团队的花名册,这里记录着我们的名字,还有我们的角色以及我们的各种工作状态。 work 呢,就代表我们的县城正在工作, id 呢,就代表它正在空闲状态,然后下当代表它自己退出了,然后 offline 是 怎么来呢? offline 就是 代表我们程序关掉的时候,我们这个角色现成正在处于 worker 或者是 id 等待状态,所以在我们重启之后,它就会标记成一个 offline 离线状态, 这时候就需要我们重新照入角色,他才会处理之前的消息。接下来我们来看看我们队友现成本身是什么。在我们照入队友之后,把他写入配置文件,然后启动他的现成之后,我们的队友就会读取 inbox, 然后把读取到的结算消息添加到他的 message 中, 之后他就会调用模型,通过自己的系统提取词理解当前的拆式,然后使用各种工具执行一下,把任务完成之后把结果回编给我们的主控, 之后把状态改为空闲,就继续等待着下一次消息,然后继续工作。那么我们的总控想管理这么一群队友,一定是要有一组专业的团队工具的,那么我们接下来就来看看这个团队工具是怎么定义的。我们总控的团队工具一共有五个,第一个就是我们的 spouting mate, 用来新建或者是召回我们 offline 的 队友。第二个呢就是我们的 list team meters, 用来查看我们整个团队的状态。第三个呢就是 seed message, 很 简单,就是给我们的每个队友发消息的。 第四个呢是 read in box, 就是 读取我们的队友给我们总控的回禀消息。最后就是一个 broadcast, 就是 群发消息给我们所有的队友,现成发消息给他们同步指令。有了这五个工具之后,我们的主页进程就不再只会是调用工具了,它就开始有调度能力了, 他可以先让我们的 coder 做一些东西,然后等回禀在我们的 reviewer 查,最后他自己再汇总到这里。我们已经把每个部件都介绍完了,把它们合并起来,就是我们 excel 的 四层结构。第一层呢就是我们的总控,我们的总控负责目标的理解,任务,拆解、分派以及汇总。 第二层呢就是我们的固定队友,每个队友都有自己的名字,角色、状态和独立的循环。第三层呢,也是我们团队的花名册,也是我们点 team 文件夹下的 configure, 点接收文件。 第四层就是我们的消息总线,也就是我们点 team 文件夹下每个不同角色的接收的文件, 所以我们判断一个多 a 镜的系统是不是 team, 不是 看它调用了几个模型,而是看它有没有成员身份,状态记录、通信机制和调度者,完整的拥有这些,它才能称为 a team 的 team。 好 了,接下来我们就最后来看一下我们 a team 的 team 运行的完整链路吧。首先我们的用户告诉我们总控需求就是组建一支小队,让 alex 写代码,我们的 bob 做审查,所以我们的总控就照入我们这个 alex 角色,他的身份呢就是 coder, 然后他还招入了我们这个 bob 的 角色,他的身份就是个 reviewer 审查嘛。然后在我们的 config 文件中写入了我们的 alex, 还有 bob 两个角色以及它们的状态。 之后我们的总控就给我们的 alex 发消息,让他写一个 hello 点 python 文件,我们的 alex 读取得他的 inbox 之后,知道了这个任务之后,他完成了我们这个 hello 点 python 文件,然后回禀给我们的总控。 我们的总控读取到爱丽丝的回禀之后呢,他就把这个任务又派发给我们的报部,让我们的报部做审核。报部审核完之后,他就把任务回禀给了我们的总控,我们的总控最后就把消息汇总发给了我们的用户。这样一个完整的闭环就完成了。 任务就是靠我们的消息来流动,状态就是靠我们的 confirator 来看,成员呢就是靠现成的持续来等待。到这里关于我们 agent team 理论知识讲的差不多了,接下来我们去看看这个 agent team 运行起来到底是什么样的。好兄弟们来到我们上期分享的我们的进阶实战项目中,给大家演示一下我们 agent team 的 效果, 这里我们就简单搞一个题目,让我们的 alice 做 coder, 还有我们的 bob 做 reviewer, 让 alice 写一个文件,让我们的 bob 检查之后回禀,看看这个效果是怎么样的。首先我们的总管就招入队伍了吗呢?派入了我们两个队伍入队,让我们的 alice 去写这个文件了, 不啦不啦不啦。写好了,你看向我们的总管汇报,泰式办妥,然后我们的总管派我们的 bob 去检查了, 嗯, bob 正在检查这文件内容,三项全部通过,然后我们的 bob 跟我们的总管发送消息,然后我们的总管通过这个 read in books 读学了这个文件,向我们用户进行了汇报,你看流程,我们的指引,然后我们的总管拆解了 爱丽丝,写了这个玩意什么什么的,然后呢报补审核了一下他的结果啊,确实没有问题,之后发给我们的总管了,那总管就向我们汇报了,你看文件存在通过内容正确无误,然后运行正常,然后说他俩配合默契。拆实,办妥了,让我们让他把队伍解散吧, 你看他调用这个工具查看我们队伍的状态,然后下档,下档大家关闭了,我们的程序员,还有我们的审核员啊,都已经遣散了,这和我们共享中的流程也是一模一样的,这里就给大家简单演示完了,演示完之后就来到我们的仓库中, 这就是我们的教学项目,如果你想找到我们今天的课件啊,还有文件啊,都在这里面扣这儿,你看这里零九就代表我们的 excel 的 简单视例代码可以帮助大家学习,然后我们的 doc 中的这个对应的零九的 md 文件啊,这个就是我们的学习文档,你可以对着文档和这个简单的代码实现,然后学习一下我们的 excel team, 之后如果你想要课建的话,那 ppt 这里也是有的。我们第六期 excel team 的 最后,如果你想要体验一下刚才代码演示的那个项目,这个就是我们的 emperor agent, 我 们的皇帝智能体也是在这里的,我也是同步的把我们 excel team 的 那个更新提交上去了,大家可以把它拉下来 感受一下我们这个智能体。这个智能体你只需要配置一个 deepsea 之类的密钥配置上,然后就可以自己在本地玩一下了。 ag 呢,主要的功能我们都是玩备的,我就会在评论区中把我这两个项目的地址 发出来,然后大家如果感兴趣的话,就从这个评论区点链接进来,如果大家方便的话,就给我每个项目这里点个 star 订阅,那么好,那本期视频到这里也就结束了,如果大家喜欢的话,那就一键三连吧。

今天给大家讲一讲关于我们的这个企业 ai 服务,然后这个 ai 智能体的框架选择什么问题,因为最近遇到好呃,好多客户都在一直在讲,我们到底是用龙虾还是用黑麦丝,还是用扣带丝,还是用什么啊?多人对于这种选择还是存在一些这个一些疑虑,当然这些东西它是没有对错的,它跟这个很多人的体感是不一样的。 那在这里的话,其实现在为什么没有放弃龙虾?因为龙虾要可口乐,在尤其是上个月吧,这在频繁的更新,然后频繁的出一些问题,包括 ktv 启动不了啊,经常会掉线啊等等这一系列的问题,劝退了很多。我昨天还看到了一个报道,就是他的热潮好像已经降低了百分之九十九, 现在不养虾了,反而是那个黑门士就是养马去了,就是他的热度开始在上来,包括现在的这个 ga 啊,很多这样的一些框架开始在出来了,那大家去怎么去选择?嗯, 无论是龙虾也好,黑米色也好,还是科特斯也好,包括现在国内的有很多这样的框架,比如说都美的啊,然后这个啊, workbaby 啊,这些都是面 a 镜头的一些通用 a 镜头框架, a 镜头工具,它都是可以为企业然后做这个 ai 板工、 ai 自动化的这样一些框架的,可以去搭这些东西。对,然后我 没,我现在其实还是更偏向于龙虾,最主要的原因是什么呢?龙虾它,它其实它是一个类似于 a 镜头的一个操作系统,它现在的生态是非常丰富的,现在的这个插件也是很丰富的,就是我们可以去开发插件,我们可以去开发这个 skill 啊,去定义很多的这个工作流,我们可以去做设计,但是它确实是在记忆 这一个板块的话会要差一点,那不差一点是和 uh, 和 a g, 和那些其他的 a a 镜头,然后一起来的话。嗯嗯,友好于个人,尤其是以 o p、 c 或者个人来使用,因为他们要去你的这个记忆框架啊,去形成你的 skill, 基本上就是不需要你用太专业的那些解释词,然后来去设计 skill, 它是会自动去总结一件事情, 自动形成一个 skill。 但是这我反而会觉得这样的一个 skill 可能在企业端来讲,在业务场景来讲可能不一定是最好的,因为自动总结的这些形成的这些时刻意味着他就没有后期的维护啊,就不太因为要的我们在企业真实生产环境里面要的是确定性啊,如果你这里面你每天修正一点,他这里面就有很多不确定性,如果这里面没有办法去获取预期的话,使你整个系统产生漂移。 所以说这是我不太觉得这些工具对于这种便利性啊,能够适适适应这个企业的真实环境,尤其是一些业务比较复杂的这种环境。我反而会觉得像龙虾这种,他属他,你用,你让他拥有什么东西都可以用外挂啊去完成。他不是他自己本身的这套系统,他是通过外挂,通过插件,通过其他的,他现在足够的这种生态足够开放, 对,可以去做很多定制化的东西。对,这是我对于这三者呃的一个我的自己的一个主观感受和一些看法。那另外呢?其实现在有很多啊,你都开始转向于这种通用的 a 景的框架啊,像那个阿里 前段时间才发布了一个他的 qd 一 点零啊, work 啊,也是这个现在,以前他本来是一篇这个这个编程的,现在呢?他也开始往这个桌面 a 的 这个去做,包括自己的群,还有这个腾讯的 app, 还有百度的这个都没得,他们都是开始往这个方向走。那现在包括什么 啊?这个 qx, 然后 cc 等等这些他都可以去帮我们去处理一些过程面上的一些事情。那我们怎么去设计他,怎么去搭建他,那这个就是我们需要根据这些你的业务场景,拿到这个标准化的工作流,来借助这些工具去完成我们的这个业的 ai 的 一些搭建。对,这是我对于这几个工具,然后一些看法也给大家去分享,因为这也是最近遇到问题反馈比较多的一些问题啊,给大家去分享到这些。