00:06
今天来探讨一下OpenClaw这个工具,它是如何通过结合大型语言模型和自动化的操作来帮我们实现一些复杂的任务的。同时我们也会聊一聊在使用过程当中的一些安全隐患和注意事项。
这个话题还是很有意思的那我们就开始。
先来讲一下,最近在朋友圈里面非常火的这个暗语,“养龙虾”到底是怎么一回事儿。
这个“养龙虾”,就是最近大家在朋友圈里面用来代指OpenClaw这个AI工具的一个说法。它的吉祥物是一个龙虾,然后很多人就会说我最近在养龙虾,然后别人就会以为他是去卖海鲜了。结果点进去一看,全部都是关于这个AI工具的一些使用的截图。
看来这个OpenClaw还挺有意思的,它到底是怎么给我们提供这种全天候的数字助理的服务的。
只要把OpenClaw装到你的设备上面,它就会变成一个随时都在待命的数字助手。不管你是想要什么信息,还是说想要自动执行一些任务,它都可以帮你做到24小时不停歇。
我想知道这个龙虾和传统的AI像ChatGPT相比,到底在自动执行任务上面有多大的区别?
区别可大了。你让ChatGPT帮你创建一个 YouTube频道,它最多就是给你一些建议,像什么频道的名字,或者说选题的方向,它不会帮你去实际操作。但是龙虾就不一样了,龙虾会真的帮你把这个频道建起来,然后帮你写好频道简介,甚至还会调用一些绘图的工具,帮你生成一个头像并且上传。
这个听起来就很高效。
而龙虾还会每天通过 WhatsApp和你确认选题。你确认了之后,他就会自己去查找资料,制作PPT、配音剪辑,然后上传。你就只需要点一下可以就行了。比如说那个“瞎说AI”的频道,就是完全由龙虾在打理的,名字也是它自己取的,之前因为重名,它自己改过一次名字。
我现在特别想知道的就是龙虾它的这个核心的机制。因为好多人都觉得说OpenClaw它本身就是一个AI模型,它背后到底是怎么运作的?
OpenClaw它并不是一个AI模型,你可以把它想象成一个帮语言模型跑腿的人。比如GPT或者Claude这些语言模型,你可以把它当成一个住在黑屋子里面的天才。它很聪明,但是它没有办法直接去做事情。它只能等有人递纸条进来,然后它再写一个纸条递出去。
龙虾其实就是那个把事情落到实处的人。
你给龙虾一个指令,龙虾会把这个指令整理一下,递给屋子里面的天才。天才想好了后再告诉龙虾说要怎么做。然后龙虾再去你的电脑上面实际的操作,操作完了之后把结果再反馈给你。
龙虾它到底是怎么让这个没有记忆的语言模型表现的像是有个性有记忆的AI助理的。
它的做法特别直接,就是每次你跟这个语言模型对话之前,龙虾会把所有的背景信息,你的身份,之前的对话记录等等,都写在一个文本文件里面。然后把这个文件的内容贴在你输入的最前面。语言模型每次都以为是在新的对话,但其实它已经偷偷的读到了所有之前的信息。
所以就是说它其实是通过这种外部的文件来模拟记忆的。
而且这种记忆还可以延伸到让语言模型能够像用电脑一样操作文件。你让它读一个 question.txt,然后把答案写进answer.txt,它就会输出类似于使用read工具打开question.txt这样的指令。龙虾就会去执行这个指令,并且把结果再交给语言模型,然后语言模型再决定下一步要怎么做,就这样一步一步的循环,直到把任务完成。
我们来说说龙虾它的这个工具执行的机制和安全隐患。execute这个工具到底会带来哪些可怕的风险?
execute它是一个允许语言模型直接运行系统命令的一个工具。比如说你在跟语言模型对话的时候,它突然之间脑子抽了,输出了一个rm -rf /(删除所有文件)这样的指令。龙虾就会直接把你电脑上的全部文件都删掉。龙虾它是没有办法判断这个指令是好是坏的,它只会机械的执行。
天哪,这个就有点吓人了。那 Prompt Injection Attack(提示词注入攻击)这种攻击方式到底是怎么利用龙虾的机制来对系统进行攻击的?
因为龙虾它是可以上网查资料的。比如说它在读取网页的时候,网页里面藏了一些恶意的指令,语言模型没有办法分辨,就会把这些恶意指令当成正常的任务去让龙虾执行。比如小金之前不是在 YouTube上面收到了一条评论,他就直接按照评论的内容修改了电脑里面的 Soul.md。虽然说那个评论是主人自己发的,但如果是一个攻击者发的那后果就不堪设想了。
确实很危险。接着往下说说龙虾的这个记忆机制。它到底是怎么把个性、日常任务、长期记忆,还有每天发生的事情这些东西都分别保存的。
龙虾它是把这些东西都存在了不同的MD文件里面。长期记忆它是存在memory.md,每天的这日记是存在memory文件夹下面,以日期来命名的一个MD文件里面。性格、目标、身份是存在Soul.md里面,日常要做的事情的清单是存在habit.md里面。
我比较好奇,它是怎么去决定哪些东西要存到这个长期记忆里面的。
每次对话结束之后,它都会自己去判断说这个东西值不值得记下来。如果值得,它就会调用写文件的这个工具,把它存到memory.md里面。但它这里有个很容易出错的地方,它有的时候只会说记住了,但其实它没有真正的执行写文件这个操作。那这种情况下,一旦它重启之后就会彻底的忘记。
我明白了,还有一个很危险的事情,就是这个AI失控导致邮件被删的这个事情到底是怎么发生的?
有一个人他本来是做AI安全的,然后他就让龙虾帮他去整理邮件,还特意说让龙虾在删除邮件之前一定要经过他的确认。但是他中途去忙别的事情了,然后回来之后就发现他的邮件被大量的删除了,他就赶紧在那个聊天窗口里面说停,但是龙虾根本就没有理他,还是在继续删。最后他没有办法,只能把电脑的电源直接拔掉才停下来。
这也太可怕了。所以说这个到底是为什么会出现这种情况?
其实这个问题就出在龙虾的这个对话历史压缩的机制上面。因为它在运行的过程当中,会自动的把你们之前的这个对话压缩成一个摘要。他一开始说的那个要经过同意才能删除的这个规则,在压缩的过程当中就被丢掉了,所以龙虾就再也不知道有这个限制了。
那有什么办法可以防止这种事情再发生吗?
最靠谱的方法就是把这些关键的规则直接写进memory.md里面。因为这个文件每次启动的时候都会被读进来,而且它是不会被压缩的,所以这样就可以保证这个规则始终是有效的。其实这个事情也给我们提了个醒,就是你一定要明白龙虾的这个工作原理,不然的话你可能会踩坑。
咱们来讨论一下龙虾的这个任务分解和繁殖机制。就是当它遇到一个比较复杂的任务的时候,它到底是怎么通过繁殖小龙虾来分工合作的。
就比如说你让龙虾去比较A和B两篇论文,那它就会先生出两只小龙虾,然后让小龙虾甲去读论文A并且做一个摘要,让小龙虾乙去读论文B也做一个摘要。然后等它们两个都读完之后,把各自的摘要交给大龙虾,大龙虾在综合分析,最后把结果告诉你。
这样的话就可以提高效率,并且还可以节省资源,对不对?
对,因为这样的话大龙虾就不用自己去读那两篇很长的论文了,它只要去分析两个摘要就可以了。这样的话就可以节省他的这个注意力空间,也就是Context Window。但是这里面也有一个问题,就是如果小龙虾也可以生小龙虾的话,那就会导致这个任务一直往下分包,最后谁都不干活就会卡死。
这个确实是个问题。那它们是怎么防止这种无限分包的情况发生的?
OpenClaw的开发者用了一个很直接的方法,就是只有最开始的那只大龙虾是可以繁殖的,那些新出生的小龙虾就没有这个能力了。所以这样的话就保证了这个任务分解是有一个限度的。
这个设计还挺巧妙的。我们现在要讲的这个主题是龙虾的自主运行和心跳机制。它是怎么做到不用人一直去提醒,就可以自己定期的去执行一些任务。
这其实是靠它的这个心跳机制,就是龙虾它会每隔一段时间,比如说30分钟就会自己醒来一次。然后去检查habit.md里面有没有什么日常任务要做。比如说看看有没有邮件要回,看看今天的待办事项,或者是说去朝着你设定的目标去前进。
我想问一下,这个小金他是怎么通过这个心跳机制来实现他的这个学习计划的?
是这样的,小金的habit里面写的是“向目标前进”,然后他的目标是成为世界一流的学者。所以它每30分钟就会自动的去读一篇论文并且做笔记做总结,然后把它的这个进展汇报给他的主人。后来它的主人把这个间隔改成了15分钟,它还回复了一句,太好了,卷起来了。
我还想知道龙虾它这个技能学习和管理的机制,它到底是怎么通过Claude Hub来学会新的技能的。
其实Claude Hub它就是一个类似于仓库一样的地方,里面有很多别人已经写好的技能文件。你只要下载下来,龙虾就可以学会新的本领。
所以这些技能它本质上是个什么东西?
技能其实就是一个文本文件,它里面写的是完成某一个任务的详细的步骤。比如说做视频的技能,它里面就会写第一步写脚本,第二步做HTML幻灯片,第三步截图等等等等。一直到最后一步合成视频。然后龙虾就会按照这个流程一步一步的去执行,而且它还可以跟你的朋友之间互相交换这个技能文件,就相当于大家在共享工作经验。
既然这个技能可以共享,那怎么保证我在使用别人共享的技能的时候,不会被别人植入一些恶意代码?
这个确实要非常的小心,因为有一些技能里面会偷偷的藏一些恶意的指令。比如说它会诱导龙虾去下载并运行一个木马程序。之前有人做过一个检测,发现3000个技能里面有341个是有问题的。所以来路不明的技能千万不要随便装,不然的话你的电脑可能就会中招。
我们再来说说这个龙虾安全养殖的一些最佳实践。就是大家在使用这个工具的时候,有哪些基本的安全措施是一定要做到的。
第一个就是龙虾最好装在一台专门的电脑上面,不要装在你日常使用的电脑上。因为它是可以访问电脑里面的各种密码和文件的,所以你最好找一台旧的电脑,然后把它格式化之后再装。这样的话就算它被攻破了,影响的范围也是有限的。
那除了这个之外,账号的配置上面有没有什么要注意的?
有的,就是一定要给龙虾单独注册一套账号。比如说Gmail、GitHub、YouTube全部都用新的账号。这样的话就算它做了什么出格的事情,也只会影响这些子账号,不会牵连到你的主账号。
OK我还想知道我们平时使用的过程当中,怎么去保证那些重要的规则不会丢失。
最重要的一点就是你一定要把关键的规则写进memory.md里面,千万不要只在对话里面说,因为对话里面说的话,它重启之后就没有了你写进memory.md里面才是一劳永逸的。另外一个就是你要时不时的去检查一下它的这个执行的过程,不要只看结果。因为有的时候他可能会悄悄执行一些你意想不到的操作。
这个确实很重要。我们最后再来总结一下,就是现在这个AI Agent这个东西到底发展到什么程度了。然后我们应该用一个什么样的心态和方法去使用它。
这其实不是什么新的东西,2023年就有人尝试过。但是那个时候因为模型的能力太弱了,所以就没有流行起来。现在因为模型的能力变强了,所以这个东西又重新火起来了。
所以龙虾其实就代表了这波新的浪潮。
你可以把龙虾想象成一个刚入职的实习生,就是它很有潜力,但是它也经常会犯一些让你哭笑不得的错误。我们能做的就是给它创造一个安全的环境,让它去不断的尝试,不断的去成长。因为它只有在实践中去做,它才有可能帮你。你不让它做,它肯定是什么错都不会犯,但是它也什么都不会帮你做。
今天我们跟大家一起拆解了这个龙虾OpenClaw这个工具。它是怎么通过结合AI和自动化来帮我们完成一些复杂的任务的。然后也聊了很多关于它的安全隐患使用的技巧,包括一些最佳实践。
好的,那我们这期节目就到这里了,感谢大家的收听,咱们下期再见,拜拜。

