AVF(Agent Visual Framework) 是一个高性能、事件驱动的可视化虚拟世界引擎,核心目标是为 LLM 驱动的智能体提供一个沉浸式、可交互的“生存环境”。
研究人员和开发者可以通过简单的 领域特定语言 (DSL) 脚本快速构建动态场景,部署 LLM Agent 角色,并实时、直观地观察其在复杂环境中的感知、决策与行为演化。AVF 是 AI 行为分析、复杂系统评估、以及创意内容生成领域不可或缺的工具。
为 LLM 创造一个高度可配置的生存虚拟世界。Agent 是生存在这些设定世界中的角色,研究者可根据特定的研究课题或商业目标定制虚拟环境、社交规则及物理约束。
AVF 的设计注重灵活性和研究友好性:
- ✅ 可视化驱动:基于 Pygame 实现,提供直观的 2D 画面展示,支持实时行为追踪。
- 🔄 动态脚本加载:支持 DSL 脚本热更新,无需重启即可快速迭代和测试环境设定。
- 🧩 模块化架构:核心逻辑与渲染引擎分离,便于将渲染层迁移至 SDL、WebGL 或其他 3D 引擎。
- 🗣️ LLM 友好接口:标准化、结构化的输入/输出(I/O)协议,轻松适配主流及自定义 LLM。
- 🧠 可扩展记忆系统:原生支持集成向量数据库,实现 Agent 的长期上下文记忆与知识管理。
- 👥 多 Agent 支持:高性能支持同时运行数十个 LLM 驱动的复杂角色进行场景模拟。
- ⚡ 事件驱动:灵活支持条件触发、任务链、成就系统等复杂的场景逻辑。
- 核心语言: Python
- 可视化引擎: Pygame (2D 渲染)
| 模块名称 | 职责说明 |
|---|---|
core |
框架核心逻辑、状态管理、Agent 主循环,并包含 LLM 接口封装。 |
engine (2D) |
虚拟世界的物理和几何封装,基于 Pygame 的抽象渲染接口。 |
comm |
通讯模块(如 WebSocket),负责外部指令和 Agent 状态的接收与分发。 |
codec |
消息编码与解码。将 AVF 内部状态转换为 LLM 易于理解的自然语言(或 JSON)感知输入。 |
action_parser |
动作解析器。解析 LLM 的反馈(如 JSON/YAML),将其转换为可执行的引擎动作并更新可视化界面。 |
- 环境设定: 定义基础规则和物理边界。
- 加载 DSL 脚本: 解析脚本,初始化场景元素、对象和 Agent 角色。
- 初始化: 实例化世界与所有 Agent 的初始状态。
- 渲染画面: 根据当前状态进行可视化渲染。
- LLM 决策 (核心): Agent 通过 感知输入 做出决策。
- 动作执行: 根据 LLM 决策,
action_parser驱动engine执行动作。 - 下一帧: 世界状态更新,重复渲染和决策循环。
为了保证实时性和可扩展性,AVF 推荐采用以下协议:
- 推荐协议: WebSocket (提供实时双向通信,适用于大规模 Agent 状态同步)。
- 备选协议: REST API / gRPC (适用于简单的状态查询和异步指令)。
- 动作解析,将 LLM 的反馈进行解析然后更新到界面可视化
AVF 是一个多功能平台,支持构建复杂的虚拟场景和实验环境:
| 场景 | 解释说明 |
|---|---|
| 模型评估 | 严格测试 LLM 在长期记忆、社交推理、情商等方面的能力。 |
| 行为分析 | 观察 Agent 如何应对资源冲突、合作博弈、信息欺骗等复杂情境。 |
| 影视创作 | 自动生成角色互动剧本,预演情节发展,快速进行故事线原型设计。 |
| 虚拟办公 | 模拟 AI 员工在团队协作、会议沟通中的行为模式和效率。 |
| 游戏开发 | 为 NPC 赋予类人思维、深度记忆和自然的对话与社交能力。 |
| 教育模拟 | 构建历史重现、复杂系统运行或危机应对等沉浸式教学场景。 |
| 生成虚拟场景 | 快速搭建用于 AI 训练或测试的多样化、高保真环境。 |