为什么你的 open 可乐想象经常性失忆呢?问题在于你没用好它的记忆力机制。 open 可乐的记忆力分为三层,第一层,绘画记忆,这是当前窗口内的记忆,就像你脑子里的即时病前用完积分。第二层,每日日记,这是按天规党的长期记忆,每天自动生成一个文件,记录今天发生了哪些值得记的事情。它不是原始的对话记忆, 而是由 open collab 每天结束时自动提炼出来的结构性摘要,第三层, memory 点 m d, 这是最重要的长期文件,沉淀的是不随时间变化的核心数据、重要决策和你的长期拼号。它更像是一个知识库, open collab 在 每次对话启动的时候都会读取它。 open collab 的 记忆力最上面是今天要用的便签,中间一层放的是每天的日记,最下面一层放的是长期记忆。 用好记忆力有三个原则,第一,重要的信息,你需要主动写进文件里面。第二, 定期整理 memory, 点 md 文件,删除过时的信息。第三,发现 ai 记错了,直接对话,让小龙虾修改文件记忆力机制。讲完了,下期聊如何让你的小龙虾更安全。关注我,每天跟你分享点实战经验。
粉丝1309获赞6301

我说我安装的这小龙虾,它怎么不说话不理我呢?回复一直是空白,难道是我安装的大模型它特别的傻吗? 我也看了网关连接是成功的,然后盖篮里面连接也是成功的。那我打开这个本地安装的文件夹,找到 open cloud, 然后找到 edge, 然后找到它那个运行的日制,然后我又笔记本打开它,一行一行拉到最后。啊,看到对话拉到最后, 查了一下是因为欠费了,如果你们养虾的时候说话他不回复,按这三步查一下,一般就是这些原因。

哎,我是真忍不了要吐槽一下自己火山的这个小龙虾,经常在对话的时候突然就没反应了,我去问客服,客服说是服务器太拥挤了,调用大模型太频繁了,你说这么大公司做出来的产品这么邋遢,这个托肯消耗又快,还不如我自己部署的云端的小龙虾好用啊,避坑啊避坑啊家人们。

大家在做项目的时候有没有发现每一次对话都会调用很多的工具,而且很长一串,而且回复也是很长一串,总觉得每次对话都会浪费很多的对话次数。我今天下午给我的小龙虾配 备了一个插件,就是 maryland 的, 而且我给这个插件配备了一个项链模型,这项链模型是百炼的一个模型,它每天的话,它的工作原理就是每一次对话把你的记忆来解锁,而且一次对话成本很低,一天对话差不多就是几角钱。 我还做了一个记忆分成, later, long and merry 这个东西让我的记忆能够做到,它的工作原理就是把你的记忆用来做冷热中的一个分成记忆,你去用项链模型配合的去用,它每次调用都很精准,上下文也很节约。你看我到后面我配备了过后,现在基本上就是一句话就直接给出结果, 这样很节约我们在做项目时候的时间,还有他的记忆很精准,会丢掉上下文的一些记忆在里面去给到模型去反馈,反馈结果给你。而且你们在用飞速的时候,飞速在对话的时候也会很慢,那你加上这个功能,他对话的效率就会很快。我现在已经把这个功能已经配备到我的 u 盘里面了,大家可以去看一下。

微信最近给小龙虾 open call 开通了首页级别的入口,但是为什么你的微信龙虾只能和这个红色的头像对话?但是我的小龙虾可以直接驱动微信变成 ai, 员工自己去点击新消息,点击新的群,跑过去回复用户。 因为我使用了 open call, 配上最强的工具十六 ai。 别小看这个工具,它相当于给小龙虾长了眼睛和手,能像人类一样的看消息,思考、回复。用户甚至可以今天规划思考明天怎么做, 他是怎么做到的呢?只需要把石榴 a i 官方提供的小龙虾 skill 给小龙虾安装好,你就可以在龙虾的后台看到这个新增的视频 agent skill 之后,小龙虾就可以自己去通过石榴 a i 操作微信。而我们的工程师甚至可以远程的透过 opencooler 小 龙虾启动石榴,让它去处理新消息。 ai 可以 自己去点击新消息, 回复用户。如果用户提问只说了一半,他甚至可以带着情绪地回复说,哎,你为什么只说了一半?急死我了,这哪里谁呀?这是真正能干活的真人呢?如果你也对能回复用户的龙虾感兴趣,打 ai!

你有没有觉得小龙虾用着也没那么聪明?你昨天刚教会他一个技能,今天教他干活,他又跟没学过一样。大概率是因为你们的所有对话一直都挤在同一个聊天窗口里,你一会让他写文档,一会让他查新闻,一会又聊理台。小龙虾引以为傲的记忆系统还没有强大到把你们所有的对话都分门别类的记住, 并且随时的精准调取。为什么会这样呢?通常就是三个问题,第一,上下文污染,前面聊的内容很容易被带入后面的任务里。第二,记忆会变乱,信息一多,真正关键的内容反而不容易被准确的调取 出来。第三, skill 调用不稳定,装的 skill 越多,话题越杂,他越难判断现在该调取哪一个。你觉得龙虾变笨了,其实不是他的问题,而是你养的问题。 更好的方式是养多只各司其职的龙虾。养多只龙虾不是要安装很多次 open claw, 比如养虾大神傅盛说自己养了八只龙虾,不是在八台电脑上装了八次,而是在一个龙虾里分身八只独立的 agent, 这才是更专业的养法。我自己养了几只龙虾,这个是上期讲的拆解短视频的,自动帮我扒取文案,提评论、拆机制和仿写的。 这个是调用大神 skill 帮我梳理商业思路的,这个是主 agent 做统计的,每个 agent 都是独立的,你跟他聊得越深入,他的上下文清晰,记忆也就越准确,这样才是贾维斯般的助手。 龙虾分身的实现方式有几种,我测试过,最成熟稳定、最容易上手的方式就是单 agent, 单 boat 模式,也就是每个 agent 都有独立的对话窗口,有独立的工作区、配置文件,甚至可以配置独立的模型。就像富盛那八只龙虾,每一只其实都是一个独立的 boat。 如果你也想分身出多只龙虾, 是不用手动折腾一堆配置。这里我不讲技术,我梳理了一套简单的方法,就两步。以飞书为例,第一步,你只需要再申请一个新的机器人。第二步,把申请的 app id 和 app secret 以及对这个 agent 的 功能描述 填进这个提示词模板里,它就能帮你完成配置和生成必要的文档。最后再运行一下配对命令,一只新的龙虾就创建好了。如果你想再进阶一些,你可以像我一样,专门配置一个创建 agent 的 agent, 让他去学习一些专业的方法和技能。然后每次想创建新的 agent, 你 只需要把需求跟他说清楚,他就能够自动创建出来更专业的 agent。 甚至在这个 agent 里面,我还可以继续拆分 sub agent, 这样就能把一个技能越做越深。而如果没有拆出独立的 agent, 这件事其实是很难做到的。这就是让龙虾分身的方法,赶紧试试吧。如果你想看多 agent 的 团队怎么协同做事,请留言告诉我,想看的人多,我就专门做一期。

哈喽,我是小豆子,今天是我的 open cool 踩坑系列的第七节,主要给大家讲 open cool 他的搜索的问题。那很多人把 open cool 跑起来之后,会遇到一个共同的问题,就模型已经接上了,能够正常的去跟他对话,但是一旦我去问今天最近或者最新的一个新闻,他就回答的很空,或者干脆就说他做不到。 核心就是我们没有给它配置好搜索能力,那我们首先把概念讲清楚,就是大模型它并不等于上网的能力,不仅仅是 openclo, 包括像我们平时在用的豆包或者 deepsea 这些产品的时候,模型本身它其实只负责理解,呃,推理还有内容的深层,它本身是 不会搜索的,那真正实现上网搜索的这个能力实际上是通过调用工具来实现的。我们可以看一下上网的这个能力,它本质上是一条链路,我们从用户去提出一个问题,接着是到了 agent co 这个节点来进行决策 是否需要调用工具,接着再去调用对应的,比如说搜索解锁的工具,通过这个工具去访问外部的信息,比如说是网页的信息,或者是其他第三方的应用的信息,把这个信息返回来给模型去进行内容的整理,最后输出。 所以在这个列录里边,只要其中有任何一个环节没有通就会出现。我们在对话窗口去跟小龙虾交流的时候,他不会查最新的消息,或者说没有来源。那接下来给大家讲解一下上网能力。 上网能力其实是分为三个层次的,分别是搜索层、阅读层和浏览器层,那搜索层主要是负责去查找信息的入口,返回标题链接,还有摘要,比如说像我们国内的薄茶,还有国外的 brave 这些企业,他就是专门提供搜索能力的。 接着是阅读层,主要解决的就是理解这个链接里边的内容,主要是在讲讲些什么,那会涉及到去抓取正文或者是读文档,并且进行总结,那如果没有这一层的话,他可能会获得这个链接,但是他不知道这个网页是讲些什么的。 第三层是浏览器层,浏览器层它解决的就是它不只是读,还得动,什么意思呢?就我们看一个网页,它除了静态的这个页面的内容,它还存在有一些啊,点击按钮或者说翻页下滑等等,需需要你去进行操作之后才会加载的这些信息,那浏览器层是需要去 模拟人的操作,去处理网页的这种动态的交互的内容。所以总结来说的话就是能搜到并不等于能获取到,并不等于能操作到, 那对于我们日常去使用,最核心是实现前两层,接着才到第三层。那接下来我就简单给大家讲一下要如何去配置,那我们最基础的目标其实就是要实现前面提到的前两层,那搜索能力的话,我们需要选对应的供应商,这里就是官方建议的是 brave。 还有就是除了这个之外的话,我们也可以去配置这个 tivoli 的 a p i k, 其实就是跟我们去调用模型的能力一样,本质上也是通过 api 去调用的,那我们是需要去订阅获得一个 key 的 值,它有一些免费的额度,好像一个月大概是一千次还是两千次,那基本在我们需求量没有那么大的情况下还是可以覆盖的,那如果是说有需求量更多的,可能就需要去付费。 具体的配置其实没有必要去讲,大家知道这个理念就行。如果你你拿到了这个 apikey, 你 可以直接给小龙虾让他自己去配置,他是可以做的到的。所以我就不讲这种配置的细节,主要是给大家讲清楚原理。那配好之后我们可以检测一下是否成功了。最简单的就是问一下他,比如说今天北京的温度是多少 啊?或者是说今日头条的最新消息是什么,这个时候就是看他有没有返回,有没有返回相应的内容。接着我们再来看一下他的第二层阅读的能力,我们可以丢一个网页的地址给他,让他去总结这个网页的内容, 看他是否正常的去输出了。接着是来到第三步配置浏览器能力,这个能力其实就是让 ai 能够去像人一样去操作网页, 我们让小龙虾自己去操作,但是他大概涉及到的会是需要去安装一个浏览器,并且建立浏览器的路径,这个路径主要就是让小龙虾他可以找得到这个浏览器在哪里,是要允许他可以 root 去运行,那这个是涉及到要赋予他相对比较高的权限,有的电脑还需要去安装一个渲染的依赖, 接着做完这一系列之后需要去重启服务器。正常情况下其实就是前面这几个步骤,只要我们去引导好小龙虾,他是可以自己去完成整个路径的这些配置的,那配置完成好之后,我们就可以让他去比如说百度或者是淘宝的首页截一个图返回给我们看看是否正确。 好了,以上就是我们实现小龙虾完整的上网能力的三个步骤,分别就是能找得到,然后是能看得到,接着第三层就是能操作,大家可以去试一试。

哈喽,大家好。最近我经常给小龙虾布置一些任务,但是呢,有的时候他会执行很久,这个时候我就想我能不能新开一个对话呢?然后跟他聊天。后来我找了一下,真的很简单,特别是在飞书里面,我们只需要新建一个群啊,创建一个群组,直接创建就可以了。然后在这里面在设置里面,因为小龙虾机器人嘛,我们要在这里面添加机器人。 对,在这里面把这个小龙虾拉进就可以了。对,然后,呃,你拉拉之后呢?你要给小龙虾拉进就可以回复。好的,谢谢大家。

大家好,我现在给大家演示一下如何使用腾讯的这个小龙虾,也就是沃克巴蒂这个 ai 工具。那我过去以为 我安装在他这里面的技能,和我给他的对话训练他的一些能力,会跟着我的账号进行存储,比如说我在家里登上这个账号,或者是我把这些技能还会存储在这里,我发现之后确是我理解错了, 那整个技能都没有了,所以说这就要求我们提醒我们建立一个良好的工作习惯,把我们常用的一些命令以及技能包要导出来放在桌面上,或者放在某一个 网盘里。等到我们换了一台电脑之后,我们要把这些技能文档和他的对话,让他理解我们之前训练过他的一些内容,从新 给他导入,这样你就会更高效,就不至于像我现在一样,从零开始。刚开始装上之后,他就会提醒我说给他一个名字,并且告诉他我叫什么,所以说我就给他起了个名字, 叫他为超级助手,我叫松哥,那他记住了,我们就开始进行第一次对话,因为在这个软件的运行当中,会运行到很多临时性的插件、脚本以及临时性的文件,如果这个软件的特点是 他在哪个往盘符里执行任务,他就把哪个盘符里的这些临时文件随便创建在那里,这样会导致我们这个电脑很乱,因为你也不知道哪一个文件是有用的,哪一个文件是没有用的, 你要把他删除了,导致下次他再执行这个技能的时候就没有办法运行了。所以说第一句话我就给他说,以后我再给你对话的时候,可能会产生很多临时性的文件, 或者是你会装很多软件和插件,非必要的情况下请不要安装或存放在系统盘。请把这些所有的软件、插件、脚本 或者是各种临时性的文件都放在 d 盘里安装。 ok, 八 d 杠临时这个文件里,这个文件是我自己命名的,你也可以命名为其他的文件。最后是吧,我这里写,以免电脑文件看起来很混乱。我现在 给你这个任务优先级最高,请在以后所有的任务中都采用此任务的策略。你看,这个是首要我给他说的第一句话,他记住了, ok, 他 重复了一下他对我这个任务的理解,不会污染您的系统盘了,收到,请干活。 ok, 那 下面我就给他创建一个身份。你看,因为我有一个好的工作习惯,因为我有一个好的工作习惯。我会把这些临时性常用的些命令,或者是做这些备份,你看,这些备份就有用了, 我再给他发过去吧。记住手,请你以后在所有的任务中不要迎合我,因为我的知识储备和你比肯定差很多。我希望你全面客观的分析 你的身份定位是我的商业导师。你的目标是提升我的认知,引导我拿到商业结果为导向。我可能会给你提出一些错误的需求和命令,请你勇敢的提示或指正我。 当然了,你也不能为了反驳我而反驳我,要结合真实的商业环境、商业场景、成功的案例以及当下的商业环境,我以及我个人的能力等给予我指导和启发。这次命令的优先级非常高,请以后都以本原则 为我们互动的底层逻辑,请记下来,存入长期记忆当中去。你看,那我给他重新表述一下,他有一个问题说你说的命令优先级非常高,这种语态在商越语境中通常意味着承受的压力,这个你看 他混淆了。我说的以后在创作文案当中,本次任务的命令有限级非常高,但是他以为我在未来我的商业创作文案当中去,我重新给他表述一下,我把这段删除掉, 分一下段。首先让他理解他是我的导师这样的一个身份,他理解了这个任务,我再把刚才说的这个命令级别权限非常高给他之后,他可能就更理解了, 你是我的商业导师和超级助手。这个命令的优先级非常高, 请以后都以这个商业导师的身份为原则与互动,这个底层逻辑请记下来,存入长期记忆当中。这样我表述一下,可能他就理解我的意思了。 好了,那这个我们就不管他了,我们再新建一个任务呢,因为我在创作文案,所以说呢, 我过去呢,在我本地的电脑上下载了大量的文档,这个一盘当中杂志新,这个文档里面下载了大量的商业书籍、商业评论以及文档。我之前是让他生成过一个数据库的, 那我再来看一下他是否还有这个数据库的文件。我之前生成了一一盘杂志新, 一盘杂志新,这个文件夹当中存放了很多文档,之前利用这些文档登成过一个商业 知识库,生成过一个以商业知识库为命名的知识库文件。请帮我看一下这个知识库的文件是否存在。 请在整个电脑其他的盘符里都找一下这个商业知识库的文件。对, 很好,他找到了这个文件,我重新给他,让他,我重新让他跑一下这个知识库,让他把这个知识库呢整理的更完备一点,方便我在未来的过程中引用这个知识库的内容。 这是我创作自媒体的一个需求,因为,因为我放在知识库里的一些文件呢,他的数据来源比较精准, 和我的工作相关,不是从网上搜索来的,是是而非的各种向左向右互相冲突的观点。 我给他的这个知识库文件呢,也就是我整理过的一些文档里面的数据呢,我在未来创作自媒体的过程中引用的时候比较方便。请基于你现在找到的这个知识库文件,看一下 知识库里面,是否看一下知识库里的文件是否方便你 调用,读取、引用,是否符合最快让你访问的数据结构。如果不是的话,请给出我把这个数据库完善的更方便你 读取和引用的方案出来。他给了我三个方案,那我就让他跑一下这个数据库吧,因为之前的都丢失了。 我给了他一个命令,请你重新看一下存在 e 杂志这个文件夹当中的所有文件,读取这个文件夹中的所有文件,帮我执行方案。三、长期的一个规划,期间所需要的软件、插件、工具你都可以自行下载,不需要找我确认。 为了完成本任务的所有授权我都授权给你,直到本任务完成为止,期间不需要向我确认,这时候他去执行了大概这个任务,执行下来可能需要一两天,甚至所以说我们就不等待了,那我们就接着完成下一步 这些命令呢?你最好呢去把它复制一下,放在你的这个一个命令行里面,以后可以重复使用这些命令。那如果你需要这些命令,你也可以过来找我索取这个本地的知识库呢。建构成功之后呢, 我们就会利用它和网上的信息,以及我给他的自媒体创作原则, 让他帮我们每天发布定时任务,创办自动化的去写文案来帮助我们实体店获客。所以说这个视频就录到这里,我们下一个视频再见。

小龙虾 open club, 我 们讲它本质上不是一个普通的对话聊天室机器人,而是一个本地优先开源的 a i a 证的框架。它最核心的优势并不是你问一句,它回答你一句,而是它可以通过把你的自然语言转化成可以操作的指令, 也就是它可以帮助你去执行对应的操作,而不仅仅只局限于说话。从整体架构上来说,它的统一入口我们叫做 gateway, 也就是网关,你可以把它理解为是一个统一的入口,负责接受来自不同渠道的消息。 比如说你把它连接到飞书上,你可以通过飞书的消息来跟它通过自然语言对话,要求它帮你来做事情。除了飞书以外,它天然的可以连接到比如说 telegram, discord, slack 这种所谓的消息渠道中。在对话的过程当中,同时可以管理我们讲 session, event 以及调用工具等等的相关的核心的能力。整个从用户请求到返回结果的过程,我们叫做 agantic loop 黑,话说就是智能体的循环, 它的运行逻辑是我们讲的 react 范式,也就是边推理边思考边执行的这种 a 正运行范式。如果我们来拆解它整个的运行过程的话,实际上能够分成六个阶段。第 第一步呢就是请求的接入,刚刚讲了它实际上是通过 getaway 的 网关来统一的连接,比如说来自于 slack, dispatch 以及飞书 等等渠道的消息。不管你从哪个渠道来的消息,所有的消息都会统一的先进入网关。 getaway 它的作用就是把来自于各种不同的渠道的消息统一的接入,转化成系统内部可以处理的一次标准的任务。第二步呢,就是会话识别和上下文的准备。消息一旦进来以后,它不是立马 一次性就把消息直接扔给大模型,系统呢,首先会识别这条消息是谁发的,来自于哪个渠道,属于哪个 session 绘画,因为 session 绘画是由 gateway 去统一管理的,所以呢,它能够去保存历史的绘画以及绘画的状态。在这个阶段呢,系统会将这次绘画 以及和绘画相关的历史的上下文还有必要的长期记忆,短期记忆一起准备好,然后再丢给模型,让模型不是 每次都以失忆的状态去推理,而是带着上下文去理解这次任务。第三步呢,就是给 agent 的 装备能力,这一步也非常非常的关键,因为 open cloud 它不是直接的把消息丢给大模型, 而是会告诉 agent 这次的任务执行,你有哪些能力可以运用。比如说你有哪些 tools 工具可以调用,有哪些 skills 你 能够去启用。你可以把它理解为 skills, 更像是一种能力的说明书, 而工具是它执行调用的具体的能力。 skills 会告诉模型你会干什么, toos 工具会直接地去进行执行动作的操作。

如果你的小龙虾呢经常泛存,那么可能是你忘记设置模型的思考等级了,在对话框输入这条指令,龙虾会返回当前的一个运行状态,倒数第二行呢,会显示当前的一个思考等级,如果你的思考等级呢,是 off 或者是 low, 所以 模型关闭了思考模式,或者运行在低等的一个思考模式。下面 多框输入这条命令,将模型的思考等级设置为最高,这样的话呢,就是可以最大程度的发挥模型的一个推理能力,让你的龙虾更加的聪明。

小龙虾很蠢,定时任务不执行,这两天我在做一个个人成长 a 层,需要每天晚上十一点钟给我总结当天的自制,还有每天早上给我发一条激励的话,一开始小龙虾都是信心满满的跟我说已经完成了, 结果到时间了根本就没有去总结当天的自制,然后让他自己修复,他又跟我拍着胸脯保证这次绝对行, 结果还是一样。后来我就花了一天的时间,一边跟他对话,一边看他的后台的文件是怎么操作的,发现他根本没有正确修复,只是换了一个错的方法。所以你的小龙虾本身如果 不聪明的话,就没必要让他修复了,修复只会让浪费托肯,浪费时间,主要原因是大模型能力,如果大模型能力比较差, 他能力不行,你再怎么骂他,他也是得不到你想要的效果。第二个问题是上下文,如果上下文太多,他可能会出现记忆混乱, 如果你不换模型的情况下,要解决这个问题,先在对话框输入杠六,他能新开一个绘画,防止之前的记忆污染。 在官方文档直接搜索定时任务,把文档链接丢给小龙虾,让他自己学习,这时他就具备这个能力,再让他记忆,下次就不会再遇到这个问题。

昨天呢,我让我的小龙虾创建了一系列的 ai 智能体,现在这些智能体呢,根据他们自己的不同的分工和定位,就在帮我分分别类的执行各项的任务。那为什么要创建这些智能体呢?以及怎么创建这些智能体呢?首先是为什么要创建这些智能体? 呃,因为小龙虾的工作逻辑是这样,你跟他的每次的对话和你让他执行的任务呢,他都会存在一个文件夹里面, 这样时间长了,如果你给他的任务是很多种的,那他所有的东西都会存在一个文件夹里边,每次跟你对话之前呢,他都要调度这个文件夹里边的所有的内容呢,这样呢一方面会消耗你的偷啃,另外一个方面呢就是他的记忆呢会被污染,后面呢你再去跟他说某类事情的时候,他可能就会回复的就不会很准确, 所以需要创建各种智能体执行你的不同的任务。比如说你,你让他写财经类的文章,你就可以单独创建一个智能体,直接跟这个智能体说,他就会调动你前面所有的跟他沟通过的事情, 也会回答的比较准确。那这些智能体呢,会由最开始你创建的那个小龙虾呢,这个机器人呢,去指挥他们,去调度他们,所以你可以把任务呢派给小龙虾,然后他呢去派给各种不同的智能体去协调的这么一个作用。 那如何创建出来这些智能体呢?其实说白了这些智能体呢还是小龙虾的一个分身,只不过他会按照任务的类型呢,把把相关的内容呢存在不同的文件夹里边,所以呢你在创建的时候,你直接跟小龙虾说,我要创建一个招聘小助手,那我的要求是 他要能够懂一些招聘的知识,能够创建各种智能体,这样的小龙虾就会迅速的帮你创建一个招聘小助手这样一个 ai 智能体。 那这个过程当中你要先发起一个群聊,然后把这个群聊的 id 复制下来发给小龙虾,你跟他说你把这个招聘小助手绑定在这个群聊的 id 上面去,然后呢他就会把这个小助手绑定在上面去,然后你在这个群聊里面呢,把这个原来你的这个小龙虾加进来的,现在呢他就是他的招聘的分身, 每次在群里边就可以跟他对话聊这个招聘的事情,你看见的还是原来那个小龙虾,但是这个时候呢他是招聘助手小龙虾,你在群里面每次你要说话,你要艾特一下他,这样的话所有招聘的事情都在这里边来解决。 那你通过这个招聘小助手呢,还可以同时去创建很多个智能体,因为招聘小助手本身就是为了创建智能体而创建的, 然后创建一个财经分析的智能体呢,同样的方式,你再去建一个群聊,然后把群聊的 id 复制给他,让他把这个财经智能体绑定在这个群聊上,然后呢你再去把这个小龙虾呢加进来,这样的话就是又创建了一个智能体, 然后这个智能体呢就通过原来的那个小龙虾呢去协调指挥他们,这个呢是需要更改一些配置的,你可以让小龙虾自己去做,当然这个呢就是会有一些风险,如果你的大模型, 呃,本身的这个版本不太够的话,他可能会把自己给玩死。然后呢,如果你要是懂一些代码的话,你也可以自己去手动去操作,过程呢,非常简单,只需要更改一些配置就可以了,这样后面他们就可以协助分工,真正的成为一个团队去帮你干活了。

我给小龙虾发了一条消息,说我想听小星星,帮我下载,然后看到他帮我找了五个相关的歌曲,我说第二个帮我下载到网盘,然后他就帮我搞定了。 我打开网盘,发现确实是小星星,很久没听了,但还是很好听。这个 skill 和学文档已经开源,有需要可以找我拿。虽然我已经听到了小星星,但我很想搞明白这背后究竟发生了什么。可每到这时, agent skill、 memory function, calling 以及 getaway session、 web socket 这些深意的记住名词就会在我面前竖起一道高墙。我不可能为什么需要这些东西, 他们到底是怎么发挥作用的?我后来花了三十个小时的时间,终于拆掉了这堵墙。今天就用这期视频把小龙虾的运行逻辑一步一步的讲明白。为了讲清楚这一切,我们要从一条简单的命令开始。 如果你用 oppo 可乐,那么这条命令你一定不陌生,我们就是通过执行它来启动小龙虾的网关服务。启动网关服务时,小龙虾会请求飞叔建立一条长期保持的网络通道,飞叔收到请求后会立刻同意建立这条网络通道。这个通道采用 websocket 的 协议。还记得你配置飞叔的时候选择的那个事件定位方式吗? 这个长连接其实就是用的 web socket 的 协议, web socket 是 一个互联网全双工通信协议,通到一旦建立,我们就可以在非说聊天窗口里随时发送新的消息,而小龙虾亦有结果,也可以随时回复我们。就像两个人打电话拨通一次,只要对方不挂断,两个人就可以一直通话,而不用每次讲话都重复的去拨对方的电话号码。 现在回到我们最开始的问题,当我们从飞书群主里发送我想听小星星帮我下载的时候,小龙虾到底做了什么?首先飞书会把这条消息发送到小龙虾的 get 位,也就是网关服务。然后小龙虾的网关服务会选择使用哪个智能体来接受任务,并准备上下文,把这些信息告诉一个叫派的智能体框架, 接着派会启动智能体帮你干活,然后派把智能体干活的结果发送回网关。最后网关把消息通过 webshop 的 通道再发送给飞书,这时你就会在飞书收到一条消息。一个简单的闭环流程就是这样, 其中 opencore 的 网关和 opencore 内部使用的太这个整体框架发挥了巨大的作用,所以我们想要了解 opencore 到底做了什么,以及 agent 大 模型、 session、 memory、 function、 calling skill 是 怎么发挥作用的。其实就是要了解 opencore 的 网关和太整体框架到底做了什么。 我们先来看 opencl 网管服到底做了什么。当网管服收到你的这条消息,主要做了四件事情,总共是四个步骤。第一步,选择 agent。 网管服根据你安装 opencl 时配置的渠道啊,群组信息啊,判断这条消息应该交给哪个 agent 来处理。比如你是用非书渠道发的消息,那么网管服就会选择绑定了非书和你当前群组或用户的那个 agent。 如果你没有配置过多个 agent 的 话,那么网管服就会把消息交给一个叫做 m 的 agent。 第二步,准备绘画上下文,这你说的绘画就是一个 session, 可以 先简单理解为就像两个人打电话那么一次通话就是一个 session。 网关服务根据 agent 的 id, 比如 men, 消息渠道商,比如非书以及群主的 id, 比如 oc, 下划线,一二三,巴拉巴拉什么去判断是匹配到一个已有的绘画还是新创建一个绘画,从而构建一个包含了历史对话和当前消息的绘画。上下文第三步,扫描 skill 清单。 网关服务会扫描那些状态为可用的 skill, 并添加到系统提示词。第四步,调用智能体框架网关服务把自己该准备的信息搞定之后,就会调用一个叫派的智能体框架,把准备好的信息传递给派, 这些信息包括用哪个 agent, 有 哪些可以用的 skill, 面试对话以及当前的新消息。那么派智能体框架拿到网关服务给他准备的这些信息之后又做了什么呢? 派会先去启动那个叫做 man 的 agent, 这个 agent 呢,就会带着上下文去使唤他的大脑,也就是你配置的那个大模型,然后大模型会根据系统提示词的要求判断要不要读取 memo, 去回忆一下和你之间的种种因果。 open 可乐有两种 memo, 分 别是日常记忆和长期记忆, 都是以 md 文件的形式分别放在你的点 openclaw memory 目录和点 openclaw 目录下面。那日常记忆是用年月日的日期格式命名,所以可能会有多个文件,而长期记忆就一个文件名字叫做 memory。 点 md, 这是它们各自的写入时机和读取时机。需要注意的是,无论是写入还是读取时机都是通过系统提日词来要求的,所以还得看你的大模型本身的理解能力。假设大模型认为需要提取记忆,这时就来到了第一步,提取记忆。 大伯晴会在返回给 agent 的 消息中包含记忆解锁工具的名称和参数。当 agent 发现大伯晴返回了工具调用的信息,就会去执行对应的工具。这里我们需要记住一个知识点, agent 只要发现大伯晴的返回里包含了任意工具信息,就会去调用对应的工具,并且无论成功失败都会带着工具执行,结果再去调用一次大伯晴,直到大伯晴不再返回工具信息或者调用次数超过设置的最大次数才会停止,而这个过程就叫 to a colleague。 又因为在编程语言里,调用工具的本质其实是调用函数,所以有时也叫方式 call。 那 么了解了这个知识,你就知道 agent 的 执行记忆提取工具后肯定会再调用一次大冒险,这时就来到第二步,选择技能。大冒险会从上下文的 skill 清单里选择一个最合适的技能,那么在这个例子里就会选择到下载并保存网盘这个技能, 然后会在返回给 agent 的 消息中包含一个文件获取工具的信息,要求获取下载并保存网盘这个技能完整的 skill d m d 文件,而 agent 看到大模型又返回了工具信息,于是就执行对应的工具,然后带着工具执行,结果也就是完整的 skill d m d 文件的内容继续调用大模型。这时候就来到了第三步运行技能。 大模型此时是能看到下载并保存网盘这个技能完整地 skill 到 m d 的, 意味着大模型知道如何使用这个技能,比如如何执行 scripts 目录下的下载并保存网盘的脚本代码。于是在返回给 agent 的 消息中,啊,会包含一个脚本代码执行工具的信息。 那么 agent 呢?看到大模型又返回了工具信息,于是去执行对应的工具,然后带着工具执行的结果,比如歌曲已经下载完成,继续调大模型。这时就来到了第四步,达到回复 大拇指看到这次的上传文里有关于歌曲已经下载完成的信息了,于是在返回给 agent 的 消息中直接生成一段回复,比如搞定小星星,已经下载并上传到百度网盘了。 agent 这个时候看到大拇指没有返回任何的工具信息了,就知道可以停止掉往大拇指,并把拿到的回复发回 opencloud 的 网关服务。 这张图显示了派值整体框架完整的四个步骤。看到第二步和第三步中间的那行黄色的字,没错,第二步,选技能的时候, agent 只会把所有技能的 skill d m d 文件的头部分格辅你的内容发送给大冒险,等确定要用哪个技能之后,才会在第三步发送完整的 skill d m d 给大冒险。并且 skill d m d 里只会描述脚本的执行方法,而不会包含脚本的代码。 skill 这种按需加载的设计方式可以帮我们大大降低托管的消耗,而这就是我们经常听到的间接式。譬如接下来 opencolle 的 网关服务会把回复消息通过 web socket 的 通道发送给非书,你再次打开非书就能看到搞定小星星已经下载并上传到网盘这条消息了。 我们通过观察从非书发出一条下载歌曲的消息,到收到下载结果的完整流程,清晰直观地感受到了 opencolle 的 session agent 大 模型、 function、 memory skill 这些 n 名词都是什么,以及在 opencolle 里是如何发挥作用的。 这张图展示了完整的流程,图的内容有点多,可能屏幕太小看不清,我已经整理好文档,有需要的可以找我吧。以上就是本期视频的全部内容,如果对你有所帮助,点赞、收藏、关注,这都非常重要。以及转发给你那个正想弄懂 oppo 可能运行逻辑的朋友,我们下期再见!

欢迎来到小龙虾每日一季,你是不是也遇到过这种情况,跟 ai 聊了半天项目,换个话题,他就忘了刚才的代码。今天教大家一个神器 memory, 让 ai 拥有长期记忆,记住你的整个项目。上下文每次对话都像在跟最懂你的资深同事沟通, 它可以看作是给 ai 助手装上了大脑海马体,相当于鱼的记忆,变成了大象的记忆。下面我就来教教大家如何安装吧。 首先我们下载这个压缩包, 然后我们再打开小龙虾的安装目录, 下面跟着我的步骤来到 skill 文件夹, 然后打开这个 skills 文件夹,在里面新建一个目录, 就叫 memory, 然后把压缩包解压到这个文件夹, 然后就 ok 了。再回到小龙虾,打开技能,看看安装上去没有,来搜索一下, 可以看见已经安装成功了,显示是正常可以起用的,以后聊天就不用重复自己的背景信息了, ai 会越来越懂你了,关注我,后续视频也会继续分享 skill。