【笔记】用cursor手搓cursor(七)

【笔记】用cursor手搓cursor(七) 为了实现 neural symbolic让genimi和glm合作写了一个js sandbox因为用mac直接jsc就能用不需要v8。其实我们知道LLM在生产上不可靠是因为你压根控制不住它即使有各种prompt去限制它依旧可以因为某些case导致“越狱”。所以为什么不把它当成字符串处理的扩展呢我们以前写程序然后让它按规矩运行现在有了LLM我们可以处理更复杂的用户指令把用户指令转译成程序状态给不同变量赋值最后组成更复杂的系统这个就是一个一下子就能实现的neural symbolic系统了何乐而不为js sandbox首先可以运行javascript代码我们只要给这个sandbox添加一些api就可以完成和外部交互。比如调用LLM读文件写文件运行脚本访问网页加载js动态模块…为了安全性我们可以添加一个确认队列危险操作都需要人的确认然后有一个规则引擎可以自动允许自定义操作。最后再写一个LLM的指导文件告诉它这些api如何使用。有了这样的js sandbox我们就会发现不管模型是否弱小比如在写代码的时候有一个很长的base path我们直接是baseDirpath然后我们可以join baseDir就不会出现幻觉拼错path了。这就可以逐渐减少LLM的幻觉把它限制起来。当然我们可以有不同模式比如我们调用api.llm(plan questionGuide)我们可以让LLM根据plan产生问题然后我们可以用array维护list然后一个一个question解决问题就不会有LLM本来plan的好好的然后突然忘了某些item了。这样LLM就加入了普通程序的过程。为了更加智能我们需要继续探索如何根据if组装这些function如何维护function的库便于检索如何让LLM在后台自动更新这些function让它们越来越好用越来越模块化…所以最终的prod还是具体的过程LLM做一些复杂的parse以及在智能系统里做后台学习更新js代码库。这样我们离将voyager从minecraft (voyager是nvidia使用gpt4做了一个自动玩minecraft从学习一般课程到规划下一步并且执行操作的开源项目)泛化成通用agent就不远了。只是方法和时间问题要建立function的搜索引擎要建立meta learning的过程function描述…