nodecode-ai/nodecode 是一个用 Common Lisp 实现的自我修改型代理。据 README 所述,它在 SBCL 中以单进程方式运行,模型可用的工具只有一个:能在正在运行的 Lisp 程序中对代码求值的解释器。该仓库以 MIT 许可证公开,星星数为 135 个。
这一结构的核心在于,新功能并不只是以外部工具的形式加入。README 解释说,当代理遇到无法处理的事情时,可以编写代码,并将其作为定义添加到正在运行的程序中。定义被保存在文件中并做版本管理,启动时加载,因此在下一次运行中依然保留。它还介绍了把变更应用到正在运行的程序,以及通过世代列表和回滚功能来管理变更历史的能力。工具与技能、MCP 服务器都可以按文件夹以单元格的形式添加。README 还说明,对话记录不会被摘要覆盖,可以重新阅读此前的条目。
它还给出了把终端和浏览器、手机,以及 Discord、Telegram 和 Slack 连接挂到同一个进程中的配置方案。把记忆、技能和 MCP 集中到一处的构想,与在 Lisp 环境内部扩展代理功能的方向相吻合。不过,所提供的资料中没有最新发布版本,因此无法确认各版本之间的变更记录。也没有给出性能数据,所以有必要把 README 中写到的设计与实际可运行的范围区分开来。