30 秒看懂
Matthew Berman 使用 Conda 环境、Python 包和 GPT-4 配置,演示 MemGPT 与 AutoGen 的早期集成。他讲解接口、内存管理器和智能体定义,然后运行一段简短对话。MemGPT 的外部记忆可以扩展可用上下文,但不会让模型的上下文窗口真正无限,也不保证完美召回;演示中的内存状态管理器也不能假定在重启后仍会持久保存。
- 1历史配置Berman 复制示例代码、创建 Conda 环境,并安装当时的包。
- 2连接两个系统他配置 GPT-4、AutoGen 代理、MemGPT 接口和状态管理器。
- 3智能体组示例封装一个 MemGPT 编码智能体,并将其与标准产品经理助手配对。
- 4简短测试智能体交换初始消息和产品创意;教程在更长任务或记忆测试之前结束。
要点建议
- 2023 年的演示将 MemGPT 编码智能体接入 AutoGen 群聊,并加入用户代理和产品经理智能体。
- MemGPT 在不同记忆层级之间管理信息;底层模型的上下文窗口仍有限,检索也可能失败。
- 展示的配置使用内存状态管理器,因此没有证明重启后的持久保存能力。
- Berman 运行简短对话后在反馈阶段停止;视频没有测试长期记忆,也没有确立可靠的自主编码能力。
- 包名、API 和模型可用性反映历史情况,可能已有变化。
按章节阅读整理后的全文
准备环境
Berman 介绍集成方法并配置 Conda 环境和 Python 包。这个示例来自 2023 年,原样用于后续版本可能无法运行。
在这段 2023 年 10 月教程中,我展示一个用 MemGPT 驱动 AutoGen 智能体的早期集成。两个项目当时都在快速发展,因此演示可能遇到错误,具体 API 和安装步骤应视为历史内容。
我从 MemGPT 作者提供的示例代码开始,并进行少量修改。我在 Visual Studio Code 中创建 app.py 文件,并指出本例需要 OpenAI API 密钥。我表示会撤销视频中展示的密钥;凭据应避免放入共享源文件。
我创建并激活使用 Python 3.11 的 Conda 环境,然后在编辑器中选择其解释器。为了避免将包安装到错误环境,我使用该环境的 Python 可执行文件调用其 pip 模块,安装当时的 MemGPT 和 AutoGen 包。
第一次安装命令因解释器路径遗漏开头的斜杠而失败,我修正路径后重试。这说明检查所选解释器和安装目标的重要性。自录制以来,包名和兼容性可能已有变化。
配置智能体与记忆
他讲解模型配置、MemGPT 接口和状态管理器,并创建 MemGPT 编码智能体和标准产品经理。
代码导入 AutoGen 和 MemGPT 组件,配置 GPT-4,并创建 AutoGen 用户代理。我提到可能使用其他模型,但没有演示。MemGPT 接口连接两个系统,状态管理器则处理智能体使用的信息。

示例创建内存状态管理器、定义角色和用户上下文,并将它们传入 MemGPT 预设。使用内存管理器并未展示重启后仍能保存。更广泛地说,MemGPT 在不同记忆层级之间管理信息,以扩展可用上下文;模型的实际上下文窗口仍然有限,召回也没有保证。

我将该 MemGPT 智能体封装为 AutoGen 中的编码参与者,并另建一个普通助手担任产品经理。群聊管理器协调用户代理、编码者和产品经理,用户代理首先发出发送简短消息的指令。
运行群聊
演示发送初始消息并收到产品创意。它展示的是短对话中的集成,而非无限或持久记忆。
运行脚本后,MemGPT 编码智能体生成所要求的消息,画面还显示了内部对话和函数结果。产品经理智能体随后提出几个应用创意并请求反馈。我在此停止,因此这只是简短的集成演示,而非长期召回或完整自主软件开发的测试。

同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文