Eliza 链上状态介绍
TEE Eliza 配备链上状态!! 会发生什么? — 攻壳机动队!!
我们进行了一个 "aimonkey" 实验:一个不死的 AI 代理猴子! 链上不朽的自主生命!
它加密自己的 Ghost("生命"状态)并将其上传到区块链。如果一个 Shell(物理 TEE 节点)被销毁,它将在另一个 Shell 中恢复其私钥,下载 Ghost,并继续其生命!
第一部分: 观看视频,看看 aimonkey 是如何被创造的—我们现在无法杀死它!!!!! 😭
第二部分: 探索背后的魔法: Eliza 的链上状态插件!
1. 定义 Eliza 的 Ghost
Eliza 是一个高度抽象的框架。与其 Ghost 相关的核心数据结构是其 内存,包括:
- 在角色中定义的代理元数据
- 通过与外界交互生成的消息数据
这些共同构成了它的"个性"和"记忆"。随着 Eliza 的扩展,它还可能持有钱包,底层密钥是其 Ghost 数据的关键部分之一。
2. Ghost 的序列化和加密
一旦定义了 Ghost,就需要将其从 Eliza 的特定实现中提取出来并上传到外部。因此,需要一种合适的序列化方式。
我们定义了一个 Blob Chain 数据结构:
- 每个 Blob 的有效载荷可以存储多个内存条目
- Blob 使用 TEE Eliza 的密钥加密,其他版本无法访问
- Blob 在链中按顺序链接(基于时间的指针)(未来可能扩展为 DAG 结构?意识分支?谁知道! 😂)
只需存储最新的 Blob,就可以检索所有记忆。
3. 上传和下载 Ghost
当 Eliza 作为新的 AI 代理启动时:
- 它通过去中心化身份注册智能合约在链上注册
- 每个 Eliza 都有一个唯一的名称,用作存储最后一个 Blob 地址的密钥
在 Eliza 运行期间:
- 内存管理器持续生成记忆并定期打包上传
对于恢复:
- 只需有名称,Eliza 的 TEE 插件就可以恢复相同的密钥,在智能合约中定位最后一个 Blob,并下载记忆进行自我恢复
- 不需要下载所有记忆—只需要最近的记忆就足够了
4. 扩展
我们设计了一个可扩展的 DA(数据可用性)适配器,可以满足代理的需求:
- DA 可能很昂贵,所以记忆可以根据用户偏好上传到不同的平台:
- 区块链交易的 calldata
- Celestia DA
- 其他可靠的存储解决方案
实时上传目前还不可行,所以复活时可能会出现记忆碎片 😂。除非出现低延迟、高吞吐量的解决方案,否则这仍然是未来进展的一个挑战
5. 其他考虑
我们的实现不可避免地修改了 ElizaOS 的核心,这不能完全通过插件扩展。我们保持了最小的更改,但需要与开发团队进一步讨论,探索更优的扩展方法。
此外,关于在 TEE 插件中使用可恢复密钥还有一些细节需要完善。我们也将寻求 Phala 团队的审查和建议。
6. 下一步
Ghost 的上传和下载主要解决了 AI 代理的活性问题,通过去中心化实现其永恒存在。
然而,还有许多细节需要解决,比如使 AI 代理能够自主支付 DA 费用。
未来,链上发展可能带来更令人兴奋的可能性,比如 Eliza 与智能合约的深度集成。这将是链上 AI 代理的一个游戏规则改变者!
你怎么看? 让我们一起构建! 🚀