项目简介

AGI记忆系统是一个为通用人工智能(AGI)应用设计的先进记忆管理后端。它模仿人类认知架构,实现了多种记忆存储和检索机制,包括工作记忆、情景记忆、语义记忆、程序记忆和策略记忆。该系统还支持向量嵌入、图关系、动态重要性评分、记忆衰退模拟、记忆聚类以及世界观与身份整合等高级功能,旨在为AGI提供强大、可扩展的上下文服务。

主要功能点

  • 多类型记忆管理: 存储和管理情景、语义、程序和策略等多种记忆,并支持短期工作记忆。
  • 向量与图数据库: 利用Pgvector进行高效的相似度搜索,并使用Apache AGE构建复杂的记忆网络,实现多跳关系遍历和模式检测。
  • 动态记忆机制: 根据访问频率和时间动态计算记忆的重要性,并模拟记忆衰退过程。
  • 记忆聚类与世界观: 自动对相关记忆进行主题分组,并整合AGI的信仰系统(世界观)和自我概念(身份核心)来过滤和调整记忆的重要性。
  • MCP工具暴露: 通过Model Context Protocol (MCP) 标准,以工具的形式向大型语言模型(LLM)客户端提供记忆的创建、检索、搜索、聚类操作以及系统自省能力。

安装步骤

  1. 克隆仓库: 使用Git命令克隆本仓库到您的本地机器。
  2. 配置环境变量: 将 '.env.local' 文件复制为 '.env',并根据您的实际情况修改以下数据库连接信息:
    POSTGRES_DB=agi_db           # 数据库名称
    POSTGRES_USER=agi_user       # 数据库用户
    POSTGRES_PASSWORD=agi_password # 数据库密码
    对于MCP服务器,还需要配置数据库主机和端口:
    POSTGRES_HOST=localhost      # 数据库主机地址
    POSTGRES_PORT=5432          # 数据库端口
  3. 启动数据库: 使用Docker Compose启动包含所有必需扩展(pgvector, AGE等)的PostgreSQL数据库实例,并自动初始化数据库模式和表格。
    docker compose up -d
    这会启动PostgreSQL,并创建必要的表、函数和触发器。

服务器配置 (用于MCP客户端)

这是一个MCP服务器,旨在为MCP客户端提供上下文和工具。MCP客户端需要配置服务器的启动命令才能连接。以下是配置示例(JSON格式,不包含代码):

{
  "server_name": "AGI Memory Server",
  "command": "node",
  "args": [
    "path/to/your/mcp_server.js",
    "--port", "8080",
    "--db_host", "localhost",
    "--db_port", "5432",
    "--db_name", "agi_db",
    "--db_user", "agi_user",
    "--db_password", "agi_password"
  ],
  "description": "提供AGI记忆管理能力,包括记忆存储、检索、聚类、世界观和身份核心等。",
  "tools": [
    "create_memory",
    "get_memory",
    "search_memories_similarity",
    "search_memories_text",
    "get_memory_clusters",
    "activate_cluster",
    "create_memory_cluster",
    "get_identity_core",
    "get_worldview",
    "get_memory_health",
    "get_active_themes"
  ],
  "resources": []
}

说明:

  • 'server_name': MCP服务器的显示名称。
  • 'command': 启动MCP服务器的可执行命令,例如 'node' (如果服务器是Node.js应用) 或 'python' (如果是Python应用)。
  • 'args': 传递给 'command' 的参数列表。请将 'path/to/your/mcp_server.js' 替换为实际的MCP服务器主文件路径。'--port' 指定服务器监听的端口,'--db_host'、'--db_port'、'--db_name'、'--db_user'、'--db_password' 等参数用于数据库连接。
  • 'description': 服务器功能的简要描述。
  • 'tools': 服务器暴露给LLM客户端调用的工具列表,这些工具对应于项目提供的记忆操作和系统自省功能。
  • 'resources': 如果服务器还提供了可直接访问的数据资源,会在此处列出(当前仓库信息中未明确提供,故留空)。

基本使用方法

一旦MCP服务器启动并与您的MCP客户端连接,您就可以通过MCP客户端(通常是LLM代理)调用其暴露的工具。

  • 创建记忆: 调用 'create_memory' 工具来存储新的信息。LLM可以根据需要生成包含记忆类型、内容、嵌入向量、重要性及元数据的请求。
  • 搜索记忆: 使用 'search_memories_similarity' 工具进行向量相似度搜索,或使用 'search_memories_text' 工具进行全文搜索,以检索相关记忆。
  • 获取系统状态: 调用 'get_memory_health' 或 'get_identity_core' 等工具来获取AGI记忆系统的运行状况、身份模型和世界观等信息,帮助LLM更好地理解其自身上下文和当前状态。

信息

分类

AI与计算